Thursday, November 17, 2011

Sistem Terdistribusi [2-2] : Switched Multiprocessors


Artikel berikut ini merupakan kelanjutan dari artikel sebelumnya. Membangun multiprosesor dengan lebih dari 64 prosesor, diperlukan metode yang berbeda untuk menghubungkan CPU dengan memori. Satu kemungkinan adalah untuk membagi memori ke dalam modul dan menghubungkan mereka ke CPU dengan crossbar switch, seperti ditunjukkan pada gambar (a).
Setiap CPU dan memori masing-masing memiliki sambungan input/ output. Di setiap persimpangan adalah Crosspoint elektronik kecil yang dapat dibuka dan ditutup dengan hardware. Ketika CPU ingin mengakses memori tertentu, switch menghubungkan mereka Crosspoint ditutup sementara, untuk memungkinkan akses berlangsung. Keutamaan crossbar switch adalah bahwa banyak CPU dapat mengakses memori pada saat yang sama, walaupun jika dua CPU mencoba akses memori yang sama secara bersamaan, salah satu dari mereka harus menunggu.
Kelemahan dari crossbar switch  adalah bahwa dengan n CPU dan n memori, n kuadrat Crosspoint switch diperlukan. Untuk besarnya n, jumlah ini dapat menjadi penghalang. Akibatnya, orang-orang yang telah mencari, dan menemukan, alternatif switching yang memerlukan lebih sedikit switch. Jaringan omega gambar (b) adalah satu contoh. Jaringan ini berisi empat (2 x 2) switch, masing-masing mempunyai dua input dan dua output. Setiap switch dapat rute baik baik input ke output. Switch ini dapat diatur dalam nanodetik atau kurang.
Dalam kasus umum, dengan n CPU dan n memori, jaringan omega log2 n switching memerlukan tahap, masing-masing berisi n/2 switch, dengan total (n log2 n) / 2 switch. Walaupun untuk n besar ini jauh lebih baik daripada n kuadrat.
Selain itu, ada masalah lain: penundaan. Sebagai contoh, untuk n = 1024, ada 10 tahap beralih dari CPU ke memori, dan 10 untuk kata diminta untuk datang kembali. Anggaplah bahwa CPU RISC chip modem berjalan pada 100 MIPS, yaitu waktu eksekusi instruksi adalah 10 nsec. Jika  Permintaan memori untuk melewati total 20 switching tahap (10 outbound dan 10 belakang) dalam 10 nsec, waktu switching harus 500 picosec (0,5 nsec). Multiprosesor memerlukan 5120 500-picosec switch. 
Orang, telah berusaha untuk mengurangi biaya dengan beralih ke sistem hirarkis. Beberapa memori dikaitkan dengan masing-masing CPU. Setiap CPU dapat mengakses local sendiri memori dengan cepat, tetapi orang lain mengakses memori yang lebih lambat. Desain ini dikenal sebagai NUMA (Non Uniform Memory Access) mesin. Meskipun mesin NUMA memiliki waktu akses rata-rata lebih baik daripada mesin didasarkan pada jaringan omega, mereka memiliki komplikasi baru bahwa penempatan program dan data menjadi penting untuk membuat kebanyakan akses ke memori lokal.
Ringkasnya, bus berbasis Multiprocessors, bahkan dengan snoopy cache, adalah dibatasi oleh jumlah kapasitas bus  untuk sekitar 64 CPU paling banyak. Melampaui yang membutuhkan jaringan switching, seperti crossbar switch, jaringan omega switching, atau sesuatu yang serupa. crossbar switch besar sangat mahal, dan jaringan omega besar yang baik mahal dan lambat. Mesin NUMA memerlukan kompleks algoritma untuk penempatan perangkat lunak yang baik. Kesimpulannya jelas: building a large, tightly-coupled, shared memory multiprocessor adalah mungkin, meski sulit dan mahal.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.