본문으로 건너뛰기

"backend.ai" 태그로 연결된 38개 게시물개의 게시물이 있습니다.

모든 태그 보기

· 약 15분
이용균

래블업이라는 한국 스타트업에서 7주 동안 소프트웨어 엔지니어로 인턴을 했다. 골드만 삭스 인턴이 끝나고 가을 학기 개강까지 시간이 많이 남아 ‘놀면 뭐하나''라는 마인드로 일을 시작했는데 너무 귀한 경험이었다.

인턴 지원 과정

래블업은 OSS에서 운영하는 컨트리뷰톤에 멘토로 참가하는 회사였다. 컨트리뷰톤은 참가자가 회사와 매칭이 되어 6주 동안 멘토 회사의 오픈 소스 프로젝트에 기여를 하는 대회이다. 이 대회에 참가할까 잠깐 고민 했지만 풀타임으로 일을 하고 싶어 래블업의 창업자/CEO에게 연락하여 면접을 보고 일을 시작했다.

· 약 13분

Backend.AI에서는 storage folder 기능을 통해 컨테이너로 이루어진 사용자들의 연산 세션들이 종료되더라도 영구적으로 저장되는 입출력 데이터 및 소스 코드 등을 관리할 수 있도록 하고 있습니다. 이러한 storage folder들은 일반적인 구성에서 클러스터 내부의 스토리지 노드를 NFS로 마운트하는 방식으로 제공됩니다. 이를 통해 사용자의 연산 세션이 어떤 agent 노드에서 실행되든지 상관 없이 항상 각 사용자의 계산 코드는 동일한 storage folder들을 동일한 방식(컨테이너 내에서 /home/work 하위 폴더로 탑재)으로 접근할 수 있습니다.

그러나 이렇게 네트워크를 통해 접근하는 파일시스템을 사용하는 경우, 아무리 스토리지와 네트워크의 속도가 빠르다고 하더라도 수십만~수백만 개의 파일을 읽고 쓰는 것은 여전히 많은 성능 부하를 발생시키며, 최악의 경우 시스템을 다운시키는 현상을 초래하기도 합니다. 단적인 예를 들면, 하나의 폴더에 수백만개의 파일이 들어있는 경우 ls 명령어로 파일 목록을 조회하는 것조차 몇 분 이상이 걸릴 수 있습니다.