Skip to content

emka.web.id

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

Menyiapkan Intel 4th Gen Xeon Scalable "Sapphire Rapids" Untuk Penggunaan Akselerator

Posted on January 13, 2023 by Syauqi Wiryahasana


Dengan prosesor IntelĀ® Xeon Scalable "Sapphire Rapids" Generasi ke-4 yang diluncurkan minggu ini, Intel sangat bertaruh pada akselerator terintegrasi untuk menawarkan mereka keunggulan dibandingkan pesaing untuk tugas hyperscaler modern dan beban kerja lain yang dapat memanfaatkan In-Memory Analytics Accelerator (IAA), Data Streaming Accelerator (DSA), QuickAssist Technology (QAT), dan Dynamic Load Balancer (DLB). Tapi seperti apa lanskap perangkat lunak saat ini dan apa yang diperlukan untuk benar-benar memanfaatkan akselerator ini di Linux? Berikut adalah panduan/ikhtisar cara singkat untuk menggunakan akselerator di server Linux Anda.





Saya telah mengerjakan beberapa tolok ukur akselerator Intel Sapphire Rapids yang diharapkan akan mulai dipublikasikan minggu depan, tetapi mengingat semua IP terintegrasi baru ini ke dalam 4th Gen Xeon Scalable dan banyak pertanyaan pembaca di sekitarnya, saya pikir akan lebih baik untuk memulai dengan artikel yang melihat secara khusus dukungan dan penyiapan perangkat lunak. Selain itu, karena saya baru memiliki server Sapphire Rapids selama seminggu sekarang, saya masih mengerjakan semua seluk-beluk perangkat lunak dari penyiapan dan penggunaan akselerator. Memanfaatkan akselerator baru tidak semudah menggunakan instruksi baru seperti pada AVX. Sebaliknya, ada driver kernel serta pustaka ruang pengguna dan komponen pendukung terkait. Selain itu, selain hanya menyediakan pustaka ruang pengguna, akselerator perlu dikonfigurasi dan diaktifkan untuk digunakan di sistem Anda. Setelah mendapatkan semua pengaturan itu, selanjutnya tergantung pada aplikasi/layanan perangkat lunak tertentu dan langkah tambahan apa yang mungkin diperlukan di sana untuk benar-benar menikmati dukungan akselerator untuk kinerja yang lebih baik dengan prosesor baru ini. Artikel Rapids awal minggu ini, blok IP baru berjumlah:



Intel QuickAssist Technology (QAT) - Teknologi QuickAssist telah ditemukan dalam chipset dan SoC Intel tertentu sebelumnya serta kartu add-in PCIe adaptor QuickAssist, tetapi sekarang dengan Sapphire Rapids adalah tersedia terintegrasi ke dalam CPU Xeon Scalable secara langsung. QuickAssist dapat memberikan kinerja kompresi dan enkripsi yang lebih cepat hanya dengan mengandalkan inti CPU saja. Mengingat Teknologi QuickAssist telah ada untuk sementara waktu, di sini ada dukungan dan adopsi perangkat lunak terbaik saat ini dan dapat dengan mudah digunakan oleh OpenSSL dan perangkat lunak lain saat mengaktifkan dukungan mesin QAT.



Intel Dynamic Load Balancer (DLB) - Meskipun serupa fungsionalitas tersedia melalui DPU, Intel DLB dengan Sapphire Rapids memungkinkan pembongkaran beberapa tugas seputar penyeimbangan beban, manajemen antrean, prioritas paket, dan fungsionalitas serupa lainnya. Memanfaatkan DLB memerlukan driver kernel DLB dan driver ruang pengguna mode polling DLB. Ada juga "libdlb" sebagai pustaka untuk membuat perangkat lunak yang dipercepat DLB tanpa menggunakan kerangka kerja Data Plane Development Kit (DPDK). Kernel DLB dan driver mode pengguna untuk DLB saat ini didistribusikan melalui Intel.com. Driver kernel DLB adalah sumber terbuka dan Intel saat ini mengujinya terhadap kernel 5.15 dan 5.19.



Intel In-Memory Analytics Accelerator (IAA) - Database dalam memori, analitik data besar, dan perangkat lunak terkait dapat memanfaatkan akselerator ini. Akselerator ini bertujuan untuk mengurangi waktu pencarian saat mengakses data dari penyimpanan dengan memindahkannya lebih dekat ke CPU. memanfaatkan struktur linier satu dimensi untuk penyimpanan data berbentuk kolom, dan mendukung operasi seputar kompresi/dekompresi dan enkripsi/dekripsi data input. Akselerator IAA juga memiliki berbagai operasi pemfilteran yang didukung, CRC64, dan prefetching address translations.



Penggunaan IAA dari sisi perangkat lunak dilakukan dengan menggunakan Query Processing Library (QPL) Intel. Antarmuka QPL dengan driver kernel Intel IDXD. Kompiler sekitar dua tahun terakhir juga diperlukan untuk dukungan instruksi MOVDIR64B dan ENQCMD(S). Bagi mereka yang menggunakan pustaka QPL untuk mengetuk akselerator IAA, pustaka tersebut juga memiliki implementasi fallback perangkat lunak menggunakan AVX2/AVX512 untuk kasus di mana pada saat run-time perangkat lunak mungkin tidak berjalan di server dengan IAA atau kekurangan akses ke IAA.



IAA dalam banyak hal mirip dengan akselerator DSA tetapi tidak memiliki pemrosesan batch, ini adalah perangkat tanpa kewarganegaraan, tidak ada fitur antar-domain, dan perbedaan fitur operasional lainnya.



Intel Data Streaming Accelerator (DSA) - Untuk analitik data dan penyimpanan terdistribusi , akselerator DSA beraksi. Data Streaming Accelerator bisa dibilang merupakan blok akselerator yang paling menarik dan ditunggu-tunggu dari Sapphire Rapids. DSA adalah akselerator transformasi dan penyalinan data berkinerja tinggi ke/dari memori volatil, memori persisten, MMIO, DSA menggantikan Teknologi QuickData Intel yang ada.



Artikel ikhtisar ini terutama berfokus pada sisi dukungan perangkat lunak untuk akselerator IAA dan DSA.


Berapa Banyak Akselerator yang Anda Miliki? Jika Anda menjalankan SKU yang mengandalkan Intel On Demand baru untuk aktivasi akselerator, ada driver kernel baru untuk itu -- tetapi bukan fokus artikel hari ini karena saya belum menemukan perangkat keras dengan batasan ini . Sejak Linux 5.18 ada driver Software Defined Silicon sebagai "On Demand" awalnya dikenal sebagai... Tetapi hanya dengan kernel Linux 6.2 yang akan datang, driver Intel On Demand sekarang siap beraksi. Referensi SDSi sekarang mencerminkan branding Intel On Demand dan ada perubahan driver di sekitar GUID baru, dukungan untuk membaca sertifikat pengukur On Demand, dan perubahan lainnya.

Jumlah akselerator bervariasi berdasarkan SKU.



Selain perlu mengaktifkan opsi Kconfig "INTEL_SDSI" untuk mengaktifkan driver kernel Intel On Demand, Anda harus berurusan dengan penanganan sertifikat On Demand dari ruang pengguna. Driver SDSi menampilkan status fitur dan sertifikat melalui sysfs. Antarmuka ruang pengguna didokumentasikan melalui intel-sdsi di GitHub. Saya tidak memiliki informasi lebih lanjut untuk ditambahkan di sini tentang penanganan ruang pengguna atas aktivasi fitur Berdasarkan Permintaan untuk Linux -- atau pengetahuan tentang utilitas ruang pengguna yang nyaman untuk menangani pembelian/aktivasi fitur yang sebenarnya -- karena juga hingga OEM untuk negosiasi/penjualan aktivasi On Demand kepada pelanggan, dll. Kita akan melihat bagaimana semua ini berjalan tepat waktu.


IDXD Kernel Driver


Intel telah mengerjakan driver kernel IDXD sejak 2019 sebagai Driver Akselerator Data untuk mengaktifkan dukungan akselerator di Linux. Driver ini di-mainline kembali untuk Linux 5.6 tetapi hanya dengan Linux 5.18+ yang memiliki dukungan antrean perangkat lunak dan fitur/peningkatan lainnya. Jadi jika ingin menggunakan driver IDXD arus utama, disarankan menggunakan Linux 5.18 atau yang lebih baru. . Satu masalah yang saya alami minggu ini dengan pengujian akselerator adalah awalnya saat menggunakan accel-config (didokumentasikan nanti di artikel ini) saya mendapatkan kesalahan saat mencoba mengaktifkan antrian kerja. Setelah menggali dokumentasi Intel, saya menemukan pemberitahuan bahwa INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON dan INTEL_IOMMU_DEFAULT_ON juga harus diaktifkan sebagai bagian dari konfigurasi kernel ... Pengujian saya menggunakan PPA Kernel Mainline Ubuntu di mana opsi default on tidak diaktifkan. Tapi untungnya Anda tidak perlu membangun kembali kernel Anda: jika menemukan kesalahan accel-config atau tidak menemukan sistem yang berfungsi, jika kernel Anda setidaknya dibuat dengan INTEL_IOMMU/INTEL_IOMMU_SVM Anda dapat mem-boot kernel dengan "intel_iommu=on,sm_on " argumen untuk memenuhi persyaratan driver DSA di sekitar IOMMU. Saya berharap orang lain dapat digigit oleh ini serta output access-config tidak membantu atau misalnya tidak secara proaktif memindai konfigurasi Kconfig untuk memberi tahu pengguna bahwa itu mungkin pelakunya - saya baru menyadari setelah menggali melalui dokumentasi.





Dengan driver kernel IDXD yang ada di sistem Anda, indikator awal dukungan akselerator dapat ditemukan dengan melihat keluaran dmesg untuk baris di sekitar "Intel(R) Accelerator Device" atau hanya dengan melihat "idxd" hits.



When menghadapi server Linux dengan dukungan akselerator dan driver IDXD dimuat, Anda harus menemukan direktori di bawah /sys/bus/dsa/devices/dsa* untuk masing-masing perangkat akselerator.





Itulah berita seputar Menyiapkan Intel 4th Gen Xeon Scalable "Sapphire Rapids" Untuk Penggunaan Akselerator, semoga bermanfaat. Disadur dari Phoronix.com.
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