증권 시스템의 저지연(Low Latency)을 최소화하고 처리 속도 향상을 위해 다양한 기술(Socket Direct Protocol, TCP/IP Offload Engine)이 도입되고 있다. 그러나 고가의 네트워크 장비 지원으로는 속도 개선에 한계가 있으며, 도입 효과 또한 낮은 것이 현실이다. 본 논문에서는 클라우드 환경에서 주식 체결 시스템의 저지연 극복을 위한 SPT(Safe Proper Time) 전송 방식을 제안한다. 이 제안 기법은 커널에 대한 이해를 기반으로 CPU 오버헤드를 줄이기위해 CPI(Cycle Per Instruction)를 최소화하고, 데이터 전송의 적시성을 만족하는 전송 방식이다.
To minimize low latency and improve the processing speed of the stock trading system, various technologies have been introduced. However, expensive network equipment has limitation for improving speed of trading system. Also, it is true that there is not much advantage by introducing those kind of systems. In this paper, we propose a low-Latency SPT(Safe Proper Time) scheme for overcoming the stock trading system in a cloud. The proposed method minimizes the CPI in order to reduce the CPU overhead that is based on the understanding of the kernel. and this approach satisfies the data timeliness.
클라우드 환경에서 다양한 장비를 사용하여 주식 거래소를 기준으로 다양한 증권사들이 시세 정보를 수신하여 사용자에게 서비스하고 있는 것이 현실이다. 이런 클라우드 환경의 통신 장비들은 네트워크 회선 상태에 따라 많은 영향을 받게 된다. 그로 인해 증권 거래소로부터 수신되는 시세 정보의 지연 및 매매의 지연으로투자자의 매매 타이밍을 놓치게 되어, 수익에 많은 영향을 미치게 된다. 또한 정보 지연을 최소화하기 위해서 각 증권사들은 증권사와 거래소 구간의 네트워크 환경 개선을 위해 많은 시간과 비용을 투자하지만 속도개선의 물리적 제약으로 인해 한계에 직면하고 있다.
증권사의 속도 개선 대상은 증권사 내부의 HTS[1,2] 와FEP(Front End Process)[3] 구간의 속도 개선을 위해 고가의 장비(TOE(TCP/IP Offload Engine)[4,7], SDP(Sokect Direcr Protocol)[5])를 도입하여, 투자자에게 빠른 서비스를 제공하려 하지만, 비용 대비 효율성이 낮다. 이와 같은 저지연의 문제를 개선하기 위해서 본 논문에서는 증권시스템에 특징을 이해하고 하드웨어 관점의 저지연 문제의 한계를 극복하기 위해 소프트웨어 관점의 문제 해결 메커니즘을 제시한다. 본 논문에서 제시한 메커니즘은 SPT(Safe Proper Time[6]) 전송 방식으로 증권 매매 시스템에서 발생하는 저지연 극복과 고속 매매 지원 시스템 적용 하였다. 또한 본 논문에서는 클라우드 환경에서 사용자의 주식 매매 시세 정보를 신속하게 통합 및 분석하여 매매 수익률을 올리기 위해서 방안으로 적용하였다. 본 논문에서는 2장에서는 관련 연구를 기술하고, 3장에서는 본 논문에서 제시한 저지연 메커니즘에 대해서 기술한다. 4장에서는 제안 메커니즘에 대해 비교 분석하고, 마지막으로 5장에서 결론 및 향후 연구에 대해서 기술한다.
증권 시스템들의 대량의 데이터 전송은 일반적으로 사용자 단말기에서 전송하게 되고, 증권 응용 프로그램을 통해 거래소에서 수신하는 데이터를 증권사 시스템에서 수신하여, 네트워크망을 거쳐 사용자 단말 시스템에 전송하는 과정으로 처리되는 구조를 갖는다[6]. 이와 같은 처리 과정은 클라우드 환경하의 있는 모든 증권사에 동일한 환경을 제공하며, 네트워크 망을 통해 주문을 하게 된다. 해당 정보는 증권사 HTS을 통해 주문을 받아 증권사의 전용 대외 채널인 FEP를 통해 거래소 시스템에 전송하도록 되어있다. 특히, 거래소 시스템의 매매 주문 채결은 가장 먼저 도달한 데이터 패킷에 대하여, 주문의 우선 순위가 결정되고 이로 인하여, 매매 체결 여부를 판단한 후 각 증권사에 체결 결과를 전달하게 된다. 증권사는 체결 결과를 FEP시스템에서 수신 받은 후에 이를 HTS에 전달하고, 결과를 네트워크 망을 통해 사용자에게 전달하여 주문 프로세스가 처리 완료 된다.
[그림 1]에서 보면 투자자 HTS와 증권사 HTS와의 주문/체결 데이터 전송 구간이다. 이 구간은 주문/체결 데이터 전송 속도에 대해서 어떠한 방법으로도 매매속도 개선을 위한 서비스 제공을 해줄 수 없는 구간이 다. 각 증권사는 증권사 HTS(Home Trading System) 시스템에서 FEP 시스템 구간의 속도 개선을 위해서, RDMA(Reomte Direct Memory Access)기반, 저지연기술은 SDP, TOE, iWARP[8] 및 Infiniband등을 도입하여 서비스 속도를 높이려고 하지만, 하드웨어적으로도 속도 개선에 한계에 직면하고 있다. 이유는 [그림 2]와 같이 물리적인 접근의 한계를 극복할 수 없기 때문이다. [그림 2]에서 보는 것처럼 물리적 속도 개선 구간의 한계는 주문/체결 데이터를 인터넷 망을 통해 수신받은 후 증권사 내부 시스템부터, 거래소 전송까지 구간의 속도향상의 한계를 보여준다. 이를 위해서 증권사 내부적으로 RDMA 관련 기술을 도입하여, 적용하지만 고가의 장비 도입비용에 비해 실효성이 떨어지는 것이 현실이다.
[그림 2]의 물리적 속도 환경 개선을 위해서는 사용자가 사용하는 소프트웨어를 최적화하여 제공함으로써, 데이터 전송 속도를 향상하는 것이 가장 이상적인 방법이다. 소프트웨어 관점 데이터 전송 적시성과 신뢰성을 보장하기 위해서는 기존의 일반 방식의 단점을 개선한 방법으로 SPT(Safe Proper Time)[1] 전송 방식을 제안하고, 해당정보 전송방식은 증권사가 제공하는 모든 소프트웨어에 탑재가 가능하여, 사용자 환경에 무관하게, 차별화된 서비스 속도 보장을 해주는 것이 장점이다. [그림 3]은 SPT 전송 방식의 속도 개선 영역을 표현하였다.
[그림 3]은 소프트웨어 속도 개선구간의 범위로 클라우드 환경의 주문/체결 데이터를 인터넷 망과 증권사 내부 시스템에서, FEP가 거래소 전송 구간까지의 전구간 속도향상의 범위를 보여주는 그림으로 이를 위해서는 일반전송 방식의 단점을 개선한 SPT전송 기술을 도입하였다.
3.1. Low Latency을 위한 물리적 해결 방법
[그림 4]는 증권사 시스템에서 저지연과 고성능 기술 속도 개선을 위해서 시스템과 시스템 사이의 데이터 전송을 원격 직접 메모리 접근 방법으로 SDP(Socket Direct Protocol)와 InfiniBand를 이용하여 TCP/IP 구간 데이터 복사를 최소화 하여 처리하도록 한 것이다.
[그림 5]는 TOE(TCP/IP Offload Engine)의 개념으로 TCP/IP 각 계층 복사를 제거한 것이 특징이며, 기존 커널의 TOE(TCP/IP Offload Engine) 모듈을 적재하여 처리한다.
이로 인해 운영체제버전과 시스템 기종에 따른 모듈이 별도로 존재하여야 하며, 도입으로 인한 위험(Risk)과 유지보수의 어려움이 있다.
3.2. Low Latency을 위한 소프트웨어적 해결 방법
`3.1에서 설명한 물리적인 속도 개선의 한계를 근본적으로 극복하기 위해서는 본 논문에서 제시한 SPT[1] 전송 방식을 적용하여 주식/체결 증권 시스템에서의 데이터 전송의 적시성과 신뢰성을 보장한다. [그림 6, 7]은 데이터 전송 적시성과 신뢰성을 보장하기 위한 본 논문에서 제시한 SPT(Safe Proper Time) 메커니즘과 프로세스이다. 기본적인 원리는 유저 영역부터 커널 역역을 통과하여, 데이터를 송신, 수신 단계의 흐름으로 일반 방식인 경우 한 번의 사이클(1 Cycle) 처리하며, 이 경우 데이터 사이즈만큼 반복한다는 것을 알 수 있다.
즉 100Byte의 데이터를 일반방법으로 송신, 수신 한다면 송신 100회, 수신 100회로 총 200회 반복이 발생한다.
이에 반해 Safe Proper Time[1] 방식의 전송방식은 전송 가능 여부 상태 점검 2회 송신 1 회, 수신 은 수신 가능 여부 상태 점검 2회 수신 1회로 처리 완료한다. 이는 일반 방식에 비해 SPT(Safe Proper Time)[1] 이 상대적으로 99%로 매우 효율적이다.
본 논문에서는 SPT 메커니즘을 적용한 클라우드 환경의 주식 체결 시스템상의 데이터 전송 저지연 극복을 위해 성능 비교 분석 하였다.
표 1은 주식/체결 데이터 전송에서 일반적인 데이터 전송 방식과 본 논문에서 제시한 SPT 전송 차이점을 나타낸 것이다.
일반 데이터 전송과 SPT 전송 차이점
[그림 8]은 일반 전송 방법의 파일사이즈에 따른 데이터 처리 산점도로 1000 Byte, 2000Byte, 3000Byte,4000Byte 각각 전송하여 시간을 측정한 결과, 데이터 사이즈가 커질수록 데이터 처리에 따른 적시성이 낮다는 것을 알 수 있다. 4000Byte 의 경우 최소 80마이크로 초 (Micro Second) 부터 최대 450 마이크로 초(Micro Second) 동일 데이터 사이즈 처리시간의 차이가 크고 전송의 적시성을 보장해주지 못하는 것을 확인할 수 있다.
[그림 9]은 SPT(Safe Proper Time)전송 방법의 파일사이즈에 따른 데이터 처리 산점도로 1000 Byte, 2000Byte, 3000Byte, 4000Byte 각각 전송하여 시간을 측정한 결과, 데이터 사이즈가 증가하지만 데이터 처리에 따른 적시성을 보장해준다는 것을 알 수 있다. 4000Byte 의 경우 최소 60마이크로 초 부터 최대 100마이크로초로 동일 데이터 사이즈 처리시간의 차이가비교적 작다는 것을 확인할 수 있다.
[그림 10]에서 보는 봐와 같이 데이터 사이즈가 증가함에 따라 일반 방식보다 SPT(Safe Proper Time) 방식이 더 효율적이라는 것을 확인 할 수 있으며, 일반 방식의 경우 4,000Byte의 경우 최대 121.2 마이크로 초(Micro Second)까지 증가하지만, SPT(Safe Proper Time) 방식의 경우는 최대 81.24 마이크로 초(Micro Second)로 처리 소요 시간에 많은 차이를 확인할 수 있다. 이를 비율로 계산하여 보면 1,000Byte의 비율 63.90%, 2000Byte의 비율 56.17%, 3000Byte의 비율 53.98%, 4,000Byte의 비율 59.87%로 실험결과 SPT(Safe Proper Time) 방식의 전송 사이즈는 1,000Byte가 적합하다는 결론을 내릴 수 있다.
본 논문은 증권 매매 시스템의 특징인 매매 적시성을 보장하고 증권시스템 성능 개선을 위해서는 증권사 내부 시스템 개선의 한계를 직시하고, 클라우드 환경적 특징인 인터넷 망의 저속 처리 속도를 개선하기 위해서는 하드웨어 관점의 장비교체로는 더 이상 차별화된 속도 보장을 할 수 없으므로, 소프트웨어 관점의 속도 개선을 위한 방법을 연구한 결과 기존의 일반 전송 방식의 저 지연 문제점을 파악하고 이를 효과적으로 개선하기위해, 적시성과 데이터 전송 속도가 빠른 Safe Proper Time[1] 전송 방식을 채택하여 실험하였다. 그 결과 데이터 전송 구간 속도가 1000Byte 의 경우 64%, 2000Byte 의 경우 57%이상 속도 향상이 된 것을 실험을 통해 확인하였다. 이는 증권 매매 시스템의 특징인 매매 체결률 향상과 매매 수익률을 높이는 결과를 보장할 수 있다. 그리고 향후 연구 계획은 클라우드 환경의 보안 취약점 개선을 위해 데이터 패킷 암호화 처리를 할 경우 발생할 수 있는 데이터 전송 지연에 대해 연구하고, 데이터 구간 암호화에 따른 문제점을 분석하고 이를 해결방안을 도출하여, 암호화 패킷 지연 최소화를 위한 연구에 대해 연구되어야 한다.