Multiprosesor simetris (SMP) merupakan arsitektur yang banyak digunakan untuk sistem komputer modern, tetapi sejarahnya jarang dibahas. Ide dasar dari arsitektur ini adalah bahwa beberapa prosesor identik dihubungkan ke satu memori utama bersama dan dikelola oleh satu sistem operasi. Fitur kolaboratif ini memungkinkan setiap prosesor untuk memproses berbagai tugas secara paralel, sehingga secara signifikan meningkatkan kinerja sistem secara keseluruhan. Artikel ini akan membawa Anda menelusuri sejarah dan menjelajahi asal-usul serta evolusi SMP.
Sistem SMP biasanya terdiri dari beberapa prosesor serupa yang berbagi memori utama pusat dan berjalan di bawah satu sistem operasi. Setiap prosesor dilengkapi dengan memori cache khusus untuk mempercepat akses ke memori utama dan mengurangi lalu lintas bus sistem. Pada sistem SMP awal, teknologi sering kali dibatasi oleh bandwidth dan konsumsi daya, dan terdapat masalah kemacetan dalam desain. Sejak saat itu, pengenalan arsitektur grid telah meningkatkan masalah skalabilitas, meskipun kompleksitas pemrograman perlu diatasi.
“Sistem SMP memungkinkan prosesor apa pun untuk menjalankan tugas apa pun, terlepas dari lokasi data tugas tersebut, selama tugas tersebut tidak sedang dijalankan oleh prosesor lain dalam sistem.”
Di antara sistem multiprosesor awal, Burroughs B5000 pada tahun 1961 menjadi sistem produksi pertama, meskipun pengoperasiannya masih asimetris. Dengan diperkenalkannya Burroughs D825 pada tahun 1962, konsep SMP secara bertahap terbentuk. Seri komputer System/360 IBM juga meluncurkan sistem komputasi prosesor ganda, yang mewujudkan penerapan arsitektur SMP. Ketika perusahaan-perusahaan besar memasuki bidang ini, sistem SMP secara bertahap berkembang dan menjadi arus utama.
SMP banyak digunakan dalam sistem pembagian waktu dan server, yang dapat mendukung beberapa proses yang berjalan secara paralel tanpa memodifikasi aplikasi. Pada komputer pribadi, kegunaan SMP berkurang karena banyak aplikasi belum dimodifikasi untuk multithreading. Untuk memanfaatkan SMP, pemrograman multithread menjadi pertimbangan penting.
Desain sistem SMP saat ini memungkinkan beberapa prosesor untuk digabungkan dengan erat, tetapi ini juga membawa tantangan dalam skalabilitas dan kinerja. Sementara sistem multiprosesor dapat meningkatkan throughput, mengisi celah dalam pengoptimalan kinerja akan memerlukan sistem operasi yang dirancang dengan cermat dan dukungan perangkat lunak yang efisien untuk memaksimalkan penggunaan perangkat keras.
"Dalam lingkungan SMP, ketika beberapa program dijalankan secara bersamaan, kinerja sistem secara signifikan lebih baik daripada sistem prosesor tunggal."
Sistem yang menggunakan SMP memerlukan teknik pemrograman yang berbeda dari sistem yang menggunakan uniprosesor untuk mendapatkan kinerja maksimum. Karena dalam sistem SMP, program dapat berjalan menggunakan beberapa prosesor secara bersamaan. Hal ini tidak hanya meningkatkan kemampuan multi-tasking, tetapi juga meningkatkan kelancaran pengoperasian program. Seiring dengan peningkatan program, program akan mampu menyeimbangkan beban kerja dengan lebih baik.
Seiring dengan meningkatnya kebutuhan komputasi, arsitektur baru seperti NUMA (Non-Uniform Memory Access) muncul, yang memungkinkan prosesor mengakses memori lokal lebih cepat dan mengurangi ketergantungan pada memori bersama. Meskipun NUMA dapat menyediakan akses data yang lebih efisien di beberapa lingkungan, biaya pemindahan data dari satu prosesor ke prosesor lain relatif tinggi saat melakukan penyeimbangan beban kerja.
Dari sistem komputer awal yang modular hingga arsitektur multi-prosesor modern yang mengutamakan efisiensi, evolusi SMP tidak diragukan lagi merupakan bagian penting dari kemajuan teknologi. Seiring dengan kemajuan teknologi, teknologi baru apa yang akan menantang dan meningkatkan pemahaman kita tentang kolaborasi multi-prosesor di masa mendatang?