全部产品
Search
文档中心

Elastic High Performance Computing:Tingkatkan kinerja kluster dengan menonaktifkan HT untuk node komputasi

更新时间:Jul 02, 2025

Setiap node komputasi dalam kluster Elastic High Performance Computing (E-HPC) adalah sebuah Instance ECS. Secara default, Hyper-Threading (HT) diaktifkan pada setiap Instance ECS. Dalam beberapa skenario komputasi kinerja tinggi (HPC), Anda dapat menonaktifkan HT untuk meningkatkan kinerja instance. Topik ini menjelaskan cara menonaktifkan HT untuk node komputasi.

Informasi latar belakang

CPU adalah unit pemrosesan pusat. Sebuah CPU dapat memiliki beberapa core fisik. Teknologi HT memungkinkan pembuatan dua core pemrosesan virtual untuk setiap core fisik dalam CPU. ECS mendukung multi-threading berbasis HT yang memungkinkan dua thread berjalan secara bersamaan pada satu core fisik. Setiap thread dapat dianggap sebagai CPU virtual (vCPU). vCPU adalah core pemrosesan virtual dari Instance ECS. Dalam beberapa skenario HPC, Anda dapat menonaktifkan HT pada node komputasi untuk meningkatkan kinerjanya.

Catatan penggunaan

Jenis instance yang berbeda memiliki batasan yang berbeda terkait penonaktifan HT.

  • HT hanya dapat dinonaktifkan pada beberapa instance ECS komputasi-teroptimalkan tingkat perusahaan x86. Untuk informasi lebih lanjut, lihat Batasan Tipe Instance.

  • HT tidak dapat langsung dinonaktifkan pada ECS Bare Metal Instances, tetapi dapat dinonaktifkan di tingkat perangkat lunak.

  • HT dinonaktifkan secara default pada instance Super Computing Cluster (SCC).

Nonaktifkan HT pada instance ECS komputasi-teroptimalkan tingkat perusahaan x86

Jika Anda perlu menambahkan node komputasi ke kluster yang telah dibuat, Anda dapat menentukan apakah akan mengaktifkan HT untuk instance tersebut.

Penting

HT tidak dapat dinonaktifkan pada instance ECS komputasi-teroptimalkan tingkat perusahaan x86 setelah mereka dibuat.

Penambahan manual

Saat Anda menambahkan kluster secara manual, Anda dapat menentukan apakah akan mengaktifkan HT di bagian Quantity And Type of Instances to be Added. Untuk informasi lebih lanjut, lihat Perluas Kluster E-HPC secara Manual.

Disable HT when manually scale out.png

Penyesuaian otomatis

Saat Anda mengonfigurasi penyesuaian otomatis untuk kluster, Anda dapat mengonfigurasi apakah akan mengaktifkan HT untuk instance di bagian Global Configurations. Untuk informasi lebih lanjut, lihat Konfigurasikan Penyesuaian Otomatis.

Disable HT when in auto scaling.png

Nonaktifkan HT pada ECS Bare Metal Instances

Anda dapat menonaktifkan HT pada ECS Bare Metal Instances di tingkat perangkat lunak setelah instance dibuat, yaitu di dalam sistem operasi tamu. Untuk melakukannya, Anda dapat mengatur nr_cpus atau mengubah status vCPU. Setiap core fisik sesuai dengan dua core pemrosesan virtual. Menonaktifkan HT di dalam sistem operasi tamu sebenarnya adalah menonaktifkan satu core pemrosesan virtual pada setiap core fisik. Dengan cara ini, satu core fisik sesuai dengan hanya satu core pemrosesan virtual.

Catatan

Untuk menonaktifkan HT secara fisik pada server bare metal, Anda perlu mengelola motherboard BIOS. Proses ini memerlukan restart perangkat keras, yang kompleks dan berisiko. Oleh karena itu, kami merekomendasikan agar Anda menggunakan dua metode yang dijelaskan dalam topik ini. Anda dapat mengelola HT di tingkat perangkat lunak untuk mencapai efek serupa dengan menonaktifkan.

Metode

Keuntungan

Kerugian

Atur nr_cpu

Saat Anda menggunakan perintah seperti lscpu atau cpuid untuk melihat status CPU, jumlah CPU yang digunakan sebenarnya dikembalikan. Ini berarti bahwa HT dinonaktifkan.

  • Jika nr_cpus diatur menjadi setengah dari jumlah vCPU tipe instance, setengah dari vCPU tidak dapat digunakan lagi saat instance berjalan. Anda perlu menghapus parameter nr_cpus dan kemudian me-restart instance untuk memulihkan semua vCPU.

  • Jika Anda mengatur nr_cpus menjadi setengah dari jumlah vCPU tipe instance, kami sarankan Anda menghapus parameter ini sebelum membuat gambar kustom. Jika tidak, ketika Anda menggunakan gambar kustom untuk membuat instance dari tipe instance lain, hanya beberapa core fisik yang mungkin dikenali. Untuk menyelesaikan masalah ini, Anda perlu mengatur ulang parameter nr_cpus.

Ubah status vCPU

Anda dapat menjalankan perintah untuk mengubah status vCPU tanpa me-restart instance. Setelah HT dinonaktifkan dengan cara ini, Anda dapat menggunakan perintah echo 1 > /sys/devices/system/cpu/cpu$cpunum/online untuk memulihkan semua vCPU tanpa me-restart instance.

  • Saat Anda menggunakan perintah seperti lscpu atau cpuid untuk melihat status CPU, semua vCPU termasuk yang digunakan dan tidak digunakan dikembalikan.

  • Lisensi perangkat lunak tertentu dapat mendeteksi semua CPU dan dapat menimbulkan biaya tambahan.

  • Anda perlu mengatur ulang pengaturan jika instance direstart.

Penting

Kami tidak dapat menjamin apakah kedua metode ini akan memengaruhi bisnis Anda dalam kehidupan nyata. Kami sarankan Anda sepenuhnya mengevaluasi dampak bisnis dalam lingkungan produksi kehidupan nyata.

Atur nr_cpus

nr_cpus adalah parameter kernel yang membatasi jumlah maksimum CPU yang didukung oleh kernel. Nilai valid: 2 hingga 255. Untuk mencapai efek menonaktifkan HT, Anda dapat mengatur nr_cpus menjadi setengah dari jumlah vCPU tipe instance. Dengan cara ini, jumlah maksimum CPU yang didukung oleh kernel berkurang setengahnya, dan CPU yang digunakan sebenarnya juga berkurang setengahnya. Satu core fisik sesuai dengan hanya satu core pemrosesan virtual. Selain itu, jumlah sebenarnya dari CPU yang digunakan dikembalikan untuk perintah seperti lscpu.

Topik ini menggunakan instance ecs.ebmc6me.16xlarge sebagai contoh. Instance ini memiliki 64 vCPU dan menggunakan sistem operasi CentOS.7. Bagian berikut menjelaskan langkah-langkah untuk mengatur nr_cpus untuk instance tersebut.

  1. Hubungkan ke ECS Bare Metal Instance. Untuk informasi lebih lanjut, lihat Hubungkan ke Instance Linux Menggunakan Kata Sandi atau Kunci.

  2. Jalankan perintah lscpu untuk melihat status vCPU dan periksa apakah HT diaktifkan untuk instance.

    Gambar berikut menunjukkan respons sampel. Nilai CPU(s) sama dengan jumlah vCPU sebenarnya dari instance, dan nilai Thread(s) per core adalah 2, yang menunjukkan bahwa HT diaktifkan untuk instance.

    Bare Metal CPU.png

  3. Ubah file grub.

    vim /boot/grub2/grub.cfg

    Tekan i untuk masuk ke mode edit. Atur nr_cpus menjadi setengah dari jumlah vCPU tipe instance. Contoh: nr_cpus=32. Tekan tombol Esc untuk keluar dari mode edit, dan masukkan :wq untuk menyimpan file dan keluar.

    裸金属CPU111..png

  4. Mulai ulang instance.

  5. Periksa hasilnya.

    1. Jalankan perintah lscpu untuk melihat status vCPU.

      Gambar berikut menunjukkan respons sampel di mana CPU(s) adalah 32 dan Thread(s) per core adalah 1. Respons ini menunjukkan bahwa HT dinonaktifkan untuk instance.

      Bare metal CPU1.png

    2. Jalankan perintah lscpu --extend untuk memeriksa distribusi vCPU.

      Gambar berikut menunjukkan respons sampel di mana 32 vCPU didistribusikan pada 32 core fisik. Ini mencapai efek menonaktifkan HT.

      Bare metal CPU11.png

Ubah status vCPU

Anda dapat menjalankan perintah untuk mengubah status vCPU untuk menonaktifkan setengah dari vCPU.

Topik ini menggunakan instance ecs.ebmc6me.16xlarge sebagai contoh. Instance ini memiliki 64 vCPU dan menggunakan sistem operasi CentOS.7. Bagian berikut menjelaskan langkah-langkah untuk mengubah status vCPU-nya.

  1. Hubungkan ke ECS Bare Metal Instance. Untuk informasi lebih lanjut, lihat Hubungkan ke Instance Linux Menggunakan Kata Sandi atau Kunci.

  2. Jalankan perintah lscpu untuk melihat status vCPU dan periksa apakah HT diaktifkan untuk instance.

    Gambar berikut menunjukkan respons sampel. Nilai CPU(s) sama dengan jumlah vCPU sebenarnya dari instance, dan nilai Thread(s) per core adalah 2, yang menunjukkan bahwa HT diaktifkan untuk instance.

    Bare Metal CPU.png

  3. Buat dan jalankan skrip untuk mengubah status vCPU.

    1. Buat skrip.

      vim test.sh

      Contoh skrip:

      #!/bin/bash
      for cpunum in $(cat /sys/devices/system/cpu/cpu*/topology/thread_siblings_list | cut -s -d, -f2- | tr ',' '\n' | sort -un)
      do
          echo 0 > /sys/devices/system/cpu/cpu$cpunum/online
      done
    2. Jalankan skrip.

      sh test.sh
  4. Periksa hasilnya.

    1. Jalankan perintah lscpu untuk melihat status vCPU.

      Gambar berikut menunjukkan respons sampel di mana 32 vCPU offline dan Thread(s) per core adalah 1. Respons ini menunjukkan bahwa HT dinonaktifkan untuk instance.

      Bare metal CPU22.png

    2. Jalankan perintah lscpu --extend untuk memeriksa distribusi vCPU.

      Gambar berikut menunjukkan respons sampel di mana 32 vCPU online didistribusikan pada 32 core fisik. Ini mencapai efek menonaktifkan HT.

      Bare metal CPU2.png