1.
Exture+가 추진하는 목표를 이루기 위한 기반기술은 두가지입니다. 첫째는 Low Latency Messaging입니다. 둘째는 In-Memory DB기술입니다. 메시징기술은 ZeroMQ를 기반으로 하였고 IMDB는 선재소프트의 기술로 만들어졌습니다. 두가지는 모두 KRX와 코스콤이 권리를 갖고 있습니다. 현재 자본시장에서 메시징은 보편적이지 않습니다. 한국거래소의 Exture는 Tibco사의 제품을 기반으로 하고 있습니다. 몇 증권사는 자체개발하였거나 Tibco사의 제품을 도입하여 사용중입니다.이천년대 초반 FEP에 메시징을 도입하였지만 큰 성공을 이루지 못하였습니다. 이런 조건에서 메시징기술이 각광을 받을 수 있을까요?
Exture+가 선택하고 발전시키고 있는 기술과 달리 국제적인 수준에서 메시징기술은 어디까지 왔을까요? 이와 관련한 발표가 있었습니다. Informatica가 발표한 자료이지만 커다란 흐름을 보여주고 있습니다. 지난 5월 런던에서 발표한 자료입니다.
2.
보통 Low Latency를 이야기하면 네트워크환경을 바꾸려 합니다. 투자가 필요하지만 가장 손쉬운 의사결정입니다. 10G나 Infiniband를 도입하면 가능합니다. 그렇지만 상품화된 기술은 균등한 서비스만 가능합니다. 차별화가 불가능하죠. 때문에 남과 다른 서비스가 필요합니다. 앞서 자료는 Informatica와 결합하여 자체기술로 개발한 Disruptor를 사례로 소개합니다. IPC/ITC입니다. RDMA까지는 기술이고 상품이라고 소개합니다. 기술의 영역에서 도전할 수 있는 최대가 있습니다. 반면 기술을 기초로 한 소프트웨어적인 방법이 필요한 영역이 있습니다. 여기에 ITC가 등장합니다. ITC=Inter Thread Communication입니다. 주된 사례는 Disruptor와 FEP를 참조하세요. 위의 발표를 한 Todd Montgomery가 lowlatency.com에 발표한 자료입니다.
Inter Thread Communication (ITC) is not a new concept. Developers have been doing it for quite some time. However, doing it fast and well has been tricky. This mimics almost all of the modern day messaging communication primitives, such as IPC and reliable multicast. That is why I believe that ITC is the new ground for ultra low latency messaging.
Pushing the high performance messaging model to its ultimate, present day, conclusion of message passing between threads in a single process is an exciting concept. The same messaging API used as communication between threads within a process, between processes within a box, and between machines separated by an entire planet is a quantum leap in location transparency. The ability that this abstraction allows is quicker time to market for high performance use cases and much more flexibility to messaging users. It simply makes sense for messaging systems to embrace ITC.
ITC is easy to do, but tough to do well. It has its own challenges from an implementation perspective. To do well, it requires intimate knowledge of many low level components, such as CPU caches, cache consistency models, and instruction pipelines. The payoffs are quite impressive.
Breaking New Ground with Ultra Low Latency Messaging중에서
ITC가 단순히 MPI와 같은 기술을 도입하면 해결되는 것은 아닙니다. 하드웨어=CPU에 최적화한 기술이어야 합니다. 그냥 메시징을 도입하다고 하여 Low Latency를 위한 전사적 환경이 구축되지 않습니다. 워낙 다양한 제품이 있고 기술도 있습니다. 목적에 따라 정확한 제품이나 기술을 선택하여야 합니다. 다만 보다 빠른 환경을 원한다고 하면 RDMA 더하기 IPC/ITC가 필요합니다.