• 제목/요약/키워드: Parallel Virtual Machine

검색결과 33건 처리시간 0.022초

가상화 환경에서 NVMe SSD 성능 분석 및 직접 접근 엔진 개발 (Performance Analysis of NVMe SSDs and Design of Direct Access Engine on Virtualized Environment)

  • 김세욱;최종무
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제24권3호
    • /
    • pp.129-137
    • /
    • 2018
  • 낸드 플래시 메모리 기반의 NVMe(Non-Volatile Memory express) SSD(Solid State Drive)는 멀티 I/O 큐 환경을 제공하는 PCIe 인터페이스 기반에 NVMe 프로토콜을 사용하는 저장장치이다. NVMe SSD는 Multi-core 시스템에서 병렬 I/O 처리가 가능하고 SATA SSD에 비해 대역폭이 크며 대용량의 저장 공간을 제공하기 때문에 데이터 센터, 클라우드 컴퓨팅 등에 사용될 차세대 저장장치로 주목받고 있다. 하지만 가상화 시스템에서는 소프트웨어 I/O 스택의 병목으로 인하여 NVMe SSD의 성능을 충분히 활용하지 못하고 있다. 특히, Xen과 KVM과 같이 호스트 시스템의 I/O 스택을 사용하는 경우에는, 호스트 시스템과 가상머신의 중복된 I/O 스택을 통해서 입출력이 처리되기 때문에 성능 저하가 크게 발생한다. 본 논문에서는 NVMe SSD에 직접 접근하는 기술을 KVM 가상화 시스템에 적용함으로써 가상 머신 I/O의 성능을 향상시키는 Direct-AIO (Direct-Asynchronous I/O)엔진을 제안한다. 그리고 QEMU 에뮬레이터에 제안한 엔진을 개발하고 기존의 I/O 엔진과의 성능 차이를 비교 및 분석한다.

C++컴파일러 및 프로그래밍 환경 개발 (Debelppment of C++ Compiler and Programming Environment)

  • 장천현;오세만
    • 한국정보처리학회논문지
    • /
    • 제4권3호
    • /
    • pp.831-845
    • /
    • 1997
  • 본 논문에서는 가장 널리 사용되고 있는 객체지향 언어인 C++를 지한 컴푸일러 및 대화식 프로그래밍 환경을 제안하고 개발하였다. C++ 언어를 위한 컴파일러를 개발하기 위해 컴파러를 Front-End 와 Back-End로 나누고 가상기계인 EM을 사용하여 연결하는 모델을 사용하였다. Front-End 개발시에는 C++ 문법을 문법석 도구, 어휘 및 구문분석기 생성도구를 이용하여 구문분석 방법과 문맥에 연동된 문법 처리기술과 AST클래스 라이브러리를 개발하였다. Back-End에서는 목적기계 표현기술과 토리코드 최적화 방법, 트리 패턴 매칭에 의한 재목적 코드 생성 기법을 제안하고 이를 이용한 재목적이 용이한 SPARC 기계 Back-End를 개발하였다. C++를 위한 대화식 프로그래밍 환경은 언어의 다양한 특성을 효과적으로 표현하기 위해 AST을 이용하고, 점진적 분석 기술과 시각 기호 를 제안하였다. 대화식 환경의 일반화에 의한 자동생성 방법과 프로그램의 정형화된 표현 방법을 위한 Unparsing 체계를 제안하였다. 개발된C++ 컴팰러와 대화식 프로그램 환경은 통합된 C++ 프로그래밍 환경을 구성하게 된다. 본 연구를 통해 얻어진 기술 들은 새로운 고급언어 및 기계에 대한 컴파일러의 개발은 물론 병렷 및 분산 환경을 위한 컴파일러 개발에 활옹될 수 있을 것이다.

  • PDF

분포형 모형을 이용한 소유역 연계 낙동강 홍수해석시스템 구축 (Construction of a Sub-catchment Connected Nakdong-gang Flood Analysis System Using Distributed Model)

  • 최윤석;원영진;김경탁
    • 한국수자원학회:학술대회논문집
    • /
    • 한국수자원학회 2018년도 학술발표회
    • /
    • pp.202-202
    • /
    • 2018
  • 본 논문에서는 분포형 강우-유출 모형인 GRM(Grid based Rainfall-runoff Model)(최윤석, 김경탁, 2017)을 이용해서 낙동강 유역을 대상으로 대유역 홍수해석시스템을 구축하고, 유출해석을 위한 실행시간을 평가하였다. 유출모형은 낙동강의 주요 지류와 본류를 소유역으로 구분하여 모형을 구축하고, 각 소유역의 유출해석 결과를 실시간으로 연계할 수 있도록 하여 낙동강 전체 유역의 유출모형을 구축하였다. 이와 같이 하나의 대유역을 다수의 소유역시스템으로 분할하여 모형을 구축할 경우, 유출해석시스템 구성이 복잡해지는 단점이 있으나, 소유역별로 각기 다른 자료를 이용하여 다양한 해상도로 유출해석을 할 수 있으므로, 소유역별 특성에 맞는 유출모형 구축이 가능한 장점이 있다. 또한 각 소유역시스템은 별도의 프로세스로 계산이 진행되므로, 대유역을 고해상도로 해석하는 경우에도 계산시간을 단축할 수 있다. 본 연구에서는 낙동강 유역을 20개(본류 구간 3개, 1차 지류 13개, 댐상류 4개)의 소유역으로 분할하여 계산 시간을 검토하였으며, 최종적으로 21개(본류 구간 3개, 1차 지류 13개, 댐상류 5개)의 소유역으로 분할하여 유출해석시스템을 구축하였다. 댐 상류 유역은 댐하류와 유량전달이 없이 독립적으로 모의되고, 댐과 연결된 하류 유역은 관측 방류량을 상류단 하천의 경계조건으로 적용한다. 지류 유역은 본류 구간과 연결되고, 지류의 계산 유량은 본류와의 연결지점에 유량조건으로 실시간으로 입력된다. 이때 본류와 지류의 유량 연계는 데이터베이스를 매개로 하였다. 유출해석시스템의 성능을 평가하기 위해서 Microsoft 클라우드 서비스인 Azure를 이용하였다. 낙동강 유역을 20개 소유역으로 구성한 경우에서의 유출해석시스템의 속도 평가 결과 Azure virtual machine instance DS15 v2(OS : Windows Server 2012 R2, CPU : 2.4 GHz Intel $Xeon^{(R)}$ E5-2673 v3 20 cores)에서 1.5분이 소요 되었다. 계산시간 평가시 GRM은 'IsParallel=false' 옵션을 적용하였으며, 모의 기간은 24시간을 기준으로 하였다. 연구결과 분포형 모형을 이용한 대유역 유출해석시스템 구축이 가능했으며, 계산시간도 충분히 단축할 수 있었다. 또한 추가적인 CPU와 병렬계산을 적용할 경우, 계산시간은 더 단축될 수 있으며, 이러한 기법들은 분포형 모형을 이용한 대유역 유출해석시스템 구축시 유용하게 활용될 수 있을 것으로 판단된다.

  • PDF