바쿠스는 회원들간의 친목 도모 및 기술 공유를 위해 매년 2번 정기적으로 세미나를 열고 있습니다. 이번년도 가을학기 세미나는 11/24에 진행하였습니다.
지난 봄학기 세미나에서도 흥미로운 주제가 많았기에, 이번 세미나 역시 다들 많은 기대를 품고 모여주셨습니다. 세미나를 진행하기 전에는 다 같이 모여서 저녁으로 치킨을 먹었습니다.
이후 세미나는 301동 417호에서 오후 7시부터 9시까지 진행되었고, 총 다섯 분의 발표가 있었습니다.
eBPF를 활용한 시스템 인사이트 창출 (윤민)
첫 번째 발표는, 준회원이신 윤민 님의 eBPF에 대한 발표였습니다. 발표에서 eBPF를 통한 Kubernetes 네트워킹의 효율성 개선과 성능 최적화의 중요성을 강조하며, eBPF가 시스템 모니터링과 네트워킹에서 어떻게 활용될 수 있는지에 대한 사례를 제시해주셨습니다.
우선 Kubernetes 네트워킹의 핵심 요소로 kube-proxy와 CNI(Container Network Interface)를 소개하며, 이들이 iptables를 활용해 로드 밸런싱과 서비스 발견, 내부 서비스를 외부에 노출하는 방법을 설명 해주셨습니다. 그러나 iptables의 성능 문제와 복잡한 통신 경로는 Kubernetes 환경에서의 네트워킹을 어렵게 만들어. 이에 대한 해결책으로 eBPF를 제시하셨습니다.
eBPF는 커널 리빌드 없이 커널 기능을 활용하고 시스템 모니터링 및 제어 작업을 수행할 수 있는 인커널 가상 머신입니다. eBPF는 다양한 Hook 포인트에서 실행되며, 커널에 바이트코드로 로딩되어 Verifier를 통해 검증되고 JIT Compiler에 의해 실행됩니다. eBPF의 구체적인 활용 사례로는 Cilium(Kubernetes CNI 솔루션)과 Argos(노드 메트릭 수집 프로젝트)가 소개되었습니다. 마지막으로 도전 과제로 앞으로 어떤 노드 메트릭(I/O, CPU, RAM)을 목표로 설정하고, 수집 과정에서 오버헤드를 어떻게 최소화 할 수 있을지 질문을 제시하셨습니다.
Introduction to Fediverse (최원우)
두 번째 발표는, 최원우 님의 개방형 분산 소셜 네트워킹 프로토콜에 대한 발표였습니다. 최원우 님은 2016년도에 바쿠스에 가입하셨으며, 작년에 바장을 맡아주셨습니다.
발표에서 인터넷 상의 소셜 네트워크를 만드는 새로운 방법을 설명해주셨습니다. 이 방법을 ‘연합 우주’라고 부르고, 여러 서로 다른 웹사이트들이 ‘액티비티펍’이라는 표준을 사용해서 서로 연결되고 정보를 주고 받을 수 있게 해줍니다. 예를 들어, ‘마스토돈’이라는 유명한 소셜 미디어 플랫폼도 이 표준을 사용하고 있다고 합니다. 이 방식을 사용하면, 하나의 거대한 중앙집중식 서비스가 아니라, 여러 다양한 사이트들이 서로 정보를 공유하고 연결될 수 있어 인터넷을 더 개방적으로 연결된 공간으로 만들어준다고 설명해주셨습니다. 마지막으로 ‘Misskey’에서만 지원하는 기능을 예시로 사용자가 특정 언어를 사용할 때 고양이 말투로 자동으로 번역되는 것을 보여주셨습니다.
망가진 파일시스템에서 MySQL 복구하기 (서장호)
세 번째 발표는, 서장호 님의 MySQL 복구에 대한 발표였습니다. 서장호 님은 14년도부터 바쿠스 활동을 시작하셨고, 2015년 1월부터 2016년 8월까지 바쿠스 대표를 연임하셨으며, 현재 네이버에서 근무하고 계십니다.
발표에서는 망가진 파일 시스템에서 데이터를 복구한 일화에 대해 소개해주셨습니다. 2015년 xen-server로 인프라 기반을 다졌으나, 2022년 라이센스 이슈로 xen-server의 최신 버전을 이용할 수가 없어 노후화된 상태였습니다. 2022년 12월 1일 VM 호스트와 disk 호스트를 이어주는 네트워크 장치의 스위치가 꺼지는 사고가 발생하였고, 당시 바장이셨던 최원우 님께서 스위치 전원을 켜서 복구를 하셨으나 MySQL db 파일이 상당 수 손실된 상태였다고 하셨습니다. 실제 데이터는 extent에 있으나 파일의 inode가 망가진 상태였고, 이때 디스크의 2018년 snapshot을 이용하여 extent tree를 읽어내자는 아이디어를 떠올리셨고, 해당 snapshot으로부터 파일의 위치를 추정하여 데이터를 복구하는데 성공하셨습니다.
inode가 망가진 파일 시스템에서, 이전의 snapshot으로부터 파일의 위치를 추정하여 복구한다는 흥미로운 아이디어에 대해 접할 수 있는 발표였습니다.
이번학기 수업에 관하여 (김민준)
네 번째 발표는, 김민준 님의 이번 학기 한 수업에서 겪은 재미있는 에피소드들에 대한 내용이었습니다. 김민준님은 수리과학부이시며 야생동물 등 이상한(?) 분야에 관심이 있으시다고 합니다. 이번 학기 event팀 부팀장을 맡고 계십니다.
발표에서는 ‘컴퓨팅 응용: 자연어처리의 기초’라는 수업에서 배운 한국어 언어 모델 ‘DAG LLM’을 소개해주셨습니다. 이 언어 모델을 직접 사용해 어떤 재미있는 답변을 받을 수 있는지도 보여주셨습니다. 특히 ‘서울대학교에 가는 대중교통’에 대한 주제로 시연을 해주시며 언어 모델이 그럴싸 하지만 잘못된 답변을 해주는 예시를 보여주셨습니다. 이 언어 모델이 정확하지는 않지만 즐겁게 수업을 들을 경험을 공유해 주시며 다시 수강 신청 때로 돌아가도 꼭 들을 것이라는 소감을 말해주셨습니다.
딥러닝 모델러 탈출기 (김무환)
다섯 번째 발표는, 김무환 님 본인의 업무 경험에 대한 발표였습니다. 김무환 님은 작년에 학부 졸업을 하시고 올해로 4년차 소프트웨어 엔지니어이십니다.
이번 발표에서는 3년 가까이 있었던 카카오와 올해 입사한 FuriosaAI에서의 경험을 공유해 주셨습니다. 먼저 카카오에서의 경험을 공유해 주셨습니다. 카카오에서는 광고 추천 관련 업무를 하셨다고 합니다. 그런던 중 풀타임으로 전환하는 시기에 이직에 관한 고민을 시작하셨습니다. 자신이 하고 싶은 일, 업계의 상황, 보상 등 여러 가지에 대해 고민해 보셨고 그렇게 이직 결정을 하셨습니다. FuriosaAI라는 스타트업에 이직 성공하셨고 요즘에는 컴파일러 엔지니어로 일하고 계시다고 합니다. 입사 후 Rust 배우기라는 난관이 있었지만 지금은 잘 해결되어 즐겁게 일하고 계신 것 같습니다. 회사 자랑도 함께 해주셨습니다. 발표 마지막에 그동안 일을 하며 느낀 점을 정리해주시며 직접 경험해 보는 것의 중요함 등의 메세지를 전달해주셨습니다.
질문과 답변
다양한 주제의 발표들이 있었던만큼, 여러 질문들이 있었습니다.
- eBPF 바이트 코드가 eBPF 프로그램 이외의 프로그램으로부터 생성이 되기도 하는지 질문이 있었습니다. eBPF의 바이트 코드는 eBPF 프로그램에서만 생성된다고 답변해주셨습니다.
- Misskey에서 고양이 기능은 어디에 사용되는 거냐는 질문이 있었습니다. 프로필에 고양이 귀 이미지가 덧붙는다고 알려주셨고, 사용된 예시를 직접 보여주셨습니다.
마치며
2023년의 마지막 바쿠스 세미나가 성공적으로 마무리되었습니다.
주기적으로 열리는 세미나에서 다 같이 다양한 관심사에 대해 공유를 할 수 있어서 좋았고, 회원들이 적극적으로 많이 참여해주셔서 세미나를 즐겁게 마무리할 수 있었습니다. 시간 제한으로 더욱 상세한 기술 공유가 어려워 아쉬운 점이 남았습니다.
바쿠스 회원분들 중 발표자료를 다시 보고 싶으신 분들은 바쿠스 구글 공유 폴더(2023>11-24세미나)에서 확인하실 수 있습니다. 바쿠스 세미나는 기술적인 내용 외에도 원하는 주제로 발표를 다양하게 진행하므로, 사전지식이 없어도 충분히 들을 수 있다는 점이 좋았습니다.
지금까지와 같이 앞으로도 활발한 세미나가 이루어질 수 있기를 기대합니다.
작성자 : 정회원 류지민, 정회원 오하나, 정회원 서지민