Saturday, June 21, 2014

PARALLEL COMPUTATION (KOMPUTASI PARALEL)

Parallel computation is one of the computer programming that allows to execute commands simultaneously and concurrently in a single or multipleprocessors inside a CPUParallel computation itself is useful to improve the performance of the computer as more and more processes that can be done at the same time it will be faster.
A. The concept of Parallel 
The concept of parallel processors is an ability to perform a task or multipletasks simultaneously or concurrentlyin other words, the processor is able to perform one or many tasks at one time.
B. Distributed Processing 
Distributed processing is the process of parallel processing in distributedparallel processing using multiple machines. Soit could be said the abilityof the computers that run simultaneously to solve a problem with theprocess quickly.
C. Parallel Computer Architecture 
According to a Processor Designertaxonomy FlynnComputer Architecturebaguan divided into fournamely:
“>The type of computer that only has one processor and one instruction is executed serially.
“>This type of computer that has more than one processor, but this computer only executes one instruction in parallel on different data in lock-step level.
“>This type of computer that has a processor and execute multiple instructions in parallel but in practice there is no computer that is built with this architecture because the system is not easily understood, until now there has been no computers that use this type of architecture
This type of computer that has more than one processor and execute more than one instruction in parallel. This type of computer that is most widely used to build a parallel computer, even many supercomputer that implement this architecture, because the models and concepts that are not too complicated to understand.
A thread in computer programming is a relevant information about the use of a single program that can handle multiple users bersamaan.Thread This allows the program to determine how the user entered into the program in turn and the user will go back to using a different user. “>E. Introduction to Message Passing, Open MP“>F. Introduction to Programming CUDA GPUBefore I discuss about CUDA, I will discuss the first GPU. GPU refers to a specific processor for Memepercepat and change the memory to speed up image processing. CUDA (Compute Unified Device Architecture) is a scheme that made by NVIDIA NVIDIA as the GPU (Graphic Processing Unit) capable of computing not only to graphics processing, but also for general purposes. So with the CUDA we can take advantage of multiple processors from NVIDIA to do the calculation process much ataunpun computing.

refrensi :

Tuesday, May 13, 2014

A. Quantum Computing

A. Quantum Computing
Quantum Computation or quantum computer is a tool for the calculation , which uses direct calculation of quantum mechanical phenomena such as superposition and the computation and entanglement to perform operations on data. Quantum computers are different from traditional computers based on transistors . Differences with a quantum computer on a classical computer is a classical computer has a memory made ​​up of bits , where each bitmewakili either one or zero . While a quantum computer is maintaining the order qubit.Sebuah single qubit can represent a one , a zero , or , crucially . The basic principle of quantum computers is that the quantum properties of particles can be used to represent data and data structures , and that quantum mechanics can be used to perform operations with this data . In this case the system to develop a quantum computer needed a new logic in accordance with the principles of quantum .

The idea of ​​a quantum computer comes from some physicists , among others, Charles H. Bennett of IBM , Paul A. Benioff of Argonne National Laboratory , Illinois , David Deutsch of the University of Oxford , and Richard P. Feynman of the California Institute of Technology ( Caltech ) . At first the idea of the Feynman suggested that a quantum system can also perform the counting process . Fenyman also suggested that this system could be a simulator for quantum physics experiments . Furthermore, the scientists began doing research on the quantum system , they are also trying to find logic in accordance with the system . Until now it has dikemukaan two new algorithms that can be used in quantum systems and algorithms are algorithms shor grover .

Although quantum computing is still in development , has conducted experiments in which quantum computational operations carried out on a small number of qubits . Research both in theory and in practice continues in a fast pace , and many national government and military funding agencies support quantum computing research to the development both for the people and national security issues such as cryptanalysis.

Has been entrusted with a very broad , that if large -scale quantum computers can be made , then the computer can solve some problems much faster than a normal computer . Different quantum computers with classical DNA computers and computer -based transistors , although these types of computers might use principles of quantum mechanics . Some computing architectures such as optical computers despite using classical superposition of electromagnetic waves , but without a specific source sepertiketerkaitan quantum mechanics , then there could potentially have a computing speed as owned by a quantum computer .

B. Entanglement

The physicists from the University of Maryland has been one step closer to quantum computer by demonstrating the existence of entanglement between two quantum bits , each made with a type of dense circuit known as a Josephson junction .

Published in the journal Science this week , these results demonstrate the latest advances in scientific endeavors properties of quantum physics apply to the manufacture of computers are much better than existing supercomputers .
The team of physicists led by Professor Fred Wellstood from Center for Superconductivity

Research ( a research center belonging to the Department of Physics University of Maryland ) said their findings are the first to indicate the success of the creation of entanglement between qubits Josephson junction . Entanglement is a quantum mechanical effect that blurs the distance between individual particles so difficult to describe the particles separately even though you are trying to move them .

So what is Entanglement ? Entanglement is the essence of quantum computing because it is interwoven quality associated with a lot more information in quantum bits than the bits of classical computing , "said Andrew Berkley , one of the researchers . The latest findings bring the path to quantum computers , and indicates that the Josephson junction could eventually be used to build a super computer .

C. Pengoperasian the data qubits

Quantum information science begins with the fundamental resources generalize classical information - bit - into quantum bits , or qubits . As bits are ideal objects are abstracted from the principles of classical physics , qubits are quantum objects are abstracted ideal of the principles of quantum mechanics . Can be represented by a bit - magnetic region on the disc , the voltage on the circuit , or sign graphite pencil on paper made ​​. Functioning of classical physical statuses as bits do not depend on the details of how they are realized . Similarly , the attributes qubit is independent of specific physical representation of the atomic nucleus as a centrifuge or , say , the polarization of a photon of light .
Illustrated by the status bits , 0 or 1 . Similarly , the qubit is described by quantumnya status . Two potential for qubit quantum state is equivalent to the classical bits 0 and 1 . But in quantum mechanics , any object that has two different status certainly has a series of other potential state , called superposition , that led up to the status of second -degree manifold . Qubit statuses are allowed exactly is all the status that must be achieved , in principle , by the classical bits are transplanted into the quantum world . Status - qubit state is equivalent to the points on the surface of the ball , where 0 and 1 as the south pole and the north [ see box below ] . Continuum between 0 and 1 status fostered many outstanding attributes of quantum information .



D. Quantum Gates

In quantum computers and quantum circuit model of computation in particular , a quantum logic gates or quantum gates are the basic operations of quantum circuits on a small number qubit.Mereka are the building blocks of quantum circuits , such as logic gates for circuits digitalkonvensional classic .


E. Shor's Algorithm

Shor's algorithm is a further example of the basic paradigm ( how much computational time required to find a factor of n - bit integers ? ) , But this algorithm seems isolated from most of the other findings of quantum information science . At first glance, it is just as ingenious programming tricks with little fundamental significance . Appearances are deceptive ; researchers have shown that Shor's algorithm can be interpreted as an example of a procedure to assign the energy levels of quantum systems , a process that is fundamental . As time goes on and we charge more on the map , should be so easy to understand the principles underlying Shor's algorithm and other quantum algorithms and , we hope , develop new algorithms .

Monday, April 28, 2014

CLOUD COMPUTING

Cloud computing is a type of computing that relies on sharing computing resources rather than having local servers or personal devices to handle applications.
In cloud computing, the word cloud (also phrased as "the cloud") is used as a metaphor for "the Internet," so the phrase cloud computing means "a type of Internet-based computing," where different services — such as servers, storage and applications are delivered to an organization's computers and devices through the Internet.
Cloud computing is comparable to grid computing, a type of computing where unused processing cycles of all computers in a network are harnesses to solve problems too intensive for any stand-alone machine.

The world of the cloud has lots of participants:
·         The end user who doesn’t have to know anything about the underlying technology.
·         Business management who needs to take responsibility for the governance of data or services living in a cloud. Cloud service providers must provide a predictable and guaranteed service level and security to all their constituents.

·         The cloud service provider who is responsible for IT assets and maintenance.




Advantages of cloud computing

1.  Worldwide Access. Cloud computing increases mobility, as you can access your documents from any device in any part of the world. For businesses, this means that employees can work from home or on business trips, without having to carry around documents. This increases productivity and allows faster exchange of information. Employees can also work on the same document without having to be in the same place.
2.      More Storage. In the past, memory was limited by the particular device in question. If you ran out of memory, you would need a USB drive to backup your current device. Cloud computing provides increased storage, so you won’t have to worry about running out of space on your hard drive.
3.      Easy Set-Up. You can set up a cloud computing service in a matter of minutes. Adjusting your individual settings, such as choosing a password or selecting which devices you want to connect to the network, is similarly simple. After that, you can immediately start using the resources, software, or information in question.
4.      Automatic Updates. The cloud computing provider is responsible for making sure that updates are available – you just have to download them. This saves you time, and furthermore, you don’t need to be an expert to update your device; the cloud computing provider will automatically notify you and provide you with instructions.
5.      Reduced Cost. Cloud computing is often inexpensive. The software is already installed online, so you won’t need to install it yourself. There are numerous cloud computing applications available for free, such as Dropbox, and increasing storage size and memory is affordable. If you need to pay for a cloud computing service, it is paid for incrementally on a monthly or yearly basis. By choosing a plan that has no contract, you can terminate your use of the services at any time; therefore, you only pay for the services when you need them



The working principle of cloud computing

The principle of cloud computing is almost same with another computer,  just the different of that is in cloud computing, is coupled with another present computer.  In regular computer, file from software when we used is stored in hardisk or another storage media. But on computer clouds if viewed from the side of the user, the files from software we use is in another computer.
In other words we are connected to multiple computers on a network server, but the data we store it was in the data center or in center, so that not only we can open the file that we save but computers or other users can open it and vice versa (Public). Also in a lot of infrastructure servers that we can use and we only pay as needed.

 Characteristics cloud computing

1. On-demand self-service. This means provisioning or de-provisioning computing resources as needed in an automated fashion without human intervention. An analogy to this is electricity as a utility where a consumer can turn on or off a switch on-demand to use as much electricity as required.
2. Ubiquitous network access. This means that computing facilities can be accessed from anywhere over the network using any sort of thin or thick clients (for example smartphones, tablets, laptops, personal computers and so on).
3. Resource pooling. This means that computing resources are pooled to meet the demand of the consumers so that resources (physical or virtual) can be dynamically assigned, reassigned or de-allocated as per the requirement. Generally the consumers are not aware of the exact location of computing resources. However, they may be able to specify location (country, city, region and the like) for their need. For example, I as a consumer might want to host my services with a cloud provider that has cloud data centers within the boundaries of Australia.
4. Rapid elasticity. Cloud computing provides an illusion of infinite computing resources to the users. In cloud models, resources can be elastically provisioned or released according to demand. For example, my cloud-based online services should be able to handle a sudden peak in traffic demand by expanding the resources elastically. When the peak subsides, unnecessary resources can be released automatically.
5. Measured service. This means that consumers only pay for the computing resources they have used. This concept is similar to utilities like water or electricity.

SECURITY

Security. When using a cloud computing service, you are essentially handing over your data to a third party. The fact that the entity, as well as users from all over the world, are accessing the same server can cause a security issue. Companies handling confidential information might be particularly concerned about using cloud computing, as data could possibly be harmed by viruses and other malware. That said, some servers like Google Cloud Connect come with customizable spam filtering, email encryption, and SSL enforcement for secure HTTPS access, among other security measures.

The biggest question most have with Cloud Computing is will it be Safe? The answer is “NO”  Reason why is everything that Cloud Computing is based on is mechanical, although it seems virtual. The Safety of the data (information), is only as Safe as the will and determination of the individual that wants to have at it.

THE CONCEPT OF CLOUD COMPUTING





The first building block is the infrastructure where the cloud will be implemented. Some people make the assumption that environment should be virtualized, but as cloud is a way to request resources in an on-demand way and if you have solutions to provide  on bare metal, then why not? The infrastructure will support the different types of cloud (IaaS, PaaS, SaaS, BPaaS).
To be able to provide these services you will need Operating System Services (OSS), which will be in charge of deploying the requested service, and Business System Services (BSS), mainly used to validate the request and create the invoice for the requested services. Any metrics could be used to create the invoice (for example, number of users, number of CPUs, memory, usage hours/month). It is very flexible and depends on the service provider.
A cloud computing environment will also need to provide interfaces and tools for the service creators and users. This is the role of the Cloud Service Creator and Cloud Service Consumer components.
Now, let’s see how it works in reality.
Generally, you log in to a portal (enterprise or public wise) and you order your services through the Cloud Service Consumer. This service has been created by the cloud service provider and can be a simple virtual machine (VM) based on an image, some network components, an application service such as an WebApp environment and a service such as MongoDB. It depends on the provider and type of resources and services.
The cloud provider will validate, through the BSS, your request and if the validation is okay (credit card, contract), it will provision the request through the OSS.
You will receive, in one way or another, the credentials to access your requested services and you will usually receive a monthly invoice for your consumption.


Reference :



Tuesday, April 15, 2014

THREAD LANJUTAN



c. Mengelola Cluster Server
   Sejauh ini pendekatan yang paling umum untuk mengelola cluster server untuk memperpanjang mengelola fungsi dari sebuah komputer tunggal untuk bahwa dari cluster. Dalam nya bentuk yang paling primitif, ini berarti bahwa seorang administrator dapat login ke sebuah node dari terpencil klien dan menjalankan perintah mengelola lokal untuk memonitor, install, dan mengubah komponen.
   Untuk menyembunyikan kenyataan bahwa Anda perlu untuk login ke node dan bukannya menyediakan sebuah antarmuka di mesin administrasi yang memungkinkan untuk mengumpulkan informasi dari satu atau lebih server, upgrade komponen, menambah dan menghapus node, dll Keuntungan utama dari pendekatan kedua adalah bahwa operasi kolektif, yang beroperasi pada sekelompok server, dapat lebih mudah disediakan. Jenis mengelola cluster server secara luas diterapkan dalam praktek, dicontohkan oleh manajemen software seperti Sistem Manajemen Cluster dari IBM (Hochstetler dan Beringer, 2004).
   Namun, segera sebagai cluster tumbuh melampaui beberapa puluh node, jenis manajemen tidak cara untuk pergi. Banyak pusat data kebutuhan untuk mengelola ribuan server, diatur dalam cluster banyak tetapi semua operasi bersama-sama. Melakukan hal ini dengan cara server administrasi terpusat hanya keluar dari pertanyaan.
    Selain itu dapat dengan mudah dilihat bahwa kelompok yang sangat besar perlu perbaikan terus menerus manajemen (termasuk upgrade). Ternyata, dukungan untuk cluster server yang sangat besar hampir selalu ad hoc. Ada berbagai aturan praktis yang harus dipertimbangkan (Brewer, 2001), namun tidak ada pendekatan sistematis untuk berurusan dengan manajemen sistem besar. Manajemen cluster masih sangat banyak dalam masa pertumbuhan, meskipun dapat diharapkan bahwa pengelolaan diri solusi seperti yang dibahas dalam bab sebelumnya akhirnya akan menemukan jalan mereka di daerah ini, setelah lebih banyak pengalaman dengan mereka telah peroleh.

G.  CODE MIGRATION
a. Pendekatan Kode Migrasi
    Secara tradisional, kode migrasi dalam sistem terdistribusi terjadi dalam bentuk proses migrasi di mana seluruh proses telah dipindahkan dari satu mesin ke mesin lain. Memindahkan proses yang berjalan ke mesin yang berbeda adalah tugas yang mahal dan rumit, dan ada yang lebih baik menjadi alasan yang baik untuk melakukannya.
   Alasan yang selalu kinerja. Ide dasarnya adalah bahwa sistem secara keseluruhan kinerja dapat ditingkatkan jika proses dipindahkan dari berat-dimuat untuk ringan-load mesin. Load sering dinyatakan dalam antrian CPU panjang atau penggunaan CPU, tetapi lain indikator kinerja yang digunakan juga.
    Algoritma distribusi beban dengan mana keputusan yang dibuat mengenai alokasi dan redistribusi tugas sehubungan dengan satu set prosesor, memainkan peran penting peran dalam sistem menghitung-intensif. Namun, dalam banyak modem didistribusikan sistem, mengoptimalkan kapasitas komputasi kurang masalah daripada, misalnya, mencoba untuk meminimalkan komunikasi. Selain itu, karena heterogenitas yang mendasari platform dan jaringan komputer, peningkatan kinerja melalui migrasi kode sering didasarkan pada penalaran kualitatif bukan model matematika.
   Pertimbangkan, sebagai contoh, sistem client-server di mana server mengelola besar database. Jika sebuah aplikasi klien perlu banyak melakukan operasi database melibatkan sejumlah besar data, mungkin lebih baik untuk mengirimkan bagian dari aplikasi klien ke server dan mengirim hanya hasil di jaringan. Jika tidak, jaringan dapat dibanjiri dengan transfer data dari server ke klien. Dalam kasus ini, migrasi kode didasarkan pada asumsi bahwa pada umumnya masuk akal untuk memproses data yang dekat dengan tempat data tersebut berada. Ini alasan yang sama dapat digunakan untuk migrasi bagian dari server ke klien. Sebagai contoh, di banyak aplikasi database interaktif, klien perlu mengisi formulir yang kemudian diterjemahkan menjadi serangkaian operasi database. Pengolahan bentuk di sisi client, dan mengirimkan formulir yang telah diisi hanya ke server, dapat kadang-kadang menghindari bahwa jumlah yang relatif besar pesan kecil perlu menyeberang jaringan. Hasilnya adalah bahwa klien merasakan kinerja yang lebih baik, sementara pada saat yang sama server menghabiskan waktu kurang pada pengolahan bentuk dan komunikasi. Dukungan untuk migrasi kode juga dapat membantu meningkatkan kinerja dengan memanfaatkan paralelisme, tetapi tanpa kerumitan yang biasa berhubungan dengan pemrograman paralel. Sebuah contoh yang khas adalah mencari informasi di Web. Hal ini relatif sederhana untuk mengimplementasikan permintaan pencarian dalam bentuk program mobile kecil, yang disebut ponsel agen, yang bergerak dari situs ke situs. Dengan membuat beberapa salinan dari suatu program, dan mengirim off setiap situs yang berbeda, kita mungkin dapat mencapai speedup linier dibandingkan dengan hanya menggunakan contoh program tunggal.

b. Migration in Heterogeneous Systems
   Masalah-masalah yang berasal dari heterogenitas yang dalam banyak hal sama dengan orang-orang dari portabilitas. Tidak mengherankan, solusi juga sangat mirip. Sebagai contoh, pada akhir 1970-an, solusi sederhana untuk mengurangi banyak masalah Pascal port ke mesin yang berbeda adalah untuk menghasilkan mesin-independen antara kode untuk sebuah mesin virtual abstrak (Barron, 1981). Bahwa mesin, dari Tentu saja, akan perlu untuk diterapkan pada banyak platform, tetapi kemudian akan memungkinkan Program pascal untuk dijalankan di mana saja. Meskipun ide sederhana ini secara luas digunakan untuk beberapa tahun, tidak pernah benar-benar tertangkap sebagai solusi umum untuk portabilitas masalah bagi bahasa lain, terutama C.
   Sekitar 25 tahun kemudian, kode migrasi dalam sistem heterogen sedang diserang oleh bahasa scripting dan bahasa sangat portabel seperti Java. Dalam Intinya, solusi ini mengadopsi pendekatan yang sama seperti yang dilakukan untuk port Pascal.
   Semua solusi tersebut memiliki kesamaan bahwa mereka bergantung pada mesin virtual (proses) bahwa baik secara langsung menafsirkan kode sumber (seperti dalam kasus bahasa scripting), atau jika menafsirkan kode menengah yang dihasilkan oleh kompilator (seperti di Java). Menjadi di tempat yang tepat pada waktu yang tepat juga penting bagi pengembang bahasa Perkembangan terakhir telah mulai melemahkan ketergantungan pada pemrograman bahasa. Secara khusus, solusi telah diusulkan tidak hanya untuk bermigrasi proses, namun untuk bermigrasi lingkungan komputasi keseluruhan. Ide dasarnya adalah untuk kotakkan lingkungan secara keseluruhan dan untuk menyediakan proses di bagian yang sama mereka sendiri melihat pada lingkungan komputasi mereka.
     Jika kompartementalisasi dilakukan dengan benar, maka ada kemungkinan untuk memisahkan bagian dari sistem yang mendasari dan benar-benar bermigrasi ke mesin lain. Dalam cara ini, migrasi sebenarnya akan memberikan bentuk mobilitas yang kuat untuk proses, karena mereka kemudian dapat dipindahkan pada setiap saat selama eksekusi mereka, dan terus di mana mereka meninggalkan off saat migrasi selesai. Selain itu, banyak seluk-beluk terkait dengan proses migrasi sementara mereka memiliki binding untuk sumber daya lokal mungkin diselesaikan, karena ini binding dalam banyak kasus hanya diawetkan. Sumber daya lokal, yaitu, sering bagian dari lingkungan yang sedang bermigrasi.
      Ada beberapa alasan untuk ingin untuk bermigrasi lingkungan secara keseluruhan, namun mungkin yang paling penting adalah bahwa hal itu memungkinkan kelanjutan dari operasi sementara mesin perlu shutdown. Sebagai contoh, dalam sebuah cluster server, sistem administrator dapat memutuskan untuk mematikan atau mengganti mesin, tetapi tidak perlu menghentikan semua proses yang berjalan. Sebaliknya, untuk sementara dapat membekukan lingkungan, memindahkannya ke komputer lain (di mana ia duduk di samping lainnya, lingkungan yang ada), dan hanya mencairkan lagi. Jelas, ini merupakan cara yang sangat ampuh untuk mengelola lama berjalan menghitung lingkungan dan proses mereka.
Mari kita perhatikan salah satu contoh spesifik dari migrasi mesin virtual, Dalam hal ini, penulis terkonsentrasi pada real-time migrasi sistem operasi virtual, biasanya sesuatu yang akan nyaman dalam cluster server mana kopling ketat dicapai melalui tunggal, berbagi jaringan area lokal. Dalam keadaan ini, migrasi melibatkan dua besar masalah: migrasi seluruh memori gambar dan migrasi binding ke sumber daya lokal.




Refrensi :

vlsm.org, Komponen Sistem Operasi, http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch05.html#c20501

Wahyu Wijanarko, Sistem Operasi Terdistribusi, http://ilmukomputer.com/2006/08/20/sistem-operasi-terdistribusi/

http://id.wikipedia.org/wiki/Sistem_operasi