1.
OE의 전성시대라고 이름을 붙였습니다. 새로워 보이지만 알고 보면 이미 알고 있던 내용입니다. OE는 Offload Engine의 약자입니다. TOE를 알고 있는 분들이라면 Offload Engine이 무엇인지 짐작하실 수 있습니다. 영어로만 설명하면 Load를 Off하도록 하는 Engine. 부하를 받지 않도록 하는 장치이고 부하를 남에게 떠넘기는 기술입니다.
Low Latency를 구현하기 위한 다양한 방법이 존재합니다. 그중 OS Bypass 혹은 Application Offload와 같은 방법들이 OE와 관련 있습니다. 그동안 블로그를 통해 소개했던 것을 중심으로 하나씩 살펴보도록 하죠.
먼저 TOE=TCP Offload Engine이 있습니다. OS 커널의 TCP/IP 스택이 담당하는 역할(부하)를 하드웨어인 이더넷카드에 구현하여 담당하도록 한 기술입니다. 현재 국내에서 구할 수 있는 대부분 10G 이더넷카드들은 TOE를 지원합니다. 다만, TOE는 표준이 없습니다.
TOE, iWARP 및 InfiniBand
@Hammer님의 질문에 대한 의견
SOE=IPSec Offload Engine이 있습니다. IPSec와 관련된 기능을 수행합니다. IPSec와 같은 표준프로토콜기능을 하드웨어적으로 처리하는 기술이나 제품들이 무척 많네요. 몰랐을 뿐이지 보안분야에서는 보편적인 듯 합니다.
CLP-25: Configurable IPsec (ESP/AH) Offload Engine
SOE처럼 작명하면 FOE=Firewall Offload Engine입니다. 국내에서 판매중인 NP를 이용한 제품도 FOE의 경우라 할 수 있습니다. 오픈소스로 보면 Linux Netfilter Firewall을 FPGA로 구성한 프로젝트도 있습니다.
?The NetFPGA is a PCI card that contains a large Xilinx FPGA, 4 Gigabit Ethernet ports, Static RAM (SRAM), Double-Date Rate (DDR2) Dynamic RAM (DRAM). The card design is open-source and the hardware is made available at very low cost through donations of gifts and Silicon chips by sponsors of the NetFPGA project. The NetFPGA enables researchers and students to build working prototypes of high-speed, hardware-accelerated networking systems. The NetFPGA has been used in the teachers in the classroom to help students learn how to build Gigabit Ethernet (GigE) switches and Internet Protocol (IP) routers. It has also been used by researchers to prototype new modules that use hardware rather than software to forward packets.
2.
이상이 기간설비와 관련된 부분이라면 트레이딩업무와 관련된 부분도 많습니다.앞서 FOE와 다른 FOE=FIX protocol Offload Engine입니다. 가끔 소개하였던 WallstreetFPGA라는 미국회사가 만든 제품들이 FOE입니다. 현재 국내 FIX 시장은 소프트웨어가 중심입니다. 엄밀히 하면 FIX시장이 독립적으로 존재하지는 않고 OMS/EMS시장의 한 부분으로 존재합니다. Exture+가 FIX를 지원하고 고빈도매매가 많아지면 FOE에 대한 관심도 높아지지 않을까 합니다.
상반기 신분배시스템을 개통하더라도 50,000 mps(Messages Per Second)가 넘지 않는 한국 자본시장과 달리 미국이나 유럽시장은 최대 6,000,000 mps를 돌파하였습니다. 이 때 소프트웨어로 데이타를 처리할 경우 쉽지 않습니다. 그래서 Marketdatapeaks를 운영하는 Exegy사의 Ticker Plant같은 FPGA제품이 등장하였습니다.
MOE=Market Offload Engine입니다.
Processing Market Data in 600 Nanoseconds
ROE도 있습니다. Risk Offload Engine입니다. 자본시장의 Pre-Trade Risk Filtering업무뿐 아니라 파생상품거래를 위한 전사적 위험관리를 Offload한 경우입니다. 대표적인 사례가 JPMorgan입니다.
JPMorgan과 FPGA
Accelerator Card Manages Access Risks in Nanoseconds
또 무엇이 있을까요? GPU도 Offload Engine이라고 할 수 있습니다. OS와 CPU가 하여야 할 일을 GPU가 대신하기 때문입니다.
3.
한국자본시장의 현실을 놓고 보면 한국은 기성품을 사다 쓰는 수준입니다. 이제 출발점에 섰습니다. 경쟁을 본격화하면 남과 같은 기술로 이길 수 없습니다. 다른 기술을 찾아야 합니다. OE=Hardware Accelerator를 자체기술화하는 것도 고민할 필요가 있지않을까 합니다.
예를 들어 보죠. 주문유효성을 OE기술로 처리하면 어떨까요? KRX가 보안관련 규정을 제품이 아니라 기술로 바꾼다고 하면 암호화도 중요한 영역이 아닐까 합니다. 아니면 증거금을 계산하는 기능은 어떨까요? 앞서 NetFPGA를 잠시 언급하였습니다. 시중에서 구할 수 있는 제품을 이용하여 솔류션을 개발할 수 있도록 도움을 줍니다. 여기에 연구소개념을 도입하면?
현재 수준에서 레이턴시 경쟁의 마지막은 OE=하드웨어가속입니다. 속도가 필요한 곳이 트레이딩만은 아닙니다. JPMorgan처럼 전사적 위험관리도 거의 실시간으로 가고 있습니다. 곳곳에서 가속페달을 밟고 있고 가속을 요구하고 있습니다.