Siapkan lingkungan komputasi rahasia heterogen pada instans gn8v-tee dan verifikasi komputasi rahasia GPU dengan kode contoh.
Latar Belakang
Instans komputasi rahasia heterogen Alibaba Cloud (gn8v-tee) memperluas instans komputasi rahasia CPU TDX dengan mengintegrasikan GPU ke dalam Trusted Execution Environment (TEE), sehingga melindungi transfer data antara CPU dan GPU serta komputasi data GPU. Untuk membangun lingkungan komputasi rahasia CPU TDX dan memverifikasi remote attestation, lihat 构建TDX机密计算环境. Untuk men-deploy inferensi LLM pada instans komputasi rahasia heterogen, lihat Measured LLM inference on confidential instance.
GPU pada instans komputasi rahasia heterogen dimulai dalam mode komputasi rahasia. Mekanisme berikut menjamin kerahasiaan:
TDX mencegah Hypervisor/Host OS mengakses register sensitif atau data memori instans.
Firewall PCIe mencegah CPU mengakses register kritis GPU dan memori video terlindungi. Hypervisor/Host OS hanya dapat melakukan operasi terbatas seperti mereset GPU, tetapi tidak dapat mengakses data sensitif.
NVLink Firewall GPU memblokir GPU lain agar tidak langsung mengakses memori videonya.
Selama inisialisasi, driver GPU dan fungsi pustaka di dalam CPU TEE membentuk saluran terenkripsi dengan GPU melalui protokol SPDM. Setelah negosiasi kunci, hanya ciphertext yang dikirimkan melalui PCIe antara CPU dan GPU.
Kemampuan remote attestation GPU memastikan bahwa GPU berada dalam kondisi aman.
Aplikasi dalam instans komputasi rahasia dapat menggunakan Attestation SDK untuk memanggil driver GPU dan memperoleh laporan kriptografis mengenai status keamanan GPU. Laporan ini berisi informasi yang ditandatangani secara kriptografis tentang perangkat keras GPU, VBIOS, dan pengukuran status perangkat keras. Pihak yang bergantung dapat membandingkan pengukuran ini dengan pengukuran referensi dari vendor GPU untuk memverifikasi bahwa GPU berada dalam kondisi komputasi rahasia yang aman.
Catatan Penggunaan
Komputasi rahasia heterogen memerlukan image Alibaba Cloud Linux 3. Jika Anda menggunakan custom image berbasis Alibaba Cloud Linux 3, pastikan versi kernel adalah 5.10.134-18 atau lebih baru.
Buat instans komputasi rahasia heterogen (gn8v-tee)
Konsol
Membuat instans komputasi rahasia heterogen mirip dengan membuat instans standar, tetapi memerlukan konfigurasi khusus. Untuk konfigurasi umum, lihat Create an instance using the wizard.
Buka ECS console - Instances.
Di pojok kiri atas halaman, pilih wilayah dan resource group.
Klik Create Instance dan konfigurasikan instans dengan pengaturan berikut.
Item Konfigurasi
Deskripsi
Region and Zone
China (Beijing) Zone L
Instance Type
ecs.gn8v-tee.4xlarge atau lebih tinggi.
Image
Pilih image Alibaba Cloud Linux 3.2104 LTS 64-bit.
Public IP Address
Assign Public IPv4 Address. Diperlukan untuk mengunduh driver NVIDIA nanti.
PentingSaat membuat atau me-restart instans rahasia dengan 8 GPU, jangan menyambungkan ENI sekunder tambahan atau disk data. Hal ini dapat menyebabkan kegagalan startup.
Selesaikan pembuatan instans dengan mengikuti instruksi di layar.
API/CLI
Panggil operasi RunInstances atau gunakan Alibaba Cloud CLI untuk membuat instans ECS yang mendukung TDX. Parameter utama:
Parameter | Deskripsi | Contoh |
RegionId | China (Beijing) | cn-beijing |
ZoneId | Zone L | cn-beijing-l |
InstanceType | ecs.gn8v-tee.4xlarge atau lebih tinggi. | ecs.gn8v-tee.4xlarge |
ImageId | ID image yang mendukung komputasi rahasia. Hanya image Alibaba Cloud Linux 3.2104 LTS 64-bit dengan versi kernel 5.10.134-18.al8.x86_64 atau lebih baru. | aliyun_3_x64_20G_alibase_20250117.vhd |
Contoh CLI:
<SECURITY_GROUP_ID>: ID security group.<VSWITCH_ID>: ID vSwitch.<KEY_PAIR_NAME>: nama SSH key pair.
aliyun ecs RunInstances \
--RegionId cn-beijing \
--ZoneId cn-beijing-l \
--SystemDisk.Category cloud_essd \
--ImageId 'aliyun_3_x64_20G_alibase_20250117.vhd' \
--InstanceType 'ecs.gn8v-tee.4xlarge' \
--SecurityGroupId '<SECURITY_GROUP_ID>' \
--VSwitchId '<VSWITCH_ID>' \
--KeyPairName <KEY_PAIR_NAME>Bangun lingkungan komputasi rahasia heterogen
Langkah 1: Instal driver NVIDIA dan CUDA Toolkit
Instans komputasi rahasia heterogen membutuhkan waktu lama untuk inisialisasi. Tunggu hingga status instans menjadi Running dan sistem operasi telah sepenuhnya dimulai.
Langkah instalasi bervariasi tergantung tipe instans:
Instans rahasia single-GPU: ecs.gn8v-tee.4xlarge dan ecs.gn8v-tee.6xlarge
Instans rahasia 8-GPU: ecs.gn8v-tee-8x.16xlarge dan ecs.gn8v-tee-8x.48xlarge
Instans rahasia single-GPU
Sambungkan ke instans komputasi rahasia. Lihat Log on to a Linux instance using Workbench.
Atur buffer SWIOTLB menjadi 8 GB.
sudo grubby --update-kernel=ALL --args="swiotlb=4194304,any"Restart instans. Lihat Restart an instance.
Unduh driver NVIDIA dan CUDA Toolkit.
Instans rahasia single-GPU memerlukan versi driver
550.144.03atau lebih baru. Contoh ini menggunakan550.144.03.wget --referer=https://www.nvidia.cn/ https://cn.download.nvidia.cn/tesla/550.144.03/NVIDIA-Linux-x86_64-550.144.03.run wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.runInstal dependensi dan nonaktifkan layanan CloudMonitor.
sudo yum install -y openssl3 sudo systemctl disable cloudmonitor sudo systemctl stop cloudmonitorBuat dan konfigurasikan
nvidia-persistenced.service.cat > nvidia-persistenced.service << EOF [Unit] Description=NVIDIA Persistence Daemon Wants=syslog.target Before=cloudmonitor.service [Service] Type=forking ExecStart=/usr/bin/nvidia-persistenced --user root ExecStartPost=/usr/bin/nvidia-smi conf-compute -srs 1 ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced [Install] WantedBy=multi-user.target EOF sudo cp nvidia-persistenced.service /usr/lib/systemd/system/nvidia-persistenced.serviceInstal driver NVIDIA dan CUDA Toolkit.
sudo bash NVIDIA-Linux-x86_64-550.144.03.run --ui=none --no-questions --accept-license --disable-nouveau --no-cc-version-check --install-libglvnd --kernel-module-build-directory=kernel-open --rebuild-initramfs sudo bash cuda_12.4.1_550.54.15_linux.run --silent --toolkitJalankan layanan nvidia-persistenced dan CloudMonitor.
sudo systemctl start nvidia-persistenced.service sudo systemctl enable nvidia-persistenced.service sudo systemctl start cloudmonitor sudo systemctl enable cloudmonitor
Instans rahasia 8-GPU
Sambungkan ke instans komputasi rahasia. Lihat Log on to a Linux instance using Workbench.
PentingInstans komputasi rahasia membutuhkan waktu lama untuk inisialisasi. Tunggu hingga proses selesai sebelum melanjutkan.
Atur buffer SWIOTLB menjadi 8 GB.
sudo grubby --update-kernel=ALL --args="swiotlb=4194304,any"Konfigurasikan perilaku pemuatan driver NVIDIA dan buat ulang initramfs.
sudo bash -c 'cat > /etc/modprobe.d/nvidia-lkca.conf << EOF install nvidia /sbin/modprobe ecdsa_generic; /sbin/modprobe ecdh; /sbin/modprobe --ignore-install nvidia options nvidia NVreg_RegistryDwords="RmEnableProtectedPcie=0x1" EOF' sudo dracut --regenerate-all -fRestart instans. Lihat Restart an instance.
Unduh driver NVIDIA dan CUDA Toolkit.
Instans komputasi rahasia 8-GPU memerlukan versi driver
570.148.08atau lebih baru danFabric Manageryang sesuai. Contoh ini menggunakan570.148.08.wget --referer=https://www.nvidia.cn/ https://cn.download.nvidia.cn/tesla/570.148.08/NVIDIA-Linux-x86_64-570.148.08.run wget https://developer.download.nvidia.com/compute/cuda/12.8.1/local_installers/cuda_12.8.1_570.124.06_linux.run wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel8/x86_64/nvidia-fabric-manager-570.148.08-1.x86_64.rpmInstal dependensi dan nonaktifkan layanan CloudMonitor.
sudo yum install -y openssl3 sudo systemctl disable cloudmonitor sudo systemctl stop cloudmonitorBuat dan konfigurasikan
nvidia-persistenced.service.cat > nvidia-persistenced.service << EOF [Unit] Description=NVIDIA Persistence Daemon Wants=syslog.target Before=cloudmonitor.service After=nvidia-fabricmanager.service [Service] Type=forking ExecStart=/usr/bin/nvidia-persistenced --user root --uvm-persistence-mode --verbose ExecStartPost=/usr/bin/nvidia-smi conf-compute -srs 1 ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced TimeoutStartSec=900 TimeoutStopSec=60 [Install] WantedBy=multi-user.target EOF sudo cp nvidia-persistenced.service /usr/lib/systemd/system/nvidia-persistenced.serviceInstal Fabric Manager, driver NVIDIA, dan CUDA Toolkit.
sudo rpm -ivh nvidia-fabric-manager-570.148.08-1.x86_64.rpm sudo bash NVIDIA-Linux-x86_64-570.148.08.run --ui=none --no-questions --accept-license --disable-nouveau --no-cc-version-check --install-libglvnd --kernel-module-build-directory=kernel-open --rebuild-initramfs sudo bash cuda_12.8.1_570.124.06_linux.run --silent --toolkitJalankan dan aktifkan layanan nvidia-fabricmanager, nvidia-persistenced, dan cloudmonitor.
sudo systemctl start nvidia-fabricmanager.service sudo systemctl enable nvidia-fabricmanager.service sudo systemctl start nvidia-persistenced.service sudo systemctl enable nvidia-persistenced.service sudo systemctl start cloudmonitor sudo systemctl enable cloudmonitor
Langkah 2: Periksa status TDX
Fitur ini bergantung pada TDX. Periksa status TDX untuk memverifikasi bahwa instans dilindungi.
-
Periksa apakah TDX diaktifkan.
lscpu |grep -i tdx_guestJika output berisi
tdx_guest, berarti TDX diaktifkan.
Periksa instalasi driver terkait TDX.
ls -l /dev/tdx_guestOutput berikut menunjukkan driver terkait TDX telah terinstal.

Langkah 3: Periksa status fitur komputasi rahasia GPU
Instans rahasia single-GPU
Periksa status komputasi rahasia.
nvidia-smi conf-compute -fCC status: ON menunjukkan komputasi rahasia diaktifkan. CC status: OFF menunjukkan fitur dinonaktifkan karena error instans. Jika hal ini terjadi, submit a ticket.

Instans rahasia 8-GPU
Periksa status komputasi rahasia.
nvidia-smi conf-compute -mgmMulti-GPU Mode: Protected PCIe menunjukkan komputasi rahasia multi-GPU diaktifkan. Multi-GPU Mode: None menunjukkan fitur dinonaktifkan karena error instans. Jika hal ini terjadi, submit a ticket.

Untuk instans rahasia 8-GPU, nvidia-smi conf-compute -f biasanya mengembalikan CC status: OFF.
Langkah 4: Verifikasi kepercayaan GPU dan NVSwitch menggunakan local attestation
Instans rahasia single-GPU
Instal dependensi kepercayaan GPU.
sudo yum install -y python3.11 python3.11-devel python3.11-pip sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 60 sudo alternatives --set python3 /usr/bin/python3.11 sudo python3 -m ensurepip --upgrade sudo python3 -m pip install --upgrade pip sudo python3 -m pip install nv_attestation_sdk==2.5.0.post6914366 nv_local_gpu_verifier==2.5.0.post6914366 nv_ppcie_verifier==1.5.0.post6914366 -f https://attest-public-cn-beijing.oss-cn-beijing.aliyuncs.com/repo/pip/attest.htmlVerifikasi status kepercayaan GPU.
python3 -m verifier.cc_admin --user_modeOutput menunjukkan GPU berada dalam mode komputasi rahasia dan pengukuran seperti driver dan VBIOS sesuai dengan nilai yang diharapkan:

Instans rahasia 8-GPU
Instal dependensi kepercayaan GPU.
sudo yum install -y python3.11 python3.11-devel python3.11-pip sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 60 sudo alternatives --set python3 /usr/bin/python3.11 sudo python3 -m ensurepip --upgrade sudo python3 -m pip install --upgrade pip sudo python3 -m pip install nv_attestation_sdk==2.5.0.post6914366 nv_local_gpu_verifier==2.5.0.post6914366 nv_ppcie_verifier==1.5.0.post6914366 -f https://attest-public-cn-beijing.oss-cn-beijing.aliyuncs.com/repo/pip/attest.htmlInstal dependensi NVSwitch.
wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel8/x86_64/libnvidia-nscq-570-570.148.08-1.x86_64.rpm sudo rpm -ivh libnvidia-nscq-570-570.148.08-1.x86_64.rpmVerifikasi status kepercayaan GPU/NVSwitch.
python3 -m ppcie.verifier.verification --gpu-attestation-mode=LOCAL --switch-attestation-mode=LOCALKode contoh memverifikasi delapan GPU dan empat NVSwitch.
SUCCESSmenunjukkan verifikasi berhasil:
Batasan
Fitur ini mewarisi batasan instans TDX.
Dengan komputasi rahasia GPU diaktifkan, transfer data CPU-GPU memerlukan enkripsi dan dekripsi, sehingga menghasilkan performa tugas GPU yang lebih rendah dibandingkan instans heterogen non-rahasia.
Catatan Penggunaan
Instans single-GPU menggunakan CUDA 12.4. Pustaka NVIDIA cuBLAS memiliki masalah yang diketahui yang dapat menyebabkan error saat menjalankan tugas CUDA atau LLM. Instal versi cuBLAS tertentu untuk mengatasi hal ini.
pip3 install nvidia-cublas-cu12==12.4.5.8Dengan komputasi rahasia GPU diaktifkan, inisialisasi berjalan lambat, terutama untuk instans 8-GPU. Setelah guest OS dimulai, verifikasi bahwa
nvidia-persistencedtelah selesai dimulai sebelum menggunakan GPU dengan perintahnvidia-smiatau lainnya. Periksa status layanannvidia-persistenced:systemctl status nvidia-persistenced | grep "Active: "activating (start)— layanan sedang dimulai.Active: activating (start) since Wed 2025-02-19 10:07:54 CST; 2min 20s agoactive (running) — layanan sedang berjalan.
Active: active (running) since Wed 2025-02-19 10:10:28 CST; 22s ago
Layanan auto-start yang bergantung pada GPU, seperti
cloudmonitor.service,nvidia-cdi-refresh.service(dari nvidia-container-toolkit-base), atauollama.service, harus dimulai setelahnvidia-persistenced.service.Contoh konfigurasi untuk
/usr/lib/systemd/system/nvidia-persistenced.service:[Unit] Description=NVIDIA Persistence Daemon Wants=syslog.target Before=cloudmonitor.service nvidia-cdi-refresh.service ollama.service After=nvidia-fabricmanager.service [Service] Type=forking ExecStart=/usr/bin/nvidia-persistenced --user root --uvm-persistence-mode --verbose ExecStartPost=/usr/bin/nvidia-smi conf-compute -srs 1 ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced TimeoutStartSec=900 TimeoutStopSec=60 [Install] WantedBy=multi-user.target