MULTIPROSESOR MULTIPROSESOR • Sebuah sistem komputer menjalankan satu buah aplikasi atau lebih yang kemudian dipecah menjadi sejumlah proses sekuensial yang berko-operasi. • Dapat diimplementasikan pada sistem berprosesor tunggal, namun akan lebih mudah apabila diimplementasikan pada sebuah sistem multiprosesor. • Setiap saat, setiap proses jamak akan mengeksekusi proses lainnya. • Komunikasi antara proses dilakukan oleh pesan-pesan dan flag-flag yang dapat dikirimkan ke prosesor lainnya melalui memori utama. PROSESOR ARRAY • Merupakan bentuk SIMD pengolahan paralel PERBEDAAN DENGAN MESIN VECTOR-BASED Mesin Vector-Based Mencapai performa tinggi melalui penggunaan pipelining secara ketat Prosesor Array Menyediakan paralelisme ekstensif dengan replikasi modul komputasi STRUKTUR MULTIPROSESOR Implementasi • Multiprosesor UMA • Multiprosesor NUMA • Sistem Memori Terdistribusi UMA UNIFORM MEMORY ACCESS P1 P2 Processor ... Pn Interconnection Network ... M1 M2 Memories Mk • Suatu jaringan interkoneksi memungkinan n prosesor mengakses k memori sehingga tiap prosesor dapat mengakses setiap memori. • Jaringan interkoneksi dapat menimbulkan jeda antara prosesor dan memori • Memerlukan jaringan interkoneksi yang super cepat mahal • Menyediakan memori global artinya setiap prosesor dapat mengakses tiap modul memori tanpa intervensi prosesor lain NUMA NONUNIFORM MEMORY ACCESS P1 M1 P2 M2 ... Interconnection Network Pn Mk • Kecepatan tinggi dipertahankan di semua prosessor • Selain mengakses memori lokal, setiap prosesor juga dapat mengakses memori lain melalui jaringan meskipun memerlukan waktu lebih lama • Menyediakan memori global NUMA vs UMA SISTEM MEMORI TERDISTRIBUSI M1 M2 P1 P2 ... Interconnection Network Mn Pn • Modul memori berfungsi sebagai memori privat bagi prosesor yang terhubung • 1 prosesor tidak dapat mengakses remote memori tanpa adanya kerjasama remote prosesor • Kerjasama berbentuk pertukaran pesan • Perlu protokol Message-Passing Jaringan Interkoneksi • • • • • • • Bus Tunggal Crossbar Multistage Jaringan Hypercube Jaringan Mesh Tree Ring CROSSBAR • Crossbar Switch • • • • Sun’s E10000 Fujitsu’s VPP5000 Hitachi’s SR8000 NEC’s SX-5 HYPERCUBE • Menggunakan N=2n prosesor yang disusun dalam sebuah kubus berdimensi n, dimana setiap simpul mempunyai n= log2N link bidirectional dengan simpul yang berdekatan. Diameter komunikasi hiperkubus seperti itu sama dengan n. MESH • Bentuk mesh yang paling sederhana adalah array dua dimensi tempat masing-masing simpul saling terhubung dengan keempat tetangganya. • “Diameter” komunikasi sebuah mesh yang sederhana adalah 2(n-1) • Koneksi wraparound pada bagian-bagian ujung akan mengurangi ukuran diameter menjadi 2(n/2). • Cocok untuk hal-hal yang berkaitan dengan algoritma yang berorientasi matriks. TREE • Jaringan topologi untuk mendukung algoritma divide-and-conquer, seperti searching dan sorting. Fat Tree • Untuk mengurangi jalan buntu, jumlah link pada level atas hierarki pohon dapat ditingkatkan RING • Sebuah sistem komputer menjalankan satu buah aplikasi atau lebih yang kemudian dipecah menjadi sejumlah proses sekuensial yang berko-operasi. • Dapat diimplementasikan pada sistem berprosesor tunggal, namun akan lebih mudah apabila diimplementasikan pada sebuah sistem multiprosesor. • Setiap saat, setiap proses jamak akan mengeksekusi proses lainnya. • Komunikasi antara proses dilakukan oleh pesan-pesan dan flag-flag yang dapat dikirimkan ke prosesor lainnya melalui memori utama.