리눅스환경과 GPU개발

1.
몇 달전에 쓴 글이 있습니다.

하드웨어를 이용한 금융시스템의 성능 향상

GPU(=Graphical Processing Units)가 금융, 특히 증권산업에서 꽃을 피울까요? 사실 쉽지 않아 보입니다. MultiCore에 기반한 Parallel Programming도 도입하지 못하고 있는 상황이지만 GPU도 비슷한 상황입니다.? 현실적인 요구가 없는데 무리하게 기술을 도입하자는 기술중심주의는 아닙니다.

회사의 업무파트중 하나가 ELW LP(Liquid Provider)시스템을 개발구축하는 일입니다. ELW가 장외파생상품이기 때문에 상품설계를 어떻게 하느냐에 따라 Pricing Engine이 달라집니다.? 국내 개인투자자들에게 ELW상품이 폭발적인 인기(?)를 얻고 있어서 새로운 상품이 조만간 출시된다고 합니다.

주가연계증권(ELS)처럼 넉아웃(Knock-Out)이나 넉인(Knock-In) 조건을 걸어 수익이나 손실을 조기에 확정하는 형태의?ELW가 올 하반기부터 본격적으로 도입된다는 점도 외국계 증권사들의 발걸음을 바쁘게 한다. 홍콩에서 CBBC(Callable Bull and Bear Contract)로 불리는 이 유형의 상품은 국내에서는 아직 공식 명칭이 정해지지 않았다.
외국계 증권사 ELW 경쟁 가열.. “내가 빅 5”중에서

Knock-OUt, Knock-In을 처리할 수 있는 Pricing Engine이 필요합니다.여기서 상상해봅니다.

“만약 Pricing Engine을 GPU기술을 이용하여 개발한다고 하면 좀더 빠른 성능을 고객에게 줄 수 있지 않을까?”

2.
증권사 트레이딩시스템을 개발할 때 유닉스환경의 서버개발자와 윈도우환경의 클라이언트개발자가 필요합니다.
Pricing Engine을 포함한 핵심 업무는 서버에서 처리하는데 HP, IBM, SUN제품등을 사용합니다. X86계열의 서버가 아닙니다. Nvidia의 CUDA기술을 사용할 수 있을지 의문입니다. 만약 시선을 리눅스로 돌리면 어떨까요? 이와 관련하여? 기사 하나가 눈에 띄였습니다. GPCPU에 실린 글입니다.

Yellow Dog Enterprise Linux for CUDA

위 제품은 CUDA와 관련하여 다음과 같은 기능을 포함하고 있습니다.

1.YDEL bundles the NVIDIA X11 Driver, CUDA Toolkit, SDK, and Visual?Profiler. These packages are installed and pre-configured with YDEL?which will save the end user from a tedious installation and setup of?these components. Everything works out of the box.2.Unlike other distributions, the end user does not need to recompile?kernel modules. When an updated kernel is made available, YDEL’s?software update tools will also download and install verified and tested?drivers for the updated kernel.

3.YDEL supports using multiple versions of CUDA and OpenCL. An end user?can easily use cudatoolkit 3.0, 2.3, and 2.2 on the same machine and?easily switch between them using configuration files or environment?variables.

4.YDEL includes Fixstars CUDA plugin for Eclipse, allowing developers to?use tools they are familiar with improving efficiency and reducing time?to market.

Nvidia의 GPU와 비슷한 개념인 IBM의 Cell Broadband Engine을 이용한 사례도 소개하고 있습니다.
사용자 삽입 이미지
3.
유닉스개발자 여러분!
윈도우를 버리시길 바랍니다. 버린 윈도우를 대신하여 리눅스를 깔아보면 어떨까요(^^)
YDEL과 같은 제품을 사용하셔도 되고, 유명한 배포판을 사용해도 됩니다. GPU Computing등 새로운 기술에 도전을 해보시면 어떨까요?

증권사 IT담당자 여러분!
IBM, HP, SUN에서 만드는 X.86서버도 많습니다. Redhat, Novell 혹은 하드웨어 Vendor들이 보증하는 리눅스제품도 많습니다. 이제는 하드웨어 및 소프트웨어 환경을 바꿀 필요가 있지않을까요?? 경쟁사 보다 좀더 빠른 서비스를 제공할 수 있다면 약간의 위험을 감수할 수 있지않을까요?

사실 회사의 직원들도 설득 못하는데….(^^;)

6 Comments

  1. fadong

    CUDA는 기본적으로 알고리즘의 영향을 많이 받을 수 밖에 없습니다.
    MC로 Pricing하는 경우는 CUDA가 강력한 힘을 발휘할 수 있겠지만, FDM으로 Pricing 하는 경우는 CUDA 가 상대적으로 취약할 수 밖에 없습니다.
    특수한 상품에 Trading을 전담하는 시스템이라면 CUDA를 이용하여 만들 수 있겠지만 범용적인 알고리즘들이 활용되어야 하는 경우에는 아직 갈 길이 멀지 않나 싶습니다.
    그리고 아직 CUDA쪽은 라이브러리와 더 많은 발전이 이루어져야 하지 않을까 싶습니다.

    요 최근에 눈팅만 일삼다가 예전에 CUDA세미나에 참석한 적도 있고, 잠깐 금융IT에서의 활용가능성을 고민해본 적이 있었기 때문에 글을 남겨 봅니다.

    그리고 저도 Linux를 좋아하지만 전산센터에서는 기본적으로 책임소재에 더 민감하기 때문에 도입되지 못하는 것 아닐까 싶습니다. 제가 보건데 사람과 그 사람에 축적된 경험의 변화가 없다면 아마 바뀌기 싶지 않을겁니다.

    Reply
    1. smallake

      적절한 지적입니다.제가 본 자료로도 MC 를 사용한 사례는 많았습니다. FDM은 Finite Defference Model을 말하나요? 제가 잘 몰라서 찾아보니까 이말의 약어인 듯 한데.

      CUDA를 이용한 범용제품은 보지 못했습니다. 그렇다고 범용일 필요는 없지 않을까 합니다. A라는 Prop Desk가 자신들이 원하는 전략을 구현하는데 GPU Computing이 필요하다고 하면 선택할 수 있지 않을까..

      CPU와 관련된 자료를 보니까 CPU + GPU가 대세일 듯 하던데..이런 경우 현재와 같은 어려움을 극복할 수 있지 않을까 합니다. GPU와 관련된 개발도구를 예전에 찾아보았는데 이중 Intel로 팔려서 통합도구로 나오더군요. MS와 통합환경도제공하고. 말씀하신대로 고객들의 요구가 있으니 점점 발전하지 않을지.

      Linux의 경우 HFT나 Low Latency Computing을 논하면서 많이 도입하지 않을까 생각합니다. 저도 Linux환경을 시험할 계획이고..고객에게 같은 취지로 제안하려고 합니다.(^^)

      하여튼 경험이 쌓이고 공유되면 좀더 좋은 길을 찾을 수 있지 않을까 합니다. 조언 감사합니다.

      Reply
  2. K증권

    저도 금융업계의 내부사정으로 GPU 도입 가능성은 회의적으로 생각합니다.
    다만, 앞으로 한국형 헤지펀드나 신생 투자자문사 등의 개별 매매시스템 등으로 본격활용이 가능할 것 같습니다.
    사실 증권사 전산실 직원들도 GPGPU가 뭔지 아는 사람이 몇이나 될런지 의문입니다. ㅡ ㅡ;
    구슬이 서말이여도 꿰어야 보배이거늘….
    IT기술의 발전의 견인차 역할을 해온 금융업이 이제는 IT기술 발전속도를 따라가질 못합니다.

    제도개선과 개방정책으로 국내 금융업 책임자들과 업계 관계자들이 쓴맛을 좀 봐야 깨달을런지….

    저는 비제도권에서 GPGPU를 활용 가능한 분야를 노려보려고 합니다.
    한국이 안되도 일본, 미국 등에서 도전해볼만 하다고 봅니다.

    Reply
    1. smallake

      몸이 아프다는 핑계로 서비스 제안서를 쓰지 못하다고 쓰기 시작했는데.
      이래저래 정신이 없네요…(^^;)

      증권사가 GPU를 이용한 매매시스템을 구축할 수 있을지 의문입니다만 프랍 데스크를 위하여 백테스팅을 위한 인프라구축정도는 가능하지 않을까 생각합니다. 아니면 실시간 위험관리 – 장외파생상품등 – 에서도 사용가능하다고 생각합니다.

      전자는 전사적인 의사결정이 아니라 프랍팀에서 결정하면 가능하기때문에 가능성은 있습니다. 후자는 쉽지 않겠지만

      도전…참으로 좋은 말입니다. 위험이 항상 따라붙어서 문제입니다만.
      위험이 없다면 누구나 도전할텐데 위험때문에 아무나 못합니다. 결국 여러가지 조건이 맞아야 가능한 일입니다.

      어찌 생각해보면 인생 자체가 도전이죠. 누가 먹여 살려주는 것도 아니고 누가 연애와 결혼을 시켜주는 것도 아니고. 재벌2세면 다르지만….

      Intel와 AMD의 로드맵을 보니 GPU + CPU를 갈 생각인 듯 합니다. 그러면 CPU에서 자연스럽게 GPU 기능을 제공하면 상황은 바뀌지 않을까 꿈꿔봅니다. 물론 전제는 X86 시장이 커지고 리눅스나 윈도우서버가 차지하는 비중이 높아졌으면 하지만.

      어떤 분은 유닉스를 과거의 메임프레임으로 묘사하더군요. 유닉스가 하던 일을 모두 X.86으로 내려야 한다고.(^^)

      Reply
    2. K증권

      도전이란 위험하지요.

      하지만 앞선 사람이 위험을 마주할 확률은 높지만, 먼저 자리를 차지할 확률도 큰 것이죠.

      그 위험을 최소화할 능력과 준비를 갖춘다면 위험에 빠질 확률보다 자리를 차지할 확률을 높일 수 있을 것으로 봅니다.

      제가 이제 갓 30대 중반이라 아직 더 도전하고 싶네요.

      Reply
    3. smallake

      요새 누울 자리를 보고 다리를 뻗어야 한다는 말을 새깁니다. 나이가 들어가서 보수적인가?(^^)

      나이가 보수적으로 만들기 보다는 한번의 도전이 마지막 도전이 될 수 있기때문에 신중해지고 있습니다. 그렇게 생각합니다.ㅋㅋ

      Reply

Leave a Comment

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

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