Vortex OpenSplice는 가장 빠른 초저 레이턴시 메시징 미들웨어로서 초당 수백만 데이터 업데이트를 가능하게 하면서 멀티코어 PC 하드웨어와 1기가비트 이더넷상에서 안전성과 신뢰성을 유지해준다.
풍부한 세트로 지원되는 QoS는 Vortex OpenSplice가 광범위하게 사용되는 케이스와 임비디드 시스템에서부터 시스템의 시스템에 이르는 디플로이먼트 시나리오에 걸쳐 최대한의 성능을 발휘하도록 튜닝될수 있도록 해준다.
Vortex OpenSplices는 또한 공유메모리 아키텍쳐를 기반으로 하기 때문에 코어간.프로세서간 통신 지연은 거의 없다.
다음의 벤치마크 데이터는 다른 제품과 다른 메시징 기술과 비교했을 때 Vortex OpenSplice의 예외적인 성능을 설명해준다.
테스트 환경
- Vortex OpenSplice Enterprise v6.4.x
- 2 * Intel(R) Xeon(R) CPU E3-1270 V2 @ 3.50GHz (4 cores with hyperthreading)
- Machine names: perftest8, perftest9
- 16 GB RAM
- Disk: WDC WD5003ABYX-1 Rev 01.0
- Gigabit Ethernet
- Switch: Dell PowerConnect 2816
- OS
- 64-bit linux
- Linux 3.8.13-rt14.20.el6rt.x86_64 #1 SMP PREEMPT RT Mon Aug 19 23:09:43 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux
레이턴시 벤치마크
다음의 곡선은 하나의 노드상에서 DDS데이터 롸이터(프로듀서)와 다른 노드상에서 DDS 데이터 리더사이에 메시지를 보내기위해 마이크로 세컨드로 측정된 레이턴시를 보여준다. 시간 동기화 이슈를 피하기위해 레이턴시는 노드사이에 메시지를 보내고 그것을 즉시 다시 반향하게 함으로써 측정된다. 일방향 레이턴시는 왕복시간을 둘로 나눔으로써 계산되었다. 테스트는 64K바이트의 최대 페이로드로 반복되었다. 이테스트에서 Vortex OpenSplice의 C API는 표준 DDSI상호연동 프로토콜이 사용되었고 메시지 교환은 신뢰할수 있었다.
각 다른 페이로드를 위한 평균과 미니멈 레이턴시 값이 측정되었다. 곡선은 페이로드 사이드가 상당함에도 뛰어난 레이턴시가 성취될수 있다는 것을 보여준다. 2K바이트에 이르는 페이로드를위해서도 레이턴시가 100마이크로초보다 적었음을 보여준다.
테스트는 Vortex OpenSplice의 전매상표가 붙은 RTNetworking서비스를 사용하여 반복되었는데 결과는 거의 비숫했다.
규모를 확대해보면 데이터 포인트의 범위에 걸쳐 중간값과 최소값사이에 차이가 매우 낮다는 것을 알수 있고 데이터 전달시간이 매우 예측가능하며 Vortex OpenSplice가 결정론의 높은 수준을 요구하는 시스템을 사용하는데 있어 적합하다는 것을 설명해준다.
다음의 곡선은 Vortex OpenSplice의 Java와 C APIs 사이에 레이턴시 차이를 설명해준다. 사실 Java APIs는 매우 작은 추가적 사전준비를 부과하여 성능이 중대한 시스템들에서 매우 효율적으로 사용될수 있다.
쓰루풋 벤치마크
다음 곡선은 기가비트 이더넷상에서 하나의 노드상에 있는 데이터 롸이터(프로듀셔)와 다른 노드상에 있는 DDS 데이터 리더간 성취될수 있는 초당 Mbits로 측정된 지속가능한 쓰루풋 애플리케이션 레벨을 설명해준다. 네트웍의 가장 근사치 애플리케이션 대역폭은 초당 950Mbits인데 이는 이더넷과 UDP의 오버헤드를 감안해서이다. 테스트는 표준 디폴트 DDSI프로토콜과 또한 Vortex OpenSplice의 욥셔날 RTNetworking Service 둘다를 사용하면서 반복되었다. 곡선은 비록 작은 패킷 사이즈 쓰루풋 조차도 네트웍에의해 제한되지 Vortex OpenSplice에 의해 제한되지 않는다는 것을 보여준다.
다음의 곡선은 초당 Kmsg로 측정된 쓰루풋을 보여준다. 작은 메시지를 위해 Vortex OpenSplice RTNetworking 서비스가 디폴트 DDSI 프로토콜보다 더 좋은 쓰루풋을 전달할수 있다는 것을 보여준다.
Vortex OpenSplice는 Streams-API를 제공하는데 이것은 자동생성되는 컨테이너를 사용하면서(배치작업) 개별 DDS 샘플들의 관리와 배포와 관련된 오버헤드를 정상적으로 최소화하면서 데이터 샘플들의 투과적인 패킹과 대기를 서포트한다. Streams API는 작은 타픽들이 인스트리밍 데이터와같은 기간별 업데이트가 자주 빈발할 때 퍼블리시되는 시스템들에서는 특히 유용한 특징을 갖는다.
다음의 곡선은 배치처리되지 않는 성능과 비교해서 인스트리밍 데이터를 사용하는 Vortex OpenSplice의 배치처리되는 쓰루풋 성능을 설명해준다. DDSI와 RTNetworking 프로토콜 둘다 배치처리되는 쓰루풋이 배치처리되지 않는 것보다 5배 높다는 것을 보여준다. 곡선은 또한 네트웍 대역폭 제한이 16바이트 정도로 낮은 샘플 사이즈에서도 일어날수 있다는 것을 보여준다.
For a more complete set of Vortex OpenSplice performance data pleasecontact PrismTech for more information.
확장성 벤치마크
Vortex OpenSplice는 많은 애플리케이션들이 데이터를 공유하기를 필요로 하는 시스템에 뛰어난 확장성을 제공한다. 특히 싱글노드상에서 데이터를 읽는 애플리케이션들의 양을 스케일링 할 때 OpenSplice의 공유 메모리 아키텍쳐는 상당한 잇점을 제공할수 있다.
다음의 곡선은 싱글 노드상에서 처리될수 있는 합계 쓰루풋을 보여준다. 싱글노드상에서 운영되는 20개의 애플리케이션들의 테스트를위해 초당 19Gbits의 합계 쓰루풋이 선형 확장성으로 처리될수 있다는 것이다. 곡선은 오직 한카피의 샘플이 공유메모리에서 물리적으로 나타나고 있는 Vortex OpenSplice의 독특한 공유메모리 아키텍쳐의 잇점을 보여준다. 그러면서 오직 한번 디시리얼라이즈 되기위해 네트웍으로부터 오는 데이터를 요구하는 그런 데이터를 위한 서브스크라이브의 숫자와는 관계가 없다.