Luasnya adopsi multi-core hardware dalam
banyak kasus sesungguhnya memperlambat proses komputer. Skenario yang ada
berupa, perusahaan memiliki data aplikasi software dan ingin membuat software
tersebut berjalan secepat mungkin. Ketika mesin single core sudah tidak
berlaku, maka perusahaan akan membali multi-core hardware baru, dan dengan
multi-core justru aplikasi akan berjalan lebih lambat.
Ketika ditanyakan kepada technical support soal masalah ini, maka hal pertama yang menjadi jawabannya seperti sudahkan hardware di-upgrade? Seringkali, ketika aplikasi dipindah ke single-core hardware lagi, maka masalah tersebut akan menghilang. Bagaimana hal itu bisa terjadi ? Bukankah lebih banyak core akan membuat software semakin cepat? Jawabannya tidak. Kecuali software ditulis untuk paradigm multi-core, maka multi-core hardware mungkin akan menghabiskan uang hanya untuk peningkatan performance.
Ketika processor semakin bertambah, kecepatan bus
atau disk makin cepat, dan program akan berjalan lebih cepat. Namun, dengan
paradigm multi-core, maka aplikasi harus berhati-hati karena banyak prossesor
yang sedang aktif. Aplikasi kemudian harus menyesuaikan dengan system operasi
multi-tasking dan menyadari bahwa multi-core processor akan berjalan secara
parallel dan menghasilkan banyak task untuk banyak processor. Model pemrograman
untuk multi-core processor ini adalah dengan menjaga track ketika setiap task
sudah completed maka aksi berikutnya baru bisa dilakukan. Hal lainnya berkaitan
dengan resource yang di-share antar processor, jika satu bagian memory dirubah
oleh processor yang berbeda, maka task harus menunggu mekanisme antrian.
Dalam model multi-core, maka user dapat memperoleh masalah besar yang sulit di-debug dan dioptimalkan. Seringkali pekerjaan antrian task menjadi tidak efisien, di sisi lain , satu proses akan mengunci share resource A, kemudian ingin share dengan B, dimana B akan dikunci oleh proses yang menggunakan resource B dan menginginkan resource A. Akhirnya, deadlock, dan hanya sejumlah kecil programmer yang dapat mengatasi hal ini.
Berita buruknya, banyak aplikasi yang tidak cocok
dengan proses parallel ini, atau proses yang dijalankan secara bersamaan.
Penyebab kelambatan aplikasi ini karena clock speed multi-core processor di
tiap core dapat berjalan lebih lambat daripada processor single core yang
digantikan. Beberapa power multi-core processor digunakan untuk menahan track
dari sharing resources di semua processor . Ketiga, banyak core processor yang
ada di area yang sama di memory. Keempat, masalah terjadi ketika banyak
waktu yang habis terbuang ketika mengindentifikasi dimana proses sedang
berjalan. Namun, jika user memiliki 10 program yang berjalan secara
terpisah, maka mesin multi-core ini akan dapat menjalankan program tersebut
dalam sekali waktu dan lebih cepat, karena multi-core processor memiliki memory
yang baru dan dapat diakses dengan cepat. Keuntungan lainnya termasuk adanya
penyimpanan SSD dan akses jaringan lebih cepat, dan sebagainya.
sumber
sumber
Tidak ada komentar:
Posting Komentar