Dokumen ini menjelaskan perilaku, penagihan, dan batasan unit pemantauan performa (PMU) di Compute Engine. PMU hanya tersedia di instance virtual machine (VM) C4.
PMU adalah komponen hardware dalam core CPU yang memantau cara prosesor menjalankan kode. Dengan mengaktifkan PMU di VM C4, Anda dapat menggunakan software pemantauan performa di VM untuk mengakses penghitung performa PMU. Penghitung ini membantu Anda mengidentifikasi dan mengatasi masalah performa dalam software yang berjalan di VM. Informasi ini berguna untuk mengoptimalkan workload yang sensitif terhadap performa, seperti workload komputasi berperforma tinggi (HPC) atau machine learning (ML).
Cara kerja PMU
PMU terdiri dari serangkaian penghitung hardware yang disebut penghitung pemantauan performa (PMC). Penghitung ini adalah register khusus model yang menghitung setiap kali peristiwa prosesor tingkat rendah, seperti kesalahan prediksi cabang atau cache yang tidak ditemukan, terjadi dalam CPU. Anda dapat membaca dan mengonfigurasi PMC di PMU menggunakan software pemantauan performa seperti Intel VTune Profiler.
Secara default, PMU dinonaktifkan dalam VM. Untuk mengaktifkannya, tentukan jenis peristiwa CPU tingkat rendah yang akan dilacak dengan mengaktifkan salah satu jenis PMU berikut:
Arsitektur (
ARCHITECTURAL
): Anda dapat mengukur peristiwa performa arsitektur berikut:Petunjuk cabang dihentikan: Jumlah petunjuk cabang yang dihentikan. Gunakan peristiwa ini untuk mengukur eksekusi kode dan mengidentifikasi potensi bottleneck performa.
Branch misses retired: Jumlah petunjuk cabang yang salah diprediksi, menyebabkan prosesor terhenti dan menghapus petunjuk yang diambil. Jika Anda melihat angka yang tinggi untuk peristiwa ini, Anda mungkin dapat mengoptimalkan performa CPU.
Instruksi yang dihentikan: Jumlah instruksi yang berhasil diproses oleh CPU. Gunakan peristiwa ini untuk mengukur throughput perintah CPU.
Slot top down: Jumlah slot yang tersedia dalam pipeline prosesor yang digunakan untuk menjalankan petunjuk secara bersamaan. Gunakan peristiwa ini untuk memahami seberapa efisien kode Anda menggunakan resource prosesor.
Siklus core yang tidak dihentikan: Jumlah siklus core saat thread tidak dihentikan—misalnya, karena pengelolaan daya atau interupsi. Gunakan peristiwa ini untuk mengevaluasi penggunaan pemroses secara keseluruhan.
Siklus referensi yang tidak dihentikan: Jumlah siklus referensi saat inti tidak dihentikan—misalnya, saat mengambil data atau petunjuk. Core dihentikan saat menjalankan petunjuk
HLT
atauMWAIT
. Siklus referensi beroperasi pada frekuensi tetap, memberikan referensi waktu yang stabil meskipun kecepatan prosesor berubah untuk menghemat energi. Gunakan peristiwa ini untuk mengukur waktu yang dihabiskan untuk tugas dan mengidentifikasi bottleneck performa dalam kode Anda.
Standar (
STANDARD
): Anda dapat mengukur semua peristiwa dari jenis Architectural PMU dan peristiwa lokal apa pun di dalam core CPU, termasuk peristiwa cache level 2 (L2).Tingkat lanjut (
ENHANCED
): Anda dapat mengukur semua peristiwa dari jenis PMU Standar, peristiwa lokal apa pun di luar core CPU, termasuk peristiwa cache level 3 (L3).
Setelah Anda mengaktifkan PMU di VM, PMU akan berjalan di latar belakang, terus memantau peristiwa performa menggunakan PMC. Anda dapat mengonfigurasi nilai minimum untuk PMC tertentu menggunakan software monitoring performa pilihan Anda. Jika PMC melebihi nilai minimum yang ditetapkan, PMU akan memberi tahu software.
Batasan
Untuk PMU, batasan berikut berlaku:
Anda hanya dapat mengaktifkan PMU di VM C4 yang menentukan Prosesor Intel Xeon Scalable (Emerald Rapids) generasi ke-5, yang ditentukan 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 PMU yang Disempurnakan di jenis mesin C4 dengan 96 atau 192 vCPU.
Harga
Tidak ada biaya yang terkait dengan mengaktifkan atau menonaktifkan PMU di VM.
Langkah selanjutnya
- Pelajari cara mengaktifkan PMU di VM.