Selasa, 27 Mei 2014

Komputasi paralel

Komputasi paralel adalah suatu bentuk komputasi dimana banyak perhitungan dilakukan secara bersamaan, yang beroperasi pada prinsip bahwa masalah besar sering dapat dibagi menjadi lebih kecil, yang kemudian diselesaikan secara bersamaan ("secara paralel"). Ada beberapa bentuk dari komputasi paralel: bit-level , instraction level , Data, dan task paralelisme . Paralelisme telah digunakan selama bertahun-tahun, terutama dalam komputasi kinerja tinggi , tetapi kepentingan di dalamnya telah berkembang akhir-akhir ini karena kendala fisik mencegah penskalaan frekuensi . Sebagai konsumsi daya (dan akibatnya generasi panas) oleh komputer telah menjadi perhatian dalam beberapa tahun terakhir,  komputasi paralel telah menjadi paradigma dominan dalam arsitektur komputer , terutama dalam bentukprosesor multi-core .
Komputer paralel secara kasar dapat diklasifikasikan menurut tingkat di mana hardware mendukung paralelisme, denganmulti-core dan multi-prosesor komputer memiliki beberapa elemen pemrosesan dalam satu mesin, sedangkan cluster , MPPs, dan grid menggunakan beberapa komputer untuk bekerja pada hal yang sama tugas. Khusus arsitektur komputer paralel kadang-kadang digunakan bersama prosesor tradisional, untuk mempercepat tugas-tugas tertentu.
Program komputer paralel lebih sulit untuk menulis daripada yang berurutan, karena concurrency memperkenalkan beberapa kelas baru yang potensial bug software , dimana kondisi ras adalah yang paling umum. Komunikasi dan sinkronisasi antara subtasks berbeda biasanya beberapa kendala terbesar untuk mendapatkan kinerja program paralel yang baik.

Flynn Klasik Taksonomi


  • Ada berbagai cara untuk mengklasifikasikan komputer paralel. Contoh tersedia SINI . (Sumber: http://vedyadhara.ignou.ac.in/wiki/images/8/8e/B1U2mcse-011.pdf )
  • Salah satu klasifikasi yang lebih banyak digunakan, digunakan sejak tahun 1966, disebut Taksonomi Flynn.
  • Taksonomi Flynn membedakan arsitektur komputer multi-prosesor sesuai dengan bagaimana mereka dapat diklasifikasikan sepanjang dua dimensi independen Instruksi Streaming dan Data Stream .Masing-masing dimensi ini hanya dapat memiliki satu dari dua kemungkinan: Tunggal atau kelompok .
  • Matriks di bawah mendefinisikan 4 kemungkinan klasifikasi menurut Flynn:

    SISDInstruksi tunggal Streaming
    Tunggal Data Stream

    SIMDInstruksi tunggal Streaming
    Beberapa Data Stream

    MISDBeberapa Instruksi Streaming
    Tunggal Data Stream

    MIMDBeberapa Instruksi Streaming
    Beberapa Data Stream

Instruksi Single, Single Data (SISD):
  • Sebuah serial (non-paralel) komputer
  • Instruksi Single: Hanya satu instruksi aliran sedang ditindak lanjuti oleh CPU selama setiap satu siklus clock
  • Data tunggal: Hanya satu aliran data yang digunakan sebagai masukan dalam setiap satu siklus clock
  • Eksekusi deterministik
  • Ini adalah jenis tertua dari komputer
  • Contoh: mainframe generasi tua, minicomputer, workstation dan PC processor / single core.

Instruksi tunggal, Multiple Data (SIMD):
  • Sebuah jenis komputer paralel
  • Instruksi tunggal: Semua unit pengolahan mengeksekusi instruksi yang sama pada setiap siklus clock yang diberikan
  • Beberapa Data: Setiap unit pengolahan dapat beroperasi pada elemen data yang berbeda
  • Paling cocok untuk masalah khusus yang ditandai dengan tingkat tinggi keteraturan, seperti pengolahan grafis / gambar.
  • Synchronous (berbaris) dan eksekusi deterministik
  • Dua varietas: Array Processor dan Vector Pipelines
  • Contoh:
    • Array Processor: Berpikir Machines CM-2, MasPar MP-1 & MP-2, ILLIAC IV
    • Vector Pipelines: IBM 9000, Cray X-MP, Y-MP & C90, Fujitsu VP, NEC SX-2, Hitachi S820, ETA10
  • Sebagian besar komputer modern, terutama mereka dengan grafis unit prosesor (GPU) menggunakan instruksi SIMD dan unit eksekusi.

Beberapa Instruksi, Single Data (MISD):
  • Sebuah jenis komputer paralel
  • Beberapa Instruksi: Setiap unit pengolahan beroperasi pada data independen melalui aliran instruksi terpisah.
  • Single Data: Sebuah aliran data tunggal dimasukkan ke beberapa unit pengolahan.
  • Sedikit (jika ada) contoh aktual dari kelas ini komputer paralel yang pernah ada.
  • Beberapa menggunakan dibayangkan mungkin:
    • beberapa filter frekuensi operasi pada aliran sinyal tunggal
    • beberapa algoritma kriptografi mencoba untuk memecahkan kode pesan tunggal.
Beberapa instruksi, Multiple Data (MIMD):
  • Sebuah jenis komputer paralel
  • Beberapa Instruksi: Setiap prosesor dapat mengeksekusi instruksi aliran yang berbeda
  • Beberapa Data: Setiap prosesor dapat bekerja dengan aliran data yang berbeda
  • Eksekusi dapat sinkron atau asinkron, deterministik atau non-deterministik
  • Saat ini, jenis yang paling umum dari komputer paralel - sebagian besar superkomputer modern termasuk dalam kategori ini.
  • Contoh: sebagian besar superkomputer saat ini, cluster komputer paralel jaringan dan "grid", komputer SMP multi-prosesor, PC multi-core.
  • Catatan: banyak arsitektur MIMD juga mencakup SIMD eksekusi sub-komponen


Visitor