TOE, Netmap, DPDK 그리고 클라우드

1.
TOE. TCP OFF Loading Engine의 약자입니다. Low Latency가 자본시장IT를 주도할 때 각광을 받았던 기술입니다. TOE는 비표준이기 하지만 매력적인 기술입니다. 더구나 가격도 많이 착해진 상태로 선택이 가능합니다. 그렇지만 지금처럼 가상화와 클라우드가 시대의 흐름을 이루면서 고민스러운 기술이 되었습니다. 2011년 ZeroAOS를 클라우드환경으로 운영하고자 할 때 이런 저런 조사와 고민을 하였습니다.

Latency와 가상화는 이율배반?

그리고 shared memory를 이용하여 해결하고자 했던 기술도 살폈습니다.

SR-IOV와 IPC

그리고 시간이 흘렀습니다. 클라우드와 관련한 고민은 진전시키지 못했습니다. 클라우드환경을 운영하고자 한 시도가 실패했습니다. 실패는 실패고 세상은 Docker와 같은 기술이 클라우드서버환경을 풍부하도록 변화하고 있습니다. Docker로 보는 클라우드 서버 운영의 미래는 이런 흐름을 보여줍니다.

Download (PDF, 377KB)

어떻게 해결해야 할까요? TOE와 비슷한 목적을 가지지만 다른 방법을 택하고 있는 기술중 Netmap이 있습니다. DIY Acceleration에서 소개하였고 NIC과 Userspace를 연결시키는 기술입니다만 RNIC에 의존하지 않는 방법입니다. 따라서 VM이나 Docker에 채택할 수 있습니다.

Netmap기술을 기반으로 하여 클라우드서버내에 가상스위치를 만들어 레이턴시를 해결하는 mSwitch기술도 내놓았습니다.

Download (PDF, 1.13MB)

이와 다른 기술이 인텔이 내놓은 DPDK입니다. 조사를 해보니 Openstack에 친화적인 기술입니다. DPDK, vswitch기술이 조합을 이룹니다.

트레이더가 클라우드환경을 구축하고 매매를 할 가능성이 많지 않습니다. 속도가 곧 수익이라고 하면 가상화와 같은 기술을 사용하지 않을 듯 합니다. 그렇지만 다른 요인으로 클라우드환경을 구축하면서 레이턴시를 고민할 경우가 있습니다. 매매의 경우 속도는 여전히 중요하기때문입니다. 이럴 때 무슨 선택을 할까요?

2.
RNIC이 처음 나왔던 때와 비교하면 지금은 무척 낮은 가격으로 이용할 수 있습니다. 혹시 TOE를 구매할 때 Non-TOE와 비교할 때 어느정도 Latency를 줄이는지를 비교해보신 적이 있으신가요? 솔직히 저도 없습니다. TOE Nic은 싼 제품이 아닙니다. 몇 십만원 하는 보급형이 아닌 일반형은 백만원이 넘습니다. 온 보드나 번들로 랜카드를 사용하던 분들은 쉽게 비용을 지불하기 힘듭니다. 그렇기 때문에 TOE를 이용하여 얻을 수 있는 이익을 측정하면 좋습니다.

Measuring latency in the Linux network stack between kernel and user space

위의 글을 이런 분들에게 아이디어를 제공합니다. Kernel이 nic에서 데이타를 받아서 User sapce로 보내는 시간을 측정하는 프로그램입니다.

Leave a Comment

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

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