[Paper] MileStone: 그래프 기반 IR 수준 최적화를 위한 다목적 컴파일러 단계 순서 프레임워크

발행: (2026년 5월 22일 PM 06:45 GMT+9)
9 분 소요
원문: arXiv

Source: arXiv - 2605.23435v1

Overview

이 논문은 MileStone이라는 모듈형 프레임워크를 소개합니다. MileStone은 컴파일러 단계 순서를 다목적 최적화 문제로 취급합니다. 그래프 기반 프로그램 표현, 그래프 신경망(GNN) 및 강화 학습(RL)을 결합함으로써 MileStone은 실행 속도, 코드 크기, 에너지 소비를 균형 있게 조절하는 패스 시퀀스를 자동으로 탐색할 수 있습니다—이는 전통적인 컴파일러 휴리스틱이 다루기 어려운 부분입니다.

핵심 기여

  • 그래프‑중심 IR 모델링 – 프로그램을 그래프로 인코딩하여 전통적인 피처 벡터가 놓치는 구조적 정보를 보존합니다.
  • GNN‑기반 성능 예측기 – 학습된 그래프 신경망이 실제로 코드를 컴파일하지 않고도 후보 패스 시퀀스의 실행 시간, 바이너리 크기, 에너지 사용량을 추정합니다.
  • RL‑구동 단계 순서 지정 – 강화 학습 에이전트가 사용자 정의 제약(예: 에너지 예산)을 고려하면서 가능한 패스 순열의 방대한 공간을 탐색합니다.
  • 자체 진화 변환 데이터베이스 – MileStone은 과거 컴파일러 변환 저장소를 지속적으로 풍부하게 하여 시간이 지남에 따라 예측 정확도를 향상시킵니다.
  • Pareto‑최적 솔루션 – 프레임워크는 트레이드‑오프 포인트 집합을 반환하여 개발자가 목표 플랫폼에 가장 적합한 균형을 선택할 수 있게 합니다.

방법론

  1. Program Graph Construction – 프로그램의 중간 표현(IR)(예: LLVM IR)을 노드가 명령어나 기본 블록을 나타내고, 엣지가 데이터 및 제어 흐름 관계를 포착하는 방향 그래프로 변환한다.
  2. Performance Prediction via GNN
    • 그래프를 벤치마크 스위트에 대해 사전 학습된 그래프 신경망에 입력한다.
    • GNN은 실행 시간, 바이너리 크기, 에너지 소비라는 세 가지 목표에 대한 예측 값을 출력한다.
  3. Reinforcement‑Learning Search
    • RL 에이전트(정책 네트워크)는 현재 IR 그래프와 예측 메트릭을 조건으로 다음 컴파일러 패스를 제안한다.
    • 에이전트는 결과 예측이 다목표 점수를 얼마나 개선했는지와 사용자 제약(예: “energy ≤ X”)을 만족하는 정도에 따라 보상을 받는다.
  4. Iterative Database Update
    • 평가된 각 패스 시퀀스(실제 컴파일 및 측정)를 데이터베이스에 저장한다.
    • 데이터베이스를 활용해 GNN을 미세 조정하여 향후 예측을 더 정확하게 만든다—온라인 학습의 한 형태이다.
  5. 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 다운로드
0 조회
Back to Blog

관련 글

더 보기 »