Sabtu, 30 Juni 2018

Parallel Computing



Nama           : M. Irfan Mauluddin


Kelas           : 4IA21
Npm             : 57414367
Mata kuliah : Pengantar Komputasi Modern



Parallel computing adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat programberjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya, Maksudnya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing.


 Sejarah mencatat Konferensi internasional tentang ParCo97 komputasi paralel (Parallel Computing 97) diadakan di Bonn, Jerman 19-22 September 1997. Konferensi pertama dalam seri ini dua tahunan diadakan pada tahun 1983 di Berlin. Selanjutnya konferensi diadakan di Leiden (Belanda), London (Inggris), Grenoble (Prancis) dan Gent (Belgia).


Sejak awal tujuan dengan (Komputasi Paralel) konferensi parco adalah untuk mempromosikan penerapan komputer paralel untuk memecahkan masalah kehidupan nyata. Dalam kasus ParCo97 tonggak baru dicapai dalam bahwa lebih dari setengah dari makalah dan poster yang disajikan prihatin dengan aspek aplikasi. Fakta ini mencerminkan kedatangan usia komputasi paralel.
Sekitar 200 makalah yang disampaikan kepada Komite Program oleh penulis dari seluruh dunia. Program akhir terdiri dari empat makalah diundang, 71 kontribusi ilmiah / industri kertas dan 45 poster. Selain diskusi panel tentang Komputasi Paralel dan Evolusi Cyberspace diadakan. 
Penekanan praktis konferensi ini ditekankan oleh pameran industri di mana perusahaan menunjukkan perkembangan terbaru dalam peralatan pemrosesan paralel dan perangkat lunak. Pembicara dari perusahaan yang berpartisipasi mempresentasikan makalah dalam sesi industri di mana perkembangan baru dalam komputasi paralel dilaporkan.



Komputer paralel secara kasar dapat diklasifikasikan menurut tingkat di mana hardware mendukungparalelisme, dengan komputer multi-core dan multi-prosesor yang memiliki elemen pemrosesan gandadalam satu mesin, sedangkan cluster, MPP, dan grid menggunakan beberapa komputer untuk bekerja pada hal yang sama tugas. Khusus arsitektur komputer paralel kadang-kadang digunakan bersamaprosesor tradisional, untuk mempercepat tugas-tugas tertentu.


Komputasi paralel membutuhkan:



  • algoritma
  • bahasa pemrograman
  • compiler

Sumber daya komputer (computer resource) dapat terdiri dari sebuah komputer dengan beberapa processor, atau beberapa komputer yang terhubung oleh sebuah jaringan, atau pun kombinasi antara keduanya. Processor mengakses data melalui shared memory. Beberapa supercomputer parallel processing system memiliki ratusan bahkan ribuan microprocessor.

Dengan bantuan dari parallel processing, sejumlah komputasi dapat dijalankan dalam satu waktu, memangkas waktu yang dibutuhkan untuk menyelesaikan sebuah project. Parallel processing sangat berguna untuk project yang membutuhkan komputasi komplek, seperti weather modelling dan efek digital spesial (special effect digital). Untuk lebih memahami konsep dari parallel processing, Anda dapat menyimak analoginya berikut ini.



Dengan bantuan dari parallel processing, masalah yang sangat kompleks dapat terselesaikan dengan efektif dan lebih efisien. Parallel computing dapat secara efektif digunakan untuk tugas-tugas (task) yang melibatkan begitu banyak komputasi, untuk dapat dibagi menjadi task-task yang lebih kecil.

Contoh sistem yang diterapkan pada obyek 3D yang besar dan rinci, interpretasi geometrik yang melekat seri membatasi kecepatan generasi gambar. Untuk mempercepat prosedur menafsirkan, sebuah Graphic Processing Unit (GPU) metode berbasis memanfaatkan Compute Arsitektur Unified Device (CUDA) yang diusulkan dalam tulisan ini. Pendekatan terfokus melibatkan dua tahap: pertama adalah scan sekuensial pada string yang dihasilkan negara dari derivasi dari L-sistem yang berjalan pada CPU, yang kedua adalah komputasi paralel pada GPU dengan CUDA. Simbol dalam string negara diinterpretasikan sebagai perintah penyu dan kura-kura primitif grafis yang menyatakan tergantung pada operasi perkalian matriks di scan sekuensial. Kemudian dengan posisi dan arah tercakup dalam penyu negara, garis (silinder) yang dihasilkan dan primitif grafik diubah menjadi sistem koordinat penyu menggunakan ribuan benang paralel dalam fase komputasi. Dibandingkan dengan metode lain, metode yang diusulkan lebih efisien.


Jika Anda memiliki Perhitungan Toolbox Paralel (PCT) dari Matlab, Anda dapat menggunakan kekuatandan kemudahan penggunaan untuk menjalankan analisis neuroimaging secara paralel. Baca lebih lanjut di sini dan di sini untuk informasi lebih lanjut tentang toolbox ini. Caranya adalah dengan menggunakanbeberapa core CPU pada mesin Anda untuk menjalankan analisis secara paralel. Sebagai contoh, ketika saya menjalankan beberapa analisis pada setiap peserta, saya dapat menggunakan PCT untuk memulaianalisis pada 6-8 peserta secara paralel, yang menebang waktu lari ke sekitar 5 kali atau lebih.





  • Perkembangan Komputasi Paralel Pada Masa Kini

Komputasi paralel pada masa kini dapat diimplementasikan pada komputer-komputer rumah (Home User). Karena saat ini komputer-komputer sudah memiliki lebih dari 1 core, sehingga dapat diimplementasikan dengan mudah. Akan tetapi penggunaan CPU pada komputasi paralel dirasa kurang memiliki performance yang optimal, sehingga para developer dari NVIDIA mengembangkan hardware yang diberi nama GPU (Graphical Processing Unit) pada tahun 1999, GPU memiliki performance yang jauh lebih baik daripada CPU karena memiliki Core (Inti) yang lebih banyak daripada CPU, 1 inti dapat memiliki banyak thread (Benang), sehingga program dapat berjalan dengan optimal.

NVIDIA juga mengembangkan sebuah software yang dapat digunakan bersamaan dengan GPU NVIDIA, software tersebut diberi nama CUDA (Compute Unified Device Architecture). CUDA digunakan untuk mengendalikan GPU sehingga dapat berjalan dengan optimal dan dikendalikan dengan mudah.

 NVIDIA memiliki 3 arsitektur GPU yang dapat digunakan untuk komputasi paralel, arsitektur tersebut adalah :

NVIDIA Tesla Architecture
NVIDIA Fermi Architecture
NVIDIA Kepler Architecture
Arsitektur yang pertama kali diproduksi secara massal oleh NVIDIA adalah Tesla. Lalu selanjutnya dioptimalkan dengan Fermi, dan yang saat ini paling banyak digunakan adalah Kepler.




Source :



Sabtu, 12 Mei 2018

Quantum Computation



Nama: Muhammad Irfan M
Kelas: 4IA21
Mata Kuliah: Pengantar Komputasi Modern
Dosen: Indra Adi Permana



Quantum Computation

Quantum Computation atau komputer kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data.
Dalam komputasi klasik, jumlah data dihitung dengan bit, dalam komputer kuantum hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

Ide mengenai komputer kuantum ini berasal dari beberapa fisikawan antara lain Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, Davic Deutsch dari Unversity of Oxford, dan Richard P Feynman dari California Institute of Technology (Caltech).

Pada awalnya Feynman mengemukakan idenya mengenai sistem kuantum yang juga dapat melakukan proses penghitungan. Fenyman juga mengemukakan bahwa sistem ini bisa menjadi simulator bagi percobaan fisika kuantum.

Selanjutnya para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritme baru yang bisa digunakan dalam sistem kuantum yaitu algoritme shor dan algoritme grover.

Walaupun komputer kuantum masih dalam pengembangan, telah dilakukan eksperimen dimana operasi komputasi kuantum dilakukan atas sejumlah kecil Qubit. Riset baik secara teoretis maupun praktik terus berlanjut dalam laju yang cepat, dan banyak pemerintah nasional dan agensi pendanaan militer mendukung riset komputer kuantum untuk pengembangannya baik untuk keperluan rakyat maupun masalah keamanan nasional seperti kriptoanalisis.

Telah dipercaya dengan sangat luas, bahwa apabila komputer kuantum dalam skala besar dapat dibuat, maka komputer tersebut dapat menyelesaikan sejumlah masalah lebih cepat daripada komputer biasa. Komputer kuantum berbeda dengan komputer DNA dan komputer klasik berbasis transistor, walaupun mungkin komputer jenis tersebut menggunakan prinsip kuantum mekanik. Sejumlah arsitektur komputasi seperti komputer optik walaupun menggunakan superposisi klasik dari gelombang elektromagnetik, namun tanpa sejumlah sumber kuantum mekanik yang spesifik seperti keterkaitan, maka tak dapat berpotensi memiliki kecepatan komputasi sebagaimana yang dimiliki oleh komputer kuantum.




Algoritma pada Quantum Computing


Para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.

  • Algoritma Shor

Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.

  • Algoritma Grover

Algoritma Grover adalah sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibandingkan pencarian linear klasik untuk list tak terurut. Algoritma Grover menggambarkan bahwa dengan menggunakan pencarian model kuantum, pencarian dapat dilakukan lebih cepat dari model komputasi klasik. Dari banyaknya algoritma kuantum, algoritma grover akan memberikan jawaban yang benar dengan probabilitas yang tinggi. Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma. Algoritma Grover juga dapat digunakan untuk memperkirakan rata-rata dan mencari median dari serangkaian angka, dan untuk memecahkan masalah Collision.


Perbandingan Komputasi Klasik dan Quantum


Komputasi klasik bergantung, pada tingkat tertinggi, pada prinsip-prinsip yang diungkapkan oleh aljabar Boolean, beroperasi dengan prinsip gerbang logika 7-mode (biasanya), meskipun mungkin ada hanya dengan tiga mode (yang AND, NOT, dan COPY). Data harus diproses dalam keadaan biner eksklusif pada setiap titik waktu - yaitu, baik 0 (tidak aktif / salah) atau 1 (pada / benar). Nilai-nilai ini adalah digit biner, atau bit. Jutaan transistor dan kapasitor di jantung komputer hanya dapat berada di satu negara pada titik mana pun. Sementara waktu yang diperlukan setiap transistor atau kapasitor baik dalam 0 atau 1 sebelum negara beralih sekarang dapat diukur dalam seperseribu detik, masih ada batas mengenai seberapa cepat perangkat ini dapat dibuat untuk beralih negara. Ketika kita maju ke sirkuit yang lebih kecil dan lebih cepat, kita mulai mencapai batas fisik material dan ambang hukum fisika klasik untuk diterapkan. Di luar ini, dunia kuantum mengambil alih, yang membuka potensi sebesar tantangan yang disajikan.

Komputer Quantum, sebaliknya, dapat bekerja dengan gerbang logika dua mode: XOR dan mode yang akan kita sebut QO1 (kemampuan untuk mengubah 0 menjadi superposisi 0 dan 1, gerbang logika yang tidak bisa ada dalam komputasi klasik) . Dalam komputer kuantum, sejumlah partikel unsur seperti elektron atau foton dapat digunakan (dalam praktiknya, keberhasilan juga telah dicapai dengan ion), dengan muatan atau polarisasi keduanya bertindak sebagai representasi 0 dan / atau 1. Setiap partikel-partikel ini dikenal sebagai bit kuantum, atau qubit, sifat dan perilaku partikel-partikel ini membentuk dasar komputasi kuantum. Dua aspek yang paling relevan dari fisika kuantum adalah prinsip-prinsip superposisi dan belitan.
     
   Superposisi
Pikirkan qubit sebagai elektron dalam medan magnet. Spin elektron mungkin baik sejajar dengan bidang, yang dikenal sebagai keadaan spin-up, atau berlawanan dengan lapangan, yang dikenal sebagai keadaan spin-down. Mengubah spin elektron dari satu keadaan ke keadaan lainnya dicapai dengan menggunakan pulsa energi, seperti dari laser - katakanlah kita menggunakan 1 unit energi laser. Tetapi bagaimana jika kita hanya menggunakan setengah unit energi laser dan benar-benar mengisolasi partikel dari semua pengaruh eksternal? Menurut hukum kuantum, partikel kemudian memasuki superposisi keadaan, di mana ia berperilaku seolah-olah berada di kedua negara secara bersamaan. Setiap qubit yang digunakan dapat mengambil superposisi dari 0 dan 1. Dengan demikian, jumlah perhitungan yang dapat dilakukan oleh komputer kuantum adalah 2 ^ n, di mana n adalah jumlah qubit yang digunakan. Sebuah komputer kuantum yang terdiri dari 500 qubit akan memiliki potensi untuk melakukan 2 ^ 500 perhitungan dalam satu langkah. Ini adalah angka yang luar biasa - 2 ^ 500 adalah atom yang jauh lebih banyak daripada yang ada di alam semesta yang dikenal (ini adalah pemrosesan paralel yang benar - komputer klasik saat ini, bahkan yang disebut prosesor paralel, masih hanya benar-benar melakukan satu hal pada satu waktu: hanya ada dua atau lebih dari mereka melakukannya). Tetapi bagaimana partikel-partikel ini berinteraksi satu sama lain? Mereka akan melakukannya melalui belitan kuantum.

   Entanglement
Entanglement Partikel (seperti foton, elektron, atau qubit) yang berinteraksi di beberapa titik mempertahankan jenis koneksi dan dapat terjerat satu sama lain secara berpasangan, dalam proses yang dikenal sebagai korelasi. Mengetahui keadaan spin dari satu partikel yang terjerat - naik atau turun - memungkinkan seseorang untuk mengetahui bahwa spin dari pasangannya berada dalam arah yang berlawanan. Yang lebih menakjubkan adalah pengetahuan yang, karena fenomena superpostisi, partikel yang diukur tidak memiliki arah putaran tunggal sebelum diukur, tetapi secara simultan dalam keadaan spin-up dan spin-down. Keadaan spin dari partikel yang diukur diputuskan pada saat pengukuran dan dikomunikasikan ke partikel yang berkorelasi, yang secara bersamaan mengasumsikan arah putaran berlawanan dengan yang diukur partikel. Ini adalah fenomena nyata (Einstein menyebutnya "tindakan seram di kejauhan"), mekanisme yang tidak bisa, seperti yang dijelaskan oleh teori apa pun - itu harus diambil sebagai diberikan. Belitan kuantum memungkinkan qubit yang dipisahkan oleh jarak yang luar biasa untuk berinteraksi satu sama lain secara instan (tidak terbatas pada kecepatan cahaya). Tidak peduli seberapa besar jarak antara partikel-partikel yang berkorelasi, mereka akan tetap terjerat selama mereka diisolasi.

Secara bersama-sama, superposisi kuantum dan belitan menciptakan kekuatan komputasi yang sangat ditingkatkan. Di mana register 2-bit di komputer biasa dapat menyimpan hanya satu dari empat konfigurasi biner (00, 01, 10, atau 11) pada waktu tertentu, register 2-qubit di komputer kuantum dapat menyimpan keempat angka secara bersamaan, karena setiap qubit mewakili dua nilai. Jika lebih banyak qubit ditambahkan, peningkatan kapasitas diperluas secara eksponensial.

   Pemrograman Quantum
Mungkin yang lebih menarik daripada kekuatan komputasi kuantum adalah kemampuan yang ditawarkan untuk menulis program dengan cara yang benar-benar baru. Sebagai contoh, komputer kuantum dapat menggabungkan urutan pemrograman yang akan berada di sepanjang garis "mengambil semua superposisi dari semua perhitungan sebelumnya" - sesuatu yang tidak berarti dengan komputer klasik - yang akan memungkinkan cara yang sangat cepat untuk memecahkan masalah matematika tertentu. , seperti faktorisasi dalam jumlah besar, salah satu contoh yang kita diskusikan di bawah ini.

Ada dua keberhasilan penting sejauh ini dengan pemrograman kuantum. Yang pertama terjadi pada tahun 1994 oleh Peter Shor, (sekarang di AT & T Labs) yang mengembangkan algoritma kuantum yang dapat secara efisien menghitung jumlah besar. Ini berpusat pada sistem yang menggunakan teori angka untuk memperkirakan periodisitas sejumlah besar urutan. Terobosan besar lainnya terjadi dengan Lov Grover of Bell Labs pada tahun 1996, dengan algoritma yang sangat cepat yang terbukti paling cepat untuk mencari melalui basis data yang tidak terstruktur. Algoritma ini sangat efisien sehingga hanya membutuhkan, rata-rata, sekitar akar N kuadrat (di mana N adalah jumlah total elemen) pencarian untuk menemukan hasil yang diinginkan, dibandingkan dengan pencarian dalam komputasi klasik, yang rata-rata membutuhkan N / 2 pencarian.

   Permasalahan - Dan Beberapa Solusi
Hal di atas terdengar menjanjikan, tetapi ada rintangan luar biasa yang masih harus diatasi. Beberapa masalah dengan komputasi kuantum adalah sebagai berikut:

  • Interferensi - Selama fase perhitungan perhitungan kuantum, gangguan sekecil apa pun dalam sistem kuantum (misalkan foton nyasar atau gelombang radiasi EM) menyebabkan komputasi kuantum runtuh, sebuah proses yang dikenal sebagai de-koherensi. Komputer kuantum harus benar-benar terisolasi dari semua gangguan eksternal selama fase perhitungan. Beberapa keberhasilan telah dicapai dengan penggunaan qubit di medan magnet yang intens, dengan penggunaan ion.
  • Koreksi kesalahan - Karena benar-benar mengisolasi sistem kuantum telah terbukti sangat sulit, sistem koreksi kesalahan untuk perhitungan kuantum telah dikembangkan. Qubit bukanlah bit data digital, sehingga mereka tidak dapat menggunakan koreksi kesalahan konvensional (dan sangat efektif), seperti metode triple redundant. Mengingat sifat komputasi kuantum, koreksi kesalahan sangat penting - bahkan kesalahan tunggal dalam perhitungan dapat menyebabkan validitas seluruh komputasi runtuh. Ada banyak kemajuan di bidang ini, dengan algoritma koreksi kesalahan dikembangkan yang menggunakan 9 qubit (1 komputasi dan 8 pemasyarakatan). Baru-baru ini, ada terobosan oleh IBM yang membuat dengan total 5 qubit (1 komputasi dan 4 pemasyarakatan).
  • Ketaatan Output - Terkait erat dengan dua di atas, mengambil data output setelah perhitungan kuantum adalah risiko lengkap merusak data. Dalam contoh komputer kuantum dengan 500 qubit, kita memiliki peluang 1 dalam 2 ^ 500 untuk mengamati output yang tepat jika kita mengukur output. Jadi, yang diperlukan adalah metode untuk memastikan bahwa, segera setelah semua perhitungan dibuat dan tindakan pengamatan berlangsung, nilai yang diamati akan sesuai dengan jawaban yang benar. Bagaimana ini bisa dilakukan? Ini telah dicapai oleh Grover dengan algoritma pencarian databasenya, yang bergantung pada bentuk "gelombang" khusus dari kurva probabilitas yang melekat pada komputer kuantum, yang memastikan, setelah semua perhitungan selesai, tindakan pengukuran akan melihat status kuantum mengurai jawaban yang benar.


Meskipun ada banyak masalah yang harus diatasi, terobosan dalam 15 tahun terakhir, dan terutama di 3 terakhir, telah membuat beberapa bentuk komputasi kuantum praktis tidak tidak layak, tetapi ada banyak perdebatan mengenai apakah ini kurang dari satu dekade lagi atau seratus tahun ke depan. Namun, potensi yang ditawarkan teknologi ini menarik minat yang luar biasa baik dari pemerintah maupun sektor swasta. Aplikasi militer termasuk kemampuan untuk memecahkan kunci enkripsi melalui pencarian kekerasan, sementara aplikasi sipil berkisar dari pemodelan DNA ke analisis ilmu material kompleks. Potensi inilah yang dengan cepat meruntuhkan penghalang pada teknologi ini, tetapi apakah semua hambatan dapat dipatahkan, dan kapan, adalah pertanyaan terbuka.


Prinsip Kerja Komputer Kuantum


Prinsip kerja dari computer kuantum yang dikembangkan adalah menggunakan kaskade spin-molekul tunggal magnet. Para ilmuwan menunjukkan bagaimana spin nuklir dapat dimanipulasi dengan medan listrik. Manipulasi dengan medan listrik memungkinkan untuk beralih secara cepat dan spesifik

Komputer kuantum bekerja atas dasar prinsip-prinsip mekanika kuantum adalah untuk menyelesaikan tugas-tugas yang jauh lebih efisien daripada komputer klasik. Sedangkan yang kedua bekerja dengan bit yang mengasumsikan nilai nol atau satu, komputer kuantum menggunakan apa yang disebut bit kuantum, secara singkat disebut sebagai qubit, sebagai unit perhitungan terkecil. Mereka juga mungkin menganggap nilai-nilai di antara keduanya. Qubit dapat bergantung pada spin nuklir, yaitu momentum sudut intrinsik dari inti atom. Mereka mengarahkan  medan magnet ke atas (up) atau ke bawah (down) . Interlinkage qubit dengan masing-masing hasil lainnya  kuantum campuran, atas dasar banyak langkah perhitungan dapat dieksekusi secara paralel. Penjelasannya dapat diamati pada gambar di bawah.

Untuk mengintegrasikan qubit spin berbasis nuklir ke sirkuit elektronik dan secara khusus memicu proses informasi baru, manipulasi listrik spesifik nuklir berputar diperlukan. Sebuah tim ilmuwan dari KIT dan Pusat Nasional de la Recherche Scientifique (CNRS) di Grenoble dan Strasbourg baru-baru ini untuk pertama kalinya berhasil dalam memanipulasi spin nuklir tunggal dengan cara menggunakan medan listrik murni. Menurut Profesor Mario Ruben, Kepala Bahan Molecular Research Group dari KIT Institut Nanoteknologi (INT),  "Penggunaan medan listrik bukan medan magnet membuka jalan untuk mengatasi keadaan kuantum dalam rangkaian elektronik konvensional," "Ada, keadaan kuantum dapat dimanipulasi secara khusus oleh apa yang disebut arus perpindahan. Kemudian, mereka dapat langsung dibaca secara elektronik."

Untuk percobaan mereka, para peneliti menggunakan transistor spin-qubit nuklir yang terdiri dari molekul magnet tunggal yang terhubung ke tiga elektroda (sumber, tiriskan, dan gerbang). Molekul magnet tunggal adalah molekul TbPc2 - ion logam tunggal TB yang tertutup oleh molekul phthalosianin organik karbon, nitrogen, dan atom-atom hidrogen. Kesenjangan antara medan listrik dan spin dijembatani oleh yang disebut efek hyperfine-Stark  yang mengubah medan listrik menjadi medan magnet lokal. Proses mekanika kuantum ini dapat ditransfer ke semua sistem spin nuklir dan, karenanya, membuka perspektif yang sama sekali baru untuk mengintegrasikan efek kuantum di dalam spin nuklir ke dalam sirkuit/rangkaian elektronik.



Kegunaan Komputer Kuantum


Ini adalah salah satu contoh kecil dari kegunaan komputer kuantum. Untuk memecahkan sebuah kode rahasia, seperti password misalnya, bergantung pada banyaknya digit yang harus dihitung. Makin sedikit jumlah digitnya, makin mudah. Makin banyak, tentu makin sulit. Katanya kalau digitnya misalnya sudah mencapai 140 digit, maka untuk menemukan kombinasinya perlu waktu milyaran tahun bagi komputer biasa untuk menemukannya! Nah bagi Komputer Kuantum, ini bisa dipecahkan dalam waktu, beberapa puluh menit saja!

Dengan teknologi komputer kuantum kita dapat melihat secara detail seperti apa sebenarnya bentuk dan pergerakan atom! Selain itu dapat digunakan untuk memahami dengan lebih jelas tentang mekanika seluruh galaksi dan alam semesta. Dapat juga digunakan untuk mempermudah penciptaan energi fusi nuklir yang dahsyat dan aman. Memprediksi cuaca secara akurat, berbulan-bulan sebelumnya.





Sumber :

Kamis, 19 April 2018

Cloud Compuing dan Grid Computing


Nama: Muhammad Irfan M

Kelas: 4IA21
Mata Kuliah: Pengantar Komputasi Modern
Dosen: Indra Adi Permana


1.     Cloud Computing

Cloud Computing atau komputasi awan merupakan kombinasi pemanfaatan teknologi komputer dengan pengembangan berbasis internet. Sebutan cloud sendiri merupakan sebuah istilah yang diberikan pada teknologi jaringan internet. Pada teknlogi komputasi berbasis awan semua data berada dan disimpan di server internet, begitu juga dengan aplikasi ataupun software yang pada umumnya dibutuhkan pengguna semuanya berada di komputer server.


Sehingga kita tidak perlu melakukan instalasi pada server. Tetapi pengguna harus terhubung ke internet untuk bisa mengakses dan menjalankan aplikasi yang berada di server tersebut. Penerapan komputasi awan saat ini sudah dilakukan oleh sejumlah perusahaan IT terkemuka di dunia. Sebut saja di antaranya adalah Google (google drive) dan IBM (blue cord initiative). Sedangkan di Indonesia, salah satu perusahaan yang sudah menerapkan komputasi awan adalah Telkom.

A.    Jenis Jenis Cloud Computing




  • Software as a Service (SaaS)

Adalah salah satu layanan dari Cloud Computing dimana kita tinggal memakai software (perangkat lunak) yang telah disediakan. User hanya tahu bahwa perangkat lunak bisa berjalan dan bisa digunakan dengan baik. Contoh, layanan email publik (Gmail, YahooMail, Hotmail), social network (Facebook, Twitter, LinkedIn) instant messaging (Yahoo Messenger, Skype, Line, WhatsApp) dan masih banyak lagi yang lain.

Dalam perkembangan-nya, banyak perangkat lunak yang dulu hanya kita bisa nikmati dengan menginstall aplikasi tersebut di komputer kita (on-premise) mulai sekarang bisa kita nikmati lewat Cloud Computing. Keuntungan-nya, kita tidak perlu membeli lisensi dan tinggal terkoneksi ke internet untuk memakai-nya. Contoh, Microsoft Office yang sekarang kita bisa nikmati lewat Office 365, Adobe Suite yang bisa kita nikmati lewat Adobe Creative Cloud.

  • Platform as a Service (PaaS)

Adalah layanan dari Cloud Computing kalau kita analogikan dimana kita menyewa “rumah” berikut lingkungan-nya (sistem operasi, network, database engine, framework aplikasi, dll), untuk menjalankan aplikasi yang kita buat. Kita tidak perlu pusing untuk menyiapkan “rumah” dan memelihara “rumah” tersebut. Yang penting aplikasi yang kita buat bisa berjalan dengan baik di “rumah” tersebut. Untuk pemeliharaan “rumah” ini menjadi tanggung jawab dari penyedia layanan.

Sebagai analogi, misal-nya kita sewa kamar hotel, kita tinggal tidur di kamar yang sudah kita sewa, tanpa peduli bagaimana “perawatan” dari kamar dan lingkungan-nya. Yang penting, kita bisa nyaman tinggal di kamar itu, jika suatu saat kita dibuat tidak nyaman, tinggal cabut dan pindah ke hotel lain yang lebih bagus layanan-nya.

Contoh penyedia layanan PaaS ini adalah: Amazon Web Service, Windows Azure,  bahkan tradisional hosting-pun merupakan contoh dari PaaS. Keuntungan dari PaaS adalah kita sebagai pengembang bisa fokus pada aplikasi yang kita buat, tidak perlu memikirkan operasional dari “rumah” untuk aplikasi yang kita buat.

  • Infrastructure as a Service (IaaS)

Adalah layanan dari Cloud Computing dimana kita bisa “menyewa” infrastruktur IT (komputasi, storage, memory, network). Kita bisa definisikan berapa besar-nya unit komputasi (CPU), penyimpanan data (storage), memory (RAM), bandwith, dan konfigurasi lain-nya yang akan kita sewa. Mudah-nya, IaaS ini adalah menyewa komputer virtual yang masih kosong, dimana setelah komputer ini disewa kita bisa menggunakan-nya terserah dari kebutuhan kita. Kita bisa install sistem operasi dan aplikasi apapun diatas-nya.

Contoh penyedia layanan IaaS ini adalah: Amazon EC2, Windows Azure (soon), TelkomCloud, BizNetCloud, dan sebagainya. Keuntungan dari IaaS ini adalah kita tidak perlu membeli komputer fisik, dan konfigurasi komputer virtual tersebut bisa kita rubah (scale up/scale down) dengan mudah. Sebagai contoh, saat komputer virtual tersebut sudah kelebihan beban, kita bisa tambahkan CPU, RAM, Storage dan lainnya dengan segera.

B.    Cara Kerja Sistem Cloud Computing

Sistem Cloud bekerja menggunakan internet sebagai server dalam mengolah data. Sistem ini memungkinkan pengguna untuk login ke internet yang tersambung ke program untuk menjalankan aplikasi yang dibutuhkan tanpa melakukan instalasi. Infrastruktur seperti media penyimpanan data dan juga instruksi/perintah dari pengguna disimpan secara virtual melalui jaringan internet kemudian perintah – perintah tersebut dilanjutkan ke server aplikasi. Setelah perintah diterima di server aplikasi kemudian data diproses dan pada proses final pengguna akan disajikan dengan halaman yang telah diperbaharui sesuai dengan instruksi yang diterima sebelumnya sehingga konsumen dapat merasakan manfaatnya.

Contohnya lewat penggunaan email seperti Yahoo ataupun Gmail. Data di beberapa server diintegrasikan secara global tanpa harus mendownload software untuk menggunakannya. Pengguna hanya memerlukan koneksi internet dan semua data dikelola langsung oleh Yahoo dan juga Google. Software dan juga memori atas data pengguna tidak berada di komputer tetapi terintegrasi secara langsung melalui sistem Cloud menggunakan komputer yang terhubung ke internet.

C.     Manfaat Cloud Computing Serta Penerapan Dalam Kehidupan Sehari – hari

  • Semua Data Tersimpan di Server Secara Terpusat
Salah satu keunggulan teknologi cloud adalah memungkinkan pengguna untuk menyimpan data secara terpusat di satu server berdasarkan layanan yang disediakan oleh penyedia layanan Cloud Computing itu sendiri. Selain itu, pengguna juga tak perlu repot repot lagi menyediakan infrastruktur seperti data center, media penyimpanan/storage dll karena semua telah tersedia secara virtual.

  • Kemanan Data

Keamanan data pengguna dapat disimpan dengan aman lewat server yang disediakan oleh penyedia layanan Cloud Computing seperti jaminan platform teknologi, jaminan ISO, data pribadi, dll.

  • Fleksibilitas dan Skalabilitas yang Tinggi

Teknologi Cloud menawarkan fleksibilitas dengan kemudahan data akses, kapan dan dimanapun kita berada dengan catatan bahwa pengguna (user) terkoneksi dengan internet. Selain itu, pengguna dapat dengan mudah meningkatkan atau mengurangi kapasitas penyimpanan data tanpa perlu membeli peralatan tambahan seperti hardisk. Bahkan salah satu praktisi IT kenamaan dunia, mendiang Steve Jobs mengatakan bahwa membeli memori fisik untuk menyimpan data seperti hardisk merupakan hal yang percuma jika kita dapat menyimpan nya secara virtual/melalui internet.

  • Investasi Jangka Panjang

Penghematan biaya akan pembelian inventaris seperti infrastruktur, hardisk, dll akan berkurang dikarenakan pengguna akan dikenakan biaya kompensasi rutin per bulan sesuai dengan paket layanan yang telah disepakati dengan penyedia layanan Cloud Computing. Biaya royalti atas lisensi software juga bisa dikurangi karena semua telah dijalankan lewat komputasi berbasis Cloud.


2.     Grid Computing

Grid Computing adalah sebuah sistem komputasi terdistribusi, yang memungkinkan seluruh sumber daya (resource) dalam jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media penyimpan, membentuk sebuah sistem tunggal secara vitual. Seperti halnya pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai protokol seakan-akan dalam sebuah sistem yang berdiri sendiri, maka pengguna aplikasi Grid computing seolah-olah akan menggunakan sebuah virtual komputer dengan kapasitas pemrosesan data yang sangat besar.

Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.


Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel. Dan Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.

A.    Cara Kerja Grid Komputing

Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :


  • Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid.
  • Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber daya.
  • Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.

B.     Kelebihan dan Kekurangan Grid Computing

Penggunaan Grid Computing System untuk perusahaan-perusahaan akan banyak memberikan manfaat, baik manfaat secara langsung maupun tidak langsung. Beberapa manfaat tersebut antara lain :
  • Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan juga menjanjikan peningkatan produktivitas kerja perusahaan.
  • Grid computing bisa memberi penghematan uang, baik dari sisi investasi modal maupun operating cost–nya.
Dan beberapa hambatan yang dialami oleh masyarakat Indonesia dalam mengaplikasikan teknologi grid computing adalah sebagai berikut :
  • Manajemen institusi yang terlalu birokratis menyebabkan mereka enggan untuk merelakan fasilitas yang dimiliki untuk digunakan secara bersama agar mendapatkan manfaat yan lebih besar bagi masyarakat luas.
  • Masih sedikitnya Sumber Daya Manusia yang kompeten dalam mengelola grid computing. Contonhya kurangnya pengetahuan yang mencukupi bagi teknisi IT maupun user non teknisi mengenai manfaat dari grid computing itu sendiri.



C.     Beberapa konsep dasar dari grid computing :
  • Sumber daya dikelola dan dikendalikan secara lokal.
  • Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.
  • Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah
  • Lingkungan kolaboratif bagi e-community (komunitas elektronik, di internet)
  • Tiga hal yang di-sharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses. Kegunaan / layanan dari sistem grid sendiri adalah untuk melakukan high throughput computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer.



3.     Perbedaan Grid Computing dengan Cloud Computing

Komputasi grid dimana lebih dari satu komputer koordinat untuk memecahkan masalah bersama. Sering digunakan untuk masalah yang melibatkan banyak nomor berderak, yang dapat dengan mudah parallelisable. Cloud computing adalah di mana aplikasi tidak mengakses sumber daya memerlukan langsung, melainkan mengakses mereka melalui sesuatu seperti layanan. Jadi, bukannya berbicara dengan hard drive khusus untuk penyimpanan, dan CPU khusus untuk perhitungan, dll itu berbicara untuk beberapa layanan yang menyediakan sumber daya tersebut. Layanan ini kemudian memetakan setiap permintaan untuk sumber daya untuk sumber daya fisik, dalam rangka untuk menyediakan aplikasi. Biasanya layanan memiliki akses ke sejumlah besar sumber daya fisik, dan dinamis dapat mengalokasikan mereka seperti yang diperlukan.

Dengan cara ini, jika aplikasi membutuhkan hanya sejumlah kecil dari beberapa sumber, mengatakan perhitungan, maka layanan hanya mengalokasikan sedikit, mengatakan pada CPU fisik tunggal (yang dapat dibagi dengan beberapa aplikasi lain yang menggunakan layanan). Jika aplikasi membutuhkan sejumlah besar beberapa sumber daya, maka layanan mengalokasikan bahwa jumlah besar, mengatakan grid CPU. Aplikasi ini relatif tidak menyadari ini, dan semua penanganan yang kompleks dan koordinasi dilakukan oleh layanan, tidak aplikasi. Dengan cara ini aplikasi dapat skala dengan baik.

Misalnya sebuah situs web yang ditulis "di awan" mungkin berbagi server dengan banyak situs web lain sementara ia memiliki jumlah rendah lalu lintas, tetapi dapat pindah ke dedicated server sendiri, atau grid server, jika pernah memiliki sejumlah besar lalu lintas. Ini semua ditangani oleh layanan cloud, sehingga aplikasi tidak harus dimodifikasi secara drastis untuk mengatasi. Awan biasanya akan menggunakan grid. Sebuah grid tidak selalu awan atau bagian dari awan.



Sumber: