@AstikaAyuningtyas. Diberdayakan oleh Blogger.
RSS

Arsitektur Memori Komputer Paralel

Pada komputer paralel, arsitektur memori diklasifikasikan menjadi tiga kategori antara lain:
1. Shared Memory
Pada arsitektur jenis ini, prosesor dapat mengakses semua memori sebagai space alamat global. Shared momory dibagi menjadi dua kelas yaitu UMA (Uniform Memory Access) dan NUMA (Non-Uniform Memory Access).
2. Distributed Memory
Arsitektur jenis ini prosesornya mempunyai memori lokal sendiri, sehingga inter-prosesor memori membutuhkan networking.
3. Hybrid distributed-shared memory
Arsitektur ini menggabungkan tipe shared dan distributed.

UMA sendiri merupakan kelas dari shared memory dengan karakteristik semua prosesor dapat mengakses semua memori sebagai ruang alamat global. Multiprosesor pada jenis ini dapat beroperasi secara independen namun dapat saling berbagi memori. Karena hal tersebut membawa dampak perubahan di lokasi memori oleh satu prosesor dapat dilihat oleh prosesor yang lainnya (yang terhubung ke memori yang sama). Prosesor pada model UMA ini, mempunyai akses dan waktu akses yang sama ke mori di setiap prosesornya. Cache coheren menjadi problem utama pada model ini dikarenakan jika suatu prosesor update suatu lokasi di memori, semua prosesor mengetahui update tersebut, sehingga koherensi dilakukan di level hardware (lihat Gambar 1).
Hasil gambar untuk arsitektur UMA
Gambar 1. Arsitektur UMA

NUMA memiliki karakteristik prosesor memiliki bank alamat memori sendiri, sehingga prosesor dapat mengakses memori lokal dengan cepat, sedangkan untuk memori remote lebih lambat. Pengaksesan pada data lokal dapat meningkatkan throughput memori pada jenis arsitektur ini. Sseringkali model ini digunakan untuk menghubungkan secara fisik dua atau lebih SMP, satu SMP dapat mengakses memori secara langsung ke SMP yang lainnya. Berbeda dengan tipe UMA, pada NUMA tidak semua prosesor mempunyai waktu akses yang sama ke memori. NUMA memiliki kelemahan yaitu akses memori lewat bus interconnect lebih lambat karena berada diluar jalur lokalnya (lihat Gambar 2).
Hasil gambar untuk arsitektur NUMA 
Gambar 2. Arsitektur NUMA

Bila disimpulkan secara keseluruhan dua tipe pada jenis Shared Memory bahwa space alamat memori global menyediakan perspektif pemrograman user-friendly ke memori, selain itu sharing data antar task cepat dan uniform karena dekatnya memori ke CPU. Namun apabila dilihat dari kelemahan pada bangunan arsitektur ini adalah tidak scalable artinya menambah CPU dapat meningkatkan trafik di jalur shared memory--CPU. Kelemahan yang lainnya adalah programmer bertanggungjawab untuk sinkronisasi yang memastikan akses yang tepat ke memori global. Tentunya hal ini akan berdampak semakin kompleks dan mahal seiring semakin bertambahnya jumlah prosesor.

Pada Jenis yang kedua pada komputer paralel adalah distributed memory dimana tiap prosesor mempunyai memori lokal sendiri, sehingga prosesor dapat beroperasi secara independen. Perubahan yang terjadi pada sisi lokal memori tidak akan membawa efek ke memori lainnya. Pada arsitektur ini, jika memerlukan interprocessor, tugas programmer secara eksplisit mendefinisikan bagaimana dan kapan data akan dikomunikasikan (lihat Gambar 3).
 
Gambar 3. Distributed Memory Architecture

Kelebihan yang didapatkan dari jenis distributed ini adalah scalable jumlah prosesor dan ukuran memori dapat ditingkatkan. Tiap prosesornya dapat mengakses memorinya tanpa interferensi dan overhead, seperti dikoheren cache. Pada jenis ini menjadi cost effecitve apabila menggunakan PC komoditas, off the self processor. Tetapi kelemahan yang ditemukan pada arsitektur ini adalah tugas programmer akan semakin kompleks terkait dengan detail komunikasi datanya, selain itu mapping data struktur berbasis memori global bisa jadi susah.

Jenis yang ketiga adalah Hybrid Memory yang terdiri dari arsitektur memori shared dan distributed. Komponen memori shared biasanya mesin SMP koheren (prosesor di mesin SMP mempunyai akses global ke memori mesin tersebut), sedangkan komponen distributed adalah jaringan  SMP multiple (SMP hanya tahu memorinya saja). Komunikasi jaringan diperlukan untuk memindahkan data dari satu SMP ke lainnya.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Konsep Dasar Pemrosesan Paralel

Pemrosesan paralel menjadi salah satu solusi komputasi dalam skala besar yang menawarkan kecepatan pemrosesan. Dimana, di dalam paralel sebuah permasalahan dipecah menjadi bagian yang terkecil. untuk kemudian setiap bagiannya dieksekusi dua atau lebih prosesor/memory secara simultan. Pada prinsipnya, pemrosesan paralel menyelesaikan problem dalam skala yang besar menjadi bagian-bagian kecil. Tujuan utamanya adalah untuk mempersingkat waktu penyelesaian tugas-tugas dengan cara mengoptimalkan resorce pada sistem komputer yang ada untuk mencapai tujuan yang sama.

Sederhananya, semakin banyak yang bisa dilakukan secara bersamaan (dalam waktu yang sama) di dalam paralel, semakin banyak pekerjaan yang bisa diselesaikan. Lantas apa yang membedakan pemrosesan paralel dengan serial. Pada pemrosesan serial jelas terlihat bahwa proses dijalankan di komputer tunggal dengan satu CPU, selain itu problem dipecah dalam instruksi dengan eksekusi berurutan (hanya satu eksekusi dalam satu waktu (lihat ilustrasi pemrosesan serial pada Gambar 1).
 
Gambar 1. Ilustrasi Pemrosesan Tunggal (Serial)

Berbeda dengan pemrosesan yang dilakukan secara paralel dimana problem yang diselesaikan dijalankan menggunakan banyak CPU, problem dipecah menjadi bagian yang dapat dikerjakan secara bersamaan. Setiap bagian yang dipecah menjadi instruksi yang terurut dan dieksekusi secara simultan di CPU yang berbeda (lihat ilustrasi pemrosesan paralel pada Gambar 2).
 
Gambar 2. Ilustrasi Pemrosesan Paralel

Jika dilihat pada Gambar 2 pada pemrosesan paralel di setiap instrusinya dijalankan secara serial dalam waktu yang bersamaan antar CPU yang bekerja mengeksekusi data. Dengan kata lain, model arsitektur paralel ini dapat diklasifikasikan ke dalam taksonomi Flynn pada model SIMD (Single Instruction Multiple Data), dimana Michael J. Flynn membedakan arsitektur komputer multiprosesor berdasarkan dimensi instruksi dan data, kemudian dibagi menjadi single atau multiple. SIMD merupakan tipe komputer paralel karena semua processing unit (PU)-nya mengeksekusi instruksi yang sama dalam satu waktu, selain itu proses pada setiap PU boleh dengan data yang berbeda-beda. Dapat dicontohkan pada problem spasial penerapan tipe komputer ini digunakan untuk pemrosesan grafik seperti pada komputer dengan GPU.

Pemrosesan paralel haruslah memiliki kemampuan untuk:
1. Menjalankan multi instruksi program dalam satu waktu.
2. Memecah program ke beberapa task dan dikerjakan secara simultan
3. Menyelesaikan problem lebih cepat di multi sumber daya komputasi daripada sumber daya tunggal.
4. Membagi beban kerja dan mendistribusikannya pada komputer-komputer lain yang terdapat dalam sistem untuk menyelesaian suatu masalah.
5. Sistem ini nantinya akan terdiri dari sejumlah komputer atau memory yang akan bekerja sama untuk menyelesaikan suatui masalah.

Lantas apa yang menjadi pertimbangan dilakukannya pemrosesan paralel, this's simple "Menghemat waktu dan biaya" karena penggunaan lebih banyak resource untu satu task akan mempercepat waktu pengerjaan, dengan potensi penghematan biaya.  Disamping itu, cluster dapat dibangun dengan komponen komoditas dan murah. Pertimbangan berikutnya, this's logic "Mengerjakan problem dalam skala yang lebih besar" karena banyak problem yang tidak bisa dipecahkan dengan komputer tunggal/serial, dikarenakan keterbatasan memori: Grand Challenge, web search engine yang memproses jutaan transaksi per second.



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS