KAIST, 세계 최대 컴퓨터학회에서 처음 5편 논문 발표

KAIST, 프로그래밍 언어 분야 최고 권위 학술대회인 PLDI 2024에 5편의 논문 발표 - 대한민국에서는 한 기관이 3편 이상의 논문을 발표한 것은 이번이 처음 - 병렬 자료구조, 하드웨어 설계, 러스트(Rust), 웹어셈블리(WebAssembly) 등 독창적이고 실용적인 연구 주제를 다채롭게 탐구

2024-07-03     김경숙 기자
(사진제공=KAIST)(좌)전산학부

(대전=도움뉴스) 김경숙 기자 = 세계 최대 컴퓨터 학회에서 주간한 학술대회(PLDI)에서 2012년에 한국에서 처음 논문을 발표한 이래, KAIST 연구진이 처음으로 3편 이상의 논문을 발표하여 화제다.

KAIST(총장 이광형)는 전산학부 강지훈 교수, 류석영 교수 연구팀이 프로그래밍 언어 분야 최고 권위 학술대회인 PLDI에서 올해 발표될 89편의 논문 중 6.7%인 5편의 논문을 발표했다고 3일 밝혔다.

PLDI(Programming Language Design and Implementation)는 세계 최대 컴퓨터 학회인 ACM(Association for Computing Machinery)이 주관하는 학술대회로, 지난 45년간 전산학 전체에 깊은 영향을 미치는 중요한 논문이 다수 발표된 유서 깊은 학술대회다. 프로그래밍 언어와 컴파일러 등 소프트웨어 전반의 기초가 되는 핵심 기술을 발표하고 있다.

이번 학회에 발표되는 5개의 논문은 아래와 같다.

1) 멀티코어 컴퓨팅 시스템에서 동작하는 고성능 병렬 자료구조가 사용을 마친 메모리를 수집하기 위해 다양한 기법을 제안 2) 멀티코어 컴퓨팅 시스템에서 성능을 높이기 위해 운영체제, 데이터베이스 등 고성능 시스템 소프트웨어의 안전성을 현실적으로 증명할 수 있는 토대 마련 3) 시스템 반도체의 논리적인 청사진이라 할 수 있는 RTL(register-transfer level) 설계 및 검증비용을 획기적으로 줄일 수 있는 프로그래밍 언어 개발 4) 빠르지만 안정성이 취약한 C 언어로 작성된 프로그램을 더 안전한 러스트(Rust) 언어로 작성된 프로그램으로 자동 변환하는 연구 5) 산업계에서 가장 널리 사용하는 자바스크립트 프로그래밍 언어의 공식 개발 과정에 적용한 기술(https://www.kaist.ac.kr/news/html/news/?mode=V&mng_no=36610)을 기반으로 웹어셈블리 언어에 특화한 연구

강지훈 교수는 “5편의 논문은 각각 학생들이 오랫동안 정성껏 연구한 결과를 담아 뛰어난 독창성과 실용성을 동시에 갖춘 우수한 논문들”이라면서 “이 논문들이 앞으로 지속적으로 프로그래밍 언어와 인접 전산학 분야, 그리고 더 나아가서 산업계에 깊은 영향을 미칠 수 있도록 후속 연구에 정진할 것”이라고 포부를 밝혔다.

류석영 교수는 “반도체, 운영체제, 클라우드 등 인프라부터 사용자에게 제공하는 서비스까지 모두를 아우르는 풀 스택 소프트웨어를 안전하고 올바르게 동작하도록 설계하고 개발하는 세계적인 기술을 선보인 결과”라며, “소프트웨어가 이끄는 세상에서 더 안전하고 올바르게 동작하는 소프트웨어를 사용할 수 있기를 기대한다”고 말했다.

5편의 논문은 한국 시각으로 6월 21일에 PACMPL(Proceedings of the ACM on Programming Languages) 저널에 게재됐고 6월 25일부터 27일 사이에 진행된 PLDI 2024 학술대회에서 발표됐다.

(논문 제목: ① Concurrent Immediate Reference Counting, ② A Proof Recipe for Linearizability in Relaxed Memory Separation Logic, ③ Modular Hardware Design of Pipelined Circuits with Hazards, ④ Don't Write, but Return: Replacing Output Parameters with Algebraic Data Types in C-to-Rust Translation, ⑤ Bringing the WebAssembly Standard up to Speed with SpecTac)

한편 이번 연구는 한국연구재단 선도연구센터, 중견연구자지원사업 및 우수신진연구자지원사업, 정보통신기획평가원(IITP), 삼성전자 미래기술육성센터의 지원을 받아 수행됐다.

붙임 : 연구개요, 그림 설명, 교수 이력

□ 연구개요

Concurrent Immediate Reference Counting (강지훈 교수 연구팀)

멀티코어 컴퓨팅 시스템에서 동작하는 고성능 병렬 자료구조가 사용을 마친 메모리를 수집하기 위해 RCU, 레퍼런스 카운팅(reference counting) 등 다양한 기법이 제안되었다. Azure Research(Microsoft)의 Matthew Parkinson 박사와 협업하여, 사용하기 쉽지만 성능이 낮았던 레퍼런스 카운팅 기법의 성능을 대폭 개선하여, 기존 기법보다 처리량 및 메모리 사용량에서 월등히 우수한 기법을 개발했다. 이 기법을 확장하여 JVM 등 일반적인 메모리 수집기를 최적화할 수 있는 토대를 마련했다.

A Proof Recipe for Linearizability in Relaxed Memory Separation Logic (강지훈 교수 연구팀)

멀티코어 컴퓨팅 시스템에서는 성능을 높이기 위해 프로그램의 메모리 접근 명령어의 순서가 뒤바뀌는 느슨한 메모리 효과(relaxed memory behavior)가 나타난다. Radboud University Nijmegen의 Robbert Krebbers 교수 연구팀과 협업하여, 느슨한 메모리 효과에도 불구하고 고성능 병렬 자료구조가 올바르게 동작함을 쉽게 증명할 수 있는 방법론을 개발했다. 운영체제, 데이터베이스 등 고성능 시스템 소프트웨어의 안전성을 현실적으로 증명할 수 있는 토대를 마련했다.

Modular Hardware Design of Pipelined Circuits with Hazards (강지훈 교수 연구팀)

시스템 반도체의 논리적인 청사진이라 할 수 있는 RTL(register-transfer level) 설계 및 검증을 위해 전 세계적으로 연간 십수조 원의 비용이 드는 것으로 평가된다. 본 연구는 CPU, NPU와 같은 고성능 RTL을 설계할 수 있으면서도 설계 및 검증 비용을 획기적으로 줄일 수 있는 프로그래밍 언어를 개발했다. 마치 소프트웨어 세계에서 어셈블리 시대에 C언어가 등장하여 개발 비용을 획기적으로 낮추었듯이, 이 언어가 하드웨어 세계에서 파괴적 혁신을 일으킬 것으로 기대된다.

Don't Write, but Return: Replacing Output Parameters with Algebraic Data Types in C-to-Rust Translation (류석영 교수 연구팀)

빠르지만 안정성이 취약한 C 언어로 작성된 프로그램을 더 안전한 Rust 언어로 작성된 프로그램으로 자동 변환하는 연구이다. Rust는 대수적 데이터 타입(algebraic data types)을 활용하여 프로그램의 가독성과 안정성을 높일 수 있지만, C는 안정성이 낮은 출력 인자(output parameters) 방식을 사용한다. 본 연구는 프로그램 분석을 활용하여, 출력 인자를 사용하는 C 프로그램을 대수적 데이터 타입을 활용하는 Rust 프로그램으로 자동 변환하는 기법을 개발했다.

Bringing the WebAssembly Standard up to Speed with SpecTac (류석영 교수 연구팀)

10년 넘게 진행한 연구 결과를 산업계에서 가장 널리 사용하는 자바스크립트 프로그래밍 언어 공식 개발 과정에 적용한 후 (https://www.kaist.ac.kr/news/html/news/?mode=V&mng_no=36610), 이를 기반으로 웹어셈블리 언어에 특화한 연구이다. 웹어셈블리 언어를 처음 설계하고 개발해온 연구자들과 협업하여, 수동으로 작성해온 웹어셈블리 언어 명세와 구현체를 자동으로 생성하고 기존의 구현체에서 결함을 찾아내는 기법을 개발했다. 올 해 말에 웹어셈블리 언어 공식 개발 과정에 적용할 예정이다.

그림
그림
그림
그림