자본시장과 IT

IB RDMA 프로그래밍

4 472

1.
iWARP이나 Infiniband 프로그래밍을 하려고 하는 개발자라면 OpenFabric을 알고 있습니다. 가장 기본적인 Application Stack이면서 오픈소스로 제공하기 때문입니다. 그런데 문제는 개발이 말처럼 쉽지 않습니다. 오픈소스로 제공하지만 마땅한 텍스트도 없습니다.? 그래서 OpenFabric은? 유료로 OFA Training이라는 프로그램을 제공하고 있습니다. 이 또한 한국은 물건너 이야기입니다.

또한 ZeroM에서 RDMA를 지원하기로 하였습니다. 당연한 기능입니다. 이를 위해 개발자가 참고로 할 수 있는 자료를 정리하여야 할 필요가 있었습니다. 그래서 간단히 정리를 했습니다. 우선 입문입니다.

InfiniBand의 개요

다음으로 일본어지만 Infiniband 입문으로 괜찮은 자료입니다. (한글로 번역은 여기로)


영어가 자신있고 문장으로 된 글을 원하면 아래를 참고로 하시길 바랍니다.


2.
이제 조금 깊이 들어갈까요? Data-path basics와 관련된 QP,CQ등에 대한 설명입니다.

Quick Concepts Part 1 Introduction to RDMA

이제 RDMA 프로그래밍을 어떻게 할지 알아보죠.보통 아래 세가지방법이 가능하다고 합니다.

1. First and simplest way of working with InfiniBand is IPoIB. In this case IP stack is put above IB. You don’t need to rewrite your applications while you can utilize high throughput. On the other hand you will kill IB low latencies and won’t be able to utilize whole IB throughput capabilities.
2. Second way is Sockets Direct Protocol (SDP) which is designed to utilize IB RDMA capabilities and bypass TCP/IP stack. SDP can be used transparently w/o recompiling your application. It’s not that fast as native IB API but os better than IPoIB.
3. Third and hardest way is using IB Verbs which is the lowest API, User Direct Access Programming Library (uDAPL) which is based on IB Verbs, Message Passing Interface (MPI) or Unified Parallel C. Different versions of MPI and UPC can be based on either IB Verbs or uDAPL. I personally work with MPI and UPC so I will describe their installation over InfiniBand.
Activating InfiniBand stack in Linux중에서

물론 비개발자인 제가 설명할 능력은 없습니다. 외국의 개발자들이 작성한 Sample Program을 소개하는 것으로 대신하겠습니다.(^^) 이중에서 IPoIB(IP over Infiniband)와 RDMA CM(Communication Manager)를 이용하여 개발한 샘플을 소개합니다.

먼저 Cisco에서 근무하는 Roland Dreier가 개발한 프로그램입니다. InfiniBand 프로그래밍을 검색하면 자주 보이는 아래 자료를 만든 사람입니다.

Writing RDMA applications on Linux

LinuxConf.eu 2007이라는 행사에서 발표한 자료입니다. 이 때 관련된 샘플소스도 공개하였습니다.

또 다른 .T.Bedeir라는 개발자가 있습니다.2010년에 IB Verb를 이용한 RDMA 프로그래밍과 관련된 자료를 공개하였습니다. HPC Advisory Council에서 발표한 자료입니다.

Building an RDMA Capable Application with IB Verbs
RDMA Read and Write with IB Verbs

위의 논문과 관련된 소스들입니다.

RDMA Read/Write Sample Code

이상의 논문을 온라인으로 보시고자 하면 아래의 블로그를 방문하시면 됩니다.

The Geek in the Corner

블로그를 보시면 DAPL을 이용하여 어플리케이션을 개발하는 것은 시간과 비용의 낭비라고 주장합니다. 쉽지 않다는 말입니다.

3.
InfiniBand를 시험하려면 작지 않은 비용이 듭니다. Infiniband HCA도 비싸고 네트워크케이블도 무척 비쌉니다. 대부분 물 건너 수입하여야 합니다. 들리는 말에는 HCA 제조업체별로 달라서 맞는 케이블을 구해야 한다고 하네요. 현재 RJ45처럼 표준화하려면 시간이 덜 필요할 듯 합니다.

OFED를 사이트에서 받아서 리눅스에 설치하고 시험을 하려고 하면 아래의 사이트를 참조하세요.

HOWTO: Getting Started with InfiniBand on Redhat/Centos Linux
Activating InfiniBand stack in Linux

10G Ethernet을 도입하는 증권사가 늘고 있습니다. InfiniBand를 도입하고자 검토하는 회사도 있습니다. 혹 InfiniBand를 도입한다고 하더라도 앞서 세가지모델중 IPoIB를 이용한 모델이 효과적이지 않을까 합니다.

About the author / 

smallake

4 Comments

  1. 박보순 3월 17, 2011 at 1:26 오전 -  응답

    좋은 자료 감사합니다.
    OpenFabric에서 나오는 드라이버를 사용하기 전에는 각 업체별로 드라이버가 달랐고 그 중에서도 Cisco에 합병된 Topspin과 Voltaire가 성능이 가장 잘나왔던것으로 테스트를 해보았습니다.
    그리고 지금은 뭐 다들 같은 구조라서 그렇게 성능의 차이는 없지만 SM의 기능이 중요한 것으로 알고 있습니다.

    • smallake 3월 18, 2011 at 4:17 오전 -  응답

      늦었습니다. 귀한 댓글 감사합니다.

      혹 시험한 결과가 있으면 공유하면 어떨지?그냥 저의 의견입니다.(^^)

  2. 박보순 3월 17, 2011 at 1:27 오전 -  응답

    참 그리고 Xsigo는 기반은 infinband이지만 그 회사가 주창하는 바는.
    I/O 가상화입니다. 실제로 network+storage I/O를 한 곳에서 관장을 하고 연결은 20G의 속도가 나오는
    Infinband HCA를 이용하는 것입니다.

    • smallake 3월 18, 2011 at 4:18 오전 -  응답

      Xsigo라는 회사에 관심을 갖지 않아서.그냥 Infiniband와 관련된 자료를 제공하고 PPT로 잘 정리된 듯 해서 소개했습니다.

댓글달기

최신 댓글

  • smallake 내 기억속의 여의도
    저도 인터넷에서 받은 사진이라 저작권이 없습니다. 사용하셔도 무방할 듯 하지만 인터넷에서 검색을 해보시면 좋을 듯 합니다.
  • PB 내 기억속의 여의도
    안녕하세요 여의도 흑백사진이 정말 멋있습니다. 혹시 여의도 대지조사 자료에 저 사진을 인용해도 괜찮을까요??
  • smallake 늙은 개발자
    작고 낭만이 있고 소박한 삶이 어느 때부터 더 어렵다는 생각이 들더군요. 그런 생각이 몸과 마음을 힘들게 한다고 생각하지 않고요.…
  • 가오리 늙은 개발자
    small lake 작은호수...ㅋ 꿈이 그렇게 작고 낭만적이고 소박하니, 항상 힘든겁니다~

트윗

  • 원자력과 관련한 학계 사람들이 탈핵반대성명을 내놓았죠. 이에 대한 반론적 성격의 칼럼입니다. "원전에 대한 장밋빛 환상 거두자" 주류가 이해에 묶일 때 비주류는 세상을 넓고 다르게 본다는 생각이 드네요. https://t.co/A0w4dWhTsT

    yesterday
  • 무척이나 좋은 제품이지만 항상 비용이 부담을 준 Jira와 Confluence. 드디어 이별을 고하고 Redmine으로 돌아섰습니다. Bitnami가 패키징한 Redmine, 설치의 고통을 덜어줍니다. 좋은 제품보다 더 중요한 건 좋은 사용이죠

    yesterday
  • 국정운영 5개년 계획중 금융 및 소프트웨어와 관련한 전략과제입니다. 바꿀 수 있을지, 이제 실행력의 문제입니다. https://t.co/BGsGN7U2wP https://t.co/M4FWzu1Bss

    yesterday
  • '10년새 반토막' 이발소·사진관...주위서 사라지는 것들. 전 여전히 사각사각 가위질하는 소리가 좋습니다. 병원에서 목욕 봉사할 때 이발을 원하는 분들이 많은데 어디 무료로 가르쳐주는 곳이 없을까요?(^^) https://t.co/wIShQgWQA5

    2 days ago
  • 이념적으로 인정하지 못하는 오바마케어를 없애려고 한 트럼프. 실패중입니다. 정책에 대한 지지율이 높고 수혜계층이 명확합니다. 대못을 박고 지속가능한 정책의 첫째는 명확한 수혜계층입니다. https://t.co/T4HGuNJxOh

    2 days ago
트레이딩컨설팅그룹이음 서비스

ZeroAOS, 매매API
ZeroFIX/OMS
국내외매매플랫폼
Jira, SPA, Node.js
매매서버 및 튜닝

자세한 정보는 아래를 선택하세요
    바   로   가   기