다양한 AI 가속기 운영 지원 단일 팜 데이터센터 GPU 서버 300대 이상 통합 운영 최초 BMT 오프라인 설치 다수의 엔터프라이즈 고객사 확보 최초 해외 사이트 설치/운영 HA 구성 / 멀티노드 클러스터링 최초 대학 고객 원격 지원 채널 단일 팜 데이터센터 GPU 서버 100대 통합 운영 GDS 스토리지 컨테이너 수준 통합 지원 고속 네트워킹, 스토리지 컨테이너 통합 본격 지원
같은 것 만들고 서비스 해보자는 수요 § 데이터센터 GPU 서버 시스템 구매 _ 클라우드의 경우 비용 문제 및 데이터 보안 문제로 여전히 접근이 어려움 _ 특정 프로젝트의 경우 온프레미스 시스템에 클라우드 자원을 탄력적으로 붙여 운영하는 하이브리드 형태 고민 § 다수의 GPU 서버를 다수의 개발자/연구자가 효율적으로 편리하게 사용할 수 있는 운영 플랫폼 수요 _ 인프라 관리의 복잡성 _ 다수의 엔터프라이즈 고객에게 핵심 가치는 연구개발이지, 연구개발을 위한 인프라 운영 관리가 아님 _ 빠르게 변화하는 AI 학습/추론 환경의 특성상, 루틴한 매뉴얼대로 운영하기도 어려움 _ 자체적으로 인프라 관리 인력과 비용을 감당할 것인가 vs 적절한 비용으로 외부 솔루션을 도입할 것인가
수동 관리 어떤 서버의 어떤 GPU 장비를 어떤 사용자가 언제 쓸 것인지 결정 사용 종료시 수동 자원 반납 연구자별 OS 계정 제공 코드 실행을 위해 root 권한이 필요한 경우 대응 연구자별 스토리지 사용 권한 제어 팀/랩 단위 관리 어려움 이기종 가속기/GPU를 활용할 시 장비 종류 관리 소요 대규모 연산 수행 시 반복적 수동 설정 멀티 노드활용을 위한 SSH 접속 환경, 초고속 네트워크/스토리지 장치 설정 등 한 사용자의 실수가 전체 서비스에 영향을 미칠 가능성이 큼 사용자가 하나부터 열까지 코드 실행 환경을 구축해야함 다양한 규모의 워크로드 관리의 어려움 …
필요한 구체적인 사안 논의 및 컨설팅 참여 _ 설치 일정 및 제반 사항 확인/문의 § 설치 _ 기반 시스템 확인 OS 및 연산 가속 장치 GPU 등 호스트 구동 확인 설치 대상 서버의 연결 상태 및 방화벽 구성, NAT 유무 등 네트워크 망 구성 상태 확인 로컬 디스크 구조 / 공용 스토리지 마운트 및 작동 확인 HA 또는 도메인 적용시 VIP, 도메인, SSL 인증서 등 확인 HA 구성 여부에 따라 필요 일정에 다소 차이가 발생 _ Backend.AI Enterprise 설치, 구성, 테스트
설치 직후 보통 보여드리면서 안내 _ 별도의 관리자/사용자 가이드 세션 진행 § 운영 지원 _ 장애 대응 _ 기능 요청 및 버그 리포트 개발팀에 전달 및 배포 일정 관리 기능 요청의 경우 고객이 실제 필요한 부분을 최대한 도출 버그의 경우 가능하면 재현 상황을 만들어 개발팀과 논의할 수 있으면 최선 _ 기타 인프라 이슈에 관한 컨설팅 프론트/백엔드를 모두 제공하는 솔루션이라, 인프라 장애인 경우에도 일단은 연락이 먼저 오게 됨 _ 운영 지원의 만족도에 따라 추후 업셀링 up selling 에 큰 영향이 갈 수 있음
된 NFS 연결이 끊겼을 때 발생 네트워크 장애 등 _ 네트워크 연결 점검 unmount mount § 코드 실행하다 보면 갑자기 속도가 느려질 때가 있어요 _ 메모리가 충분하지 않은 시스템의 경우 메모리 소비가 많아질 때 작업을 swap 메모리로 저장해서 느려질 수 있음 _ DGX 경우에는 실제 swap 파티션을 생성하지 않음 https://docs.nvidia.com/dgx/dgx os 6 user guide/installing on ubuntu.html _ 다만 Out of Memory OOM 발생 확률이 올라감
로딩이 안 되고 504 Gateway Timeout Error 발생해요 _ 학습 프로세스의 PID 확인 후 /proc/ pid /stack 커널 스택 조회하니 NFSv4에 read syscall 보낸 후 멈춤 _ Backend.AI 상에서 생성한 연산 세션과 동일한 컨테이너 환경을 docker run 명령으로 호스트에서 생성했더니 동일하게 문제가 재현 물론 브라우저가 아니니 504 에러는 안 납니다 _ https://www.ibm.com/docs/ko/aix/7.1?topic nfs version 4 _ 다수의 사이트에서 발생. 최근에는 스토리지 벤더의 특별한 권고가 있는 경우를 제외하고 NFSv3를 권장 # /etc/fstab 10.20.30.40:/myvolume /vfroot/myvolume nfsvers=3,rw,… 0 0
drop _ 일정 시간 사용하다 보면 연산 세션 생성하면 PREPARING 상태에서 멈추는 문제 _ Manager Agent 간 RPC 요청 연결의 효율성을 위해 TCP 연결을 하나 생성한 후 계속 열어 두고 사용 _ Manager/Agent가 서로 다른 서브넷에 있고, 그 사이 트래픽을 중계하는 middlebox 라우터 등 에서 일정 시간 열린 TCP 채널을 강제로 닫는 설정이 되어 있는 경우 _ 연결이 끊어진 후 RST/FIN 신호조차 Manager/Agent 쪽에 전달되지 않아 Manager는 TCP 연결이 살아 있다고 판단하고 채널을 계속 재활용 하지만 실제로는 채널이 없어 Agent 쪽으로 RPC 요청이 전달되지 않음 _ RPC 요청을 보낼 때 항상 새로운 연결을 만들어 보내도록 수정 Manger Agent Network Middlebox ?
코드가 돌아가나요? _ 코드마다 달라서 해봐야 압니다. _ GPU 서버 하나만 업데이트 해서 테스트 하고 잘 되면 나머지도 업데이트 하는 것이 안전합니다. § 새 GPU 서버 또는 CUDA 버전에서 코드 실행이 안 돼요 또는 속도가 느려요 _ A100 GPU의 경우 NGC 이미지 21.07 이전 이미지에 최적화 문제가 있어 21.07 이미지가 나온 후 해결된 사례 _ 새로운 환경에서는 이전 코드가 잘 실행될 수도 있지만 안 될 수도 있음 케바케 _ 이건 돌려보면서 튜닝을 해야하고 저희도 어쩔 수가 없습니다. § 코드 실행하면 segfault 가 나요 _ 대부분 OOM일 확률이 높습니다.
OOM이 발생해요 _ set memory growth 옵션을 켜면 괜찮아질 수도 있습니다. _ https://www.tensorflow.org/api docs/python/tf/config/experimental/set memory growth § PyTorch 코드를 실행하는데 이런 에러가 나면서 실행이 안 돼요 _ NotADirectoryError: [Errono 20] Not a directory: 'hipconfig’ _ PyTorch의 업스트림 이슈: https://github.com/pytorch/pytorch/pull/83009 _ 임시로 sudo vi /usr/local/bin/hipconfig 명령으로 hipconfig 파일을 만든 후 #!/bin/sh 만 추가해 저장하면 위 오류를 피해갈 수 있습니다.
설치 및 운영에 필요한 데이터 반입 반출 어려움 _ 노트북 반입 쉽지 않음 _ 심한 곳은 휴대폰 반입도 금지 § 경우에 따라 다르지만 적어도 사이트 담당자가 있는 경우가 많음 _ 직접 만나는 고객이 엔드 유저보다는 사이트 담당자가 됨 _ 사이트 담당자가 운영을 잘 할 수 있게 도와주고 이슈 처리하는 역할 § 대체로 현장 방문 또는 통화를 통한 직접 지원 선호 § Backend.AI는 내부적으로는 상당히 복잡한 플랫폼으로, 각 모듈의 구조 및 역할과 서비스 설정 방식에 관해서도 어느 정도 지식이 필요 지원 공수의 스케일 문제
for English version _ 관리자 현재는 엔터프라이즈 고객 전용 https://lablup inc backendai control panel manual.readthedocs hosted.com/ko/latest/ § 블로그 _ https://blog.lablup.com/posts/ § Knowledge Base KB : https://kb.backend.ai _ 좀더 문서를 쌓은 후 공개 예정 _ 사이트 관리자가 스스로 참고할 수 있는 문제 해결 가이드 _ 비슷한 이슈는 잘 정리된 링크로 즉시 전달