Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

"GMEM" Diusulkan Untuk Menangani Manajemen Memori Untuk Akselerator, Perangkat Memori Eksternal

Manajemen Memori Umum "GMEM" telah diusulkan sebagai solusi baru yang akan dikembangkan pada kernel Linux untuk menangani manajemen memori untuk perangkat memori eksternal seperti semakin banyaknya akselerator yang masuk ke pasar. Insinyur Huawei Weixi Zhu mengumumkan pekerjaan mereka pada hari Selasa di sekitar GMEM dengan harapan untuk menghindari semua duplikasi kode dan pekerjaan berlebihan yang dilakukan saat ini ketika mengaktifkan perangkat keras/driver baru untuk menangani manajemen memori perangkat keras memori eksternal tersebut. Proposal GMEM merangkum permasalahan/tantangan saat ini dengan cukup baik: "Pengembang driver akselerator terpaksa menemukan kembali subsistem MM eksternal kasus per kasus, karena MM inti Linux hanya mempertimbangkan sumber daya memori host. Subsistem MM yang diciptakan kembali ini memiliki urutan besaran LoC yang serupa dengan MM Linux (80K), misalnya Nvidia-UVM memiliki 70K, GPU AMD memiliki 14K dan Huawei NPU memiliki 30K. Sementara itu, semakin banyak vendor yang menerapkan akselerator mereka sendiri, misalnya Maia 100 dari Microsoft. Pada saat yang sama, pengembang tingkat aplikasi mengalami kemampuan program yang buruk -- mereka harus mempertimbangkan ruang alamat paralel dan hati-hati dengan kapasitas DRAM perangkat yang terbatas. Hal ini dapat diatasi jika alamat virtual malloc()-ed dapat dibagikan oleh akselerator, atau DRAM host yang melimpah dapat mencadangkan memori lokal perangkat secara transparan. Sistem MM eksternal ini memiliki mekanisme serupa kecuali untuk bagian yang bergantung pada perangkat keras, jadi menciptakannya kembali berarti memperkenalkan kode yang berlebihan (14K~70K untuk setiap kasus). Pengembangan/pemeliharaan seperti ini tidaklah murah. Selain itu, untuk berbagi alamat virtual malloc()-ed, driver perangkat perlu berinteraksi secara mendalam dengan MM Linux melalui API MM tingkat rendah, misalnya. Pemberitahu MMU/HMM. Hal ini meningkatkan standar pengembangan driver, karena pengembang harus memahami cara kerja MM Linux. Lebih jauh lagi, hal ini menimbulkan masalah pemeliharaan kode -- setiap perubahan pada MM Linux berpotensi memerlukan perubahan terkoordinasi pada driver akselerator yang menggunakan API MM tingkat rendah. Menempatkan bus koheren cache antara host dan perangkat tidak akan membuat subsistem MM eksternal ini hilang. Misalnya, akselerator berorientasi throughput tidak akan mentolerir pelaksanaan beban kerja akses memori yang berat dengan host MMU/IOMMU melalui bus jarak jauh. Oleh karena itu, perangkat akan tetap memiliki MMU sendiri dan memilih format tabel halaman yang lebih sederhana untuk overhead penerjemahan alamat yang lebih rendah, yang memerlukan subsistem MM eksternal." Dengan kode GMEM yang diusulkan, subsistem manajemen memori Linux "MM" diperluas untuk berbagi sistem yang tidak bergantung pada mesin. kode dan hanya menyediakan antarmuka tingkat tinggi untuk driver perangkat. Pada gilirannya, GMEM harus memungkinkan lebih banyak penggunaan ulang oleh pengemudi tanpa menciptakan kembali roda. GMEM telah diuji dengan driver perangkat unit pemrosesan saraf Huawei. Beralih ke GMEM memungkinkan NPU Huawei driver sendiri untuk mengurangi 26 ribu baris kode. Ada manfaat lain yang dijelaskan dalam proposal GMEM: "Dengan menggunakan driver berbasis GMEM, dimungkinkan untuk menulis kode akselerator gaya C dengan malloc(), yang syscall mmap() yang mendasarinya harus menyertakan MAP_PEER_SHARED sesuai dengan implementasi GMEM saat ini. Yang penting, GMEM menjamin tampilan memori yang koheren antara host dan semua perangkat yang terpasang. Ini berarti bahwa setiap data yang ditulis oleh CPU atau akselerator yang terpasang dapat dilihat oleh instruksi pemuatan memori berikutnya yang dikeluarkan oleh akselerator atau CPU yang terpasang. Selanjutnya, perangkat NPU dapat melakukan kelebihan permintaan memori dengan menukar memori ke host DDR. Perhatikan bahwa mekanisme kelebihan permintaan memori ini dapat bersifat universal jika manajemen memori fisik disediakan oleh GMEM. Kasus penggunaan GMEM lainnya dapat mencakup driver IOMMU, driver KVM dan RDMA, selama perangkat perlu mengelola sumber daya memori eksternal seperti VMA, MMU, atau DRAM lokal." Proposal GMEM dapat ditemukan secara lengkap di dri-devel sambil menunggu tinjauan dan masukan dari pemangku kepentingan driver perangkat Linux lainnya.

Itulah berita seputar "GMEM" Diusulkan Untuk Menangani Manajemen Memori Untuk Akselerator, Perangkat Memori Eksternal, semoga bermanfaat. Disadur dari Phoronix.com.Artikel Diperbarui pada: November 29, 2023
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically