외부 라이브러리 링킹을 통한 WebAssembly의 관리형 언어 지원 도입
요약
WebAssembly 환경에서 Python, Java와 같은 관리형 언어를 효율적으로 지원하기 위한 새로운 프레임워크 WALL-E를 제안합니다. 외부 라이브러리 링킹 전략을 통해 런타임 중첩 오버헤드를 제거하고 네이티브에 가까운 성능을 구현했습니다.
핵심 포인트
- 관리형 언어의 Wasm 통합을 위한 WALL-E 프레임워크 제안
- 외부 라이브러리 링킹을 통한 런타임 중첩 및 재컴파일 문제 해결
- 기존 런타임 중첩 솔루션 대비 수백 배의 속도 향상 달성
- 10개의 관리형 언어를 프레임워크 수정 없이 지원 가능
WebAssembly (Wasm)는 휴대 가능하고 안전한 환경에서 네이티브에 가까운 성능으로 애플리케이션을 실행할 수 있는 강력한 바이트코드 (bytecode) 형식으로 부상했습니다. 그러나 현재 Wasm은 C, C++, Rust와 같은 컴파일된 언어는 지원하지만, Python, Java, JavaScript와 같은 관리형 언어 (managed languages)에 대한 강력한 지원은 부족합니다. 이러한 제한 사항은 관리형 언어 생태계에 크게 의존하는 머신러닝 (machine learning) 및 데이터 처리 (data processing)와 같은 도메인에서의 애플리케이션 배포를 방해합니다. 이를 해결하기 위해, 우리는 복잡한 런타임 중첩 (runtime nesting)이나 재컴파일 (recompilation) 없이 관리형 언어를 Wasm 환경에 통합하는 새로운 프레임워크인 WALL-E를 제안합니다. WALL-E는 독특한 외부 라이브러리 링킹 (external library linking) 전략을 채택하여, 클라이언트-서버 (client-server) 아키텍처를 사용하여 Wasm 모듈을 네이티브 런타임 (native runtimes)에서 실행되는 관리형 언어 라이브러리와 연결합니다. 이 접근 방식은 이중 계층 가상 머신 (virtual machines)과 관련된 오버헤드를 제거함으로써 관리형 언어의 네이티브 실행 속도와 언어 기능 호환성을 보존합니다. 우리의 평가에 따르면, WALL-E는 프레임워크 수정 없이 10개의 관리형 언어를 지원하며, 낮은 통신 오버헤드와 함께 런타임 중첩 솔루션 대비 수백 배의 속도 향상을 달성합니다. WALL-E는 클라우드 및 에지 컴퓨팅 (edge computing)에서 Wasm의 실용성을 높여 효율적인 다중 언어 애플리케이션을 가능하게 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기