Dokumen ini menjelaskan perilaku, penagihan, dan batasan dari Performance Monitoring Unit (PMU) di Compute Engine. PMU tersedia hanya pada instance virtual machine (VM) C4.
PMU adalah komponen perangkat keras di dalam inti CPU yang memantau bagaimana prosesor menjalankan kode. Dengan mengaktifkan PMU di VM C4, Anda dapat menggunakan software pemantauan performa di VM untuk mengakses performa PMU penghitung. Penghitung ini membantu Anda mengidentifikasi dan mengatasi masalah performa dalam software yang berjalan pada VM Anda. Informasi ini berguna untuk mengoptimalkan yang sensitif terhadap performa, seperti komputasi berperforma tinggi (HPC) atau workload machine learning (ML).
Cara kerja PMU
PMU terdiri dari satu set penghitung perangkat keras yang disebut pemantauan kinerja penghitung (PMC). Penghitung ini register khusus model yang menghitung setiap kali peristiwa prosesor level rendah, seperti kesalahan prediksi cabang atau cache tidak ditemukan, terjadi di dalam CPU. Anda dapat membaca dan mengkonfigurasi PMC di PMU dengan menggunakan perangkat lunak pemantauan kinerja seperti Intel VTune Profiler.
Secara default, PMU dinonaktifkan di dalam VM. Untuk mengaktifkannya, tentukan jenis peristiwa CPU level rendah untuk dilacak dengan mengaktifkan salah satu jenis PMU berikut:
Arsitektur (
ARCHITECTURAL
): Anda dapat mengukur hal berikut peristiwa performa arsitektur:Petunjuk cabang dihentikan: Jumlah petunjuk cabang pensiunan. Gunakan peristiwa ini untuk mengukur eksekusi kode dan mengidentifikasi potensi bottleneck performa.
Cabang yang gagal dihentikan: Jumlah instruksi cabang yang salah diprediksi, yang menyebabkan prosesor berhenti dan membuang data yang petunjuk. Jika Anda melihat angka yang tinggi untuk peristiwa ini, Anda dapat bisa mengoptimalkan performa CPU.
Petunjuk dihentikan: Jumlah petunjuk yang dijalankan CPU berhasil diproses. Gunakan peristiwa ini untuk mengukur instruksi CPU yang konsisten.
Slot top down: Jumlah slot yang tersedia dalam prosesor yang digunakan untuk mengeksekusi instruksi secara bersamaan. Gunakan ini peristiwa untuk memahami seberapa efisien kode Anda dalam menggunakan Google Cloud Platform.
Siklus inti yang tidak terganggu: Jumlah siklus inti saat thread tidak dihentikan—misalnya, karena gangguan atau manajemen daya. Gunakan kejadian ini untuk mengevaluasi penggunaan prosesor secara keseluruhan.
Siklus referensi yang tidak terhalang: Jumlah siklus referensi saat inti tidak dihentikan—misalnya, saat mengambil data atau petunjuk. Core dihentikan ketika menjalankan Petunjuk
HLT
atauMWAIT
. Siklus referensi beroperasi pada frekuensi tetap, yang memberikan waktu yang stabil referensi bahkan saat kecepatan prosesor berubah untuk menghemat energi. Gunakan peristiwa ini untuk mengukur waktu yang dihabiskan untuk suatu tugas dan mengidentifikasi bottleneck performa dalam kode Anda.
Standar (
STANDARD
): Anda dapat mengukur semua peristiwa dari Jenis PMU dan semua peristiwa lokal di dalam core CPU, termasuk level 2 (L2) peristiwa cache.Disempurnakan (
ENHANCED
): Anda dapat mengukur semua peristiwa dari PMU Standar jenis peristiwa lokal apa pun di luar core CPU, termasuk cache level 3 (L3) peristiwa.
Setelah Anda mengaktifkan PMU di VM, PMU akan berjalan di latar belakang, memantau peristiwa kinerja menggunakan PMC. Anda dapat secara opsional mengonfigurasi minimum untuk PMC tertentu menggunakan pemantauan performa pilihan Anda {i>software<i}. Jika PMC melebihi ambang batas yang ditetapkan, maka PMU memberi tahu {i>software<i}.
Batasan
Untuk PMU, batasan berikut berlaku:
Anda hanya dapat mengaktifkan PMU di VM C4 yang menentukan paket Intel Xeon Scalable Processor (Emerald Rapids) generasi ke-5, yang ditentukan oleh VM C4 secara default. Untuk mengetahui daftar lengkap peristiwa performa yang didukung untuk platform CPU ini, lihat emeraldrapids_core.json.
Anda hanya dapat mengaktifkan jenis Enhanced PMU di jenis mesin C4 dengan 96 atau 192 per vCPU.
Harga
Tidak ada biaya terkait pengaktifan atau penonaktifan PMU di VM.
Langkah selanjutnya
- Pelajari cara mengaktifkan PMU di VM.