ETRI-Knowledge Sharing Plaform

KOREAN
연구보고서 검색
Type Funding Org. Research Org.
Year ~ Keyword

Detail

서버 기반 SW 서비스의 분할 실행 기술 개발 (최종)
Download 86 time
Participants
손덕주, 김원영, 양경아, 장수민, 최원혁, 정문영
Published
201403
Type
Final Report
Keyword
클라이언트 렌더링, 분할 실행
KSP Keywords
Software service
Funding Org.
미래창조과학부
Research Org.
한국전자통신연구원
Project Code
13VS1400, Development of a Separated Software Execution Technology for Software Service, Kim Won-Young
Abstract
핵심기술
클라이언트 렌더링 기술
: 응용 SW 서비스에서 서비스 대상이 되는 응용 SW는 서버에서 수행되지만 응용의 그래픽 렌더링은 클라이언트의 GPU를 이용하여 실행되는 새로운 유형의 SW 서비스 기술

최종목표
현장에 적용할 수 있는 분할 실행 SW 서비스 상용시제품 개발
- 초기시제품 대비 1.5배의 클라이언트 렌더링 성능
- 기존 기술 RemoteFX 대비 두 배의 동시사용자를 지원할 수 있는 서비스 기술(서버 1대 기준)
- 서버 추가에 따른 서비스 확장성 검증

개발내용 및 결과
가. 클라이언트 렌더링 기술
1) 주요 기능
서비스 대상이 되는 응용 SW는 서버에서 수행되지만 그래픽 렌더링 작업은 클라이언트로 전달되어 클라이언트의 GPU를 이용하여 수행되고 클라이언트의 단말에 디스플레이 되도록 함

2) 주요 개발 내용
- 분할 실행 지원한 인터페이스
. DirectX API 분할실행 지원(DirectX10, DirectX9)
. OpenGL API 분할실행 지원(OpenGL 1.0, OpenGL 2.0)
. GDI(Graphic Device Interface) 분할실행 지원
. Window GUI 분할실행 지원
. 사운드 및 Input에 대한 분할 실행 지원
- 분할실행 성능 고도화
. 비동기식 전송 방식 개발
. 응용 맞춤형 클라이언트 렌더링 기술 개발
. 분할 실행을 위한 서버 후킹 라이브러리 개발

나. 분할 실행을 위한 서버 관리 기술
1) 주요 기능
분할실행 서비스를 위한 각종 서버들을 관리하며 적절한 실행 서버를 통해 실제 서비스가 제공될 수 있도록 부하분산, 응용 SW 가상화를 위한 응용 SW 및 사용자 데이터 관리를 수행함

2) 주요 개발 내용
- 분할실행 SW 서비스를 제공받기 위한 사용자 인터페이스 개발
- 분할실행 SW 서비스를 위한 부하분산 기술
- 분할실행 서비스를 위한 사용자 스토리지 가상화
- SW 가상화 지원을 위한 사용자 설정 정보 및 SW 관리
- 사용자 그룹 권한을 통한 데이터 보안
- 분할실행 SW 서비스를 위한 서버 관리 인터페이스 개발

다. 분할실행을 위한 SW 가상화
1) 주요 기능
서버 상에서 응용 SW를 설치하지 않고 실행할 수 있도록 하고 분할 실행 관리 서버와 연계하여 사용자가 서비스받는 SW에 대해 일관성 있는 사용자 경험을 지원함

2) 주요 개발 내용
- SW 가상환경 구축 및 제공
. 응용 SW간의 프로세스 수준의 독립된 실행 환경을 제공
- 사용자별 실행 캐시 관리 기술
. 사용자가 SW 사용에 따라 변경 정보된 데이터를 사용자별 캐시로 관리하여 동일한 SW에 대해 동일한 사용자 경험을 지원

라. 분할 실행 SW 서비스 상용시제품 개발
1) 개발된 결과물
- 분할 실행 SW 서버 (C++, 1,026,894라인)
- 분할 실행 SW 클라이언트 (C++, 769,868라인)
- 분할 실행 SW 미들웨어 (C++, 252,095라인)
- 분할 실행 SW 변환기 (C++, 15,749라인)

2) 결과물 개발을 위한 설계 문서 및 검증
- 요구사항 정의 및 명세서
- 상위 설계서/상세 설계서
- 시험절차서 및 결과서
- 검토 문서
- Q-mark 검증 인증서

3) 성능 검증
* 다음의 성능 비교는 상용 건축 설계 응용인 ArchiSpace LT에서 3D 설계 화면을 연속으로 렌더링하는 상태에서 측정한 것임.
- RemoteFX와의 1:1 성능 비교

- 지원 가능한 클라이언트 수 비교
기존 RemoteFX 대비 두 배의 사용자를 지원함(200% 달성)
- 초기시제품 대비 150%의 성능 개선(목표)
초기 시제품 대비 230%의 FPS 성능 확보
. 초기 시제품 5~6
. 상용시제품 14~15

- 서버 1: 클라이언트 N인 경우 서버 부하 및 클라이언트 상의 렌더링 성능 비교
3D 렌더링이 연속으로 이루어져 부하가 매우 큰 상태에서도 한 대의 서버에서 클라이언트 수가 늘어나더라도 15대까지는 안정적으로 서비스되고 있고 24명의 사용자의 서비스가 가능함

- 서비스의 확장성 보장 : 서버 1대가 추가되면 20명 이상의 사용자를 추가 지원할 수 있음
4개의 서버를 통해 100개의 응용이 서비스 가능함

- 분할실행 SW 20건 확보
.DirectX 9 검증용 SW 6건 : ArchiSpaceLT, AutoCAD, 외 4건
.DirectX 10 검증용 SW 1건 : World in Conflict
.GDI 검증용 SW 2건: SimplePaint 외 1건
.OpenGL용 SW 11건 : AngryBirds, Quake 등 9건

마. 성능 시뮬레이션
1) 주요 수행 내용
분할 실행 환경에 적합한 부하분산 정책을 연구하고 부하분산 알고리즘을 개발하며, 실제 수행된 로그를 통해 수집된 서버상의 성능 데이터를 기반으로 분할 실행 SW 서비스의 성능 시뮬레이션을 수행하는 시뮬레이션 도구를 개발하여 분할 실행 환경을 위한 부하 분산정책을 비교 분석한다.

2) 주요 개발 내용
- 분할 실행 SW 서비스를 위한 부하분산 정책 및 알고리즘 개발
- 분할실행 환경 모델링 방법 연구
- 분할 실행 SW 서버 부하분산 알고리즘 시뮬레이션 도구 개발

바. 현장 시험 및 검증
- 원격 그래픽스에 대한 업계 요구사항 검토
- 분할 실행 적용 대상 SW 선정
- 분할 실행 SW 시제품의 릴리즈(Release) 시험 검증
- 현업 전문가들의 VOC(Voice-of-Customer) 수집

기술개발 배경
- 저가의 고성능 PC의 대중화
- 서버 기반 컴퓨팅 기술의 한계점 극복
. 막대한 서버 구입 비용, 서버 부하, 느린 서비스 성능의 문제점을 극복할 수 있는 기술이 필요
- 고사양의 SW를 지원할 수 있는 기술 개발 필요
. 데스크탑 SW들은 점점 더 화려한 사용자 인터페이스와 그래픽 집중적인 작업을 수용하도록 요구되고 있음
. 그래픽 하드웨어 기술은 2D/3D, 멀티미디어와 같은 기존의 그래픽 집중적인 작업에 적용될 뿐만 아니라 웹브라우저 렌더링, 플래시, 윈도우 운영체제까지 확대 적용되고 있음
- 데스크탑 가상화 기술은 외산 기술에 의해 독점되고 있음
. 2011년도 관련 세계 시장의 규모는 2.4조원에 이르고 있으나 Citrix, MS, VMWare과 같은 외산 솔루션이 점유하고 있음

핵심개발 기술의 의의
o 서버 기반 SW 서비스 기술의 한계점을 극복할 수 있는 클라이언트 렌더링 원천 기술 확보
- 저가의 서버를 통한 고화질 3D 응용 서비스
- 서버 당 기존 기술 대비 2배의 사용자 지원 가능
- 저비용 클라우드와 연계한 고화질 SW 서비스 가능
o 국내 SW 서비스 관련 원천 기술 확보
- 3D 응용과 같이 특화된 응용을 통해 SW 서비스 시장의 교두보 확보

적용 분야
3D 설계나 게임과 같은 고화질 응용 서비스