[Paper] MileStone: 그래프 기반 IR 수준 최적화를 위한 다목적 컴파일러 단계 순서 프레임워크
Source: arXiv - 2605.23435v1
Overview
이 논문은 MileStone이라는 모듈형 프레임워크를 소개합니다. MileStone은 컴파일러 단계 순서를 다목적 최적화 문제로 취급합니다. 그래프 기반 프로그램 표현, 그래프 신경망(GNN) 및 강화 학습(RL)을 결합함으로써 MileStone은 실행 속도, 코드 크기, 에너지 소비를 균형 있게 조절하는 패스 시퀀스를 자동으로 탐색할 수 있습니다—이는 전통적인 컴파일러 휴리스틱이 다루기 어려운 부분입니다.
핵심 기여
- 그래프‑중심 IR 모델링 – 프로그램을 그래프로 인코딩하여 전통적인 피처 벡터가 놓치는 구조적 정보를 보존합니다.
- GNN‑기반 성능 예측기 – 학습된 그래프 신경망이 실제로 코드를 컴파일하지 않고도 후보 패스 시퀀스의 실행 시간, 바이너리 크기, 에너지 사용량을 추정합니다.
- RL‑구동 단계 순서 지정 – 강화 학습 에이전트가 사용자 정의 제약(예: 에너지 예산)을 고려하면서 가능한 패스 순열의 방대한 공간을 탐색합니다.
- 자체 진화 변환 데이터베이스 – MileStone은 과거 컴파일러 변환 저장소를 지속적으로 풍부하게 하여 시간이 지남에 따라 예측 정확도를 향상시킵니다.
- Pareto‑최적 솔루션 – 프레임워크는 트레이드‑오프 포인트 집합을 반환하여 개발자가 목표 플랫폼에 가장 적합한 균형을 선택할 수 있게 합니다.
방법론
- Program Graph Construction – 프로그램의 중간 표현(IR)(예: LLVM IR)을 노드가 명령어나 기본 블록을 나타내고, 엣지가 데이터 및 제어 흐름 관계를 포착하는 방향 그래프로 변환한다.
- Performance Prediction via GNN
- 그래프를 벤치마크 스위트에 대해 사전 학습된 그래프 신경망에 입력한다.
- GNN은 실행 시간, 바이너리 크기, 에너지 소비라는 세 가지 목표에 대한 예측 값을 출력한다.
- Reinforcement‑Learning Search
- RL 에이전트(정책 네트워크)는 현재 IR 그래프와 예측 메트릭을 조건으로 다음 컴파일러 패스를 제안한다.
- 에이전트는 결과 예측이 다목표 점수를 얼마나 개선했는지와 사용자 제약(예: “energy ≤ X”)을 만족하는 정도에 따라 보상을 받는다.
- Iterative Database Update
- 평가된 각 패스 시퀀스(실제 컴파일 및 측정)를 데이터베이스에 저장한다.
- 데이터베이스를 활용해 GNN을 미세 조정하여 향후 예측을 더 정확하게 만든다—온라인 학습의 한 형태이다.
- Pareto Front Extraction – 예산 제한 탐색이 끝난 후 MileStone은 비우위 솔루션(세 메트릭 모두에서 다른 시퀀스보다 우수하지 않은)을 반환하여 개발자에게 다양한 트레이드오프 옵션을 제공한다.
결과 및 발견
- Execution‑time reduction: 동일한 에너지 예산에 제한될 때 최고의 LLVM
-O3설정보다 최대 45 % faster. - Energy compliance: MileStone은 LLVM의 고정 최적화 레벨 및 기존 휴리스틱 접근 방식보다 사용자 지정 에너지 제한을 ~20 % more accurately 충족합니다.
- Pareto quality: 생성된 파레토 프론트는 SPEC CPU‑2017 및 PolyBench 스위트에서 최신 다목적 컴파일러가 만든 프론트보다 우수합니다.
- Scalability: GNN 예측기가 각 후보에 대해 비용이 많이 드는 전체 재컴파일을 피하기 때문에 탐색 시간은 패스 수에 대해 서브선형적으로 증가합니다.
Practical Implications
- Tailored builds for edge devices: 에지 디바이스용 맞춤형 빌드: 개발자는 엄격한 전력 제한을 준수하면서도 성능을 최대한 끌어낼 수 있는 바이너리를 자동으로 생성할 수 있습니다—IoT, 웨어러블, 모바일 GPU에 필수적입니다.
- Continuous integration pipelines: 지속적 통합 파이프라인: MileStone을 CI/CD에 연결하여 변환 데이터베이스를 지속적으로 발전시킬 수 있으며, 이를 통해 각 새로운 코드 커밋이 이전 최적화 지식의 혜택을 받도록 보장합니다.
- Cross‑platform portability: 크로스‑플랫폼 이식성: 프레임워크가 IR 수준에서 작동하기 때문에, 동일한 최적화 파이프라인을 다양한 백엔드(x86, ARM, RISC‑V)에서 손수 튜닝 없이 재사용할 수 있습니다.
- Developer empowerment: 개발자 역량 강화: 파레토 프론트를 공개함으로써, 팀은 깊은 컴파일러 전문 지식 없이도 (예: OTA 업데이트를 위한 크기 우선 vs. 연산 집약적 워크로드를 위한 속도 우선) 정보에 기반한 트레이드오프 결정을 내릴 수 있습니다.
제한 사항 및 향후 작업
- 학습 데이터 의존성: GNN의 정확도는 대표적인 벤치마크 집합에 달려 있으며, 이색적인 코드 패턴은 데이터베이스에 충분한 샘플이 쌓일 때까지 여전히 잘못 예측될 수 있습니다.
- RL 탐색 비용: 예측기가 평가를 가속화하지만, RL 에이전트는 고품질 프론트에 수렴하기 위해 여전히 상당한 횟수의 반복이 필요하며, 이는 매우 큰 코드베이스에서는 부담이 될 수 있습니다.
- 제한된 목표 집합: 현재 구현은 실행 시간, 크기, 에너지에 초점을 맞추고 있으며, 열 여유나 보안 강화와 같은 다른 지표로 확장하는 것은 향후 연구 과제로 남겨두었습니다.
- 기존 툴체인과의 통합: 완전한 채택을 위해서는 주류 컴파일러(LLVM, GCC)와의 긴밀한 결합 및 언어별 프론트엔드 지원이 필요하며, 이는 저자들이 진행하려는 작업입니다.
핵심 요약: MileStone은 그래프 중심, 학습 기반 접근법이 다목적 컴파일러 단계 순서를 실제 소프트웨어 개발에 실용적으로 만들 수 있음을 보여주며, 성능을 희생하지 않으면서도 더 스마트하고 에너지 인식적인 빌드를 가능하게 합니다.
저자
- Amirhosein Sadr
- Mehran Alidoost Nia
논문 정보
- arXiv ID: 2605.23435v1
- 카테고리: cs.PL, cs.SE
- 출판일: 2026년 5월 22일
- PDF: PDF 다운로드