컴파일러인텔리전스연구실
지도교수
박혁우
사이트
https://sites.google.com/view/compintel-lab
연구분야
웹 엔진 최적화 및 컴파일러 응용
위치
공대7호관 533호

연구내용

1. 웹 엔진 최적화


     external_image

- 다양한 웹 엔진을 대상으로 성능 향상 및 메모리 사용 절감을 위한 최적화 연구를 수행하고 있습니다. 오픈소스 프로젝트를 기반으로 개발을 진행하며, 실제 제품에 적용되는 만큼 성능 개선뿐만 아니라 코드 품질을 유지하기 위한 다양한 테스트 및 검증 절차도 함께 적용하고 있습니다.

- 오픈소스 프로젝트(Github)

* Escargot 경량 자바스크립트 엔진 (https://github.com/Samsung/escargot)

* Walrus 경량 웹어셈블리 엔진 (https://github.com/Samsung/walrus)

* lwnode 경량 node 엔진 (https://github.com/Samsung/lwnode)



2. AI 컴파일러 최적화 및 Web AI 연구


     external_image


- AI 분야에 컴파일러 기반의 최적화 기술을 적용하는 연구를 진행하고 있습니다. 다양한 프레임워크에서 개발된 AI 모델을 실제 환경에서 효율적으로 실행하기 위해서는, 학습된 모델을 현재의 실행 환경에 맞게 변환하는 과정이 필요합니다. 이 과정에서 모델의 실행 성능을 향상시키기 위한 다양한 최적화 기법이 함께 적용됩니다.

- 웹 환경에서 AI 모델을 실행하기 위한 연구도 함께 진행 중입니다. 웹은 다양한 환경에서 일관된 동작을 보장할 수 있다는 점에서 큰 장점을 가지며, 이를 활용하면 여러 디바이스와 플랫폼에서 동일한 AI 서비스를 제공할 수 있습니다. 다만, 웹 환경은 서버나 클라우드 환경에 비해 자원이 제한적이기 때문에, Web AI 구현을 위해서는 보다 높은 수준의 경량화 및 최적화 기술이 요구됩니다.


연구실 소개

1. 협업 중심의 연구 문화


저희 연구실의 가장 중요한 철학은 경쟁이 아닌 '협업'입니다. 함께 공부하고 연구하는 과정에서 서로 배우며 성장할 수 있다는 믿음을 바탕으로, 자유로운 질문과 토론, 자료 공유를 적극 장려합니다. 협업을 통해 더 나은 아이디어와 결과를 만들어내는 것이 연구실의 핵심 가치입니다. 또한, 개발은 GitHub를 중심으로 체계적인 협업 개발 문화를 유지하고 있으며, 이를 통해 코드 품질 관리와 버전 관리를 효율적으로 수행하고 있습니다.




2. 선수 과목 및 프로그래밍 경험


연구실에서는 컴파일러 최적화 기술을 기반으로, 웹 엔진을 포함한 다양한 시스템 소프트웨어 분야에서 연구를 수행하고 있습니다. 프로그래밍에 대한 풍부한 경험이 있거나, 최소한 프로그래밍에 대한 흥미와 애정을 가지고 있는 것이 중요합니다. 필수 선수 과목으로는 자료구조와 알고리즘이 있으며, 컴퓨터 구조, 운영체제, 컴파일러 등을 수강하면 기초를 더욱 탄탄히 다질 수 있습니다. 또한 객체지향 프로그래밍, 리눅스 프로그래밍, 임베디드 시스템 등도 매우 유익한 배경 지식이 됩니다. 이러한 지식이 부족하더라도 프로그래밍을 좋아하고 꾸준히 학습하려는 자세가 있다면 충분히 잘 해나갈 수 있습니다.




3. 연구실 논문 개발 방식


저희 연구실에서 발표하는 논문은 대부분 다음과 같은 실용적이고 구현 중심의 연구 개발 과정 거쳐 작성됩니다:


1. 벤치마크나 실제 응용 프로그램 코드 분석을 통해 반복적으로 나타나는 최적화 기회를 탐색


2. 가능한 경우, 해당 문제를 수학적으로 정형화


3. 최적화 알고리즘을 설계 및 구현


4. 데이터를 활용한 성능 평가 및 튜닝 작업 수행


단순히 이론적인 분석에 머무르기보다는, 항상 구현을 동반하는 것이 연구의 기본입니다. 직접 구현해보면 겉으로 보기에 훌륭해 보이는 아이디어나 이론도 실제 한계나 문제점이 무엇인지 명확히 드러나기 때문입니다.