Skip to main content

· 14 min read
권강민

이 글은 나의 2020년 12월 22일 ~ 2021년 2월 19일까지의 Lablup 인턴십 후기이다.

Internship 지원과정

국민대 소프트웨어학부에서는 매 방학마다 IT회사와의 internship 기회를 제공한다. 나는 이번이 4학년 2학기 겨울방학이였는데 보통은 이 시기에 다들 취업준비를 한다고 한다.

근데 무언가 아직 취직준비를 하기 보다는 좀 더 현업이 어떤지를 느껴보고 contribution을 해보고 싶다는 생각이 강하게 들었다.

그래서 이번 겨울 방학에도 internship 프로그램을 지원하게 되었다.

· 7 min read

I interned at Lablup for 7 weeks after the Goldman Sachs internship. I wanted to make use of the remainder of the summer break.

Internship Application Process

Lablup was a mentoring company in a program called Contributhon run by Open Source Software Portal in Korea. It was a 6-week program where participants got matched to a company and had to contribute to their open-source software. I wanted to work full-time instead, so I just contacted the founder/CEO of the company, did an interview, and started working.

· 13 min read

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

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