AMD HSA (Heterogeneous System Architecture) Masa Depan Komputasi

0
AMD HSA (Heterogeneous System Architecture) Masa Depan Komputasi

Tahukah anda perbedaan antara CPU dan GPU ? Jika keduanya diibaratkan otak manusia, maka CPU adalah otak kiri sedangkan GPU adalah otak kanan. Tetapi arti sesungguhnya bukan seperti itu dan tidak sesederhana itu, gambaran tersebut merupakan ilustrasi saja.

CPU & GPU

Mungkin gambaran singkat ini bisa menjelaskan secara garis besar :

CPU = Central Processing Unit = Mengeksekusi untuk menjalankan program seperti video encoders, audio encoders, Internet Explorer, and Excel.

GPU = Graphics Processing Unit = Secara khas digunakan dalam games, program rendering 3D dan vide player/ gambar yang ditampilkan pada layar monitor.

(tabel perbedaan sekilas CPU dan GPU)

Introduction HSA

(video singkat mengenai konsep HSA)

Kedua teknologi ini sudah mutlak berada pada perangkat komputasi. CPU dan GPU memiliki perkembangan yang sangat pesat tetapi perkembangan era (jaman) keduanya jarang atau perlu waktu yang cukup lama. Belakangan ini yang mulai populer adalah teknologi yang diterapkan kedalam chipset AMD adalah HSA (Heterogeneous System Architecture), singkatnya membuat kinerja CPU dan GPU menjadi lebih kompak dan padu mudahnya lagi seperti kinerja otak kiri dan kanan yang padu. Sebelum adanya HSA kinerja CPU dan GPU sangat kurang praktis secara paralel yang membutuhkan memory terpisah dan juga cara kerja yang kurang praktis yakni, CPU – GPU – lalu kembali lagi ke CPU hal ini membuat kinerja komputasi paralel menjadi sangat terhambat dan juga antrian proses tugas juga agan menjadi tertunda karena ketidak efisienan. Maka HSA dapat diambil garis besarnya sebagai berikut.

HSA (Heterogeneous System Architecture) adalah tipe processor yang didalamnya terintergrasi CPU dan GPU dalam satu bus, yang saling berbagi tugas (task) dan memory. Dengan kedatanganya merupakan solusi semakin meningkatnya kebutuhan akan teknologi modern efisiensi dan perfoma perangkat sangat diperlukan untuk meminimalisir waktu kerja dan menghemat lebih banyak tenaga. Permasalahan yang sangat kontras pada kinerja PC saat ini adalah CPU dan GPU didesain berbeda dalam pemrosesan element data dan tidak bekerja secara efisien bersama-sama juga sangat menguntungkan pada tugas yang membutuhkan komputasi paralel yang kompleks. Sebenarnya HSA tidak hanya berlaku pada CPU dan GPU saja, kedepanya pasti akan banyak komponen yang ‘menyusul’.

Kehadiran HSA mungkin dapat dipastikan membuat era komputasi desktop dan mobile akan berubah drastis. Mungkin beberapa istilah ini akan dijadikan omong kosong, misal, semakin banyak core pada satu die maka performa bagus, begitu pula dengan semakin tinggi clock (speed, per GHz) perfoma bagus. Dengan kehadiran konsep komputasi HSA maka era komputasi gaming high-end hanya dengan satu chipset (yang terintergrasi CPU+GPU didalamnya) mulai terasa dan dapat dipastikan perkembanganya akan pesat beberapa tahun kedepan.

HSA Queuing

Bagian dari platform HSA sebelumnya dikenal sebagai Fusion, HQ (Heterogeneous Queuing) adalah standar terbuka yang dengan AMD berharap untuk mendorong visi hybrid komputasi dimana perbedaan antara prosesor pusat dan grafis menjadi semakin kabur. Dirancang untuk bekerja bersama teknologi HSA lainnya, termasuk sistem memori terpadu HuMA, HQ terlihat untuk menghilangkan bootleneck saat membuat task untuk GPU. 
Untuk menjelaskan: sistem queue (antrian) tradisional bekerja dengan memaksa CPU untuk menjalankan melalui service sistem operasi dan driver kernel-level saat membuat workloads (beban kerja) untuk GPU. AMD mengklaim, memperkenalkan latency yang tidak diinginkan untuk antrian dan berarti bahwa setiap kali ada task untuk GPU untuk dilaksanakan, CPU harus terlibat untuk mengkick-off (meniadakanya).
Paradigma HQ, sebaliknya, upgrade GPU hanya untuk tambahan kepada CPU untuk pemroses dari status yang sama. Dalam desain ini, aplikasi yang diberikan dapat menghasilkan tugas antrian langsung pada GPU tanpa melibatkan CPU . Lebih baik lagi, GPU dapat menghasilkan workloads sendiri, contoh AMD di sini adalah raytracing, di mana satu task GPU dapat menghasilkan beberapa task lebih dalam pelaksanaannya dan yang sebelumnya telah diperlukan CPU dan sistem operasi untuk terlibat dalam queue menghasilkan task baru dan bahkan menekan task ke dalam antrian task CPU. Sama halnya CPU dapat mendorong kerja ke GPU task queue tanpa keterlibatan sistem operasi menciptakan sistem antrian bi-directional yang secara dramatis mengurangi latency dan memungkinkan aplikasi untuk dengan mudah mendorong pekerjaan untuk prosesor mana yang paling tepat.
Untuk AMD, HQ adalah langkah penting. Prosesor unggulan perusahaan ini telah lama tertinggal di belakang dari sainganya Intel pada kinerja murni CPUnya. Dimana perusahaan bangkit dalam produk hibrida CPU-GPU nya dan sementara memanfaatkan total kekuatan komputasi dari chip tersebut tidak langsung saat ini perusahaan jelas berharap bahwa HSA dan teknologi seperti HuMA juga HQ akan membantu dan membantu membuka potensi kinerja yang tersembunyi dalam chip-nya.
(sumber: http://www.bit-tech.net/news/hardware/2013/10/22/amd-hq/1 )

Cara Kerja HSA

Untuk sepenuhnya memanfaatkan kemampuan execution units (EU) secara paralel, adalah penting untuk desainer sistem komputer untuk berpikir secara berbeda. Para desainer harus mendesain ulang arsitektur sistem komputer dengan ketat untuk mengintegrasikan ketidaksamaan compute element pada platform kedalam processor central saat waktu menyediakan lokasi progamming yang secara fudamental yaitu yang tidak memerlukan perubahan pada pengembang perangkat lunak. Ini adalah tujuan utama dari desain baru pada HSA.

HSA menciptakan desain prosesor baik yang memperlihatkan manfaat dan kemampuan elemen menghitung diprogram utama, bekerja sama secara mulus. Dengan HSA, aplikasi dapat membuat struktur data dalam ruang alamat satu tunggal dan dapat meng-inisiasi item pekerjaan pada perangkat keras yang paling tepat untuk tugas yang diberikan. Berbagi data antara Compute Element adalah yang sederhana seperti mengirim pointer. Multi-task dapat bekerja pada daerah memory yang sama koheren, memanfaatkan hambatan dan operasi memori atom yang diperlukan untuk menjaga sinkronisasi data.

Pada awalnya, komponen CPU dan GPU dikembangkan secara terpisah dan otomatis cara mengaksesnya pun terpisah. Jadi software yang ingin memanfaatkan komponen tersebut harus berusaha mengakses melalui interface berbeda. Bagaimana sebuah software bisa mengkombinasikan perangkat tersebut secara efisien adalah urusan software itu sendiri. Masalah ini diperburuk dengan kondisi lalu-lintas perintah yang rumit dan masing-masing komponen pun mengakses memory sesuai kebutuhannya sendiri-sendiri tanpa mempedulikan komponen lainnya.

Contoh sederhana seperti pada APU AMD. Meski sekarang GPU sudah bisa dimanfaatkan untuk pekerjaan selain gaming, seperti melalui OpenCL, pemanfaatannya sebenarnya masih tidak efisien. Karena software masih mengakses CPU dan GPU seakan keduanya terpisah dan bukan satu kesatuan. Kedua komponen tersebut masih akan mengakses memori sesuai kebutuhan masing-masing tanpa mempedulikan efisiensi kerja komponen lainnya. Selain itu, pemanfaatan GPU untuk kebutuhan general pun cenderung masih rumit.

(Ilustrasi alur kerja dari sistem non-HSA)
Masalah di atas adalah hal yang ingin dioptimalkan oleh HSA. Jadi, dengan teknologi yang dikembangkan HSA, semua komponen tersebut akan dapat diakses dari satu “titik” address yang sama. Metode aksesnya pun tidak rumit dan panjang. Hasilnya, perpaduan software dan hardware yang saling memahami kebutuhan satu dan yang lainnya dan dapat disetting sesuai kebutuhan, misalkan untuk performa tinggi atau untuk hemat daya. Pada prakteknya, efisiensi dan optimalisasi ini menghasilkan performa yang lebih tinggi dengan konsumsi daya yang lebih rendah.
(Ilustrasi alur kerja dari sistem HSA)

Keuntungan, secara teori

  1. GPU dapat mengakses struktur data yang ada yang mengandung pointer kinerja yang lebih tinggi melalui operasi paralel.
  2. CPU dan GPU dapat melakukan sinkronisasi menggunakan kinerja atomics platform yang lebih tinggi melalui operasi paralel.
  3. GPU dapat beroperasi pada model data besar dengan kinerja tinggi melalui operasi paralel.
  4. GPU dapat memanggil fungsi CPU dari dalam kernel pemograman sederhana GPU dan tidak memerlukan “split kernel” yang kinerja lebih tinggi melalui Paralel.

LEAVE A REPLY