MOA: 코드베이스 규모의 메모리 최적화 자동화를 위한 프로파일링 가이드 기반 LLM 프레임워크
요약
MOA는 대규모 코드베이스의 메모리 비효율성을 자동으로 탐지하고 수정하는 LLM 기반 프레임워크입니다. 세 가지 에이전트를 통해 프로파일링 데이터를 분석하고 최적화 패치를 생성하며, OpenHarmony 테스트 결과 높은 전문가 수용률과 유의미한 메모리 감소 효과를 입증했습니다.
핵심 포인트
- LLM 기반의 자동화된 메모리 최적화 프레임워크 MOA 제안
- Analyzer, Checker Generator, Patcher의 3단계 에이전트 구조
- OpenHarmony 적용 결과 10,000개 이상의 비효율성 탐지
- 평균 42.2%의 힙(heap) 감소 및 10.6%의 바이너리 크기 감소 달성
- 92.5%의 높은 전문가 패치 수용률 기록
현대의 대규모 소프트웨어 시스템은 종종 만연한 메모리 비효율성(예: bloat, churn)으로 인해 과도한 리소스 비용과 성능 저하를 겪습니다. 기존의 최적화 워크플로우는 엔드 투 엔드(end-to-end) 자동화가 부족하여, 개발자가 복잡한 도구 출력값을 실행 가능하고 의미를 보존하는 수정 사항으로 수동으로 합성해야 하며, 이는 대규모 코드베이스에서의 확장성을 저해합니다. 이를 해결하기 위해 본 논문은 프로덕션 규모의 코드베이스 전반에서 반복되는 메모리 비효율성을 자동으로 탐지하고 수리하는 LLM 기반 프레임워크인 MOA를 제시합니다. 구체적으로, MOA는 세 가지 에이전트를 통해 작동합니다: 프로파일링 데이터에서 안티 패턴(anti-patterns)을 채굴하는 Analyzer, 템플릿 가이드 정교화(template-guided refinement)를 통해 정적 분석기(static analyzers)를 합성하는 Checker Generator, 그리고 상태 머신(state-machine) 기반 워크플로우를 통해 최적화 패치(optimization patches)를 생성하는 Patcher입니다. 1억 라인 이상의 C/C++ 코드를 보유한 오픈 소스 운영체제인 OpenHarmony에 대한 평가 결과, MOA는 3개의 프로파일링된 서비스에서 13개의 안티 패턴(그 중 9개는 이전에 알려지지 않은 것)을 식별하였고, 더 넓은 범위의 7개 서비스에서 10,000개 이상의 비효율성을 탐지하였으며, 92.5%의 전문가 수용률로 769개의 패치를 생성하여 평균 42.2%의 힙(heap) 감소와 10.6%의 바이너리 크기(binary size) 감소를 달성했습니다. 우리는 MOA가 프로덕션 규모의 성능 엔지니어링을 위한 가치 있는 도구가 될 것으로 기대합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기