Komputer Paralel

Pada postingan kali ini, dipaparkan tentang pengenalan komputer paralel (pengertian, manfaat, jenis-jenis, dll). Semoga dapat bermanfaat…

1.1 Kebutuhan akan Kecepatan Komputasi

Beberapa alasan para peneliti dan ilmuwan membutuhkan Komputer Paralel :

  1. Menghitung Operasi Numerik masalah2 ilmiah dan teknik.
  2. MemperSINGKAT waktu pengolahan data2 Numerik repetitive untuk memperoleh hasil yang valid.
  3. Komputer Tunggal saat ini memerlukan waktu yang lama untuk menyelesaikan masalah2 ilmiah dan teknik secara numeric.

Contoh masalah-masalah yang membutuhkan Komputer Paralel dengan tenggat waktu yang SINGKAT :

  1. Peramalan Cuaca
  2. Biologi : Pemodelan DNA, Pemodelan system Biologi pada Level Molekul.
  3. Peramalan Gerak benda Astronomis di Ruang angkasa,
  4. Web Server yang Harus melayani Ribuan REQUEST per jam dari beberapa Client/User.

Pemrograman Paralel : Suatu Program dibagi menjadi beberapa bagian yang selanjutnya diproses / diolah oleh beberapa prosesor/computer terpisah secara PARALEL.

Komputer Paralel : Platform computer yg digunakan

Cluster : Komputer yang saling terhubung (Komputer multiProsesor) untuk menyelesaikan problem yang kompleks.

Komputasi paralel membutuhkan:

  • algoritma
  • bahasa pemrograman
  • compiler

1.2 POTENSI PENINGKATAN KECEPATAN KOMPUTASI

1.2.1 Faktor Pemercepat

Fungsi p maupun jumlah data yg sedang DIPROSES n, sehingga S(p,n)

(Pada sub-topik ini, hanya variable p yg DIBAHAS)

Prosesor Tunggal > Menangani Algoritma Sekuensial

Prosesor Banyak > Menangani Algoritma Paralel

Percepatan Linier : Percepatan sebesar p dapat dicapai jika komputasi dibagi ke dalam beberapa proses dengan DURASI yang SAMA.

Percepatan Superlinier : Faktor Percepatan (S(p)) > Jumlah Prosesor (p)

Efisiensi

Jumlah waktu yang diperlukan oleh prosesor untuk melakukan KOMPUTASI.

Misalnya, E=50%, maka semua prosesor hanya digunakan SETENGAH waktu dari proses rata2 pada komputasi sebenarnya.

1.2.2 Percepatan Maksimal

Faktor yg akan muncul sebagai overhead pada versi PARALEL dan dapat MEMBATASI Percepatan, yaitu:

  1. Periode (jika prosesor TIDAK Mengerjakan proses dengan baik / idle)
  2. Komputasi Tambahan pada beberapa versi parallel tidak muncul pada versi sekuensial.
  3. Waktu KOMUNIKASI antarProses.
  4. problem sekuensial paralel

Pada setiap komputasi selalu ada bagian yang harus diproses dengan Algoritma Sekuensial, disebabkan bagian komputasi tsb TIDAK DAPAT DIBAGI menjad beberapa tugas, maka kita dapat peroleh bahwa terdapat Faktor Percepatan terhadap bagian Seri, f.

Skalabilitas

Skalabilitas Arsitektur (Hardware)

Skalabilitas Algoritma

FAKTOR PEMERCEPAT

-Hukum AMDAHL

Ts dan SKALA Ukuran Problem = konstan

-Hukum GUSTAFSON

Tp  dan SKALA WAKTU = konstan

Agar tp konstan, ketika p meningkat, maka ukuran masalah pun Ditingkatkan.

Bagian Serial sudah Ditetapkan.

faktor percepatan

1.2.3 Komputasi Massage-Passing

Tp=Tcomp + Tcomm

=====Kesimpulan (15/1/2015)

Faktor yg Mempengaruhi Komputasi Paralel :

  1. Jumlah Prosesor (p)
  2. Jumlah Elemen Data (n)
  3. Waktu Komputasi (tcomp)
  4. Waktu Komunikasi (tcomm)

1.3 TIPE-TIPE KOMPUTER PARALEL

Tipenya yaitu,

  1. MultiProsesor Shared Memory
  2. MultiKomputer dengan Memori Terdistribusi

1.3.1 Sistem MultiProsesor Shared Memory

Konfogurasi Shared Memory: Setiap Prosesor dapat MENGAKSES Modul Memori mana pun.

memori

Isi Shared Memory : Program berupa KODE agar setiap prosesor dapat mengaksesnya,

Kenapa harus menggunakan Bahasa Pemrograman Paralel Tingkat Tinggi?

Jawab: Untuk Menghasilkan KODE yang dapat DIEKSEKUSI oleh setiap Prosesor. Compiler-lah yang mengubah bahasa yang kita tulis tersebut menjadi KODE dari Source Code pemrogram.

OpenMP : Bahasa pemrograman Sekuensial yang Biasa Digunakan untuk menentukan Paralelisme. OpenMP ditambahkan pada C/C++ maupun Fortran.

Penelitian Saat ini….

Bagaimana MENGUBAH SYNTAX bahasa Pemrograman Sekuensial sehingga bisa DIGUNAKAN untuk menentukan PARALELISME.

One example that using that approach is UPC (Unified Parallel C).

Kelebihan Shared-Memory:

  • Menjamin KENYAMANAN dalam SHARING Data.

INGAT kembali….. Cache Memory.

NUMA (NonUniform Memory Access) ialah ketika PROSESOR dapat MENGAKSES memori local terdekat LEBIH CEPAT daripada MENGAKSES memori yang letaknya jauh.

UMA(Uniform Memory Access) ialah sebaliknya.

multiprosesor shared memory

1.3.2 MESSAGE-PASSING MULTICOMPUTER

Apa perbedaannya dengan Shared-Memory Multiprosesor?

Setiap computer memiliki satu memori tersendiri yang tidak dapat diakses oleh PROSESOR lain. Setiap Komputer di jaringan bersifat INDEPENDEN.

Lalu bagaimana computer/prosesor tersebut saling Berinteraksi?

Jaringan Interkoneksi memungkinkan PENGIRIMAN PESAN antar prosesor/computer. Suatu Problem dipecah menjadi beberapa bagian PROSES yang kemudian PROSES2 tsb DIKOMPUTASI oleh Setiap KOMPUTER/Prosesor dengan cara Pengiriman PEsan. Pendekatan yang digunakan adalah menggunakan ROUTINE MP yang DISISIPKAN ke dalam Program Sekuensial Konvensional yan DIGUNAKAN untuk PENGIRIMAN PESAN. Apabila Jumlah PROSES > jumlah Komputer, maka Setiap Komputer menjalankan beberapa PRoSES secara SIMULTAN dengan MODEL PEMBAGIAN WAKTU.

Pada MP MultiKompter ini dapat dilihat sebagai sebuah JARINGAN KOMPUTER/PROSESOR. Jaringan ini  mewakili saluran fisik sebuah KONEKSI antara KOmputer sehingga dapat dilakukan PENGIRIMAN PESAN.

Hal yang UTAMA DIperhatikan pada DESAIN JARINGAN, ialah

  1. Bandwidth : Jumlah BIT yg dapat DITRANSMISIKAN (bps)
  2. Latency : Waktu yang DIPERLUKAN dalam pengiriman PESAN.
  3. Cost (Harga)

Istilah-Istilah :

  • Network Latency : Lamanya waktu mengirimkan pesan dalam suatu jaringan
  • Communication Latency : TOTAL waktu yang digunakan UNTUK MENGIRIM PESAN + Overhead Perangkat Lunak + Delay antarmuka.
  • Message Latency : Waktu yang diperlukan untuk MENGIRIM PESAN KOSONG untuk PENCARIAN ROUTE.
  • Bisection Width : Jumlah Link yang TERSEDIA
  • Bisection Bandwidth : JUmlah Bandwidth pada link2 tsb.

JENIS JARINGAN yang Limited-Direct-Interconnected :

  1. Jaringan MESH,
  2. Jaringan HyperCube,

Suatu SWITCH berfungsi me-ROUTE-kan Pesan AntarKomputer.

Jenis SWITCH (saklar), ialah :

  • Crossbar Switch,
  • Tree Network,

Jaringan Interkoneksi MultiStage

Memiliki Sejumlah LEVEL pada Switch. Salah satu contohnya, ialah JARINGAN OMEGA.

Metode Komunikasi

Ada dua cara mendasar dalam MENGIRIMKAN PESAN dari Node ASAL-TUJUAN,

  1. Circuit Switching

Cara ini seperti koneksi TELEPON, ketika node ASAL terhubung dengan node TUJUAN, maka KONEKSI tsb TETAP DIPERTAHANKAN hingga akhir Pengiriman Pesan.

Kekurangan : Link lain tidak DAPAT menggunakan Jaringan yang dIGUNAKAN (saat menelpon) hingga suatu PESAN selesai DIKIRIM.

  1. Packet Switching

Teknik ini dapat diANALOGIkan seperti Pengiriman SURAT POS. Suatu PEsan akan TERSIMPAN pada BUFFER di suatu NODE jika TERHALANG untuk bergerak ke node Selanjutnya. Pesan dibagi ke beberapa PAKET INFORMASI. Setiap Paket membawa Alamat Asal dan Tujuan untuk ROUTING Paket melewati JAringan Interkoneksi dan data. Setiap PAKET memiliki batas Ukuran Maksimal. Jika Suatu pesan melebihi ukuran maksimal tsb, maka pesan akan dibagi menjadi beberapa PAKET, kemudian PAKET2 tsb akan DIKIRIM secara TERPISAH.

Store-and-Forward_packet Switching : Ketika suatu PESAN diproses TERLEBIH DAHULU sebelum Dikirim ke TUJUAN.

Teknik Cut-Through : Teknik Pengiriman PEsan yang jika LINK berikutnya TELAH TERSEDIA, maka PAKET langsung Diteruskan TANPA disimpan di BUFFER. Meskipun demikian, jika JALUR berikutnya TERHALANG, maka pesan disimpan di PENYIMPANAN SEMENTARA untuk menyelesaikan Pengiriman PEsan.

Teknik WormHole : Pesan dibagi menjadi beberapa bagian FLIT (Flow Control Digits). Ukuran FLIT = 1 atau 2 bit. HEADER FLIT lah yang pertama diTransmisikan ke TUJUAN. Ketika HEAD FLIT Bergerak Maju, Bagian pesan lainnya akan mengikutinya. Paket lain TIDAK DAPAT disisipi FLITZ sepanjang Jalur / Link yang digunakan SAMA. Panjang Jalur yang dilalui pesan mempengaruhi LATENCY.

LiveLock : Terjadi pada Algoritma Routing Adaptif dan Menggambarkan sebuah PESAN yang MENGELILINGI Jaringan tanpa MENGETAHUI TUJUANNYA.

DeadLock : Terjadi karena Suatu Paket TIDAK DAPAT DITERUSKAN karena Terhalang PESAN di node selanjutnya yang belum DITERUSKAN.

Solusi untuk DeadLock : Menyediakan sebuah VIRTUAL CHANNEL, dengan BUFFER Terpisah (masing2), untuk kelas2 PESAN.

1.3.2 Shared Memory Terdistribusi

Apa itu Shared Memory Terdistribusi ?

Itu adalah suatu bentuk jaringan yang setiap MEMORI terhubung pada setiap PROSESOR, tapi PROSESOR dapat MENGAKSES MEMORI secara keseluruhan menggunakan RUANG Alamat Memori Tunggal.

Apa itu Shared Virtual Memory ?

SVM ialah Sistem Manajemen Memori yang dapat menggambarkan bahwa seluruh Memori dapat diwakili oleh sebuah Memori Tunggal meskipun setiap memori digunakan oleh Komputer yang Berbeda.

2multiprosesor shared memory

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s