Translate

Monday, November 28, 2016

PENGOLAHAN PARALEL

PENGOLAHAN DATA

Suatu proses pengolahan data terdiri dari 3 tahapan dasar, yang disebut dengan siklus pengolahan data (data processing cycle), yaitu input, processing dan output.
Tiga tahap dasar dari siklus pengolahan data tersebut dapat dikembangkan lebih lanjut. Siklus pengolahan data yang dikembangkan (expanded data processirtg cycle) dapat ditambahkan tiga atau lebih tahapan lagi, yaitu origin”ation, storage dan distribution.
Siklus pengolahan data yang dikembangkan.
Origination. Tahap ini berhubungan dengan proses dari pengumpulan data yang biasanya merupakan proses pencatatan (recording) data ke dokumen dasar.
Input. Tahap ini merupakan proses memasukkan data ke dalam proses komputer lewat alat input (input device).
Processing. Tahap ini merupakan proses pengolahan dari data yang sudah dimasukkan yang dilakukan oleh alat pemroses (processing device), yang dapat berupa proses menghitung, membandingkan, mengklasifikasikan, mengurutkan, mengendalikan atau mencari di storage.
Output. Tahap ini merupakan proses menghasilkan output dari hasil pengolahan data ke alat output (output deuice), yaitu berupa informasi.
Distribution. Tahap ini merupakan proses dari distribusi output kepada pihak yang berhak dan membutuhkan informasi.
Storage. Tahap ini merupakan proses perekaman hasil pengolahan ke simpanan luar (storage). Hasil dari pengolahan yang disimpan di storage dapat dipergunakan sebagai bahan input untuk proses selanjutnya. Pada gambar, tampak adanya 2 buah anak panah yang berlawanan arah, menunjukkan hasil pengolahan dapat disimpan di storage dan dapat diambil kembali untuk proses pengolahan data selanjutnya.
PARALEL PROCESSING

Pada artikel sebelumnya saya membahas tentang "Komputasi Modern", kali ini saya akan membahas tentang "Paralel Processing", untuk lebih jelasnya,mari kita simak lebih dalam lagi..
KOMPUTASI dan PARALEL PROCESSING

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang biasa disebut middleware yang berperan mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public Center.
Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine).Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:
SIMD
SIMD
MISD
MIMD
SISD
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
SIMD
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
MISD
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
MIMD
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:
Penyelesaian Sebuah Masalah pada Komputasi Paralel
Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal.
Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.
Hubungan antara Komputasi Modern dengan Paralel Processing
Hubungan antara komputasi modern dan parallel processing sangat berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat.
Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari masalah yang ada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu komputer saja. Komputasi dengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya. Tetapi ini untuk masalah yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan satu CPU saja.
Pengertian Serta Perbedaan Bandwidth dan Throughtput

Bandwidth dan Throughput ?? mendengar kata bandwidth pasti sudah tak asing lagi bagi penggila internet, nah kalau throghtput pasti sobat jarang sekali yang dengar kan, saya aja baru kali ini dengar :D hehe. Nah pada artikel ini saya akan share informasi tentang Pengertian Serta Perbedaan Bandwidth dan Throghtput di artikel ini saya juga menjelaskan faktor - faktor yang memperngaruhi bandwidth dan throghtput.

Artikel yang saya share ini juga termasuk ke dalam salah satu modul Analisis Kebutuhan Bandwidth di Materi Komunikasi Data yang juga tergolong ke dalam kelompok C3 dalam Kurikulum 2013 pada TKJ SMK. Langsung saja sobat simak penjelasan - penjelasan berikut :
1.     Pengertian Bandwidth

Bandwidth adalah suatu ukuran dari banyaknya informasi yang dapat mengalir dari suatu tempat ke tempat lain dalam suatu waktu tertentu. Bandwidth dapat dipakai untuk mengukur baik aliran data analog maupun aliran data digital.

Satuan yang digunakan untuk Bandwdth adalah bps (bit per second). Satuan ini berarti jumlah bit yang dapat  mengalir tiap detik melalui suatu media. Seperti yang kita ketahui bit (binary digit)  hanya terdiri dari dua angka yaitu 0 dan 1.

Bandwidth seperti diungkapkan di atas adalah kemampuan maksimum dari pipa untuk mengalirkan data dalam waktu satu detik. Sedangkan kecepatan, adalah jarak yang ditempuh dari suatu satuan waktu, misalnya dalam satu detik. Misalnya server anda terhubung melalui kabel telepon anda menghubungkan terhubung dengan modem ke Internet Service Provider (ISP) dengan bandwidth 56kbps. Semakin lebar bandwidth yang ada tentu data yang dilewatkan akan semakin besar

Pada sebuah jaringan komputer Bandwidth terbagi menjadi 2 yaitu Bandwidth Digital dan Bandwidth Analog. Berikut adalah penjelasan masing - masing Bandwidth tersebut:
Bandwidth Digital adalah jumlah atau volume suatu data (dalam satuan bit per detik/bps)yang dapat dikirimkan melalui sebuah saluran komunikasi tanpa adanya distorsi.
Bandwidth Analog merupakan perbedaan antara frekuensi terendah dan frekuensi tertinggi dalam sebuah rentang frekuensi yang diukur dalam satuan Hz (hertz) yang dapat menentukan banyaknya informasi yang dapat ditransmisikan dalam suatu saat.
Konsep bandwidth ini tentu saja juga mempunyai kelemahan, bandwidth tidak dapat menghitung berdasarkan kondisi jaringan yang sebenarnya.
2.     Pengertian Throughtput

Troughput adalah bandwidth yang sebenarnya (aktual) yang diukur dengan satuan waktu tertentu dan pada kondisi jaringan tertentu yang digunakan untuk melakukan transfer file dengan ukuran tertentu. Bagaimana cara mengukur bandwidth? dan Bagaimana hubungannya dengan throughput?

Seperti telah diulas di atas, bandwidth adalah jumlah bit yang dapat dikirimkan dalam satu detik sedangkan throughput walau pun memiliki satuan dan rumus yang sama dengan bandwidth, tetapi throughput lebih pada menggambarkan bandwidth yang sebenarnya (aktual) pada suatu waktu tertentu dan pada kondisi dan jaringan internet tertentu yang digunakan untuk mendownload suatu file dengan ukuran tertentu.


Jika misalnya bandwidth anda yang anda tahu adalah 64 kbps, kemudian anda ingin mendownload file di Internet berukuran 128 kb, seharusnya file tersebut sudah sampai ke komputer anda hanya dengan waktu 2 detik (128/64), namun yang terjadi sebenarnya file tersebut tiba dalam waktu 8 detik. Jadi bandwidth yang sebenarnya atau yang disebut throughtput adalah 128kb/8 detik = 16 kbps.
      Faktor - Faktor yang Mempengaruhi Bandwidth dan Throughput :
Piranti jaringan.
Tipe data yang ditransfer.
Topologi jaringan.
Banyaknya pengguna jaringan.
Spesifikasi komputer client/user.
Spesifikasi komputer server.
Induksi listrik dan cuaca.
kinerja komputer menggunakan paralel processing


Penjelasan Kinerja Komputer Menggunakan Parallel Processing
Pengertian
Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU
untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing
membuat program berjalan 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.
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan
dengan memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan
saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data
dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin
paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan
mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu
diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai
middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam
satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel
untuk merealisasikan komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan
eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu
(prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa
komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam
waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:
algoritma
bahasa pemrograman
compiler
Sebagian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai
lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan
satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan
komputer lain pada jaringan. Namun, parallel processing ini memerlukan software
canggih yang disebut distributed processing software.
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi
beberapa program sekaligus. Parallel processing disebut juga parallel computing.

2. Arsitektur Komputer Parallel
a.Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam
Asymmetric Multiproce ssing (ASMP)
Symmetric Multiprocessing (SMP)
Non-uniform memory access (NUMA)m u l t i processi n g
a) Pengertian
Non-Uniform Memory Accessatau Non-Uniform Memory Arsitektur
(NUMA) adalah memori komputer Rancangan yang digunakan dalam
multiprocessors , dimana waktu akses memori tergantung pada lokasi
memori relatif terhadap prosesor. Under NUMA, Dalam NUMA,
prosesor dapat mengakses memori lokal sendiri lebih cepat dari memori
non-lokal, yaitu, memori lokal ke prosesor atau memori bersama antara
prosesor.
NUMA architectures logically follow in scaling from symmetric
multiprocessing (SMP) architectures. Arsitektur NUMA logis mengikuti
skala dari symmetric multiprocessing (SMP) arsitektur. pembangunan
komersial mereka datang bekerja dengan Burroughs (kemudian Unisys
), Convex Komputer (kemudian Hewlett-Packard ), Silicon Graphics ,
Sekuen Sistem Komputer , Data General dan Digital selama tahun 1990-
an. Teknik yang dikembangkan oleh perusahaan-perusahaan ini
kemudian ditampilkan dalam berbagai Unix-seperti sistem operasi , dan
agak dalam Windows NT .
b) Konsep Dasar
Modern CPU beroperasi jauh lebih cepat daripada memori utama yang
mereka terpasang. In the early days of computing and data processing
the CPU generally ran slower than its memory. Pada hari-hari awal
komputasi dan pengolahan data CPU umumnya berlari lebih lambat
dari memori. Garis kinerja menyeberang pada tahun 1960 dengan
munculnya pertama superkomputer dan kecepatan komputasi tinggi.
Sejak saat itu, CPU, semakinkelaparan untukdat a, harus kios sementara
mereka menunggu untuk mengakses memori untuk menyelesaikan.
Banyak superkomputer desain 1980-an dan 90-an terfokus pada
penyediaan akses kecepatan tinggi memori sebagai lawan dari prosesor
yang lebih cepat, yang memungkinkan mereka untuk bekerja pada set
data besar pada kecepatan sistem lain tidak bisa pendekatan.
Membatasi jumlah akses memori yang disediakan kunci untuk
mengekstrak kinerja tinggi dari komputer modern. For commodity
processors, this means installing an ever-increasing amount of high-
speed cache memory and using increasingly sophisticated algorithms to
avoid "cache misses". Untuk prosesor komoditas, ini berarti untuk
memasang meningkat jumlah yang tinggi kecepatan memori cache dan
menggunakan algoritma semakin canggih untuk menghindari "cache
misses". Namun peningkatan dramatis dalam ukuran sistem operasi
dan aplikasi yang dijalankan pada mereka telah umum kewalahan
perbaikan ini cache-pengolahan. Multi-processor systems make the
problem considerably worse. Sistem multi-prosesor membuat masalah
jauh lebih buruk. Sekarang sistem bisa kelaparan beberapa prosesor
pada saat yang sama, terutama karena hanya satu prosesor dapat
mengakses memori pada suatu waktu.
NUMA berupaya untuk mengatasi masalah ini dengan menyediakan
memori terpisah untuk masing-masing prosesor, menghindari kinerja
beberapa prosesor menyerang ketika mencoba untuk mengatasi memori
yang sama. Untuk masalah yang melibatkan data menyebar (umum
untuk server dan aplikasi serupa), NUMA dapat meningkatkan kinerja
selama memori bersama tunggal dengan faktor kira-kira jumlah
prosesor (atau bank memori yang terpisah).
Tentu saja, tidak semua data akhirnya terbatas pada satu tugas, yang
berarti bahwa lebih dari satu prosesor mungkin memerlukan data yang
sama. Untuk menangani kasus ini, sistem NUMA termasuk tambahan
perangkat keras atau perangkat lunak untuk memindahkan data antar
bank. Operasi ini memiliki efek memperlambat prosesor yang melekat
pada bank-bank, sehingga meningkatkan kecepatan keseluruhan karena
NUMA akan sangat bergantung pada sifat yang tepat dari tugas
berjalan pada sistem pada suatu waktu tertentu.
4. Clustering
a) Pengertian
Cluster, dalam ilmu komputer dan jaringan komputer adalah
sekumpulan komputer (umumnya server jaringan) independen yang
beroperasi serta bekerja secara erat dan terlihat oleh klien jaringan
seolah-olah komputer-komputer tersebut adalah satu buah unit
komputer. Proses menghubungkan beberapa komputer agar dapat
bekerja seperti itu dinamakan denganCl u steri n g. Komponen cluster
biasanya saling terhubung dengan cepat melalui sebuah interkoneksi
yang sangat cepat, atau bisa juga melalui jaringan lokal (LAN).
Karena menggunakan lebih dari satu buahserver, maka manajemen dan
perawatan sebuahclust er jauh lebih rumit dibandingkan dengan
manajemenserver mainframe tunggal yang memiliki skalabilitas tinggi
(semacam IBM AS/400), meski lebih murah.

b)Kategori kluster komputer
Kluster komputer terbagi ke dalam beberapa kategori, sebagai berikut:
Kluster untuk ketersediaan yang tinggi (High-availability clusters)
High-availability cluster, yang juga sering disebut sebagai Failover
Cluster pada umumnya diimplementasikan untuk tujuan
meningkatkan ketersediaan layanan yang disediakan oleh kluster
tersebut. Elemen kluster akan bekerja dengan memiliki node-node
redundan, yang kemudian digunakan untuk menyediakan layanan
saat salah satu elemen kluster mengalami kegagalan. Ukuran yang
paling umum dari kategori ini adalah dua node, yang merupakan
syarat minimum untuk melakukan redundansi. Implementasi
kluster jenis ini akan mencoba untuk menggunakan redundansi
komponen kluster untuk menghilangkan kegagalan di satu titik
(Single Point of Failure).
Ada beberapa implementasi komersial dari sistem kluster kategori
ini, dalam beberapa sistem operasi. Meski demikian, proyek Linux-
HA adalah salah satu paket yang paling umum digunakan untuk
sistem operasi GNU/Linux.
Dalam keluarga sistem operasi Microsoft Windows NT, sebuah
layanan yang disebut denganMi crosof tCl ust erS ervi c e (MSCS) dapat
digunakan untuk menyediakan kluster kategori ini. MSCS ini
diperbarui lagi dan telah diintegrasikan dalam Windows 2000
Advanced Server dan Windows 2000 Datacenter Server, dengan
namaMicrosoft Clustering Service. Dalam Windows Server 2003,
Microsoft Clustering Service ini ditingkatkan lagi kinerjanya.
Kluster untuk pemerataan beban komputasi (Load-balancing clusters)
Kluster kategori ini beroperasi dengan mendistribusikan beban
pekerjaan secara merata melalui beberapa node yang bekerja di
belakang (back-end node). Umumnya kluster ini akan
dikonfigurasikan sedmikian rupa dengan beberapa front-end load-
balancing redundan. Karena setiap elemen dalam sebuah kluster
load-balancing menawarkan layanan penuh, maka dapat dikatakan
bahwa komponen kluster tersebut merupakan sebuah kluster
aktif/kluster HA aktif, yang bisa menerima semua permintaan yang
diajukan oleh klien.
Kluster hanya untuk komputasi (Compute clusters)
Seringnya, penggunaan utama kluster komputer adalah untuk
tujuan komputasi, ketimbang penanganan operasi yang berorientasi
I/O seperti layanan Web atau basis data. Sebagai contoh, sebuah
kluster mungkin mendukung simulasi komputasional untuk
perubahan cuaca atau tabrakan kendaraan. Perbedaan utama untuk
kategori ini dengan kategori lainnya adalah seberapa eratkah
penggabungan antar node-nya. Sebagai contoh, sebuah tugas
komputasi mungkin membutuhkan komunikasi yang sering antar
node--ini berarti bahwa kluster tersebut menggunakan sebuah
jaringan terdedikasi yang sama, yang terletak di lokasi yang sangat
berdekatan, dan mungkin juga merupakan node-node yang bersifat
homogen. Desain kluster seperti ini, umumnya disebut juga sebagai
Beowulf Cluster. Ada juga desain yang lain, yakni saat sebuah tugas
komputasi hanya menggunakan satu atau beberapa node saja, dan
membutuhkan komunikasi antar-node yang sangat sedikit atau
tidak ada sama sekali. Desain kluster ini, sering disebut sebagai
"Grid". Beberapa compute cluster yang dihubungkan secara erat
yang didesain sedemikian rupa, umumnya disebut dengan
"Supercomputing". Beberapa perangkat lunak Middleware seperti
MPI atau Parallel Virtual Machine (PVM) mengizinkan program
compute clustering agar dapat dijalankan di dalam kluster-kluster
tersebut.
Grid computing
Grid pada umumnya adalah compute cluster, tapi difokuskan pada
throughput seperti utilitas perhitungan ketimbang menjalankan
pekerjaan-pekerjaan yang sangat erat yang biasanya dilakukan oleh
Supercomputer. Seringnya, grid memasukkan sekumpulan
komputer, yang bisa saja didistribusikan secara geografis, dan
kadang diurus oleh organisasi yang tidak saling berkaitan.
Grid computing dioptimalkan untuk beban pekerjaan yang
mencakup banyak pekerjaan independen atau paket-paket
pekerjaan, yang tidak harus berbagi data yang sama antar pekerjaan
selama proses komputasi dilakukan. Grid bertindak untuk
mengatur alokasi pekerjaan kepada komputer-komputer yang akan
melakukan tugas tersebut secara independen. Sumber daya, seperti
halnya media penyimpanan, mungkin bisa saja digunakan bersama-
sama dengan komputer lainnya, tapi hasil sementara dari sebuah
tugas tertentu tidak akan mempengaruhi pekerjaan lainnya yang
sedang berlangsung dalam komputer lainnya.
Sebagai contoh grid yang sangat luas digunakan adalah proyek
Folding@home, yang menganalisis data yang akan digunakan oleh
para peneliti untuk menemukan obat untuk beberapa penyakit
seperti Alzheimer dan juga kanker. Proyek lainnya, adalah
SETI@home, yang merupakan proyek grid terdistribusi yang paling
besar hingga saat ini. Proyek SETI@home ini menggunakan paling
tidak 3 juta komputer rumahan yang berada di dalam komputer
rumahan untuk menganalisis data dari teleskop radio
observatorium Arecibo (Arecibo Observatoryradi ot el escope), mencari
bukti-bukti keberadaan makhluk luar angkasa. Dalam dua kasus
tersebut, tidak ada komunikasi antar node atau media
penyimpanan yang digunakan bersama-sama.
c) Implementasi
Daftar semi-tahunan organisasi TOP500, yang mencantumkan 500
komputer tercepat di dunia umumnya mencakup banyak kluster.
TOP500 adalah sebuah kolaborasi antara Universitas Mannheim,
Universitas Tennessee, dan National Energy Research Scientific
Computing Center di Lawrence Berkeley National Laboratory. Hingga
18 Juni 2008, superkomputer tercepat yang tercatat di dalam TOP500
adalah sistem Roadrunner yang dimiliki oleh Department of Energy
Amerika Serikat, yang kinerjanya mencapai 1026 TeraFlops (Triliun
Floating Point Operation per Second) dalam benchmark High-
Performance LINPACK.

d) Kluster dan Grid diIndonesia
Beberapa kluster yang ada di Indonesia adalah:
LIPI Public Cluster (http://www.cluster.lipi.go.id/)
Kluster Rekayasa Komputasional ITB (http://computational.engineering.or.id)
NL Grid UGM (http://grid.te.ugm.ac.id/docs/)
Grid UI (http://grid.ui.ac.id/)
b.Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam Taksonomi Flynn dan model pemrosesan paralle

Keempat kelompok komputer tersebut adalah :

1. Komputer SISD (SingleInstruction stream-Single Data stream)
SIMD adalah singkatan dari Single Instruction,Multiple Data, merupakan
sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi
yang digunakan untuk menangani jumlah data yang sangat banyak dalam
paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau
prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala
besar, meski sekarang telah ditemukan pada komputer pribadi.
Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah
aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik
data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu
contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap
pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit
brightness dari porsi warna merah (red), hijau (green), dan biru (blue). Untuk
melakukan perubahanbri ght n ess, nilaiR,G, danB akan dibaca dari memori,
dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai
R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke
memori.
Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:
Data langsung dapat dipahami dalam bentuk blok data, dibandingkan
dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan
menggunakan blok data, prosesor dapat memuat data secara keseluruhan
pada waktu yang sama. Daripada melakukan beberapa instruksi "ambil
pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan
melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel itu!"
(istilah "semua" adalah nilai yang berbeda dari satu desain ke desain
lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat
instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika
dibandingkan dengan desain prosesor tradisional yang tidak memiliki
SIMD (yang memberikan satu instruksi untuk satu data saja).
Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat
diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain,
sistem SIMD dapat bekerja dengan memuat beberapa titik data secara
sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.
Sayangnya, beberapa desainer SIMD terbentur dengan beberapa
pertimbangan desain yang berada di luar kontrol mereka. Salah satu
pertimbangan tersebut adalah harus menambahkan banyak register untuk
menampung data yang akan diproses. Idealnya, hal ini dapat dilakukan
dengan menambahkan unit SIMD ke dalam prosesor agar memiliki
registernya sendiri, tetapi beberapa desainer terpaksa menggunakan
register yang telah ada, umumnya yang digunakan adalah register floating-
point. Register floating-point umumnya memiliki ukuran 64-bit, yang lebih
kecil daripada yang dibutuhkan oleh SIMD agar bekerja secara optimal,
meskipun hal ini dapat mendatangkan masalah jika kode hendak mencoba
untuk menggunakan instruksi floating-point dan SIMD secara bersamaan.

Pada pendesainan awal SIMD, terdapat beberapa prosesor yang khusus
disiapkan untuk melakukan tugas ini, yang seringnya disebut sebagai
Digital Signal Processor (DSP). Perbedaan utama antara SIMD dan DSP
adalah DSP merupakan prosesor yang komplit dengan set instruksinya
sendiri (yang meskipun lebih sulit digunakan), sementara SIMD hanya
bergantung pada register general-purpose untuk menangani detail
program, dan instruksi SIMD hanya menangani manipulasi data

Penggunaan instruksi SIMD pertama kali dilakukan dalam superkomputer
vektor dan dipopulerkan oleh Cray pada tahun 1970-an. Akhir-akhir ini,
SIMD skala kecil (64-bit atau 128-bit) telah menjadi populer dalam CPU
yang bersifat general purpose, yang dimulai pada tahun 1994 dengan set
instruks MAX yang diaplikasikan pada Hewlett-Packard PA-RISC. Instruksi
SIMD, saat ini dapat ditemukan dalam kebanyakan prosesor, seperti halnya
AltiVec dalam prosesor PowerPC; Intel MMX, SSE, SSE2, SSE3, SSE4, AMD
3DNow! dalam prosesor Intel x86; VIS dalam prosesor prosesor SPARC;
MAX dalam Hewlett-Packard PA-RISC; MDMX serta MIPS-3D dalam MIPS
serta MVI dalam prosesor DEC Alpha. Meskipun demikian, perangkat
lunak pada umumnya tidak mengeksploitasi instruksi, dan bahkan instruksi
ini hanya digunakan dalam aplikasi yang khusus, seperti pengolahan
grafik.

Meskipun hal ini secara umum telah membuktikan bahwa sulitnya mencari
aplikasi komersial yang dikhususkan untuk prosesor SIMD, ada beberapa
kesuksesan yang terjadi seperti halnya aplikasi GAPP yang dikembangkan
oleh Lockheed Martin. Versi yang lebih baru dari GAPP bahkan menjadi
aplikasi yang dapat memproses video secara waktu-nyata (real-time) seperti
halnya konversi antar bermacam-macam standar video yang (seperti
konversi NTSC ke PAL atau sebaliknya, NTSC ke HDTV atau sebaliknya
dan lain-lain), melakukan deinterlacing, pengurangan noise (noise reduction),
kompresi video, dan perbaikan citra gambar (image enhancement).

2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang
dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen
pemrosesan menerima dan menjalankan instruksi yang sama yang
dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan
data yang berbeda yang berasal dari aliran data yang berbeda pula.

3. Komputer MISD (MultipleInstruction stream-Single Data stream)
Komputer jenis ini memilikin unit pemroses yang masing-masing
menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data
yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali
yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi
pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini
kecuali dalam bentuk prototipe untuk penelitian.

4. Komputer MIMD (MultipleInstruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antaran
pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal
darispace data yang sama bagi semua pemroses. Komputer MIMD bersifat
tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut
loosely coupled jika tingkat interaksi antara pemroses rendah.
c. Berdasarkan kedekatan antar prosesor, dapat dibagi ke dalam
Loosely coupled
Thightly coupled


sumber: http://susantistmik.blogspot.co.id/2014/12/tugas-pengolahan-paralel.html

No comments:

Post a Comment