Ismert problémák a HB-sorozatú és N-sorozatú VM-ek esetében
Figyelemfelhívás
Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Windows rendszerű virtuális gépek Rugalmas méretezési ✔️ csoportok ✔️ Egységes méretezési csoportok
Ez a cikk a HB sorozatú és N sorozatú HPC- és GPU-virtuális gépek használatakor a legutóbbi gyakori problémákat és megoldásaikat próbálja felsorolni.
Gyorsítótár topológiája a Standard_HB120rs_v3
lstopo
helytelen gyorsítótár-topológiát jelenít meg a Standard_HB120rs_v3 virtuális gép méretén. Előfordulhat, hogy NUMA-nként csak 32 MB L3 van. A gyakorlatban azonban valóban 120 MB L3/NUMA van a vártnak megfelelően, mivel a teljes virtuális gépre ugyanaz a 480 MB L3 érhető el, mint a többi korlátozott magú HBv3 virtuálisgép-méret esetében. Ez egy kozmetikai hiba a helyes érték megjelenítésekor, ami nem befolyásolhatja a számítási feladatokat.
qp0 hozzáférési korlátozás
A biztonsági réseket eredményező alacsony szintű hardverhozzáférés megakadályozása érdekében a Queue Pair 0 nem érhető el a vendég virtuális gépek számára. Ez csak a Csatlakozás X InfiniBand hálózati adapter felügyeletével és néhány InfiniBand-diagnosztikával, például az ibdiagnettel kapcsolatos műveleteket érinti, végfelhasználói alkalmazásokat azonban nem.
MOFED-telepítés az Ubuntu-on
Az Ubuntu-18.04-alapú, kerneles és újabb verziójú 5.4.0-1039-azure #42
marketplace-alapú virtuálisgép-rendszerképeken néhány régebbi Mellanox OFED nem kompatibilis, ami bizonyos esetekben akár 30 perccel is megnöveli a virtuális gépek rendszerindítási idejét. Ez mind a Mellanox OFED 5.2-1.0.4.0-s, mind az 5.2-2.2.0.0-s verziójára vonatkozóan jelent meg. A probléma a Mellanox OFED 5.3-1.0.0.1 verziójával oldható meg.
Ha az inkompatibilis OFED használatára van szükség, a megoldás a Canonical:UbuntuServer:18_04-lts-gen2:18.04.202101290 marketplace virtuálisgép-rendszerkép használata, vagy régebbi, és nem frissíti a kernelt.
Gyorsított hálózatkezelés HB, HC, HBv2, HBv3, HBv4, HX, NDv2 és NDv4 rendszeren
Az Azure Gyorsított hálózatkezelés mostantól elérhető az RDMA és az InfiniBand képes és az SR-IOV-kompatibilis virtuálisgép-méretekben, amelyek HB, HC, HBv2, HBv3, HBv4, HX, NDv2 és NDv4 méretűek. Ez a funkció mostantól lehetővé teszi a továbbfejlesztett (akár 30 Gb/s-os) és késéseket az Azure Ethernet-hálózaton. Bár ez eltér az InfiniBand-hálózaton található RDMA-képességektől, a funkció egyes platformmódosításai hatással lehetnek bizonyos MPI-implementációk viselkedésére, amikor feladatokat futtatnak az InfiniBanden keresztül. Konkrétan egyes virtuális gépek InfiniBand felületének neve kissé eltérő lehet (mlx5_1 a korábbi mlx5_0 szemben). Ehhez szükség lehet az MPI-parancssorok finomhangolására, különösen az UCX-felület használatakor (gyakran az OpenMPI és a HPC-X esetén).
A legegyszerűbb megoldás jelenleg a legújabb HPC-X használata a CentOS-HPC virtuálisgép-rendszerképeken, ahol ennek megfelelően átnevezzük az InfiniBand és a Gyorsított hálózati adaptereket, vagy a szkript futtatásával átnevezzük az InfiniBand felületet.
Erről további részleteket a TechCommunity jelen cikkében talál, amely útmutatást nyújt a megfigyelt problémák megoldásához.
InfiniBand illesztőprogram telepítése nem SR-IOV rendszerű virtuális gépeken
Jelenleg a H16r, a H16mr és az NC24r nincs engedélyezve az SR-IOV-ben. Az InfiniBand-verem felágazásáról további információt az Azure-beli virtuálisgép-méretek – HPC című témakörben talál. Az InfiniBand az SR-IOV-kompatibilis virtuálisgép-méreteken konfigurálható az OFED illesztőprogramokkal, míg a nem SR-IOV virtuálisgép-méretekhez ND-illesztőprogramok szükségesek. Ez az IB-támogatás a CentOS, az RHEL és az Ubuntu esetében megfelelő módon érhető el.
Mac duplikálása a cloud-inittel az Ubuntu használatával H sorozatú és N sorozatú virtuális gépeken
Az Ubuntu virtuálisgép-rendszerképeken a cloud-inittel kapcsolatban ismert probléma merült fel, amikor megpróbálja felhozni az IB-felületet. Ez történhet a virtuális gép újraindításakor vagy a virtuálisgép-rendszerkép általánosítás utáni létrehozásakor. A virtuális gép rendszerindítási naplói a következőképpen jelenhetnek meg:
“Starting Network Service...RuntimeError: duplicate mac found! both 'eth1' and 'ib0' have mac”.
Ez a "duplikált MAC és cloud-init az Ubuntu-on" ismert probléma. Ez az újabb kernelekben lesz feloldva. Ha ez a probléma jelentkezik, a kerülő megoldás a következő:
- Az (Ubuntu 18.04)-piactéri virtuálisgép-rendszerkép üzembe helyezése
- Telepítse a szükséges szoftvercsomagokat az IB engedélyezéséhez (itt talál útmutatást)
- A waagent.conf szerkesztése az EnableRDMA=y módosításához
- Hálózatkezelés letiltása a cloud-initben
echo network: {config: disabled} | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
- A netplan cloud-init által létrehozott hálózati konfigurációs fájljának szerkesztése a MAC eltávolításához
sudo bash -c "cat > /etc/netplan/50-cloud-init.yaml" <<'EOF' network: ethernets: eth0: dhcp4: true version: 2 EOF
DRAM HB-sorozatú virtuális gépeken
A HB sorozatú virtuális gépek jelenleg csak 228 GB RAM-ot tehetnek elérhetővé a vendég virtuális gépek számára. Hasonlóképpen, 458 GB HBv2 és 448 GB HBv3 virtuális gépeken. Ennek oka az Azure-hipervizor ismert korlátozása, amely megakadályozza, hogy a lapok a vendég virtuális gép számára fenntartott AMD CCX (NUMA-tartományok) helyi DRAM-jaihoz legyenek rendelve.
GSS-proxy
A GSS-proxynak van egy ismert hibája a CentOS/RHEL 7.5-ben, amely jelentős teljesítmény- és válaszképesség-büntetésként nyilvánulhat meg az NFS használatakor. Ez a következőkkel enyhíthető:
sudo sed -i 's/GSS_USE_PROXY="yes"/GSS_USE_PROXY="no"/g' /etc/sysconfig/nfs
Gyorsítótár tisztítása
A HPC-rendszereken gyakran hasznos a memória megtisztítása, miután egy feladat befejeződött, mielőtt a következő felhasználó ugyanazt a csomópontot rendeli hozzá. Miután linuxos alkalmazásokat futtatott, előfordulhat, hogy a rendelkezésre álló memória csökken, miközben a puffermemória növekszik, annak ellenére, hogy nem futtat semmilyen alkalmazást.
A használat numactl -H
megmutatja, hogy a memória mely NUMAnode(ka)val van pufferelve (valószínűleg az összeskel). Linuxon a felhasználók három módon tisztíthatják meg a gyorsítótárakat, hogy a pufferelt vagy gyorsítótárazott memóriát "szabad" értékre adja vissza. Gyökérnek kell lennie, vagy sudo engedélyekkel kell rendelkeznie.
sudo echo 1 > /proc/sys/vm/drop_caches [frees page-cache]
sudo echo 2 > /proc/sys/vm/drop_caches [frees slab objects e.g. dentries, inodes]
sudo echo 3 > /proc/sys/vm/drop_caches [cleans page-cache and slab objects]
Kernel-figyelmeztetések
A linuxos HB-sorozatú virtuális gépek indításakor figyelmen kívül hagyhatja a következő kernel-figyelmeztető üzeneteket. Ennek oka az Azure-hipervizor egy ismert korlátozása, amely idővel foglalkozni fog.
[ 0.004000] WARNING: CPU: 4 PID: 0 at arch/x86/kernel/smpboot.c:376 topology_sane.isra.3+0x80/0x90
[ 0.004000] sched: CPU #4's llc-sibling CPU #0 is not on the same node! [node: 1 != 0]. Ignoring dependency.
[ 0.004000] Modules linked in:
[ 0.004000] CPU: 4 PID: 0 Comm: swapper/4 Not tainted 3.10.0-957.el7.x86_64 #1
[ 0.004000] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090007 05/18/2018
[ 0.004000] Call Trace:
[ 0.004000] [<ffffffffb8361dc1>] dump_stack+0x19/0x1b
[ 0.004000] [<ffffffffb7c97648>] __warn+0xd8/0x100
[ 0.004000] [<ffffffffb7c976cf>] warn_slowpath_fmt+0x5f/0x80
[ 0.004000] [<ffffffffb7c02b34>] ? calibrate_delay+0x3e4/0x8b0
[ 0.004000] [<ffffffffb7c574c0>] topology_sane.isra.3+0x80/0x90
[ 0.004000] [<ffffffffb7c57782>] set_cpu_sibling_map+0x172/0x5b0
[ 0.004000] [<ffffffffb7c57ce1>] start_secondary+0x121/0x270
[ 0.004000] [<ffffffffb7c000d5>] start_cpu+0x5/0x14
[ 0.004000] ---[ end trace 73fc0e0825d4ca1f ]---
Következő lépések
- Tekintse át a HB-sorozatok áttekintését és a HC-sorozatok áttekintését a számítási feladatok teljesítményhez és méretezhetőséghez való optimális konfigurálásához.
- Az Azure Compute Tech Community blogjaiban tájékozódhat a legújabb bejelentésekről, a HPC számítási feladatokra vonatkozó példáiról és teljesítményeredményeiről.
- A HPC számítási feladatok futtatásának magasabb szintű architekturális nézetét az Azure-beli nagy teljesítményű számítástechnika (HPC) című témakörben tekintheti meg.