Karakteristik umum:
Bersama komputer paralel memori bervariasi, tetapi umumnya memiliki kesamaan kemampuan untuk semua prosesor untuk mengakses semua memori sebagai ruang alamat global. Beberapa prosesor dapat beroperasi secara independen tetapi berbagi sumber daya memori yang sama. Perubahan lokasi memori dipengaruhi oleh satu prosesor yang terlihat untuk semua prosesor lainnya. Secara historis, mesin memori bersama telah diklasifikasikan sebagai UMA dan NUMA, berdasarkan waktu akses memori.
Sedikit penjelasan tentang UMA & NUMA dalam Arsitektur Memori dilihat dari Waktu Akses nya .
Uniform Memory Access (UMA):
Paling sering diwakili oleh Symmetric Multiprocessor (SMP) mesin
Prosesor identik Akses yang sama dan waktu akses ke memori Kadang-kadang disebut CC-UMA – Cache Coherent UMA. Cache koheren berarti jika satu prosesor update lokasi di memori bersama, semua prosesor lain tahu tentang pembaruan. Cache koherensi dicapai pada tingkat hardware.
Non-Uniform Memory Access (NUMA):
Sering dibuat untuk menghubungkan dua atau lebih SMP ,Satu SMP dapat langsung mengakses memori SMP lain ,Tidak semua prosesor memiliki waktu yang sama akses ke semua link , Akses memori melalui link lambat,Jika koherensi cache dipertahankan, maka bisa juga disebut CC-NUMA – Cache Coherent NUMA
Keuntungan :
- Ruang alamat global memberikan perspektif pemrograman user-friendly ke memori
- Berbagi data antara tugas-tugas bersifat cepat dan seragam karena kedekatan memori untuk CPU
Kekurangan:
- Kerugian utama adalah kurangnya skalabilitas antara memori dan CPU. Menambahkan lebih CPU geometris dapat meningkatkan lalu lintas di jalan bersama memori-CPU, dan geometris meningkatkan lalu lintas terkait dengan cache / manajemen memori.
-
Programmer bertanggung jawab untuk sinkronisasi konstruksi yang menjamin “benar” akses memori global.Memori terdistribusiSeperti sistem memori bersama, sistem memori terdistribusi bervariasi tetapi memiliki satu karakteristik umum. Sistem memori terdistribusi memerlukan jaringan komunikasi untuk menghubungkan memori antar-prosesor.Prosesor memiliki memori lokal sendiri. Alamat memori dalam satu prosesor tidak hubungkan ke prosesor lain, sehingga tidak ada konsep ruang alamat global di semua prosesor. Karena setiap prosesor memiliki memori lokal sendiri, beroperasi secara independen. Perubahan itu membuat ke memori lokal tidak berpengaruh pada memori prosesor lainnya. Oleh karena itu, konsep koherensi cache tidak berlaku. Ketika prosesor membutuhkan akses ke data dalam prosesor lain, biasanya tugas programmer untuk secara eksplisit menentukan bagaimana dan kapan data dikomunikasikan. Sinkronisasi antara tugas adalah juga tanggung jawab programmer. Jaringan “kain” digunakan untuk transfer data sangat bervariasi, meskipun bisa dapat yang sederhana seperti Ethernet.Keuntungan :
- Memori terukur dengan jumlah prosesor. Meningkatkan jumlah prosesor dan ukuran memori meningkat secara proporsional.
- Setiap prosesor cepat dapat mengakses memori sendiri tanpa gangguan dan tanpa overhead yang terjadi dengan berusaha mempertahankan koherensi cache global.
- Efektivitas biaya: dapat menggunakan komoditas, prosesor off-the-shelf dan jaringan.
Kerugian :- Programmer bertanggung jawab untuk banyak rincian yang terkait dengan komunikasi data antara prosesor.
- Mungkin sulit untuk memetakan struktur data yang ada, berdasarkan memori global organisasi
- Memori non-seragam waktu akses – data yang berada di remote node membutuhkan waktu lebih lama untuk mengakses data lokal daripada simpul.
Refrensi :
http://www.computerworld.com/s/article/65878/The_Power_of_Parallelism