HPC & GPU Engineering/AI Infrastructure Engineer

[HPC/GPU 클러스터 운영 Linux Deep Dive 8편] 네트워크 패킷 분석 – tcpdump와 iperf로 HPC 병목 잡기

ygtoken 2025. 8. 16. 09:44
728x90

 

왜 네트워크 분석이 중요한가

 

HPC(High Performance Computing) 환경에서 네트워크는 단순히 노드 간 데이터 전송 경로가 아닙니다. GPU·CPU 간 연산 결과가 노드 사이를 오가며, Lustre·BeeGFS 같은 병렬 파일시스템이 I/O를 네트워크 위에서 처리합니다. 따라서 네트워크 병목은 곧 전체 클러스터 성능 저하로 이어집니다.

 

실제 현장에서는 CPU·GPU가 충분한데도 Job이 느려지는 경우가 많습니다. 이럴 때 가장 먼저 확인해야 할 것이 바로 네트워크 레벨 문제입니다. HPC 운영자는 tcpdumpiperf 같은 경량 네트워크 도구를 통해 패킷 흐름 분석, 대역폭 검증, 지연 시간 확인을 수행해야 합니다.

 


 

tcpdump – 패킷 캡처의 기본기

 

tcpdump는 HPC 환경에서 가장 널리 쓰이는 네트워크 패킷 분석 툴입니다. 프로토콜 단위로 트래픽을 실시간 캡처하고 필터링할 수 있어, 특정 Job이 실행될 때 어떤 네트워크 동작이 일어나는지 바로 확인 가능합니다.

 

 

주요 활용 포인트

 

  • 특정 포트/프로세스 통신 확인
  • 노드 간 MPI 통신 패킷 추적
  • 이상 트래픽(예: 브로드캐스트 폭주) 탐지

 

 

기본 예시

# 특정 노드 간 MPI 통신 패킷 캡처
tcpdump -i ib0 host compute02 and port 12345

# 패킷 100개만 캡처 후 종료
tcpdump -i eth0 -c 100

# 캡처한 내용을 파일로 저장
tcpdump -i eth0 -w capture.pcap

HPC에서는 InfiniBand 인터페이스(ib0)나 RoCE 기반 NIC 인터페이스에서 tcpdump를 실행해 패킷 흐름을 확인하는 경우가 많습니다. 이렇게 수집된 .pcap 파일은 Wireshark에서 시각적으로 분석할 수도 있습니다.

 


 

iperf – 네트워크 성능 검증 도구

 

iperf노드 간 대역폭과 지연 시간을 측정하는 대표적인 벤치마크 툴입니다. TCP, UDP뿐만 아니라 최신 버전(iperf3)은 다중 스트림 테스트도 지원해 HPC 클러스터 네트워크 품질을 확인하는 데 최적입니다.

 

 

기본 동작 방식

 

  • 한쪽 노드를 서버 모드로 실행
  • 다른 쪽 노드에서 클라이언트 모드로 접속
  • 실제로 대용량 데이터를 전송하면서 속도·지연 측정

 

 

예시

# 서버 모드 실행
iperf3 -s

# 클라이언트 모드 실행 (10초 동안 테스트)
iperf3 -c server-node -t 10

# UDP 성능 테스트
iperf3 -c server-node -u -b 10G

HPC 환경에서는 Slurm 잡 스크립트 내에서 iperf 테스트를 병렬로 실행해, 노드 전체 네트워크 상태를 동시에 진단하기도 합니다. 예를 들어 100개 노드 중 일부가 비정상적으로 낮은 대역폭을 보인다면, 해당 노드의 NIC나 케이블 문제를 빠르게 찾아낼 수 있습니다.

 


 

두 도구의 상호 보완적 사용

 

  • tcpdump는 “패킷의 내용과 흐름”을 보여줍니다 → 예: MPI 통신이 특정 포트에서 정상적으로 오가는지 확인.
  • iperf는 “성능 수치”를 보여줍니다 → 예: 노드 간 최대 대역폭이 이론치(100Gbps)에 근접하는지 확인.

 

즉, iperf로 네트워크 성능이 낮다는 사실을 확인했다면, tcpdump로 왜 낮은지 원인을 추적하는 식으로 병행 활용하는 것이 효과적입니다.

 


 

HPC 운영 사례

 

어느 반도체 시뮬레이션 클러스터에서 MPI Job이 실행될 때만 간헐적으로 실패하는 문제가 있었습니다.

 

  1. iperf 테스트 결과, 일부 노드 간 대역폭이 정상치보다 70% 이상 낮게 측정되었습니다.
  2. tcpdump를 통해 해당 노드 인터페이스의 패킷을 분석한 결과, CRC 에러와 재전송이 빈번히 발생하는 것이 확인되었습니다.
  3. 결국 원인은 InfiniBand 케이블 접촉 불량이었고, 케이블 교체 후 성능이 정상화되었습니다.

 

이처럼 네트워크 문제는 소프트웨어 로그만으로는 확인이 어렵고, tcpdump와 iperf 같은 도구로 물리 계층까지 점검해야 해결되는 경우가 많습니다.

 


 

실무 팁

 

  • Slurm prolog/epilog 활용: 잡 실행 전후에 iperf 테스트를 수행해 네트워크 상태를 기록하면, 특정 Job 실패와 네트워크 이슈를 쉽게 연관 지을 수 있습니다.
  • 필터링 옵션 적극 활용: tcpdump는 필터를 지정하지 않으면 모든 패킷을 캡처하므로 HPC 대규모 네트워크에서는 로그가 금방 포화됩니다. 반드시 host, port, proto 조건을 붙이시는 게 좋습니다.
  • 정상 수치 파악: iperf는 네트워크 특성에 따라 결과가 달라지므로, 초기 설치 후 baseline을 확보해 두고 이후 성능 저하 여부를 비교하는 것이 핵심입니다.
  • 병렬 테스트 고려: HPC는 다수 노드가 동시에 통신하기 때문에, 단일 연결 테스트만으로는 전체 네트워크 상태를 알 수 없습니다. Slurm 스크립트에 iperf를 병렬로 실행해 집단 진단하는 방법을 추천합니다.

 


 

tcpdump vs iperf 비교 표

구분 tcpdump iperf
목적 패킷 캡처 및 분석 대역폭/지연 성능 측정
출력 패킷 헤더/내용, 프로토콜 정보 Mbps/Gbps 단위 성능 수치
활용 시점 트래픽 흐름 이상 추적 성능 저하 여부 확인
장점 세밀한 분석 가능, 다양한 필터 지원 단순, 빠른 성능 검증 가능
한계 로그 해석 필요, 대규모 시 분석 어려움 원인 파악 불가(숫자만 제시)

 


 

정리하며

 

네트워크는 HPC 클러스터 성능을 좌우하는 핵심 요소입니다. 최신 모니터링 툴이 있더라도, 현장에서 즉시 활용 가능한 것은 여전히 tcpdump와 iperf 같은 기본 도구입니다. 두 가지를 적절히 병행하면, 단순한 Job 지연부터 물리적 네트워크 결함까지 빠르게 원인을 찾아낼 수 있습니다.

 

운영자는 “iperf로 성능을 검증 → tcpdump로 원인을 추적”이라는 두 단계 접근법을 습관화하시면, HPC 클러스터 네트워크 운영에서 한층 더 안정성과 신뢰성을 확보할 수 있습니다.

 

 

728x90