Skip to main content

분산 학습을 위한 AWS 공유 스토리지 - FSx for Lustre vs EFS vs S3(Mountpoint)

· 28 min read
Jinwoong Kim
Technologist and Cloud Consultant

해당 포스팅은 현재 재직중인 회사에 관련이 없고, 개인 역량 개발을 위한 스터디 자료로 활용할 예정입니다.

지난 두 편에서 노드 간 네트워크(EFA)를 다뤘다. 빠르게 대화하는 건 해결했는데, 분산 학습에는 또 하나의 큰 질문이 남아 있다.

"그 많은 노드가 학습 데이터와 체크포인트를 어디서 같이 읽고 쓰지?"

노드가 2대일 때는 각 노드에 데이터를 복사해도 되지만, 수십~수백 노드로 스케일하면 그건 불가능하다. 공유 스토리지가 필요하다. AWS에서 선택지는 크게 세 가지다.

  1. FSx for Lustre - HPC용 고성능 병렬 파일시스템
  2. EFS (Elastic File System) - 범용 NFS
  3. Mountpoint for Amazon S3 - S3를 POSIX 파일시스템처럼 마운트

이 글에서는 각각의 특성을 분산 학습 관점에서 비교하고, 언제 뭘 쓰면 되는지 정리한다.

AWS EFA 직접 써보기 — 멀티노드 통신

· 21 min read
Jinwoong Kim
Technologist and Cloud Consultant

해당 포스팅은 현재 재직중인 회사에 관련이 없고, 개인 역량 개발을 위한 스터디 자료로 활용할 예정입니다.

지난 글 일반 InfiniBand vs AWS EFA에서는 EFA가 무엇인지, InfiniBand와 어떻게 다른지를 정리했다. EFA가 빠른 이유(커널 TCP/IP 스택을 우회하는 OS bypass, 패킷을 여러 경로로 분산 전송하는 SRD)까지는 개념으로 짚었다.

그런데 개념을 알았다고 손이 움직이는 건 아니다. "그래서 EFA를 실제로 어떻게 켜고 쓰는데?" 이 글은 그 질문에 답한다. EFA를 켠 인스턴스 2대를 띄우고, 노드 간 통신이 진짜로 EFA를 타는지 확인한 뒤, NCCL 벤치마크로 성능까지 측정하는 과정을 처음부터 끝까지 따라가 본다.

일반 InfiniBand vs AWS EFA

· 11 min read
Jinwoong Kim
Technologist and Cloud Consultant

해당 포스팅은 현재 재직중인 회사에 관련이 없고, 개인 역량 개발을 위한 스터디 자료로 활용할 예정입니다.

HPC(High Performance Computing)나 대규모 분산 ML 학습을 하다 보면 노드 간 통신이 병목이 되는 순간이 온다. 수백, 수천 개의 GPU가 매 스텝마다 gradient를 주고받아야 하는데, 일반적인 TCP/IP 스택으로는 latency와 CPU 오버헤드를 감당하기 어렵다. 그래서 등장한 것이 RDMA(Remote Direct Memory Access) 기반의 고성능 인터커넥트이고, 온프레미스 환경에서는 그 대표주자가 InfiniBand다.

그렇다면 클라우드, 특히 AWS에서는 어떻게 할까? AWS는 물리적인 InfiniBand 하드웨어를 노출하지 않는다. 대신 자체적으로 개발한 EFA(Elastic Fabric Adapter) 를 제공한다. 이번 글에서는 일반 InfiniBand와 AWS EFA가 무엇이 같고 무엇이 다른지 정리해보려고 한다.

Tetragon

· 12 min read
Jinwoong Kim
Technologist and Cloud Consultant

해당 포스팅은 현재 재직중인 회사에 관련이 없고, 개인 역량 개발을 위한 스터디 자료로 활용할 예정입니다.

Tetragon

Tetragon를 사용하여 Kubernetes 클러스터의 보안 및 프로세스 모니터링을 수행하는 방법에 대해 간단히 알아보자.

Tetragon이란 무엇인가?

그림 출처: https://isovalent.com/blog/post/2022-05-16-tetragon/

tetragon

https://tetragon.io/

Tetragon은 eBPF(extended Berkeley Packet Filter)를 기반으로 하는 강력한 보안 및 모니터링 도구이다. eBPF는 커널 레벨에서 실행되는 프로그램으로, 시스템 성능에 최소한의 영향을 주면서 실시간으로 데이터를 수집하고 처리할 수 있다. Tetragon은 이를 활용하여 Kubernetes 환경에서 네트워크 트래픽, 시스템 호출, 컨테이너 활동 등을 모니터링하고 분석할 수 있다.

Istio Ambient Mode on K3d

· 17 min read
Jinwoong Kim
Technologist and Cloud Consultant

해당 포스팅은 현재 재직중인 회사에 관련이 없고, 개인 역량 개발을 위한 스터디 자료로 활용할 예정입니다.

이번 포스팅의 목적은 K3d 클러스터에 Istio Ambient 모드를 구성하고 기본 개념을 이해하는 것이다.