Paket perangkat lunak ini menyediakan dukungan dasar untuk Intel(R) Resource Director Technology (Intel(R) RDT) dan Intel(R) I/O Resource Director Technology (Intel(R) I/O RDT) termasuk: Cache Monitoring Technology (CMT) , Pemantauan Bandwidth Memori (MBM), Teknologi Alokasi Cache (CAT), Prioritas Kode dan Data (CDP) dan Alokasi Bandwidth Memori (MBA).
Pada prinsipnya, perangkat lunak memprogram teknologi melalui Model Spesifik Register (MSR) berdasarkan thread perangkat keras. Akses MSR diatur melalui driver sistem operasi standar: msr di Linux dan cpuctl di FreeBSD. Dalam implementasi arsitektur yang paling umum, keberadaan teknologi dideteksi melalui instruksi CPUID.
Dalam sejumlah kasus khusus yang terbatas ketika CAT tidak didukung secara arsitektural pada SKU tertentu (tetapi ada implementasi non-arsitektur (khusus model)), hal ini dapat dideteksi melalui string merek. String merek ini dibaca dari CPUID dan dibandingkan dengan tabel SKU yang diketahui didukung. Jika diperlukan, pemeriksaan terakhir adalah menyelidiki MSR tertentu untuk menemukan kemampuan perangkat keras, namun disarankan agar enumerasi CPUID digunakan sedapat mungkin.
Dari perangkat lunak versi v1.0.0 perpustakaan menambahkan opsi untuk menggunakan Intel(R) RDT melalui antarmuka OS yang tersedia (perf dan resctrl di Linux). Perpustakaan mendeteksi keberadaan antarmuka ini dan memungkinkan untuk memilih yang diinginkan melalui opsi konfigurasi. Hasilnya, alat yang sudah ada seperti 'pqos' atau 'rdtset' juga dapat digunakan untuk mengelola Intel(R) RDT dengan cara yang kompatibel dengan OS. Pada rilis v4.3.0, antarmuka OS menjadi opsi default. Pembungkus alat 'pqos' telah ditambahkan untuk membantu pemilihan antarmuka. 'pqos-os' dan 'pqos-msr' masing-masing untuk operasi antarmuka OS dan MSR.
Opsi waktu kompilasi API PID telah dihapus dan API selalu tersedia. Perhatikan bahwa pengoperasian API ini dengan benar bergantung pada ketersediaan dan pemilihan antarmuka OS.
Paket perangkat lunak ini dipelihara, diperbarui, dan dikembangkan di https://github.com/intel/intel-cmt-cat
https://github.com/intel/intel-cmt-cat/wiki menyediakan FAQ, contoh penggunaan, dan tautan bermanfaat.
Silakan merujuk ke file INSTALL untuk instruksi instalasi paket.
direktori "lib":
Termasuk file perpustakaan perangkat lunak yang menyediakan API untuk deteksi, pemantauan, dan alokasi teknologi. Silakan merujuk ke perpustakaan README untuk lebih jelasnya (lib/README).
Direktori “lib/perl”:
Termasuk pembungkus Perl perpustakaan PQoS. Silakan merujuk ke antarmuka README untuk lebih jelasnya (lib/Perl/README).
Direktori “lib/python”:
Termasuk pustaka PQoS pembungkus Python 3.x. Silakan merujuk ke antarmuka README untuk lebih jelasnya (lib/python/README.md).
direktori "pqos":
Termasuk file sumber untuk utilitas yang menyediakan akses baris perintah ke Intel(R) RDT. Tautan utilitas ke perpustakaan dan memprogram teknologi melalui API-nya. Silakan merujuk ke utilitas README untuk rincian lebih lanjut "pqos/README". Halaman manual utilitas "pqos" juga menyediakan informasi tentang penggunaan alat: $ man pqos
direktori "rdtset":
Termasuk file sumber untuk utilitas yang menyediakan fungsionalitas seperti "kumpulan tugas" untuk konfigurasi RDT. Tautan utilitas ke perpustakaan dan memprogram teknologi melalui API-nya. Silakan merujuk ke utilitas README untuk rincian lebih lanjut "rdtset/README". Halaman manual utilitas "rdtset" juga menyediakan informasi tentang penggunaan alat: $ man rdtset
direktori "appqos":
Termasuk file sumber untuk aplikasi yang memungkinkan untuk mengelompokkan aplikasi ke dalam kumpulan berdasarkan prioritas. Setiap kumpulan diberi konfigurasi Intel(R) RDT dan Intel(R) SST yang dapat diatur saat startup atau saat runtime melalui REST API. Silakan merujuk ke aplikasi README untuk lebih jelasnya "appqos/README".
Direktori "appqos_client":
Termasuk file sumber untuk aplikasi web klien App QoS. Aplikasi ini menyediakan antarmuka pengguna yang sederhana untuk mengonfigurasi Intel(R) RDT dan Intel(R) SST dari jarak jauh pada sistem tempat App QoS berjalan. Silakan merujuk ke aplikasi README untuk lebih jelasnya "appqos_client/README".
direktori "contoh":
Termasuk contoh C dan Perl penggunaan Intel(R) RDT melalui API perpustakaan. Silakan merujuk ke file README untuk detail lebih lanjut "contoh/README".
direktori "snmp":
Termasuk subagen Net-SNMP AgentX yang ditulis dalam Perl untuk mendemonstrasikan penggunaan API pembungkus Perl perpustakaan PQoS. Silakan merujuk ke file README untuk detail lebih lanjut "snmp/README".
direktori "alat":
Termasuk alat membw untuk menekankan bandwidth memori dengan operasi berbeda.
direktori "srpm":
Termasuk file *.src *.rpm dan *.spec untuk paket perangkat lunak.
Berkas "Log Perubahan":
Deskripsi singkat tentang perubahan antar rilis.
Berkas "PASANG":
Petunjuk instalasi.
Berkas "LISENSI":
Lisensi paket.
direktori "unit-test":
Tes satuan
Produk yang didukung dapat ditemukan di Adendum A Spesifikasi Arsitektur Intel® Resource Director Technology (Intel® RDT): https://www.intel.com/content/www/us/en/content-details/789566/intel-resource -direktur-teknologi-intel-rdt-spesifikasi-arsitektur.html
Adendum B berisi daftar prosesor dengan Fitur Intel® RDT khusus model.
Catatan: Deteksi fitur khusus model memerlukan variabel lingkungan RDT_PROBE_MSR
untuk disetel saat menggunakan perpustakaan dan utilitas. Fitur-fitur ini hanya tersedia saat menggunakan antarmuka MSR. Lihat bagian "Antarmuka" di bawah untuk informasi lebih lanjut. Lihat wiki untuk contoh penggunaan.
Untuk detail tambahan Intel(R) RDT silakan merujuk ke Manual Pengembangan Perangkat Lunak Arsitektur Intel(R) yang tersedia di: https://www.intel.com/content/www/us/en/develop/download/intel-64-and -ia-32-architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4.html Informasi spesifik dapat ditemukan di volume 3a, Bab 17.18 dan 17.19.
Linux adalah sistem operasi utama yang didukung saat ini. Terdapat port FreeBSD pada perangkat lunak namun karena ruang lingkup validasi yang terbatas, maka tahap ini masih bersifat eksperimental. Meskipun sebagian besar kernel Linux modern menyertakan dukungan untuk Intel(R) RDT, paket perangkat lunak Intel(R) RDT sudah ada sebelum ekstensi ini dan dapat beroperasi dengan dan tanpa dukungan kernel. Perangkat lunak Intel(R) RDT dapat mendeteksi dan memanfaatkan ekstensi kernel ini bila tersedia untuk menambah fungsionalitas, namun juga kompatibel dengan kernel lama.
Dukungan kernel Linux untuk Intel(R) RDT awalnya diperkenalkan dengan ekstensi panggilan sistem kinerja Linux untuk CMT dan MBM. Baru-baru ini, antarmuka Resctrl menambahkan dukungan untuk CAT, CDP dan MBA. Pada kernel Linux modern, disarankan untuk menggunakan antarmuka kernel/OS jika tersedia. Detail tentang antarmuka ini dapat ditemukan di resctrl_ui.txt. Paket perangkat lunak ini, Intel(R) RDT, tetap bekerja dengan lancar di semua versi kernel Linux.
Pustaka dan utilitas perangkat lunak Intel(R) RDT menawarkan dua antarmuka untuk memprogram teknologi Intel(R) RDT, yaitu antarmuka MSR & OS.
Antarmuka MSR digunakan untuk mengkonfigurasi platform dengan memprogram perangkat keras (MSR) secara langsung. Ini adalah antarmuka lama dan tidak memerlukan dukungan kernel untuk Intel(R) RDT tetapi terbatas pada pemantauan dan pengelolaan sumber daya per inti.
Antarmuka OS kemudian ditambahkan ke paket dan ketika dipilih, perpustakaan akan memanfaatkan ekstensi kernel Linux untuk memprogram teknologi ini. Hal ini memungkinkan pemantauan dan pengelolaan sumber daya per inti/proses dan harus digunakan bila tersedia.
Silakan lihat tabel di bawah untuk informasi lebih lanjut tentang kapan dukungan fitur Intel(R) RDT (MSR & OS) ditambahkan ke paket.
Versi Intel(kanan) RDT | Fitur RDT diaktifkan | Versi kernel diperlukan |
---|---|---|
0.1.3 | L3 KUCING, CMT, MBM | Setiap |
0.1.4 | L3 CDP | Setiap |
0.1.5 | L2 KUCING | Setiap |
1.2.0 | MBA | Setiap |
2.0.0 | L2 CDP | Setiap |
5.0.0 | I/O RDT | Setiap |
Versi Intel(kanan) RDT | Fitur RDT diaktifkan | Versi kernel diperlukan | Antarmuka yang direkomendasikan |
---|---|---|---|
0.1.4 | CMT (Perf) | 4.1 | MSR (1) |
1.0.0 | MBM (Perf) | 4.7 | MSR (1) |
1.1.0 | L3 CAT, L3 CDP, L2 CAT (Resctrl) | 4.10 | OS untuk alokasi saja (dengan pengecualian MBA) MSR untuk alokasi + pemantauan (2) |
1.2.0 | MBA (Resctrl) | 4.12 | OS untuk alokasi saja MSR untuk alokasi + pemantauan (2) |
2.0.0 | CMT, MBM (Resctrl) | 4.14 | sistem operasi |
2.0.0 | L2 CDP | 4.16 | sistem operasi |
3.0.0 | MBA CTRL (Resctrl) | 4.18 | sistem operasi |
Referensi:
Satu-satunya dependensi Intel(R) RDT adalah akses ke pustaka C dan pthreads dan:
Aktifkan dukungan Intel(R) RDT di:
Catatan: Tidak diperlukan opsi konfigurasi kernel sebelum v4.10.
Singkatnya, penggunaan perangkat lunak Intel(R) RDT atau PCM bersama dengan kinerja Linux dan kerangka kerja cgroup tidak diperbolehkan saat ini.
Meskipun mengecewakan, penggunaan kinerja Linux untuk CMT & MBM dan Intel(R) RDT untuk CAT & CDP tidak diperbolehkan. Hal ini karena kinerja Linux mengesampingkan konfigurasi CAT yang ada selama operasinya.
Ada sejumlah opsi yang dapat dipilih untuk menggunakan CAT:
Tabel 4. Matriks interoperabilitas perangkat lunak
Intel(kanan)RDT | PCM | Kinerja Linux | grup Linux | Linux memeriksa ulang | |
---|---|---|---|---|---|
Intel(kanan)RDT | Ya(1) | Ya(2) | Ya(5) | TIDAK | Ya(5) |
PCM | Ya(2) | Ya | TIDAK | TIDAK | TIDAK |
Kinerja Linux | Ya(5) | TIDAK | Ya | Ya(3) | Ya |
grup Linux | TIDAK | TIDAK | Ya | Ya(3) | TIDAK |
Pemulihan Linux (4) | Ya(5) | TIDAK | Ya | TIDAK | Ya |
Referensi:
pemantauan pqos dari Intel(R) RDT dapat mendeteksi proses pemantauan pqos lainnya dalam sistem. rdtset dari Intel(R) RDT mendeteksi proses lain yang dimulai dengan rdtset dan tidak akan menggunakan sumber daya CAT/CDP-nya.
pqos dari Intel(R) RDT dapat mendeteksi bahwa PCM memantau inti dan tidak akan mencoba membajak inti kecuali jika dipaksa. Namun, jika pemantauan pqos dimulai terlebih dahulu dan kemudian PCM dimulai maka PCM akan membajak infrastruktur pemantauan dari pqos untuk penggunaannya.
Patch kernel cgroup Linux https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt
Kernel Linux versi 4.10 dan yang lebih baru. Wiki untuk Intel resctrl tersedia di: https://github.com/intel/intel-cmt-cat/wiki/resctrl
Hanya dengan kernel Linux versi 4.10 (dan lebih baru), Intel(R) RDT versi 1.0.0 (dan lebih baru) dengan antarmuka OS yang dipilih Lihat opsi '-I' di 'man pqos' atau 'pqos-os'.
PCM tersedia di: https://github.com/opcm/pcm
Tabel 5. Status pengaktifan perangkat lunak Intel(R) RDT.
Inti | Tugas | CMT | MBM | L3 KUCING | L3 CDP | L2 KUCING | MBA | |
---|---|---|---|---|---|---|---|---|
Intel(kanan)RDT | Ya | Ya(7) | Ya | Ya | Ya | Ya | Ya | Ya |
Kinerja Linux | Ya(6) | Ya | Ya(1) | Ya(2) | Tidak(3) | Tidak(3) | Tidak(3) | TIDAK |
grup Linux | TIDAK | Ya | TIDAK | TIDAK | Ya(4) | TIDAK | TIDAK | TIDAK |
Pemulihan Linux (5) | Ya | Ya | Ya(8) | Ya(8) | Ya | Ya | Ya | Ya(9) |
Legenda:
Referensi:
PERANGKAT LUNAK INI DISEDIAKAN OLEH INTEL "SEBAGAIMANA ADANYA". TIDAK ADA LISENSI, TERSURAT MAUPUN TERSIRAT, OLEH ESTOPPEL ATAU LAINNYA, TERHADAP HAK KEKAYAAN INTELEKTUAL APA PUN YANG DIBERIKAN MELALUI PENGGUNAAN. KECUALI SEPERTI YANG DISEDIAKAN DALAM SYARAT DAN KETENTUAN PENJUALAN INTEL, INTEL TIDAK BERTANGGUNG JAWAB APA PUN DAN INTEL MENOLAK JAMINAN TERSURAT MAUPUN TERSIRAT, TERKAIT DENGAN PENJUALAN DAN/ATAU PENGGUNAAN PRODUK INTEL TERMASUK TANGGUNG JAWAB ATAU JAMINAN TERKAIT KESESUAIAN UNTUK TUJUAN TERTENTU, KELAYAKAN UNTUK DIPERDAGANGKAN, ATAU PELANGGARAN TERHADAP PATEN, HAK CIPTA ATAU HAK KEKAYAAN INTELEKTUAL LAINNYA.