[논문 리뷰] Batch-oriented software appliances
AppPot는 루트 권한이나 특수 가상화 지원이 필요 없이 그리드 또는 클러스터 인fra에서 정규 배치 작업으로 사용자 정의 리눅스 가상 애플라이언스를 생성하고 배포할 수 있도록 하는 배치 중심 소프트웨어 어플라이언스 시스템이다. 유저 모드 리눅스(UML)를 활용함으로써 AppPot는 응용 프로그램과 전체 런타임 환경을 패키징할 수 있으며, 이는 개인 클라우드, 공공 클라우드, 기존 배치 시스템을 포함한 이질적인 컴퓨팅 환경 간 이식 가능하고 재현 가능하며 자가 포함된 실행을 가능하게 한다.
This paper presents AppPot, a system for creating Linux software appliances. AppPot can be run as a regular batch or grid job and executed in user space, and requires no special virtualization support in the infrastructure. The main design goal of AppPot is to bring the benefits of a virtualization-based IaaS cloud to existing batch-oriented computing infrastructures. In particular, AppPot addresses the application deployment and configuration on large heterogeneous computing infrastructures: users are enabled to prepare their own customized virtual appliance for providing a safe execution environment for their applications. These appliances can then be executed on virtually any computing infrastructure being in a private or public cloud as well as any batch-controlled computing clusters the user may have access to. We give an overview of AppPot and its features, the technology that makes it possible, and report on experiences running it in production use within the Swiss National Grid infrastructure SMSCG.
연구 동기 및 목표
- 중앙 집중식 소프트웨어 관리가 비현실적인 대규모 이질적 컴퓨팅 환경에서 복잡한 사용자 정의 과학 응용 프로그램을 배포하는 문제를 해결하기 위해.
- 기존의 배치 시스템이 소프트웨어 설치를 제한하고 응용 프로그램 설정을 위해 관리자 개입을 요구하는 한계를 극복하기 위해.
- 사용자가 완전한 런타임 환경을 봉인한 자체 소유의 소프트웨어 애플라이언스를 생성하고 실행할 수 있도록 하여 재현 가능성과 격리성을 보장하기 위해.
- 동일한 가상 애플라이언스를 사용해 로컬 머신에서의 개발과 배치 또는 클라우드 환경에서의 실행 간 원활한 전환을 가능하게 하기 위해.
- 시스템 관리자가 개입하거나 특권 접근 권한이 필요 없도록 사용자가 스스로 응용 프로그램을 배포할 수 있도록 하여 관리 부담을 줄이기 위해.
제안 방법
- 리눅스 시스템 이미지의 부팅 순서를 수정하기 위해 POSIX 쉘 스크립트를 사용하여 커널 명령행을 통해 배치 작업으로 실행될 수 있도록 하기 위해.
- 사용자 공간 프로세스로서 리눅스 커널을 실행하는 경량 가상화 기술인 User-Mode Linux(UML)과 통합하여 하드웨어 지원이나 루트 권한 없이도 가상화를 가능하게 하기 위해.
- AppPot 이미지를 호출하고 가상 환경 내에서 지정된 명령을 실행하기 위해 명령행 유틸리티 `apppot-start` 를 제공하기 위해.
- 운영 체제, 라이브러리, 런타임 설정을 포함한 최소 크기의 자가 포함 리눅스 이미지에 응용 프로그램과 그 종속성을 패키징하기 위해.
- UML이 일반 프로세스로서 실행될 수 있도록 하여 기존의 배치 스케줄러(SGE, SLURM 등) 및 그리드 미들웨어와의 통합을 가능하게 하기 위해.
- 동일한 애플라이언스가 로컬 클러스터, 프라이빗 클라우드, 공공 IaaS 환경에서 모두 사용 가능하게 하여 이식성 확보하기 위해.
실험 결과
연구 질문
- RQ1경량 사용자 공간 가상화 접근 방식은 시스템 관리자 개입 없이도 배치 중심 컴퓨팅 환경에 복잡한 과학 응용 프로그램을 배포하는 데 성공할 수 있는가?
- RQ2User-Mode Linux는 그리드 및 클러스터 환경에서 배치 작업으로 기능하는 이식 가능하고 자가 포함된 소프트웨어 애플라이언스를 만드는 데 어느 정도 활용될 수 있는가?
- RQ3AppPot는 기존의 배치 시스템 워크플로우와의 호환성을 유지하면서도 소프트웨어 배포의 관리 부담을 얼마나 효과적으로 줄일 수 있는가?
- RQ4메모리 제약이 있는 배치 환경에서 UML 기반 애플라이언스를 실행할 경우 성능 및 확장성에 어떤 한계가 존재하는가?
- RQ5동일한 소프트웨어 애플라이언스가 분산 컴퓨팅 환경에서 개발, 테스트, 운영 환경 간 일관되게 사용될 수 있는가?
주요 결과
- AppPot는 사용자가 복잡한 과학 응용 프로그램을 자가 포함된 소프트웨어 애플라이언스로 패키징하고 배포할 수 있도록 하여, 루트 접근 권한이나 인fra 수준의 가상화 지원 없이도 배치 작업으로 실행할 수 있도록 성공적으로 실현하였다.
- 시스템은 스위스 국립 그리드 인프라(SMSCG) 내에서 생산 환경에 배포되어 실제 대규모 컴퓨팅 환경에서의 실현 가능성과 사용성에 대한 증거를 제시하였다.
- AppPot 애플라이언스는 이식 가능하며, 로컬 클러스터, 프라이빗 클라우드, 공공 IaaS 클라우드에서 동일하게 실행되어 실행 환경 간 재현 가능성과 일관성을 보장한다.
- UML을 사용함으로써 AppPot는 사용자 공간에서 실행되어 특권 작업이나 하이퍼바이저 수준의 가상화가 필요 없게 되었으며, 이는 배포를 단순화하고 관리 부담을 감소시켰다.
- 기존의 한계로, UML의 메모리 회계 메커니즘이 공유 메모리 페이지를 잘못 추정하여 배치 시스템이 메모리 초과 사용으로 간주하고 작업을 조기에 종료할 수 있으나, 이는 UML 작업에 대한 메모리 강제 조건을 비활성화함으로써 완화 가능하다.
- UML은 원래 SMP 지원이 없어 다중 스레드 애플리케이션의 성능을 제한하지만, 향후 UDP 멀티캐스트 터널링을 통한 MPI 기반 병렬 실행을 지원할 수 있도록 확장할 수 있으며, 이는 HPC 스타일 워크로드에 대한 지원을 향상시킬 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.