Memahami vCPU

Compute Engine menetapkan vCPU ke instance virtual machine (VM) atau bare metal Anda saat Anda membuatnya. Dokumen ini menjelaskan cara vCPU dipetakan ke hardware fisik untuk membantu Anda mengoptimalkan performa, mengelola biaya, dan mematuhi persyaratan pemberian lisensi software.

Memahami vCPU

CPU virtual (vCPU) mewakili unit daya unit pemrosesan pusat (CPU) yang ditetapkan ke instance komputasi Anda. Bergantung pada arsitektur prosesor yang mendasarinya, vCPU dijadwalkan untuk berjalan di satu thread eksekusi hardware atau di seluruh core CPU fisik khusus.

vCPU adalah bagian dari platform CPU. Platform CPU adalah konfigurasi berbasis CPU yang mencakup hal berikut:

  • Jenis prosesor CPU
  • Set instruksi (seperti AVX2 dan AVX-512)
  • Ukuran cache
  • Kecepatan clock
  • Pemisahan NUMA
  • Waktu pencarian akses memori
  • Akselerator on-chip

Mengalokasikan vCPU ke instance komputasi

Untuk membuat VM atau instance bare metal (secara kolektif disebut sebagai instance komputasi), Anda menggunakan jenis mesin. Jenis mesin menentukan resource yang dialokasikan Compute Engine ke instance. Misalnya, jenis mesin c4-standard-4 membuat VM dengan 4 vCPU dan memori 16 GB.

Untuk membantu Anda memilih jenis mesin yang tepat untuk workload Anda, Compute Engine mengelompokkan jenis mesin ke dalam kelompok mesin dan seri mesin.

  • Kelompok mesin: serangkaian konfigurasi prosesor dan hardware pilihan yang dioptimalkan untuk workload tertentu, misalnya, Tujuan umum, Dioptimalkan untuk akselerator, atau Dioptimalkan untuk memori.
  • Seri mesin: kombinasi spesifik dari prosesor CPU, hardware, dan kemampuan jaringan dalam kelompok mesin. Setiap seri berfokus pada aspek daya atau performa komputasi yang berbeda. Misalnya, seri E menawarkan VM yang efisien dengan biaya rendah, sedangkan seri C menawarkan performa yang lebih baik dan lebih konsisten daripada seri E.

    • Seri mesin dapat memiliki beberapa generasi, seperti C3 dan C4. Nomor generasi atau seri yang lebih tinggi menunjukkan prosesor atau teknologi CPU dasar yang lebih baru. Misalnya, seri M4, yang berjalan pada prosesor Intel Xeon generasi ke-5 (juga dikenal sebagai Emerald Rapids), adalah generasi yang lebih baru daripada seri mesin M3, yang berjalan pada prosesor Intel Xeon generasi ke-3 (juga dikenal sebagai Ice Lake).
    • Arsitektur yang mendasari seri mesin dan jenis mesin ditunjukkan dengan huruf di akhir nama seri mesin. Misalnya, seri mesin C generasi ke-4 tersedia sebagai C4 (Intel), C4D (AMD), C4A (Arm), atau C4N (dioptimalkan untuk jaringan).

Pemetaan core fisik dan multithreading simultan

Pada sebagian besar prosesor x86, setiap core CPU fisik mendukung dua thread eksekusi hardware. Prosesor Intel Xeon menggunakan Intel Hyper-Threading dan prosesor AMD EPYC menggunakan multithreading simultan (SMT). Untuk prosesor ini, Compute Engine mengimplementasikan setiap vCPU sebagai satu thread hardware yang berjalan pada core fisik. Dengan demikian, dua vCPU berbagi satu inti CPU fisik (rasio vCPU terhadap inti fisik 2:1). Misalnya, VM dengan 4 vCPU menggunakan 2 core CPU fisik dengan SMT.

Pada seri mesin dan arsitektur prosesor tertentu, Compute Engine tidak menggunakan SMT. Sebagai gantinya, setiap vCPU dipetakan langsung ke satu inti CPU fisik khusus (rasio 1:1 antara vCPU dan inti fisik):

  • Prosesor Arm: pada seri mesin berbasis Arm64 seperti N4A, C4A, atau A4X, arsitektur hardware menggunakan core single-thread. Setiap vCPU mewakili satu core fisik penuh.
  • Seri mesin yang dioptimalkan untuk komputasi: seri mesin H4D dan H3 tidak mendukung SMT. Setiap vCPU mewakili seluruh core CPU fisik, yang memberikan performa thread tunggal yang tinggi dan menghilangkan pertentangan resource antar-thread.
  • Seri mesin Tau: untuk seri mesin Tau T2A (didukung oleh prosesor Ampere Altra) dan Tau T2D (didukung oleh prosesor AMD EPYC Milan generasi ke-3), Compute Engine menonaktifkan SMT secara default. Jenis instance komputasi ini selalu memiliki satu vCPU per core.
  • Instance bare metal: untuk instance bare metal, vCPU setara dengan CPU. Jumlah vCPU yang tersedia untuk instance setara dengan jumlah thread hardware di server host. Anda tidak dapat menyesuaikan atau menetapkan thread per core secara manual.

Untuk memenuhi persyaratan workload atau pemberian lisensi software tertentu, Anda dapat menyesuaikan tampilan vCPU pada sistem operasi tamu. Untuk mengetahui informasi selengkapnya, lihat Menyesuaikan jumlah inti CPU yang terlihat. Untuk mengetahui daftar seri mesin dan arsitektur yang tidak menggunakan SMT, lihat Menetapkan jumlah thread per core.

vCPU khusus versus vCPU dengan inti bersama

Saat Anda memilih jenis mesin, vCPU Anda akan dipetakan ke thread hardware CPU atau menggunakan model resource dengan inti bersama:

  • vCPU penuh: jenis mesin standar, bermemori tinggi, ber-CPU tinggi, dan jenis mesin kustom mengalokasikan thread eksekusi hardware atau core fisik untuk setiap vCPU.
    • Untuk seri mesin N4, N4A, N4D, dan E2 dalam kelompok mesin tujuan umum, sistem pengelolaan resource dinamis (DRM) memastikan bahwa setiap vCPU aktif memiliki thread eksekusi hardware yang tersedia untuk mendukungnya. DRM memungkinkan Compute Engine menggunakan CPU fisik yang tersedia secara lebih baik, dengan menjadwalkan instance komputasi ke server berdasarkan permintaan resource, dan menjadwalkan thread vCPU ke CPU fisik sedemikian rupa sehingga waktu tunggu dapat diminimalkan. Seri mesin N1, N2, dan N2D dalam kelompok mesin tujuan umum menggunakan penjadwalan host standar.
    • Untuk seri mesin C, M, G, Z, dan A, resource vCPU ditetapkan secara eksklusif ke instance Anda dan tidak pernah berbagi siklus eksekusi dengan instance komputasi lainnya.
  • vCPU inti bersama: jenis mesin dengan inti bersama adalah e2-micro, e2-small, e2-medium, f1-micro, dan g1-small. Jenis mesin ini berbagi waktu inti CPU fisik menggunakan pengalihan konteks. Alih-alih thread hardware khusus, VM dengan inti bersama ini mempertahankan sebagian waktu inti fisik tertentu:

    • e2-micro mempertahankan 2 vCPU masing-masing sebesar 12,5% dari waktu CPU (total 25%).
    • e2-small mempertahankan 2 vCPU, masing-masing sebesar 25% dari waktu CPU (total 50%).
    • e2-medium mempertahankan 2 vCPU, masing-masing 50% dari waktu CPU (total 100%).
    • f1-micro mempertahankan 1 vCPU hingga 20% dari waktu CPU.
    • g1-small mempertahankan 1 vCPU hingga 50% dari waktu CPU.

    Dibandingkan dengan VM yang memiliki vCPU penuh, VM dengan vCPU inti bersama memberikan opsi yang hemat biaya untuk menjalankan aplikasi kecil yang tidak intensif resource, microservice, atau workload pengembangan atau pengujian yang tidak memerlukan throughput CPU puncak yang berkelanjutan.

Karakteristik performa vCPU

Performa pemrosesan vCPU bergantung pada platform CPU, kecepatan clock, hierarki cache, dinamika multi-threading, dan penjadwalan resource.

Platform CPU dan kumpulan petunjuk

Compute Engine menawarkan instance komputasi yang berjalan di beberapa generasi prosesor Intel, AMD, Arm, dan Google kustom. Setiap platform CPU memperkenalkan peningkatan mikroarsitektur dan kumpulan petunjuk khusus:

  • Advanced Vector Extensions (AVX-512): tersedia di platform Intel (seperti Ice Lake, Emerald Rapids, dan Sapphire Rapids) dan platform AMD EPYC (Genoa dan Turin), AVX-512 mempercepat matematika vektor, komputasi ilmiah, dan kompresi data.
  • AMX dan VNNI: Ekstensi ini mempercepat inferensi deep learning dan operasi matriks langsung di vCPU.
    • Advanced Matrix Extensions (AMX) tersedia di prosesor Intel (Intel Xeon Sapphire Rapids generasi ke-4 dan yang lebih baru).
    • Vector Neural Network Instructions (VNNI) tersedia di prosesor Intel dan AMD EPYC (Genoa Generasi ke-4 dan yang lebih baru).
  • Arm NEON dan SVE: Arm NEON, yang tersedia di platform CPU Ampere Altra, dan Scalable Vector Extension (SVE), yang tersedia di platform CPU Google Axion dan NVIDIA Grace, menyediakan eksekusi vektor yang skalabel untuk workload web berbasis cloud.

Kecepatan clock dan frekuensi turbo

vCPU mengeksekusi petunjuk pada frekuensi clock dasar prosesor fisik yang mendasarinya. Saat workload memerlukan daya pemrosesan tambahan dan headroom termal memungkinkan, prosesor akan otomatis meningkatkan frekuensi ke frekuensi turbo all-core atau frekuensi turbo single-core.

Seri mesin tertentu beroperasi pada kecepatan clock berkelanjutan tertinggi di Compute Engine. Misalnya, C4 yang berjalan di Granite Rapids memiliki frekuensi turbo semua inti hingga 3,9 GHz, dan A3 Mega atau A3 High memiliki frekuensi turbo semua inti hingga 3,8 GHz. Pilih vCPU frekuensi tinggi untuk aplikasi single-threaded, otomatisasi desain elektronik (EDA), dan server game.

Untuk melihat frekuensi setiap platform CPU yang digunakan oleh Compute Engine, lihat platform CPU.

Berbagi resource multi-threading

Pada jenis mesin dengan SMT aktif (2 vCPU per core), dua thread eksekusi hardware berbagi cache petunjuk dan data Level 1 (L1), cache Level 2 (L2), unit eksekusi, dan translation lookaside buffer (TLB) dari core fisik.

  • Workload serentak dan terikat I/O: untuk server web, gateway API, dan operasi database dengan akses memori yang sering, SMT meningkatkan throughput inti secara keseluruhan dengan menjalankan petunjuk pada satu thread sementara thread lainnya menunggu pengambilan memori.
  • Workload terikat komputasi: untuk aplikasi yang terus-menerus memenuhi unit floating point atau cache L1/L2, berbagi unit eksekusi antara dua vCPU dapat menyebabkan pertentangan resource. Jika workload Anda mengalami pertentangan pada instance komputasi yang mendukung SMT, pertimbangkan untuk menonaktifkan SMT dengan menetapkan thread per core ke 1 atau bermigrasi ke seri mesin dengan core fisik khusus (seperti C4A atau H4D).

Pengelolaan resource dinamis dan pemantauan performa

Compute Engine menggunakan pengoptimalan hardware dan software khusus untuk mempertahankan latensi vCPU yang dapat diprediksi:

  • Arsitektur Google Titanium: seri mesin generasi berikutnya (termasuk N4, N4D, N4A, C3, C3D, dan C4) menggunakan kartu offload Google Titanium, penjadwal CPU kustom, dan migrasi langsung yang memperhatikan performa. Pengelolaan resource dinamis mempertahankan afinitas NUMA (Non-Uniform Memory Access) dan meminimalkan gangguan noisy-neighbor.
  • Pengelolaan resource dinamis untuk E2: untuk VM E2, hypervisor secara dinamis memetakan CPU dan memori virtual ke resource fisik sesuai permintaan. Pemetaan dinamis ini mendorong efisiensi biaya dengan mengoptimalkan penggunaan resource fisik.
  • Performance monitoring unit (PMU): Anda dapat mengaktifkan PMU pada seri mesin yang didukung (seperti C4, M4, dan A4X) untuk mengakses penghitung hardware level rendah. Alat pembuatan profil menggunakan penghitung PMU untuk melacak kesalahan prediksi cabang, cache tidak ditemukan, dan petunjuk per siklus (IPC).
  • Agen Operasional: Anda dapat menginstal Agen Operasional di instance komputasi untuk memantau pemakaian CPU dan mengumpulkan telemetri tingkat sistem. Agen Operasional mengirimkan data ini ke Google Cloud Observability untuk membantu Anda menganalisis dan mengoptimalkan performa vCPU.

Pertimbangan harga

Saat Anda menganggarkan dan merencanakan kapasitas untuk workload, pertimbangkan cara Compute Engine menagih vCPU dan model diskon yang tersedia.

Perincian penagihan resource

Untuk sebagian besar seri mesin, Compute Engine menagih vCPU dan memori sistem sebagai resource khusus yang terpisah. Anda membayar instance per detik, dengan durasi penagihan minimum 1 menit untuk setiap instance komputasi yang Anda mulai. Setelah menit pertama, Anda hanya membayar untuk detik yang tepat saat instance Anda tetap berjalan.

Untuk jenis mesin dengan inti bersama (seperti E2 dengan inti bersama dan N1 dengan inti bersama), Compute Engine menggabungkan vCPU dan memori ke dalam satu tarif per jam gabungan, bukan menagihnya sebagai resource individual.

Anda dapat meninjau tarif penagihan vCPU di halaman Harga instance VM.

Pengoptimalan biaya dan diskon

Anda dapat mengurangi biaya penagihan vCPU dengan menggunakan opsi harga berikut:

  • Diskon abonemen (DA): jika workload Anda memiliki persyaratan vCPU yang stabil dan dapat diprediksi, Anda dapat membeli komitmen 1 tahun atau 3 tahun untuk menerima diskon hingga 55% hingga 70% dari harga on-demand. Compute Engine menawarkan DA berbasis resource untuk seri mesin tertentu di suatu region dan DA fleksibel berbasis pengeluaran yang berlaku di beberapa seri mesin dan region. Anda dapat membagikan CUD di seluruh project dalam akun Penagihan Cloud Anda.
  • Diskon untuk penggunaan berkelanjutan (SUD): untuk seri mesin yang memenuhi syarat (seperti N1, N2, N2D, C2, M1, dan M2), Compute Engine otomatis menerapkan SUD saat vCPU Anda berjalan selama lebih dari 25% dari bulan penagihan. Menjalankan instance VM secara terus-menerus selama sebulan penuh akan memberikan diskon hingga 20% atau 30%, bergantung pada seri mesin. Seri mesin dengan harga on-demand yang lebih rendah (termasuk E2, N4, C3, C4, Tau T2A, dan A3) tidak menawarkan SUD.
  • Spot VM: untuk workload fault-tolerant, stateless, atau batch, Spot VM menawarkan diskon hingga 60% hingga 91% dari harga vCPU on-demand standar. Compute Engine dapat menghentikan atau mengklaim kembali Spot VM kapan saja untuk memulihkan kapasitas.
  • Sole-tenant node dan overcommit vCPU: saat menjalankan instance VM di sole-tenant node, Anda membayar server host fisik khusus, bukan vCPU individual. Di sole-tenant node, Anda dapat mengonfigurasi overcommit CPU (hingga rasio 2:1) untuk menjadwalkan lebih banyak vCPU di seluruh instance VM daripada jumlah core yang dimiliki host fisik, sehingga mengurangi biaya komputasi untuk lingkungan developer atau pengujian.
  • Dynamic Workload Scheduler (DWS): untuk workload AI atau ML, Anda dapat mengoptimalkan biaya vCPU dan meningkatkan ketersediaan resource dengan menggunakan DWS.
    • Flex-start VM: gunakan untuk penjadwalan workload yang hemat biaya dan fleksibel yang berjalan hingga 7 hari.
    • Permintaan pemesanan untuk masa mendatang dalam mode kalender: digunakan untuk memesan resource hingga 90 hari pada tanggal dan waktu tertentu di masa mendatang.
  • Rekomendasi penyesuaian ukuran: Compute Engine menganalisis metrik pemakaian vCPU historis dan memberikan rekomendasi jenis mesin otomatis serta rekomendasi instance komputasi yang tidak ada aktivitas. Menerapkan rekomendasi ini akan membantu Anda mengubah ukuran vCPU yang disediakan secara berlebihan atau menghentikan instance yang tidak ada aktivitas.

Ketersediaan seri mesin

Tabel berikut memetakan model arsitektur vCPU, rasio multi-threading, dan jumlah vCPU maksimum di seluruh seri mesin Compute Engine. Jumlah vCPU maksimum mencerminkan jenis mesin terbesar di setiap seri, termasuk instance bare metal.

Kelompok mesin Seri mesin Arsitektur prosesor Rasio vCPU terhadap inti vCPU Maks. Opsi inti bersama
Tujuan umum E2 Intel Xeon / AMD EPYC 2 vCPU : 1 core (SMT) 32 vCPU Ya (e2-micro, e2-small, e2-medium)
Tujuan umum N1 Beberapa generasi prosesor Intel Xeon 2 vCPU : 1 core (SMT) 96 vCPU Ya (f1-micro, g1-small)
Tujuan umum N2 Intel Xeon (Cascade Lake / Ice Lake) 2 vCPU : 1 core (SMT) 128 vCPU Tidak
Tujuan umum N2D AMD EPYC (Rome / Milan) 2 vCPU : 1 core (SMT) 224 vCPU Tidak
Tujuan umum N4 Intel Xeon generasi ke-5 (Emerald Rapids) 2 vCPU : 1 core (SMT) 80 vCPU Tidak
Tujuan umum N4D AMD EPYC (Turin) generasi ke-5 2 vCPU : 1 core (SMT) 96 vCPU Tidak
Tujuan umum N4A Google Axion (Arm64) 1 vCPU : 1 core (Tanpa SMT) 64 vCPU Tidak
Tujuan umum C3 Intel Xeon generasi ke-4 (Sapphire Rapids) 2 vCPU : 1 core (SMT) 176 vCPU Tidak
Tujuan umum C3D AMD EPYC (Genoa) generasi ke-4 2 vCPU : 1 core (SMT) 360 vCPU Tidak
Tujuan umum C4 Intel Xeon generasi ke-5 (Emerald Rapids) dan Intel Xeon generasi ke-6 (Granite Rapids) 2 vCPU : 1 core (SMT) 288 vCPU Tidak
Tujuan umum C4A Google Axion (Arm64) 1 vCPU : 1 core (Tanpa SMT) 96 vCPU Tidak
Tujuan umum C4D AMD EPYC (Turin) generasi ke-5 2 vCPU : 1 core (SMT) 384 vCPU Tidak
Tujuan umum Tau T2A Ampere Altra (Arm64) 1 vCPU : 1 core (Tanpa SMT) 48 vCPU Tidak
Tujuan umum Tau T2D AMD EPYC generasi ke-3 (Milan) 1 vCPU : 1 core (SMT dinonaktifkan) 60 vCPU Tidak
Dioptimalkan untuk komputasi C2 Intel Xeon (Cascade Lake) 2 vCPU : 1 core (SMT) 60 vCPU Tidak
Dioptimalkan untuk komputasi C2D AMD EPYC (Milan) 2 vCPU : 1 core (SMT) 112 vCPU Tidak
Dioptimalkan untuk komputasi H3 Intel Xeon generasi ke-4 (Sapphire Rapids) 1 vCPU : 1 core (Tanpa SMT) 88 vCPU Tidak
Dioptimalkan untuk komputasi H4D AMD EPYC (Turin) generasi ke-5 1 vCPU : 1 core (Tanpa SMT) 192 vCPU Tidak
Dioptimalkan untuk jaringan C4N Intel Xeon generasi ke-5 (Emerald Rapids) 2 vCPU : 1 core (SMT) 192 vCPU Tidak
Dioptimalkan untuk memori X4 Intel Xeon generasi ke-4 (Sapphire Rapids) 2 vCPU : 1 core (SMT) 1.920 vCPU Tidak
Dioptimalkan untuk memori M1 Intel Xeon (Skylake dan Broadwell) 2 vCPU : 1 core (SMT) 160 vCPU Tidak
Dioptimalkan untuk memori M2 Intel Xeon generasi ke-2 (Cascade Lake) 2 vCPU : 1 core (SMT) 416 vCPU Tidak
Dioptimalkan untuk memori M3 Intel Xeon generasi ke-3 (Ice Lake) 2 vCPU : 1 core (SMT) 128 vCPU Tidak
Dioptimalkan untuk memori M4/M4N Intel Xeon generasi ke-5 (Emerald Rapids) 2 vCPU : 1 core (SMT) 224 vCPU Tidak
Dioptimalkan untuk penyimpanan Z3 Intel Xeon generasi ke-4 (Sapphire Rapids) 2 vCPU : 1 core (SMT) 192 vCPU Tidak
Dioptimalkan untuk penyimpanan Z4D AMD EPYC (Turin) generasi ke-5 2 vCPU : 1 core (SMT) 288 vCPU Tidak
Dioptimalkan untuk penyimpanan Z4M Intel Xeon generasi ke-5 (Emerald Rapids) 1 vCPU : 1 core (Tanpa SMT) 192 vCPU Tidak
Dioptimalkan akselerator A4X Max NVIDIA Grace 1 vCPU : 1 core (Tanpa SMT) 144 vCPU Tidak
Dioptimalkan akselerator A4X NVIDIA Grace 1 vCPU : 1 core (Tanpa SMT) 140 vCPU Tidak
Dioptimalkan akselerator A4 Intel Xeon generasi ke-5 (Emerald Rapids) yang dipasangkan dengan GPU NVIDIA 2 vCPU : 1 core (SMT) 224 vCPU Tidak
Dioptimalkan akselerator A3 Intel Xeon (Emerald Rapids dan Sapphire Rapids) yang dipasangkan dengan GPU NVIDIA 2 vCPU : 1 core (SMT) 224 vCPU Tidak
Dioptimalkan akselerator A2 Intel Xeon generasi ke-2 (Cascade Lake) yang dipasangkan dengan GPU NVIDIA 2 vCPU : 1 core (SMT) 96 vCPU Tidak
Dioptimalkan akselerator G4 AMD EPYC generasi ke-5 (Turin) yang dipasangkan dengan GPU NVIDIA 2 vCPU : 1 core (SMT) 384 vCPU Tidak
Dioptimalkan akselerator G2 Intel Xeon generasi ke-2 (Cascade Lake) yang dipasangkan dengan GPU NVIDIA 2 vCPU : 1 core (SMT) 96 vCPU Tidak

Untuk mengetahui spesifikasi mendetail tentang memori per vCPU, bandwidth jaringan, dan dukungan disk lokal di semua seri, lihat Panduan resource mesin.

Langkah berikutnya