Dağıtık PyTorch 8x A100 Model Kaydı Sırasında NFSv4.2 RPC Soket Kilitlenmesi
8x NVIDIA A100 GPU üzerinde koşan 70B parametreli modelin ara kayıt (checkpointing) aşamasında, düğümler eşzamanlı olarak ~480 GB tensör ağırlığını TrueNAS SCALE NFSv4.2 (sec=krb5p) havuzuna yazmaya çalıştı. İstemci çekirdeğindeki TCP RPC yuvaları anında tükendi, NFS istemcileri kilitlenerek PyTorch eğitim işini askıya aldı.
- 14:02:11 Slurm job #8924 initiates epoch 14 checkpoint flush (480 GB total payload).
- 14:03:40 TrueNAS disk write queue depth exceeds 256; NFS RPC latency spikes from 0.8ms to 14,200ms.
- 14:05:12 Kernel emits
sunrpc: task 40182 on broken transporton compute nodes. - 14:14:00 NOC on-call engineer paged via automated Slurm GPU non-responsive watchdog.
- 14:26:30 Emergency sysctl socket queue expansion applied live across compute cluster.
- 14:40:00 NFS client RPC slots recovered; checkpoint committed safely without data corruption.
Kök Neden: Varsayılan Linux çekirdek parametresi sunrpc.tcp_slot_table_entries 16 yuva ile sınırlıydı; yüksek paralellikteki eşzamanlı yazma işleminde hat başı tıkanması (head-of-line blocking) meydana geldi.
# Corrective Kernel Parameter applied across all cluster compute nodes:
sysctl -w sunrpc.tcp_slot_table_entries=128
sysctl -w sunrpc.tcp_max_slot_table_entries=128
# TrueNAS ZFS dirty data throttle tuned to avoid RPC burst stalls:
echo 17179869184 > /sys/module/zfs/parameters/zfs_dirty_data_max_max