태그: PCoIP

VMware Horizon 7 – Latency에 따른 PCoIP 이미징 성능 평가

 

1. 들어가며

VMware Horizon을 사용하면서 늘 하나의 의문이 맴돌았습니다.
‘대한민국 안에서는 전송 지연이 아주 적지만, 만약 지연이 크다면 성능에 어떤 악영향을 미칠 것인가?’

아무리 구글을 뒤져봐도 실제 환경에서 이런 테스트를 한 사람이 없어서, 직접 측정해보기로 했습니다.

결론부터 이야기하자면, 이미징 성능은 지연시간에 큰 영향을 받지 않았지만 입력 지연은 그대로 드러났습니다.
Teradici에서는 입력 지연 때문에 30ms 이하의 지연을 유지하라고 권고한 것으로 보입니다.

 

2. 테스트 환경

서버(VM): Intel Xeon E7-4890v2 (VM에 24Thread 할당) / Windows 7 SP1 / Horizon Agent 7.1
클라이언트: Dell P45 Zero Client (Tera2140 탑재)

제로 클라이언트는 WAN 환경에서 Horizon Security Gateway를 통해 VM에 접속하였으며, 회선의 Round-Trip Latencty는 10ms입니다.
여기서 의사적인 네트워크 지연을 만들기 위하여 리눅스 머신과 제로 클라이언트를 브릿지, Traffic Control을 적용했습니다.

테스트는 Youtube에서 동영상을 재생하여 재생시간 동안의 세션 데이터를 수집하는 방법으로 이루어졌습니다. 테스트에 사용한 동영상은 링크에서 확인하실 수 있습니다.

제로 클라이언트가 아닌 Horizon Client에서의 성능도 확인해보고 싶었으나, 현재 사용중인 시스템의 CPU 성능이 낮아 이미징 디코딩에 지연이 발생하였습니다.
테스트 환경이 개선되면 추가하도록 하겠습니다.

 

3. 테스트 결과

PCoIP Statistics Viewer를 통해 세션 정보를 수집, 그래프로 나타냈습니다.
TX Bandwidth는 Kbit, Round Trip Latency는 ms, Encoded Frames은 fps입니다.

3-1. 10ms 지연

 

3-2. 30ms 지연

6번 샘플부터 동영상 재생이 시작됩니다.

 

3-3. 50ms 지연

5번 샘플부터 동영상 재생이 시작됩니다.

 

3-4. 100ms 지연

21번 샘플부터 동영상 재생이 시작됩니다.

 

3-5. 130ms 지연

10번 샘플부터 동영상 재생이 시작됩니다.

결론적으로 동영상 재생에 있어서 latency의 영향은 그다지 느껴지지 않았고, 140ms 지연에서 음성이 밀리는 현상도 일어나지 않았습니다.
하지만 latency가 낮을수록 화면이 전환될 때 생기는 짧은 끊김 현상이 일어나는 빈도가 적었고, 무엇보다 입력 지연은 latency의 영향을 그대로 드러내었습니다.
30ms 이하의 환경에서는 입력 지연을 그다지 체감할 수 없었으므로, 쾌적한 사용을 위해서는 30ms 이하의 지연시간을 유지할 필요가 있겠습니다.

오히려 주목해야 할 부분은 바로 TX Bandwidth입니다. 1080P 단일 모니터를 사용했음에도 불구하고 피크 비트레이트가 무려 55Mbps에 육박하는 것을 확인할 수 있었습니다.
최상의 이미지 퀄리티를 얻기 위해서는 대역폭의 확보가 매우 중요하며, 만약 대역폭을 충분히 확보하지 못했다면 Maximum Image Quality를 적절한 수준까지 낮춰야 할 것입니다.

 

5. 시연 영상

140ms의 지연이 걸리는 환경에서 원본 영상과 1:1 비교를 해 보았습니다.

중간 중간 화면 전환시 끊기는 것을 제외하면 부드럽게 재생되는 것을 확인할 수 있습니다.
∗해상도와 모니터의 수에 따라 이 결과는 얼마든지 달라질 수 있습니다.

6. 결론

PCoIP를 사용할 때 지연시간의 영향은 응용에 따라 크게 느껴질 수도 있고, 작게 느껴질 수도 있습니다.
만약 키보드와 마우스를 사용하여 생산적인 일을 할 때 지연시간이 크다면 사용자가 체감하는 성능은 최악일 것입니다.
하지만 단순히 디스플레이 용도라면 지연시간은 크게 중요하지 않습니다. 오히려 대역폭을 더 중시해야 할 것입니다.

이번 테스트를 하면서 중간 중간 0.4~0.6% 가량의 패킷 로스가 발생하였는데, 패킷 로스가 발생하는 타이밍에 맞추어 끊김이 일어났습니다.
결국 자연스러운 이미지를 얻고 싶다면 가장 먼저 패킷 로스를 확인하고, 그 다음으로 대역폭을 확인하고, 마지막으로 지연 시간을 확인하면 되겠습니다.

입력 지연이 중요하다면 지연시간을 최우선으로 낮춰야 할 것입니다.

Teradici Remote Workstation Card 사용기

1. 들어가며

Teradici Remote Workstation Card는 물리 머신에 장착하여 PCoIP를 통해 호스트로 접근할 수 있게 해 주는 장비이다.
Tera2 계열 제품군으로 Tera2220과 Tera2240이 있으며, 각각 지원하는 모니터의 최대 대수는 2/4대이다.

이번에 사용한 모델은 Tera2240을 탑재한 것으로, 2560×1600 해상도의 모니터를 2대까지 지원한다.

디스플레이 연결을 위한 포트로 mDP 4개를 제공하며, 기가비트 이더넷으로 연결된다.
한 가지 특기할 점은 유사 솔루션들은 드라이버를 통해 그래픽 데이터를 전송받고, 그것을 하드웨어에서 처리하여 내보내는데, Remote Workstation Card는 디스플레이 입력 단자가 그래픽카드의 출력 단자에 직접 연결된다.
따라서 소프트웨어 드라이버 기반의 솔루션들에서 보이는 어플리케이션 호환성 문제나 이미징 성능 저하 문제를 해결할 수 있었다.

 

2. Teradici Remote Workstation Card 설치

카드를 Dell Precision R7910에 설치하였다. PCI-E 슬롯에 장착한 뒤 케이블을 연결해 준다.
이 때 2560×1600 해상도를 지원하려면 반드시 DP 케이블을 사용해야 한다.

 

카드에 할당된 IP 주소를 통해 접속하면 관리자 페이지에 접근할 수 있다. 여기서 Remote Workstation Card의 설정과 세션 정보, 통계 등을 볼 수 있다.

소프트웨어 클라이언트를 사용할 것이라면 호스트 드라이버 기능을 활성화해주자.

하드웨어 장착이 완료되면 소프트웨어를 설치해주어야 한다. 나는 VMware Horizon을 통해 접속할 것이므로 먼저 Horizon Agent를 설치하고 PCoIP Host Software를 설치했다.
Host Software는 여기서 다운로드할 수 있다.

소프트웨어 설치가 완료되었다면 이제 외부로부터의 접속이 가능하다. 본인이 사용하는 클라이언트를 이용하여 호스트에 접속할 수 있을 것이다.
다만 최상의 성능을 위해서는 제로 클라이언트를 사용할 것을 권장한다.

 

3. 실성능 평가

그렇다면 실제 성능은 어느 정도일까? 백문이 불여일견, 직접 보도록 하자

Tera2321 제로 클라이언트를 통해 2560×1440 해상도로 Youtube 4K 60fps 동영상을 재생하는 모습이다.

Horizon Security Gateway를 통해 WAN으로 접속하였으며, Round-trip-latency는 약 10ms이다.

 

4. 마무리

Teradici Remote Workstation Card와 PCoIP Zero Client의 조합은 현재 사용할 수 있는 기술 중 최고의 퍼포먼스를 보여준다고 해도 과언이 아닐 것이다.
본인이 그래픽 작업을 하며, 어디에서나 끊김없이 작업할 수 있는 환경이 필요하다면 Teradici Remote Workstation Card의 사용을 검토해 보자.

여기서는 접속을 위해 VMware Horizon을 사용하였지만, Teradici의 제품군만으로도 동일한 환경을 구축할 수 있다. 이 경우 라이센스 비용을 크게 절감할 수 있을 것이다.

 

Teradici사의 PCoIP 솔루션 정리

 

Teradici는 PCoIP라는 원격 제어 프로토콜을 개발한 회사이며, PCoIP는 VMware Horizon과 Amazon Workspace에서 사용되고 있다.

비슷하게 HDX라는 프로토콜을 개발한 Citrix와는 달리, PCoIP는 단일 소프트웨어로도 판매된다.

그럼, Teradici사의 하드웨어/소프트웨어 솔루션 라인업을 알아보도록 하자.

 

하드웨어 솔루션

 

1. PCoIP Remote Workstation Card

 

All Rights Reserved by LeadTek

Teradici사의 Tera 시리즈 칩을 탑재한 확장 카드이다. 그래픽 카드의 출력 포트와 연결되어 비디오 스트림을 수신하고, PCoIP 패킷을 광케이블 혹은 UTP 케이블을 통해 전송한다.

사진의 Workstation Card는 Tera2220을 탑재하고 있다.

이 카드를 꽂은 PC/워크스테이션에 PCoIP Host Software를 설치하면 Zero Client/PCoIP Software Client를 통해 원격에서 접근할 수 있게 된다.

 

2. PCoIP Zero Client

PCoIP 프로토콜을 하드웨어적으로 지원하는 Tera2(Tera2321/2140)을 탑재한 장비다. 전용 칩을 사용하기에 Thin Client보다 빠르며, 전력을 적게 소모한다.

VMware Horizon, Amazon Workspace와 Teradici Pervasive Computing Platform과 함께 사용된다.

 

 

 

소프트웨어 솔루션

Teradici-PCoIP

1. Teradici Pervasive Computing Platform

Teradici의 VDI 솔루션. Desktop Edition과 Graphics Edition으로 나뉜다. Graphics Edition은 Desktop Edition에 GPU 지원이 추가된 제품이다.

Pervasive Computing Platform은 Agent, Connection Manger, Security Server로 구성된다. 그런데, 어디서 많이 본 듯한 느낌이 들지 않는가?

그렇다. VMware Horizon의 구성과 매우 유사하다. 용도도 같고.. Xen Desktop도 그렇고 결국 개념이 비슷하면 구현 또한 비슷해지는 듯 하다.

VMware Horizon/Xen Desktop과의 차이점은 중앙 관리 기능을 제외한 1:1 연결 기능을 제외하고, 이에 대한 라이센스도 같이 판매한다는 것이다.

VMware Horizon도 Direct Connection이라는 플러그인을 통해 브로커(Horizon Connection Server) 없는 접속을 지원하긴 하지만, 이를 위한 라이센스를 따로 판매하지는 않는다. VADC(View Agent Direct Connection)을 이용하기 위해서는 Horizon Suite의 Concurrently Connected Desktop 라이센스 개수가 충분해야 한다. 강제성이 없긴 하지만.

반면에, Teradici의 Pervasive Computing Platform은 이러한 연결을 위한 라이센스를 영구 라이센스 1카피당 199달러에 판매하고 있다.

그리고 VMware Horizon이 VMware vSphere에 의존적인 것에 비하여 Teradici는 다양한 Hypervisor 위에서 사용할 수 있다는 장점이 있다. 이 점은 Xen Desktop 또한 마찬가지이다.

 

2. PCoIP Management Console

 

PCoIP Management Console

Teradici의 Tera 칩셋을 사용한 Zero Client들을 관리하기 위한 소프트웨어이다.

Teradici의 다른 솔루션과 다르게 무료인 Standard Edition과 유료인 Enterprise Edition이 나뉘어져 있으며, Enterprise Edition은 각 클라이언트의 중앙 집중 제어 기능과, 관리 가능한 클라이언트 대수 제한(2000대)가 해제되었다.