{"id":"IL-0420","org":"IBM","date":"2025-01-13","docs":["https://github.com/IBM/autopilot"],"title":{"en":"PCIe links on IBM's Vela GPU nodes dropped to a lower generation's speed and slowed training jobs by up to 2x","ko":"Vela 의 GPU 노드에서 PCI-E 링크가 낮은 세대 속도로 떨어져 학습 작업이 몇 % 에서 2배까지 느려졌다"},"domain":["ai-infra"],"impact":{"scope":"Training jobs on Vela that included a node with a downgraded PCI-E link slowed by a few percent up to 2x","users":"IBM researchers training models on Vela","region":"unknown"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":{"en":"In distributed training, a drop in the performance of a single node reduces the performance of the whole job until the slow node is identified and removed or fixed. Lightweight periodic tests averaged over a long window can find degraded PCI-E links accurately while customer jobs keep running, which lets site reliability engineers act before users report a problem.","ko":"수백, 수천 개의 GPU 를 함께 쓰는 분산 학습에서는 노드 한 대의 성능만 떨어져도 작업 전체가 느려진다. 그래서 IBM 은 작업이 도는 동안에도 가벼운 검사를 모든 노드에서 주기적으로 돌려, 성능을 서서히 떨어뜨리는 링크 저하를 미리 찾는다. 이런 검사와 경보 덕분에 SRE 는 사용자가 신고하면 디버깅하던 방식에서 사용자가 알기 전에 먼저 알리는 방식으로 바뀌었고, 근본 원인을 찾는 시간을 2배 넘게 줄였다."},"related":[],"sources":[{"url":"https://arxiv.org/abs/2407.05467","kind":"paper","archived":"https://web.archive.org/web/20260723054418/https://arxiv.org/abs/2407.05467"}],"summary":{"en":"Vela is IBM's AI supercomputer built into IBM Cloud, online since 2022 and roughly doubled a year later, with nodes of eight 80GB A100 GPUs that are provided as KVM virtual machines with the GPUs and network functions passed through over PCI-E, and run under Red Hat OpenShift. The paper, a technical report by IBM Research and IBM Infrastructure, describes failures seen over two years of training on Vela that slowed jobs from a few percent to over 3x or crashed them, and groups them into clear hardware failures, subtle hardware failures and software failures. It places PCI-E link degradation among the software failures, which it traces in general to system software such as firmware on the GPU boards, network cards and PCI-E switches and to user application code, but it states that the root cause of these degradations is still under investigation.\n\nResetting the PCI-E device, which is often done by rebooting the VM, resolved the downgrade in at least 95% of cases. IBM's mitigations are checks of PCI-E links, alerts based on application logs and periodic VM reboots: Autopilot, an open-source set of health-check daemons on each GPU node, runs lightweight PCI-E tests with NVIDIA's CUDA code alongside workloads, exports the results to Prometheus, and alerts on the 12-hour average, which the paper says eliminated false positives. In distributed training a slow node holds back the whole job until it is removed or fixed and the job restarts on fresh nodes, and IBM keeps about 10% of the nodes as a buffer pool so a job can always restart with the same number of GPUs. Together with the other alerts and dashboards, this let IBM's site reliability engineers move from debugging issues when users reported them to telling users about infrastructure problems before they noticed, and cut the time to root-cause these issues by over 2x.","ko":"Vela 는 IBM Cloud 안에 구축된 IBM 의 AI 슈퍼컴퓨터이고, 노드마다 80GB A100 GPU 8개가 있다. 노드 안에서는 여러 PCI-E 스위치가 GPU, 네트워크 카드, CPU 를 잇는다. 노드는 가상 머신으로 제공되고, VM 은 PCI-E 장치 패스스루로 GPU 같은 물리 장치에 직접 접근한다. Vela 의 GPU 노드는 PCI-E Gen3 와 Gen4 링크를 쓰지만, 때때로 4 GB/s 처럼 PCI-E Gen 1 과 비슷한 낮은 세대의 성능이 나왔다. 이 저하는 애플리케이션 성능을 몇 % 에서 2배까지 떨어뜨렸다. IBM 이 2년 동안 Vela 를 운영하며 본 고장 가운데 가장 자주 일어난 것도 이 저하였다. IBM 은 이 문제를 소프트웨어 고장으로 분류했지만 근본 원인은 아직 조사 중이라고 밝혔다.\n\n95% 이상의 경우는 PCI-E 장치를 재설정하자 풀렸다. 재설정은 주로 VM 을 재부팅해서 했다. IBM 은 GPU 노드마다 데몬으로 돌며 헬스 체크를 하는 Autopilot 으로, 모든 노드에서 NVIDIA 의 CUDA 코드를 써서 PCI-E 링크를 주기적으로 시험했다. 12시간 평균이 임계값 아래로 떨어진 노드에는 경보를 냈다. 노드가 고장 나도 같은 수의 GPU 로 학습을 다시 시작할 수 있도록 노드의 약 10% 를 버퍼 풀로 남겨 두었다."},"trigger":null,"severity":"unknown","symptoms":["throughput-degraded"],"timeline":{"detected_after":null,"resolved_after":null},"date_kind":"published","detection":{"en":"Autopilot measures PCI-E bandwidth between host and device on every node with periodic lightweight tests, and an alert fires when the average of 12 hourly samples falls below a threshold for the PCI-E generation; affected nodes are listed on a Grafana dashboard.","ko":"Autopilot 이 모든 노드에서 NVIDIA 의 CUDA 코드로 PCI-E 링크를 주기적으로 시험했다. 이 시험은 가벼워서 고객 워크로드를 거의 방해하지 않았다. 워크로드와 시험이 같은 자원을 두고 다퉈 생기는 오탐을 막으려고, 한 시간마다 모은 값 12개의 평균이 임계값 아래로 떨어질 때만 경보를 냈다. 링크가 저하된 노드는 Grafana 대시보드에 표시되었다. 임계값은 PCI-E 링크 세대마다 다르다."},"components":["pcie-link"],"root_cause":"unknown","remediation":[{"text":{"en":"Reset the PCI-E device, usually by rebooting the VM, which resolved the downgrade at least 95% of the time","ko":"95% 이상의 경우 PCI-E 장치를 재설정해 문제를 풀었다. 재설정은 주로 VM 을 재부팅해서 했다."}},{"text":{"en":"Rebooted VMs periodically","ko":"VM 을 주기적으로 재부팅했다."}}],"action_items":[{"text":{"en":"Run periodic lightweight PCI-E link tests through Autopilot on every node and alert when the 12-hour average falls below a threshold","ko":"Autopilot 으로 NVIDIA 의 CUDA 코드를 써서 PCI-E 링크 검사를 주기적으로 돌리고, 12시간 평균으로 경보를 낸다."}},{"text":{"en":"Keep investigating the root cause of the PCI-E link degradations","ko":"PCI-E 링크 저하의 근본 원인을 계속 조사한다."}}],"contributing":[],"recurrence_of":null,"symptoms_text":{"en":"On IBM's Vela AI cluster, GPU nodes with PCI-E Gen3 and Gen4 links sometimes performed like a much older PCI-E generation, for example at 4 GB/s, which resembles PCI-E Gen 1. Training jobs on those nodes slowed by anywhere from a few percent to 2x, and PCI-E link downgrades were the most frequently observed failure on Vela.\n\nThe degradation showed in PCI-E bandwidth measurements between host and device that IBM's Autopilot health checks run on every node, and on a Grafana dashboard of nodes with PCI-E link degradation; one example node had degraded below 3.4GB/s. To prevent false positives from the tests and customer workloads contending for the same resources, the alert fires only when the average of 12 hourly samples over 12 hours falls below a threshold set for each PCI-E generation.\n\nIn distributed training across hundreds or thousands of GPUs, a drop in the performance of a single node reduces the performance of the whole job until the slow node is identified and removed or fixed.","ko":"Vela 의 GPU 노드는 PCI-E Gen3 와 Gen4 링크를 쓴다. 그런데 때때로 링크 성능이 4 GB/s 처럼 PCI-E Gen 1 과 비슷한, 더 낮은 세대 수준으로 떨어졌다. 이 노드가 낀 학습 작업은 몇 % 에서 2배까지 느려졌다.\n\nPCI-E 링크 저하는 IBM 이 2년 동안 Vela 를 운영하며 본 고장 가운데 가장 자주 일어났고, 성능 저하를 일으키는 가장 흔한 문제였다.\n\nIBM Research 가 만들어 공개한 관측 도구 Autopilot 이 호스트와 장치 사이의 PCI-E 대역폭을 주기적으로 재서 Prometheus 로 내보냈다. Grafana 대시보드에는 링크가 저하된 노드가 표시되었다. 한 노드는 PCI-E 링크가 3.4GB/s 아래로 떨어졌다."},"updated_at":"2026-11-14T12:34:07.062896Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0420","org_slug":"ibm"}