성능분석을 통한 안정화된 클라우드 컴퓨팅 기반 교육 실습 시스템 구축 Build the Teaching Practice System based on Cloud Computing for Stabilization through Performance Evaluation원문보기
이미 잘 알려져 있는 클라우드 컴퓨팅은 사용자가 요구하는 컴퓨팅 자원을 최적화하여 유연하고 확장성 있게 지원할 수 있어 다양한 분산컴퓨팅 분야에 적용되고 있다. 클라우드 컴퓨팅은 가상화 기술을 통해 실제적인 구현 및 서비스가 가능하며 여러 가상화 기술과 제품들이 개발, 출시되고 있다. 본 논문에서는 클라우드 컴퓨팅의 가상화 기반으로 교육 실습 환경을 구축하고, 각 실습환경의 성능을 분석하였다. 클라우드 컴퓨팅 기반의 가상화 실습 환경은 최적화된 자원을 제공할 수 있으며, 실습 제공자는 자원 관리의 편리성, 결과에 대한 손쉬운 관리, 실습환경의 성능 및 상태 등의 수월하게 관리하고 파악 할 수 있다. 또한, 다양한 실습환경을 구축하는데 있어 요구되는 시스템 환경을 유연성 있고 신속하게 제공할 수 있어 시스템의 활용성 또한 높아지게 된다. 나아가 가상화 실습환경의 성능 분석을 통하여 구동될 수 있는 교육 어플리케이션의 성능을 미리 평가하고 가늠할 수 있다.
이미 잘 알려져 있는 클라우드 컴퓨팅은 사용자가 요구하는 컴퓨팅 자원을 최적화하여 유연하고 확장성 있게 지원할 수 있어 다양한 분산컴퓨팅 분야에 적용되고 있다. 클라우드 컴퓨팅은 가상화 기술을 통해 실제적인 구현 및 서비스가 가능하며 여러 가상화 기술과 제품들이 개발, 출시되고 있다. 본 논문에서는 클라우드 컴퓨팅의 가상화 기반으로 교육 실습 환경을 구축하고, 각 실습환경의 성능을 분석하였다. 클라우드 컴퓨팅 기반의 가상화 실습 환경은 최적화된 자원을 제공할 수 있으며, 실습 제공자는 자원 관리의 편리성, 결과에 대한 손쉬운 관리, 실습환경의 성능 및 상태 등의 수월하게 관리하고 파악 할 수 있다. 또한, 다양한 실습환경을 구축하는데 있어 요구되는 시스템 환경을 유연성 있고 신속하게 제공할 수 있어 시스템의 활용성 또한 높아지게 된다. 나아가 가상화 실습환경의 성능 분석을 통하여 구동될 수 있는 교육 어플리케이션의 성능을 미리 평가하고 가늠할 수 있다.
Cloud computing is already well known paradigm that a support computing resource flexible and scalable to users as the want in distributed computing environment. Actually, cloud computing can be implemented and provided by virtualization technology. Also, various products are released or under devel...
Cloud computing is already well known paradigm that a support computing resource flexible and scalable to users as the want in distributed computing environment. Actually, cloud computing can be implemented and provided by virtualization technology. Also, various products are released or under development. In this paper, we built the teaching practice system using cloud computing and evaluated practical environment which constructed over a virtual machine. Virtualization-based cloud computing provides optimized computing resources, as well as easy to manage practical resource and result. Therefore, we can save the time for configuration of practice environment. In the view of faculty, they can easily handle the practice result. Also, those practice condition reuse comfortably and apply to various configuration simply. And then we can increase capabilities and availabilities of limited resources. Additionally, we measure the performance requirements for educational applications through evaluation of virtual-based teaching practical system in advance.
Cloud computing is already well known paradigm that a support computing resource flexible and scalable to users as the want in distributed computing environment. Actually, cloud computing can be implemented and provided by virtualization technology. Also, various products are released or under development. In this paper, we built the teaching practice system using cloud computing and evaluated practical environment which constructed over a virtual machine. Virtualization-based cloud computing provides optimized computing resources, as well as easy to manage practical resource and result. Therefore, we can save the time for configuration of practice environment. In the view of faculty, they can easily handle the practice result. Also, those practice condition reuse comfortably and apply to various configuration simply. And then we can increase capabilities and availabilities of limited resources. Additionally, we measure the performance requirements for educational applications through evaluation of virtual-based teaching practical system in advance.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 이런 특징을 활용하여 대학 내에서 수행되는 실습환경을 클라우드 컴퓨팅의 가상화 기술을 이용하여 구성함으로써 학생들이 수행해야할 시스템 환경을 최적화하여 제공할 수 있다. 나아가 구축된 가상화 기반 실습환경(Virtual Machine)의 성능을 분석하여 제공함으로써 사용자가 실습 환경을 이용할 시 요구되는 자원의 요구 성능을 보장하고 안정적인 환경을 제공할 수 있다.
본 논문에서는 클라우드 컴퓨팅 기반에서 가상화를 통해 최적화 된 실습 환경을 구축하기 위하여 오픈 소스 기반의 SW를 활용하여 구축하였다. 리눅스 기반 OS상에서 가상 머신들을 생성하고, 가상머신(VM: Virtual Machine)을 관리하는 오픈소스 가령, Eucalyptus, OpenNebula, Nimbus, OpenStack, Abiquo 등과 같은 IaaS(Infrastructure as a Services) 기반의 SW를 설치하였다, 또한 가상머신 위에서 운영하게 될 다양한 실습환경을 자원의 요구사항(SW, 환경설정)에 따라 이미지로 만들어 복제 사용함으로써 시스템 설정 및 관리가 용이해진다.
본 논문에서는 클라우드 컴퓨팅의 가상화 속성을 이용하여 다양한 교육 실습 환경에 접목함으로써 사용자가 요구하는 환경을 유연하고 신속하게고 제공할 수 있음을 살펴보았다. 빈번하게 실습 환경 제공을 위해 구축해야할 여러 시스템 환경 또한 가상 어플라이언스(Virtual Appliance)로 이미지화하여 설정함으로써 관리의 부하를 축소시킬 뿐만 아니라 실습 환경의 규모에 대해서도 유연하게 대처할 수 있다.
제안 방법
두 번째로 실습환경이 구동될 복수개의 가상환경(VM)을 관리하기 위해서는 IaaS기반의 오픈소스가 요구된다. 관련연구에서 논하였듯이 대표적인 오픈소스 IaaS 소프트웨어로서는 Nimbus, OpenNebula, OpenStack, Eucalyptus 등이 있으며, 본 실험에는 OpenNebula를 설치하여 VM을 관리하였다. 이 툴을 사용하여 VM들을 동작, 종료, 대기, 리셋 시킬 수 있으며 장애가 발생할 시 마이그레이션 기능도 제공된다.
<표 2>와 같이 HPL 벤치마크에서는 다양한 옵션을 줄 수 있는데 성능 측정 결과에 큰 영향을 주는 것은 문제 크기 N과 프로세스 격자 P, Q 그리고 블록사이즈 NB 값이다[14]. 노드 수와 프로세스 수를 증가시켜 가며 다양한 실험을 수행하였다. 문제의 크기 N은 가상 머신에 할당된 메모리의 크기에 따라 좌우되며 시스템에서 기본적으로 사용하는 메모리 사용량이 있기 때문에 일반적으로 전체 메모리의 대략 80% 정도를 잡아서 테스트하게 된다.
본 실험을 위하여 성능이 다른 두 개의 가상화 기반 실습환경을 구축하였다. <표 3>은 각각의 실습환경(가상머신)의 성능을 나타내고 있으며 여기에는 이론성능과 HPL을 수행하는데 필요한 문제의 크기 기준을 4.
본 실험을 위해 Intel core i7-920(2.66GHz) 프로세서에 12GB 메모리를 가지는 시스템(Bare Machine)에서 가상 머신 환경을 변경(코어 개수, 메모리 크기)하면서 HPL을 이용하여 성능을 측정하였다. 실제로 2009년 말부터 인텔에서는 CPU 아키텍처에 대한 이론치 최대성능(Theoretical maximum Gflops) 공식적으로 제공하지 않고 있다.
이를 위해 다양한 벤치마크(benchmark) 도구가 사용된다. 본 연구에서는 HPL (High-Performance Linpack Benchmark)을 이용하여 실습 시스템의 실제 성능을 측정하였다[12]. HPL은 분산-메모리 컴퓨터에서 각각의 시스템이 성능을 측정하는데 사용한다.
사용자의 실습 환경인 가상 머신의 성능 측정을 위해 과 같이 소프트웨어 스택을 구축하였다.
Intel Core i7에서는 하이퍼스레딩(Hyper-Threading)라는 기술이 적용되었는데 프로세서 리소스를 보다 효율적으로 사용하기 위해 코어당 두 개의 스레드(thread)를 수행할 수 있도록 성능을 높여 주는 기능이다. 이론치 성능 측정에서는 하이퍼스레딩 기술을 비활성화 하여 측정하였다.
클라우드 기반의 교육 실습 환경을 구축하기 위해 실제 실습이 구동되는 가상머신을 관리할 필요성이 잇다 이를 요구되는 도구로서 관련 연구에서 다루었던 오픈소스 기반의 Iaas 도구인 OpenNebula를 사용하여 가상머신들을 제어하였다. 전체적인 가상 자원의 생성, 초기화, 동작, 대기, 회수 등을 일괄적으로 수행할 수 있다.
이론/모형
이 툴을 사용하여 VM들을 동작, 종료, 대기, 리셋 시킬 수 있으며 장애가 발생할 시 마이그레이션 기능도 제공된다. VM은 리눅스 기반(CentOS) 이미지로 생성하였으며 (Figure 2)와 같이 오픈소스 기반의 IaaS 도구인 OpenNebula를 이용하여 VM을 생성하였다.
HPL benchmark는 MPI를 기반으로 동작하며 정밀한 수학 계산을 위한 library package를 필요로 한다. 수학 library package로는 위의 표와 같이 BLAS library를 생성하는 프로그램인 GotoBLAS2[13]를 사용하였다. 실험을 위해 설치된 이 소프트웨어 패키지는 n차 선형방정식 Ax=B 의 n by n+1 계수행렬(coefficient matrix)을 LU 인수분해(LU factorization)로 계산하여 풀게 된다.
성능/효과
본 논문에서는 이런 특징을 활용하여 대학 내에서 수행되는 실습환경을 클라우드 컴퓨팅의 가상화 기술을 이용하여 구성함으로써 학생들이 수행해야할 시스템 환경을 최적화하여 제공할 수 있다. 나아가 구축된 가상화 기반 실습환경(Virtual Machine)의 성능을 분석하여 제공함으로써 사용자가 실습 환경을 이용할 시 요구되는 자원의 요구 성능을 보장하고 안정적인 환경을 제공할 수 있다. 실습 제공자는 자원 관리의 편리성, 결과에 대한 손쉬운 관리, 실습환경의 성능 및 상태 등의 수월하게 관리하고 파악 할 수 있는 장점을 가진다.
빈번하게 실습 환경 제공을 위해 구축해야할 여러 시스템 환경 또한 가상 어플라이언스(Virtual Appliance)로 이미지화하여 설정함으로써 관리의 부하를 축소시킬 뿐만 아니라 실습 환경의 규모에 대해서도 유연하게 대처할 수 있다. 나아가 다양한 가상화 기반의 실습환경이 구축되면서 발생할 수 있는 성능의 문제점을 실제로 측정하고 파악함으로써 안정적인 실습환경을 구축할 수 있음을 살펴볼 수 있었다. 더욱이 가상 어플라이언스를 생성하여 실습환경에서 구동될 때 발생할 수 있는 자원의 요구사항들을 미연에 측정하여 최적화된 실습환경을 제공할 수 있다는 장점은 클라우드 컴퓨팅의 개념에 더욱 부합된다.
위 실험을 통해 실습 환경에서 얻을 수 있는 최대의 성능을 얻기 위한 문제의 사이즈(N)을 유추할 수 있었고 실제 벤치마크실험을 통해 이론 성능 대비 최대 80% 이상 실측 성능을 얻을 수 있었다. 가상화 특징상 리눅스 커널과 하이퍼바이저에서 사용하는 리소스를 감안하면 매우 양호한 결과이다.
더욱이 가상 어플라이언스를 생성하여 실습환경에서 구동될 때 발생할 수 있는 자원의 요구사항들을 미연에 측정하여 최적화된 실습환경을 제공할 수 있다는 장점은 클라우드 컴퓨팅의 개념에 더욱 부합된다. 한편, 본 실험을 통해서 가상화 실습 환경의 성능을 이론 대비 약 80%까지 얻을 수 있었고, 최대한의 성능을 얻기 위한 문제 즉, 시스템 부하의 크기를 유추 하는 과정을 알아낼 수 있었다.
후속연구
향후, 다양한 벤치마크 도구를 적용하여 가상 실습환경의 성능을 비교, 분석하여 보는 연구가 필요하며, 계산성능 뿐만 아니라 파일시스템의 I/O, 네트워크의 대역폭 등 여러 각도에서 실습 환경에 대한 성능 평가가 필요하겠다.
질의응답
핵심어
질문
논문에서 추출한 답변
클라우드 컴퓨팅의 장점은 무엇인가?
클라우드 컴퓨팅은 존재하는 자원들을 요구사항과 목적에 맞게 최적화하여 사용자에게 제공할 수 있는 장점을 가지고 있어 최근 학계, 산업 분야 등의 다양한 솔루션을 제공하기 두루 적용되고 있다. 클라우드 컴퓨팅은 가상화라는 기술을 기반으로 실제적인 구현 및 서비스가 가능하며 사용자가 요구하는 컴퓨팅 환경을 유연하게 구성할 수 있다[1].
OpenNebula의 특징은 무엇인가?
OpenNebula는 Universidad Complutense de Madrid의 DSA-research Group에서 시작된 오픈 소스 기반의 IaaS Management 툴킷으로 물리적 자원들 안에서 가상머신을 동적으로 구성하고 재할당하는 오픈 소스 가상 인프라스트럭처 엔진이다. private, public, hybrid cloud를 구축할 수 있으며 Amazon AWS, OGC OCCI, VMware vCloud와 연동이 가능한 공통 인터페이스를 제공한다. Open Nebula는 어떤 네트워킹과 스토리지 솔루션과 통합될 수 있고, 그래서 현존하는 어떠한 데이터센터와 통합되도록 설계되었다.
Eucalyptus란 무엇인가?
Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs to Useful Systems)는 리눅스 기반의 인프라스트럭처 상에서의 IaaS 클라우드 컴퓨팅 서비스를 제공하는 오픈소스 기반 소프트웨어 플랫폼으로 2007년 캘리포니아 대학의 Computing Science 학부에서 연구 프로젝트로 시작하였다. 2007년 VGrADS(Virtual Grid Application Development Software) 프로젝트에서 LEAD(Linked Environment for Atmospheric Discovery) 기후 예측 시스템을 개발 중 LEAD에서 생성되는 대규모의 워크플로를 수행하기 위해 클라우드 환경의 필요성이 재기되었다.
참고문헌 (14)
Bhaskar Prasad Rimal, Eunmi Choi, and Ian Lumb. A taxonomy and survey of cloud computing systems. In Proceedings of the 2009 Fifth International Joint Conference on INC, IMS and IDC, NCM '09, pages 44-51, 2009.
J. Diaz, G. v. Laszewski, F. Wang, and G. Fox, " Abstract Image Management and Universal Image Registration for Cloud and HPC Infrastructures " IEEE Cloud. 2012.
Daniel J. Abadi, "Data Management in the Cloud: Limitations and Opportunities", In IEEE DE Bulletin, vol 32(1), pp 3-12, Feb 2009.
G.Y. LEE, H.K. Choi,"Capacity Analysis of University Cloud Computer for Integrating Academic Affairs Busines", Journal of Digital Contents Society Vol.15 No. 3 June, pp. 413-423, 2014.
B.Sotomayor, R. S. Montero, I. M. Llorente, and I.Foster, "Virtual Infrastructure Management in Private and Hybrid Clouds," IEEE Internet Computing, vol. 13, pp. 14-22, Sep-Oct 2009.
Nimbus Project Web Page. http://www.nimbusproject.org
Eucalyptus Web Pages (Open Source). http://open.eucalyptus.com
Nurmi, D.Wolski, R. Grzegorczyk, C. Obertelli, "The Eucalyptus Open-Source Cloud-Computing System ", CCGRID '09. 9th IEEE/ACM International Symposium, Cluster Computing and the Grid, 2009. pp.124 - 131, 2009.
PETITET, Antoine. HPL-a portable implementation of the high-performance Linpack benchmark for distributed-memory computers. http://www.netlib.org/benchmark/hpl/, 2004.
Goto, Kazushige, and K. Milfeld. "GotoBLAS2.", https://www.tacc.utexas.edu/tacc-projects/gotoblas2, 2011.
Dunlop, Dominic, Sebastien Varrette, and Pascal Bouvry. "On the use of a genetic algorithm in high performance computer benchmark tuning", Parallel Processing and Applied Mathematics. Springer Berlin Heidelberg pp. 102-114, 2010
※ AI-Helper는 부적절한 답변을 할 수 있습니다.