멀티코어와 클락

1.
사과할 일이 있습니다. 아래 글때문입니다.

Xeon Sandy Bridge-EP와 Nehalem

쓴대로 읽으면 “Intel E5시리즈를 구매하면 더 좋은 성능을 얻을 수 있다”라고 해석할 수 있습니다. 이 때문에 몇 분들이 E5를 이용하면 오랜 시간(?) BMT를 하였다고 합니다. 결과를 전한 분에 따르면 E5가 성능이 떨어지고 i7이 가장 좋았다고 합니다. 아마 시험한 CPU들의 클락이 다음과 같았습니다.

i7=3.7Ghz/X5680=3.45Ghz/E5=2.9Ghz

클락순서대로 성능이 나왔습니다. 왜 이런 결과가 나왔을까 고민을 했습니다. Intel이 소개한 자료가 거짓말은 아니고 Intel이 자랑스럽게 이야기한 성능을 발휘하지 못하도록 한 이유가 있을 듯 했습니다. 저의 결론은 ‘소프트웨어의 구조’입니다. 멀티코어환경에 최적화한 모델이 아니라서 예상과 다른 결과가 나왔다고 생각합니다.

멀티코어환경에서 병렬컴퓨팅이 가능한 구조를 가져간다고 항상 좋은 것은 아닙니다. 어떤 업무를 처리하는지가 우선입니다. 시험을 한 배경을 살펴보면 주문수탁제도의 변화가 있습니다. 주문유효성 검증과 증거금 검사를 가능하면 빨리 할 수 있는 시스템을 원한 듯 합니다.

주문유효섭 검증과 Low Latency

위의 글에서도 고민해보았지만 주문유효성과 증거금계산을 멀티코어환경에 최적화한 구조가 무엇일까요? 병렬처리가 오히려 낭비라고 하면 순차적 처리가 정답일까요? 지금까지의 결론은 순차적 처리가 정답입니다. 다만 속도를 개선하기 위하여 inlining과 Assembly를 사용하여 CPU에 최적화한 코드를 만들었습니다. 소프트웨어 구조가 아니라 CPU에 최적화한 코드가 중요했습니다. 때문에 어떤 개발자는 Intel에서 만든 매뉴얼을 매일 본다고 합니다.

주문유효성과 관련한 미니원장의 성능은 CPU의 클락과 CPU에 최적화한 코드에 따라 성능이 달라집니다.이것이 현재까지의 결론입니다.(^^)

2.
그러면 가장 빠른 CPU는 무엇일까요? 증권사가 가장 많이 사용하는 IBM을 기준으로 보면 8-core IBM Power 550입니다. 5 GHz의 클락수를 자랑합니다. 만약에 DMA고객이 8이라고 하고 각 DMA고객당 미니원장프로세스를 하나씩 할당하고 CPU Affinity를 적용하면 가장 빠른 처리속도를 자랑하지 않을까요? ?저는 아닐 확률이 더크다고 생각합니다. ?앞서 지적한 것은 두가지입니다. 클락수도 있지만 CPU최적화입니다. 한국 IT개발자중에서 보편적이지도 않는 P5 CPU에 최적화한 코드를 만들어 낼 사람이 있을까 의문이기때문입니다.

클락과 최적화를 고려하면 역시 X.86계열에서 선택하여야 합니다. E5의 성능이 마음에 들지 않는다면 두가지가 가능합니다. 첫째는 i7를 이용한 랙형 서버를 구축합니다. 아무리 속도가 빠르다고 하더라도 데스크탑방식이면 유지비용이 큽니다. Supermicro와 같은 곳이 이런 류의 서버를 공급합니다.

다른 방법은 오버클락입니다. “아니, 금융기관이 오버클락을 한다고?”라는 이야기를 하실 수 있습니다. 그렇지만 가격대비 성능으로 보면 충분히 좋은 방법입니다. 더구나 유명한 SGI와 같은 곳은 오버클락제품을 별도로 판매합니다. 아래 자료를 보면 오버클락해서 4.3Ghz정도의 속도를 얻는다고 합니다.

SGI? Rackable™ servers are ideal to meet high frequency trading customers’ needs for high compute speed, industry-leading energy efficiency, and density. This new overclocking platform is designed into the Rackable half-depth 4U chassis, and is air-cooled for maximum energy efficiency. The platform is based on a motherboard capable of 3.33 GHz under normal operation and, with the overclocking feature, the processor can run up to 4.3 GHz, depending on the application. Using the half-depth platform allows an air-cooled solution with 50 percent or greater density with respect to other solutions on the market.

이와 관련한 사례를 소개합니다. HFTReview에 올라온 글입니다.

Over-Clocking and Submersion Cooling ? The Future of HFT Technology?

이름도 아주 재미있는 Hardcore Computer가 소개한 사례입니다. Tibco의 IPC제품인 FTL을 이용한 CitiHub의 사례입니다.

Hardcore Computer’s innovative total liquid submersion cooling technology has achieved some of the fastest results for inter-process communications (IPC) seen to date, according to trading technology consulting firm Citihub. Citihub conducted performance tests on Tibco Software’s FTL middleware running on Hardcore Computer’s overclocked, liquid-cooled workstation, and discovered that the combination exceeded previously published benchmarks for inter-process communications by **34 percent. It also was 3.3 times faster than existing standards, taking 271 nanoseconds for a 128 byte message, compared to 345 nanoseconds recorded in earlier tests by Tibco that did not include total liquid submersion cooling. The Citihub test also showed that with the total liquid submersion technology, the Intel Xeon X5698 microprocessor used in the Tibco/Hardcore Computer system, which runs as standard at 4.4 GHz, was able to be overclocked to 4.93 GHz on a continuous basis.

국내자본시장에서도 IPC는 미니원장이나 FEP를 개발할 때 중요한 기술중 하나입니다.Tibco를 사용하지 않더라도 자체 기술을 가지려고 합니다. 위의 사례가 한국의 요건과 비슷합니다.

여러가지 검토를 해보시길 바랍니다.

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.