Kamis, 24 Februari 2011

Komputasi Terdistribusi

Komputasi terdistribusi atau tersebar berhadapan dengan sistem hardware dan software yang mengandung lebih dari satu elemen pemroses atau storage, proses-proses yang konkuren, atau banyak program yang berjalan dalam suatu domain yang dikendalikan secara longgar atau ketat.
Dalam komputasi terdistribusi, suatu program dipecah ke dalam bagian-bagian yang berjalan secara simultan (bersamaan) pada banyak komputer yang berkomunikasi di atas suatu jaringan. Komputasi terdistribusi merupakan suatu bentuk dari komputasi paralel, tetapi komputasi paralel sangat umum digunakan untuk menggambarkan bagian-bagian program yang berjalan secara simultan pada banyak prosesor dalam komputer yang sama. Kedua tipe pemrosesan iniy memerlukan pembagian suatu program ke dalam bagian-bagian yang berjalan secara bersamaan, tetapi program-program terdistribusi sering harus berhadapan dengan lingkungan yang heterogen, link jaringan dengan latency bervariasi, dan kegagalan yang tidak dapat diprediksi, baik di dalam jaringan maupun komputer.

Pengaturan interaksi antar komputer yang mengeksekusi komputasi terdistribusi merupakan pekerjaan utama. Agar mampu memanfaatkan berbagai jenis komputer, maka protokol atau saluran komunikasi sebaiknya tidak mengandung atau menggunakan suatu informasi yang tidak dapat dipahami oleh mesin tertentu. Sistem harus dapat memastikan messages benar-benar tersampaikan dengan benar, juga saat messages invalid maka sistem harus melakukan langkah-langkah antisipasi. Jika ini tidak ditangani kemungkinan akan menyebabkan sistem down dan berbagai aktifitas berikutnya di dalam jaringan akan ditolak (reject). Faktor penting lain adalah kemampuan untuk men-deploy software ke komputer lain secara portable sehingga memungkinkan eksekusi dan interaksi dengan jaringan yang telah ada. Ini mungkin tidak akan praktis ketika mengunakan hardware dan sumber daya berbeda, dimana kita harus memikirkan cara lain seperti cross-compiling atau melakukan porting software tersebut secara manual.

Tujuan dan Keuntungan

Terdapat berbagai tipe sistem komputer terdistribusi dan banyak tantangan selama perancangan dan implementasinya. Tujuan utama dari sistem komputasi terdistribusi adalah untuk menghubungkan para pengguna dan sumber daya dalam cara yang transparent, open dan scalable. Idealnya, ini akan membuat sistem lebih fault-tolerant daripada sistem komputer stand-alone.

Openness merupakan properti dari sistem terdistribusi dimana setiap sub-sistem secara kontinu terbuka untuk berinteraksi dengan sistem lain. Protokol web services adalah standard yang memungkinkan sistem terdistribusi di-extend dan di-scale. Secara umum, suatu sistem terbuka yang bersifat scalable memberikan keuntungan lebih dibandingkan sistem yang tertutup dan self-contained (menyatu).

Konsekuensinya, sistem terdistribusi terbuka memberikan beberapa tantangan berikut:
  • Monotonicity. Begitu sesuatu dipublikasikan di dalam sistem terbuka (open system) maka tidak dapat diambil kembali.
  • Pluralism. Sub-sistem-subsistem berbeda dalam sistem open distributed dapat mempunyai informasi yang heterogen, mungkin pula overlap dan menyebabkan konflik. Tidak ada pengatur kebenaran sentral dalam sistem open distributed.
  • Unbounded nondeterminism. Secara asinkron, subsistem-subsistem dapat naik dan turun, dan link komunikasi dapat masuk dan keluar antar sub-sistem dalam sistem open distributed. Karena itu, waktu yang diperlukan untuk menyelesakan suatu operasi tidak dapat dibatasi dan dipastikan.
Kelemahan dan Kerugian

Jika tidak direncanakan dengan tepat, suatu distributed system dapat menurunkan reliabilitas total dari komputasi jika ketidak-tersediaan dari suatu node dapat menyebabkan gangguan bagi node-node lain. Troubleshooting dan diagnosing terhadap masalah dalam distributed system dapat menjadi lebih sulit, karena perlu analisis yang berkaitan dengan node jauh atau menginspeksi komunikasi antar node di dalam sistem.

Banyak tipe komputasi tidak cocok bagi lingkungan terdistribusi, biasanya yang berhubungan dengan jumlah komunikasi jaringan atau sinkronisasi yang dibutuhkan antar node. Jika bandwidth, latency, atau persyaratan komunikasi begitu signifikan, maka tidak ada keuntungan dari distributed computing dan kinerja dapat lebih burukk daripada lingkungan non-distributed.

Arsitektur

Berbagai arsitektur hardware dan software digunakan bagi komputasi terdistribusi. Pada level lebih rendah, perlu untuk menghubungkan banyak CPU melalui jaringan, tanpa melihat apakah jaringan itu dicetak pada suatu circuit board atau dibuat berbentuk perangkat loosely-coupled dan kabel. Pada tingkat yang lebih tinggi, perlu interkoneksi antar proses yang berjalan pada CPU-CPU tersebut dengan suatu sistem komunikasi.

Pemrograman terdistribusi secara umum termasuk ke dalam salah satu dari arsitektur atau ketegori dasar sistem Client-server, arsitektur 3-tier, arsitektur N-tier, obyek terdistribusi, loose coupling, atau tight coupling.

Penjelasan singkatnya adalah:
  • Client-server — Kode client cerdas menghubungi server untuk mendapatkan data, kemudian menformat dan menampilkannya kepada pengguna. Input pada client di-committed back ke server ketika menunjukkan suatu perubahan permanen.
  • 3-tier architecture — Sistem three-tier memindahkan kepintaran client ke suatu middle tier sehingga dapat digunakan stateless client. Ini menyederhanakan deployment dari aplikasi. Sebagian besar aplikasi web bersifat 3-Tier.
  • N-tier architecture — N-Tier umumnya merujuk ke aplikasi web yang selanjutnya meneruskan request-requestnya ke layanan enterprise lain. Tipe aplikasi ini paling bertanggungjawab bagi kesuksesan application server.
  • Tightly coupled (clustered) — Umumnya mengacu ke suatu cluster mesin yang bekerja bersama secara erat (closely), menjalankan suatu shared process secara paralel. Task dibagi ke dalam beberapa bagian terpisah dan kemudian secara bersama-sama menggabungkan hasil proses untuk memperoleh hasil akhir tunggal.
  • Peer-to-peer — Suatu arsitektur dimana tidak terdapat mesin khusus atau mesin-mesin yang menyediakan layanan atau mengelola sumber daya jaringan tersebut. Sebagai gantinya, semua tanggungjawab secara seragam dibagi antar semua mesin, dikenal sebagai peer. Peer dapat bekerja sebagai server maupun client.
  • Space based — Mengacu ke suatu infrastruktur yang membuat ilusi atau virtualisasi dari satu ruang-alamat (address-space) tunggal. Data secara transparan direplikasi sesuai dengan kebutuhan aplikasi.
Aspek dasar yang lain dari arsitektur komputasi terdistribusi adalah metode untuk mengkomunikasikan dan mengkoordinasi kerja antar proses-proses konkuren. Melalui berbagai protokol message passing, proses dapat berkomunikasi secara langsung dengan yang lain, umumnya dalam suatu hubungan master/slave. Sebagai alternatif, suatu arsitektur “database-centric” memungkinkan (enable) komputasi terdistribusi dikerjakan tanpa suatu bentuk komunikasi inter-process langsung, menggunakan suatu database bersama (shared database).

Konkurensi

Komputasi terdistribusi mengimplementasikan suatu jenis konkurensi. Ini berhubungan erat dengan pemrograman konkuren, sehingga kadang tidak dibicarakan sebagai topik terpisah.
  • Sistem Multiprocessor Sistem multiprocessor adalah suatu komputer yang mempunyai lebih dari satu CPU pada motherboardnya. Jika sistem operasi dibangun untuk memanfaatkan kelebihan ini, maka SO tersebut dapat menjalankan proses-proses berbeda (atau thread-thread berbeda yang dimiliki oleh proses yang sama) pada CPU-CPU berbeda.
  • Sistem Multicore CPU-CPU Intel dari era Pentium 4 terbaru (Northwood dan Prescott) menerapkan suatu teknologi bernama Hyper-threading yang memungkinkan lebih dari satu thread (biasanya dua) untuk berjalan pada CPU yang sama. Produk processor yang lebih baru seperti Sun UltraSPARC T1, AMD Athlon 64 X2, AMD Athlon FX, AMD Opteron, Intel Pentium D, Intel Core, Intel Core 2 dan Intel Xeon menyertakan banyak core processor juga untuk meningkatkan jumlah thread yang dapat dieksekusi.
  • Sistem Multicomputer Multicomputer dapat dianggap berupa suatu komputer NUMA loosely atau cluster yang tightly coupled. Multicomputer biasanya digunakan ketika diperlukan power komputasi tinggi tetapi lingkungan mempunyai ruang fisik atau tenaga listrik terbatas.
Topik Terkait

  • Taksonomi Komputasi Tipe-tipe dari sistem terdistribusi didasarkan pada sistem taksonomi Flynn; single instruction, single data (SISD), single instruction, multiple data (SIMD), multiple instruction, single data (MISD), dan multiple instruction, multiple data (MIMD).
  • Cluster Komputer Suatu cluster terdiri dari banyak mesin stand-alone yang bertindak secara paralel melintasi suatu jaringan lokal berkecepatan tinggi. Komputasi terdistribusi berbeda dengan komputasi cluster dalam hal komputer-komputer dalam suatu lingkungan komputasi terdistribusi umumnya tidak secara eksklusif menjalankan tugas-tugas “group”, sedangkan komputer-komputer tercluster biasaya lebih tightly coupled. Komputasi terdistribusi juga sering terdiri dari mesin-mesin yang tersebar luas secara geografis.
  • Komputasi Grid Suatu grid menggunakan sumber daya dari banyak komputer terpisah, dengan bebas dihubungkan oleh suatu jaringan (bisanya Internet), untuk menyelesaikan masalah-masalah komputasi skala besar. Grid-grid publik dapat menggunakan idle time dari ribuan komputer di dunia. Aransemen demikian memungkinkan penanganan data sangat besar, proses yang sebenarnya memerlukan power super komputer mahal atau memang tidak mungkin diselesaikan. Bahasa Pemrograman
Hampir semua bahasa pemrograman yang mempunyai akses ke hardware dapat menangani pemrograman terdistribusi. Remote procedure call (RPC) mendistribusikan perintah-perintah SO melalui koneksi jaringan. Sistem seperti CORBA, Microsoft DCOM, Java RMI dan lain-lan, mencoba memetakan rancangan berorientasi obyek ke jaringan. Sistem loosely coupled berkomunikasi melalui dokumen-dokumen antara yang umumnya human readable (seperti. XML, HTML, SGML, X.500, dan EDI).

Contoh

Berbagai proyek komputasi terdistribusi telah tumbuh pada dalam tahun-tahun terakhir. Banyak yang basis volunteer, dan melibatkan pengguna-pengguna yang mendonasikan power komputasi yang tidak digunakan untuk bekerja pada masalah komputasi yang menarik. Contoh proyek demikian termasuk proyek Folding@home di Jurusan Kimia universitas Stanford, yang difokuskan pada simulasi protein folding untuk menemukan obat penyakit dan memahami sistem biophysical; World Community Grid, suatu usaha untuk membuat grid komputasi terbesar di dunia untuk menangani proyek penelitian ilmiah yang bermanfaat bagi kemanusiaan, berjalan dan didanai oleh IBM; SETI@home, difokuskan pada analisis data radio-telescope untuk mendapatkan bukti sinyal cerdas dari angkasa, dikelola oleh Space Sciences Laboratory di University of California, Berkeley; LHC@home, digunakan untuk membantu merancang dan men-tune Large Hadron Collider, dikelola oleh CERN di Geneva; dan distributed.net yang bertitik-berat pada pemecahan berbagai cryptographic cipher.
Suatu proyek komputasi terdistribusi juga sering melibatkan kompetisi dengan sistem terdistribusi lain. Kompetisi ini dapat bertujuan prestige, atau bermaksud membujuk pengguna untuk mendonasikan power pemrosesan ke proyek tertentu. Sebagai contoh, stat races adalah ukuran kerja suatu proyek komputasi terdistribusi, berapa kemampuan komputasi selama sehari atau seminggu. Ini telah menjadi begitu penting dalam praktek, hampir semua proyek komputasi terdistribusi menawarkan analisis statistik online dari kinerja mereka, diupdate setidaknya harian jika tidak real-time.


Sumber :
  1. Sumber I
  2. Sumber II
  3. Sumber III
  4. Sumber IV


Komputasi Moderen





komputasi itu sendiri bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma.Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu. Komputasi merupakan suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel.

yang menjadi perhitungan dari komputasi modern adalah :
  • akurasi : yang berhubungan dengan bit dan floating point
  • kecepatan : dalam satuan hertz (processor tunggal, pipeline, parallel processing).
Saat ini penggunaan komputer untuk menyelesaikan masalah sudah merasuk ke segala bidang. Hal ini karena komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Seiring dengan hal tersebut, semakin dituntut proses komputasi yang semakin cepat. Untuk meningkatkan kecepatan proses komputasi, dapat ditempuh dua cara : peningkatan kecepatan perangkat keras dan peningkatan kecepatan perangkat lunak.

Komponen utama perangkat keras komputer adalah processor. Saat ini, peningkatan kecepatan processor benar-benar luar biasa. Processor Pentium 4 yang dikeluarkan Intel kecepatannya sudah mencapai 1.8 GHz. Meskipun kecepatan processor dapat ditingkatkan terus, namun karena keterbatasan materi.
  • problem volume besar : down sizing, parallel
  • modelling : NN, GA. Sebuah model komputasi adalah model matematika dalam ilmu komputer luas yang memerlukan sumber daya komputasi untuk mempelajari perilaku sebuah sistem yang kompleks dengan simulasi komputer. Sistem yang diteliti seringkali merupakan kompleks sistem nonlinier yang sederhana, intuitif solusi analitis tidak tersedia. Alih-alih menurunkan analisis matematis solusi untuk masalah ini, eksperimen dengan model ini dilakukan dengan mengubah parameter sistem dalam komputer, dan mempelajari perbedaan hasil eksperimen. Teori pengoperasian model dapat diturunkan / dideduksi dari percobaan komputasi ini.
Contoh model komputasi umum prakiraan cuaca model, bumi simulator model, flight simulator model, molekul protein lipat model, dan jaringan saraf model.

Berbagai Macam Model Komputasi :

  • mesin Mealy : otomasi fasa berhingga (finite state automaton atau finite state tranducer) yang menghasilkan keluaran berdasarkan fasa saat itu dan bagian masukan/input. Dalam hal ini, diagram fasa (state diagram) dari mesin Mealy memiliki sinyal masukan dan sinyal keluaran untuk tiap transisi. Prinsip ini berbeda dengan mesin Moore yang hanya menghasilkan keluaran/output pada tiap fasa. Nama Mealy diambil dari "G. H. Mealy" seorang perintis mesin-fasa (state-machine) yang menulis karangan "A Method for Synthesizing Sequential Circuits" pada tahun 1955.

  • mesin Moore : otomasi fasa berhingga (finite state automaton) di mana keluarannya ditentukan hanya oleh fasa saat itu (dan tidak terpengaruh oleh bagian masukan/input). Diagram fasa (state diagram) dari mesin Moore memiliki sinyal keluaran untuk masing-masing fasa. Hal ini berbeda dengan mesin Mealy yang mempunyai keluaran untuk tiap transisi. Nama Moore diambil dari "Edward F. Moore" seorang ilmuwan komputer dan pe rintis mesin-fasa (state-machine) yang menulis karangan "Gedanken-experiments on Sequential Machines".



  • Petri net : salah satu model untuk merepresentasikan sistem terdistribusi diskret. Sebagai sebuah model, Petri net merupakan grafik 2 arah yang terdiri dari place, transition, dan tanda panah yang menghubungkan keduanya. Di samping itu, untuk merepresentasikan keadaan sistem, token diletakkan pada place tertentu. Ketika sebuah transition terpantik, token akan bertransisi sesuai tanda panah. Petri net pertama kali diajukkan oleh Carl Adam Petri pada tahun 1962.



  • kompleksitas : menggunakan teori big O. Kompleksitas komputasi adalah cabang dari teori komputasi dalam ilmu komputer yang berfokus pada mengklasifikasikan masalah komputasi sesuai dengan kesulitan inheren mereka. Dalam konteks ini, sebuah masalah komputasi dipahami sebagai tugas yang pada prinsipnya setuju untuk menjadi dipecahkan oleh komputer. Informal, sebuah masalah komputasi terdiri dari contoh-contoh masalah dan solusi untuk masalah ini contoh. Sebagai contoh, primality pengujian adalah masalah menentukan apakah nomor yang diberikan perdana atau tidak. Contoh-contoh masalah ini adalah bilangan asli, dan solusi untuk sebuah contoh adalah ya atau tidak didasarkan pada apakah nomor perdana atau tidak. Masalah ini dianggap sebagai secara inheren sulit jika memecahkan masalah yang memerlukan sejumlah besar sumber daya, tergantung pada algoritma yang digunakan untuk memecahkan itu. Teori ini formalizes intuisi, dengan memperkenalkan matematika model komputasi untuk mempelajari masalah ini dan kuantitatif jumlah sumber daya yang dibutuhkan untuk memecahkan mereka, seperti waktu dan penyimpanan. Ukuran kompleksitas lain juga digunakan, seperti jumlah komunikasi (digunakan dalam kompleksitas komunikasi), jumlah gerbang dalam rangkaian (digunakan dalam rangkaian kompleksitas) dan jumlah prosesor (digunakan dalam komputasi paralel). Secara khusus, teori kompleksitas komputasi menentukan batas-batas praktis tentang apa yang komputer bisa dan tidak bisa lakukan.
Bidang-bidang terkait erat dalam ilmu komputer teoritis analisis algoritma dan teori computability. Perbedaan utama antara teori kompleksitas komputasi dan analisis algoritma adalah bahwa yang terakhir ditujukan untuk menganalisis jumlah sumber daya yang dibutuhkan oleh algoritma tertentu untuk memecahkan masalah, sedangkan yang pertama mengajukan pertanyaan yang lebih umum tentang semua kemungkinan algoritma yang dapat digunakan untuk memecahkan masalah yang sama. Lebih tepatnya, hal ini mencoba untuk mengklasifikasikan masalah yang dapat atau tidak dapat diselesaikan dengan tepat sumber daya terbatas. Pada gilirannya, memaksakan pembatasan pada sumber daya yang tersedia adalah apa yang membedakan kompleksitas komputasi dari computability teori: teori yang terakhir bertanya apa jenis masalah dapat diselesaikan pada prinsipnya algorithmically.

Contoh Masalah :
Sebuah masalah komputasi dapat dilihat sebagai sebuah koleksi yang tak terbatas kasus bersama-sama dengan solusi untuk setiap contoh. Input string untuk sebuah masalah komputasi disebut sebagai contoh masalah, dan tidak boleh bingung dengan masalah itu sendiri. Dalam teori kompleksitas komputasi, masalah mengacu pada pertanyaan abstrak yang harus dipecahkan. Sebaliknya, sebuah contoh dari masalah ini adalah ucapan yang agak konkret, yang dapat digunakan sebagai masukan untuk masalah keputusan. Sebagai contoh, perhatikan masalah primality pengujian. contoh adalah nomor dan solusinya adalah "ya" jika nomor perdana dan "tidak" sebaliknya. Bergantian, yang contoh adalah input tertentu untuk masalah, dan solusinya adalah output sesuai dengan input yang diberikan.

Untuk lebih menyoroti perbedaan antara masalah dan sebuah contoh, pertimbangkan contoh berikut versi keputusan dari pedagang keliling masalah: Apakah ada rute dengan panjang maksimal 2000 kilometer melewati semua di Jerman 15 kota terbesar? Jawaban untuk masalah khusus ini misalnya tidak banyak digunakan untuk menyelesaikan contoh-contoh lain dari masalah, seperti meminta untuk pulang-pergi melalui semua pemandangan di Milan yang jumlah paling banyak panjangnya 10km.
jadi, komputasi modern adalah suatu pemecahan masalah berdasarkan suatu inputan dengan menggunakan algoritma dimana penerapannya menggunakan berbagai teknologi yang telah berkembang seperti komputer.


Sejarah Komputasi Modern

Kata “komputer” pertama kali di perdengarkan kepada public pada tahun 1613, hal ini mengacu pada perhitungan aritmatika dan kata “komputer” digunakan dalam pengertian itu sampai pertengahan abad ke-20. Dari akhir abad ke-19 dan seterusnya.Berkembanganya komputer akhirnya makna komputer menjadi sebuah mesin yang melakukan komputasi.

Sejarah komputer modern dimulai dengan dua teknologi yang terpisah yaitu perhitungan otomatis dengan terdapatnya program/algorima tapi tidak ada satu perangkat pun yang dapat menyatukan kedua metode tersebut. Contoh-contoh awal perangkat penghitung mekanis termasuk sempoa (yang berasal dari sekitar 150-100 SM). Seorang pahlawan dari Alexandria (sekitar 10-70 AD) membangun sebuah teater mekanis yang diadakan bermain berlangsung 10 menit dan dioperasikan oleh sebuah sistem yang kompleks dengan tali dan drum yang dipakai sebagai sarana untuk memutuskan bagian dari mekanisme. Ini adalah inti dari programmability.

Seperti dibahas pada pengertian diatas, beberapa ribu tahun yang lalu penyelesaian masalah perhitungan dan komputasi dilakukan secara manual yaitu menggunakan pena dan kertas, kapur dan batu tulis. intinya dengan menggunakan kemampuan kita sendiri sebagai penghitungnya. dan tidak dipungkiri akan adanya kesalahan perhitungan. tetapi dengan pemikiran seorang ilmuwan yang benama John Von Neumann, yang menggagaskan konsep sebuah sistem yang menerima instruksi-instruksi dan menyimpannya dalam sebuah memory. konsep inilah yang menjadi dasar arsitektur komputer modern.

Berikut ini beberapa contoh komputasi modern sampai dengan lahirnya ENIAC :
Konrad Zuse’s electromechanical “Z mesin”.Z3 (1941) sebuah mesin pertama menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu di anggap sebagai Turing lengkap.
Berikutnya Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif memori kapasitor.Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh lebih seragam (berukuran meja besar atau meja kerja).
Selanjutnya komputer Colossus ditemukan pada tahun 1943, berkemampuan untuk membatasi kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan tabung dapat digunakan lebih baik dan elektronik reprogrammable.Komputer ini digunakan untuk memecahkan kode perang Jerman.
The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas.
Lalu lahirlah US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946, komputer ini digunakan unutk menghitung desimal aritmatika dan biasanya disebut sebagai tujuan umum pertama komputer elektronik (ENIAC merupaka generasi yang sudah sangat berkembang di zamannya sejak komputer pertama Konrad Zuse ’s Z3 yang ditemukan padatahun 1941).


John Von Neuman


John Von Neumann meningkatkan karya-karyanya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Angeles pada perang dunia II lalu. Kepiawaian John Von Neumann teletak pada bidang teori game yang melahirkan konsep automata, teknologi bom atom dan komputasi modern yang kemudian melahirkan komputer.
Von Neumann dilahirkan di Budapest, Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Dia adalah anak pertama dari pasangan Neumann Miksa dan Kann Margit. Di sana, nama keluarga diletakkan di depan nama asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann. Pada saat Max Neumann memperoleh gelar, maka namanya berubah menjadi Von Neumann. Setelah bergelar doktor dalam ilmu hukum, dia menjadi pengacara untuk sebuah bank. Pada tahun 1903, Budapest terkenal sebagai tempat lahirnya para manusia genius dari bidang sains, penulis, seniman dan musisi.

Von Neumann juga belajar di Berlin dan Zurich dan mendapatkan diploma pada bidang teknik kimia pada tahun 1926. Pada tahun yang sama dia mendapatkan gelar doktor pada bidang matematika dari Universitas Budapest. Keahlian Von Neumann terletak pada bidang teori game yang melahirkan konsep seluler automata, teknologi bom atom, dan komputasi modern yang kemudian melahirkan komputer. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Setelah mengajar di Berlin dan Hamburg, Von Neumann pindah ke Amerika pada tahun 1930 dan bekerja di Universitas Princeton serta menjadi salah satu pendiri Institute for Advanced Studies.

Dipicu ketertarikannya pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. Sebagai konsultan pada pengembangan ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.

Karakteristik Komputasi Modern

Karakteristik komputasi modern ada 3 macam, yaitu :
  1. Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
  2. Komputer-komputer terhubung ke jarinagn yang luas dengan kapasitas bandwidth yang beragam.
  3. Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

Jenis-Jenis Komputasi Modern
Jenis-jenis komputasi modern ada 3 macam, yaitu :
  1. Mobile Computing atau Komputasi Bergerak
  2. Mobile computing (komputasi bergerak) merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel serta mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat. Contoh dari mobile computing adalah GPS, smart phone, dan sebagainya.
  3. Grid Computing, Komputasi grid memanfaatkan kekuatan pengolahan idle berbagai unit komputer, dan menggunakan kekuatan proses untuk menghitung satu pekerjaan. Pekerjaan itu sendiri dikontrol oleh satu komputer utama, dan dipecah menjadi beberapa tugas yang dapat dilaksanakan secara bersamaan pada komputer yang berbeda. Tugas-tugas ini tidak perlu saling eksklusif, meskipun itu adalah skenario yang ideal. Sebagai tugas lengkap pada berbagai unit komputasi, hasil dikirim kembali ke unit pengendali, yang kemudian collates itu membentuk keluaran kohesif.
Keuntungan dari komputasi grid adalah dua kali lipat: pertama, kekuatan pemrosesan yang tidak digunakan secara efektif digunakan, memaksimalkan sumber daya yang tersedia dan, kedua, waktu yang dibutuhkan untuk menyelesaikan pekerjaan besar berkurang secara signifikan.

Idealnya kode sumber harus direstrukturisasi untuk membuat tugas-tugas yang saling eksklusif adalah sebagai mungkin. Itu tidak berarti bahwa mereka tidak bisa saling bergantung, tetapi pesan yang dikirim antara tugas-tugas meningkatkan faktor waktu. Satu pertimbangan penting saat membuat pekerjaan komputasi grid adalah bahwa apakah kode dijalankan serial atau paralel tugas, hasil dari keduanya harus selalu sama di setiap situasi.
Cloud Computing atau Komputasi Awan

Cloud computing

perluasan dari konsep pemrograman berorientasi objek abstraksi. Abstraksi, sebagaimana dijelaskan sebelumnya, menghapus rincian kerja yang kompleks dari visibilitas. Semua yang terlihat adalah sebuah antarmuka, yang menerima masukan dan memberikan output. Bagaimana output ini dihitung benar-benar tersembunyi.
Sebagai contoh, seorang sopir mobil tahu bahwa roda kemudi dengan memutar arah mobil yang mereka ingin pergi; atau yang menekan pedal gas akan menyebabkan mobil untuk mempercepat. Sopir biasanya tidak peduli tentang bagaimana arah dari roda kemudi dan pedal gas tersebut diterjemahkan ke dalam gerakan yang sebenarnya dari mobil. Oleh karena itu, rincian ini diabstraksikan dari sopir.

Cloud serupa, melainkan menerapkan konsep abstraksi dalam lingkungan komputasi fisik, dengan menyembunyikan proses yang benar dari pengguna. Dalam lingkungan komputasi awan, data bisa berada pada beberapa server, rincian koneksi jaringan yang tersembunyi dan pengguna tidak ada yang tahu. Bahkan, komputer awan awan dinamakan demikian karena sering digunakan untuk menggambarkan pengetahuan eksak tentang pekerjaan batin. Cloud komputasi berat berasal dari paradigma Unix memiliki beberapa elemen, masing-masing yang sangat baik pada satu tugas tertentu, daripada memiliki satu elemen besar yang tidak baik.

Sumber :
  1. Sumber I
  2. Sumber II
  3. Sumber III
  4. Sumber IV
  5. Sumber V
  6. Sumber VI



Silahkan mengambil, menyadur, memperbaiki baik sebagian atau keseluruhan tanpa ijin terlebih dahulu. Tidak diharuskan mencantumkan sumber, kecuali untuk tulisan yang sudah mencantumkan sumber lain.