DSP기술을 이용하고자 하는 분의 질문

1.
예전보다 덜 하지만 가끔 메일로 질문을 주는 분들이 계십니다. 몇 년전 보다 Low Latency가 보다 알려졌기 때문이 아닐까 합니다. 이번 질문은 하드웨어 가속기능입니다.

그동안 하드웨어 가속기능을 이용하여 제품화를 하려고 했던 몇 분들을 만났습니다. 한 분은 NP(Network Processor)를 이용하여 제품화를 하겠다고 한 분이었습니다. ZeroAOS에 대한 설명을 요청하신 후 질문으로 자신들의 제품화 계획를 이야기하시더군요. 조금 황당했습니다. 또다른 분은 저도 약간 관계하였던 분입니다. FPGA를 이용한 분이었습니다. 몇가지를 놓고 저울질을 했습니다. 방화벽, 미니원장과 FEP입니다. 시간과 시장을 고려할 때 가능성이 높은 것을 방화벽을 선정하였지만 인증제도의 벽에 맊혀 현실화하지 못하였습니다. 다른 분은 SoC를 이용한 분들입니다. 알고리즘트레이딩포럼 준비모임에 나오셨던 분입니다.

SoC와 트레이딩

그외에도 FPGA와 관련한 일을 하시는 분들이 메일을 주셨습니다. 이번에 받은 질문은 DSP를 하시는 분들입니다. 공부는 하지 않았지만 전공이 제어계측공학이라 DSP와 같은 단어가 익숙하여야 하는데 여전히 부담스러운 단어입니다. 읽어도 이해가 쉽지 않습니다.

질문 1 : 일반적으로 알고리즘 트레이딩 할시, 연산의 load(몇개의 데이터로 얼마나 복잡한 계산을 하는지에 대한 대략 적인 수치) 일반적으로 걸리는 시간?

질문 2 : 클라이언트의 알고리즘뿐만아니라 증권사 FEP에서 주문처리하는 방식에도 SoC기술 적용 가능한지?

질문 3: 현재 sync방식을 사용하여 ACK받는 시간(거래소 구간 round trip)이 마이크로 세컨드 단위인데, async방식 사용시 예상 latency? 현재 거래소에서 주문을 받는 시간에 대한 정보 알 수 있나요?

먼저 저의 의견을 정리하도록 하죠.

Re:질문1

단순히 생각을 해보죠. 전략에서 의사결정을 할 때 시간에 따라 달라지는 데이타는 두가지입니다. 체결가와 호가입니다. 또한 전략은 수익을 목적으로 하기때문에 자신의 포지션과 뗄래야 뗄 수 없습니다. 이 때문에 필요한 데이타가 체결정보입니다. 가장 단순한 전략을 개발한다고 하더라도 최소한 3개의 실시간 데이타를 처리하여야 합니다. 종목이 늘어나면 데이타는 그 만큼 늘어납니다. 덧붙여 체결가를 쌓아서 실시간으로 여러가지 값을 발생한다고 하면 변수값의 종류에 따라 그만큼 늘어납니다. 그래서 전략이 어느 정도 시간을 사용하는지는 기준이 없습니다. 전략마다 다르기때문입니다. 전략을 모델화하였다가 소프트웨어(C/C++, Java), 하드웨어 혹은 하이브리드 방식으로 각각 실험을 해서 최고의 방법을 찾는 것이 순리입니다. 다만 이런 방법은 너무 많은 비용이 들어갑니다.

Re:질문2

FEP에 하드웨어 가속기능을 적용하면 매우 좋은 성능을 낼 수 있습니다. 그렇기 때문에 외국의 대형IB나 거래소들이 FPGA를 이용하여 Risk Gateway나 Market Gateway에 적용하는 경우가 있습니다. 한국거래소는 다릅니다. 넘사벽이 있습니다. 보안인증프로그램입니다. 현재 A사 제품만을 인증하고 있습니다. 소프트웨어로만 공급합니다. 때문에 암호화프로그램을 제외한 영역에 하드웨어가속기능을 적용할 수 있습니다. 다만 성능비교를 할 때 아주 탁월한 숫자를 보여주어야 할 듯 합니다.

Re:질문3

현재 한국거래소는 Sync방식으로 주문으로 처리합니다. 다만 증권사FEP가 거래소FEP로 주문을 보낸 후 다시 주문접수ACK를 줄 때까지 마이크로초수준은 아닌 것으로 알고 있습니다. ?그리고 부산 파생상품거래소와 관련한 주문접수시간은 아래 글을 참고로 하시길 바랍니다.

부산IDC 이전과 이후

2.
이제 근본적인 질문을 해봅니다. DSP가 무엇인가요? 앞서처럼 SoC, FPGA, NP 나아가 DSP까지 이런 말들이 나오면 머리가 아픕니다. 어떤 차이가 있는지를 머리속으로 그릴 수 없습니다. 그저 구글잉해서 나온 자료로 추측만 할 뿐입니다. 아주 훌륭한 정리이지만 솔직히 저는 그림이 그려지지 않습니다.(^^)

FPGA는 개발을 완성했을때 많은 불용게이트가 생기고 게이트를 프로그래밍 하기 위한 회로가 있어서 실지의 제품에서는 필요없는 회로가 되고?대량생산에 적용할 경우 코스트가 높아지는 원인이 됩니다. 그래서 완벽히 FPGA의 작동이 확인되면 모든 쓸모없는 회로와 게이트를 빼고 좀더 작은 면적의 웨이퍼를 사용하여 프로그램 불가능한 마스크타입의 회로로 만드는것이 ASIC입니다. 물론 FPGA도 ASIC에 속하지만 프로그램 가능한 ASIC 입니다.(중략)FPGA가 나옴으로 해서 ASCI의 개발 코스트가 아주 싸지게 된거지요.
SOC도 역시 ASIC에 속하고 개발과정은 ASIC개발 과정과 거의 유사합니다. 단지 아날로그 부분이 대폭 강화가 되어 있고 코일이나 대용량의 콘덴서 까지도 넣어서 칩한개에 필요한 제품의 모든 기능을 탑재하는것을 말합니다. MP3칩 같은것이나 유전질병 진단을 위한 DNA칩, CMOS 이미지 센서 같은것이 여기에 속합니다. 들어갈수 있는 부품의 제한이 없이 반도체 웨이퍼 위에 올릴수 있는 부품이라면 뭐든 사용할수 있는것이 일반 ASIC과 다릅니다.
DSP는 ASIC 과는 다른 종류로서 고속의 마이크로 프로세서에 해당합니다.마이크로 프로세서가 단지 디지탈 신호만 처리할수 있는것에 비해 DSP는 아날로그 신호를 고속으로 처리할수 있도록 여러가지 대처가 되어 있는데 칩 내부에 곱셈기,부동소숫점 연산기가 하드웨어적으로 되어 있습니다.
물론 아날로그 신호도 직접 처리할수 있도록 아날로그 입출력 포트도 칩속에 내장되어 있습니다. 즉 DSP는 마이크로 프로세로 빠른 속도의 아날로그 신호를 디지탈적으로 처리하기 위해서 만들어진 마이크로 프로세서 입니다. 시대의 조류에 따라 DSP는 마이크로프로세서보다 더욱더 빠른 속도로 아날로그 처리와 부동 소숫점 처리를 할수 있도록 설계합니다. 그렇게 일반 마이크로프로세서와 구별 시켜 DSP라는이름값을 하도록 고속의 아날로그 신호 처리를 강조하여 만든 마이크로 프로세서가 바로 DSP입니다. 그래서 DSP의 사용방법이나 프로그래밍 방법도 거의 마이크로 프로세서와 같습니다.그러나 FPGA나 ASIC과는 완전히 다른것입니다.
DSP는 프로그램에 의해 하나하나의 명령이 페치되면서 해석되고 움직이지만 ASIC종류는 명령 해석과정이 없이 하드웨어가 직접 움직이니까요.
FPGA DSP ASIC SOC 각각의 차이점이 무엇인가요?중에서

하드웨어 가속기능을 이용하고자 할 때 참고했으면 하는 점이 있습니다.

첫째는 목적입니다. 상품화하려고 하는 것인지 아닌지를 명확히 하여야 합니다. 상품화라고 하면 명확히 수요가 있든가 아니면 수요를 창출할 능력이 있어야 합니다. SI프로젝트로 고객이 요구하는 것을 구현하겠다고 하면 다르지만 다양한 요구를 제품화하여 판매하고자 한다면 더 많이 조사하고 기능을 정리하여야 하지 않을까 합니다. 현재 많은 하드웨어 가속기능이 스위치, 방화벽, 네트워크카드에 집중된 이유도 이때문이 아닐까 합니다. 그외 FIX나 Feed Handler부문에 하드웨어제품들이 있지만 나름의 틈새가 있기때문에 가능합니다. 더불어 한국의 경우는 다르다고 생각합니다.

둘째는 경쟁상대입니다. 몇 일전에 HFT이후는 Big Data Trading에서 Zeptonic을 소개할 때 인용한 부분입니다.

The group was founded by many of the team which set up Zomojo, one of the largest high-frequency trading companies in the Australian market, and is headed by Josh Rose, one of the founders of ITG, the US agency broker. It employs about 20 people but is looking to expand.?“The world’s fastest switching device is just the beginning,” Mr Hurd said. “Zeptonics is raising the bar and establishing a new paradigm in low latency technology through hardware and software innovation.”

상품화를 한다고 하면 경쟁상대는 해외업체들입니다. Zeptonics가 개발한 스위치는 5마이크로초를 달성하였습니다. 세계 최저입니다. Arista와 Zeptonic 혹은 Chelsio와 같은 업체들과 경쟁하여 이겨야 합니다.

셋째 Low Latency를 부분으로 보지말고 전체로 보았으면 합니다. DSP, FPGA등을 적용하면 분명 남과 다른 숫자를 얻을 수 있습니다. 그렇지만 시세를 받고 주문을 보내고 다시 거래소가 접수전문을 보내는 과정을 놓고 볼 때 매우 작은 부분입니다. ?하드웨어 가속기능을 이용하여 전략을 개발할 때 투입하여야 하는 비용으로 얻을 수 이익과 다른 곳에 투입하였을 때 얻을 수 있는 이익을 비교했으면 합니다. 모든 조건이 똑같다고 하면 하드웨어 가속을 시험해볼 가치가 있지만 역시나 비용입니다. 개발비용, 유지비용, 재개발비용등을 모두 고려하여야 합니다. ?규모의 경제를 만들지 못하면 ?상품화하지 못한 하드웨어 가속기술은?비싼 기술이 아닐까 생각합니다. 과연 한국시장에 하드웨어가속기능을 이용하여 전략을 운용할 규모를 가진 곳이 얼마나 될지 궁금합니다.

이상은 저의 의견일 뿐입니다. 참고사항입니다. 결정은 온전히 스스로의 몫입니다.

3.

오늘 hftreview.com이 특집으로 FPGA를 다루었습니다. 관심있는 분들은 읽어보시길 바랍니다.

HFT Review Report: FPGA & Hardware Accelerated Trading
In part one of this new six-part series, I investigate how, where and why FPGAs – and other forms of hardware acceleration – are used in the financial markets. Future articles in this series will look at:

– Implementation of FPGAs using different architectural approaches
– The various programming methodologies being used
– Challenges and constraints of working in hardware versus software
– How are the CPU manufacturers responding to the FPGA “threat”?
– Predicitions and vision for the future

Deterministic Latency and Scalability via FPGA Matrix Architecture
In this interview, Yves Charles, CEO of NovaSparks, talks about the various factors that are driving the adoption of FPGAs in financial markets, and also discusses:
– The true impact of non-deterministic latency on different categories of market participant
– The two types of architectures that exist to leverage FPGAs
– How to get around issues with scaling FPGA-based solutions
– The FPGA Matrix architecture
– Challenges that need to be overcome before FPGAs are more widely adopted in the financial markets

Accelerating Transactions Through FPGA-Enabled Switching
In this interview, John Peach, Consulting Engineer for EMEA at Arista Networks, talks about how FPGA-enabled switching is now helping a number of financial markets participants accelerate their transactions, discussing:
– The use cases of in-line risk checking, feed-handling and data translation
– How Arista works with other technology vendors in the high-performance trading ecosystem
– What skill sets are required by customers in order to leverage this technology
– How the use of FPGA-enabled technology in financial markets might evolve

The Evolution of FPGA in the Financial Markets
In this interview, Mohammad Darwish, Chief Executive Officer of AdvancedIO Systems, talks about how FPGA technology is being increasingly adopted in the financial markets, discussing:
– Key challenges that the finance industry presents, versus the defence or telecoms sectors where FPGAs originated
– Limitations of software-based solutions in the electronic trading ecosystem and how hardware-based solutions can help
– FPGA development frameworks that can shorten the development cycle
– OpenCL and the future evolution of FPGA technology

Successfully deploying FPGA-based Network Adapter Cards to Deliver Ultra-low Latency Trading
In this article, Stephane Hauradou, Vice President and co-founder of Accelize, a PLDA GROUP company, explores some of the keys to successfully deploying ultra-low latency trading solutions based on today’s cutting-edge FPGA technology.

Packet Processors Offer Performance and Flexibility for Low-Latency HFT Applications
This White Paper from GE Intelligent Platforms looks at how off-the-shelf multi-core packet processors with corresponding software provide tremendous programming flexibility for quick compliance with changes to government regulations and market events not achievable with traditional FPGA-based solutions.

Design and Implementation of Black-Scholes Model in Hardware
This article from Wei Wang is for software engineers in the finance sector who wish to understand how algorithms can be implemented in hardware. The article describes the design and implementation of the Black-Scholes model in hardware.

아울러 @doppi님이 FPGA와 관련한 자료를 많이 번역하셨습니다. 참고하세요.

HFT Acceleration using FPGA
FPGA, The Next Wave of HFT Technology? (by David Quarrell)

6 Comments

  1. 김경태

    감사합니다. 좋은 답변이 되었습니다!

    Reply
    1. smallake (Post author)

      도움이 되셨다고 하니 다행입니다. 혹 더 필요한 내용이 있으면 언제든지 메일을 주세요.
      괜찮은 시간에 방문을 하셔도 무방합니다.(^^)
      건강하세요.

      Reply
  2. 박우재

    최근에 전자대안화폐인 비트코인 마이닝에서 FPGA가 많이 사용되고 있습니다. 그곳에서 살펴보면 위의 FPGA->ASIC 의 변화과정을 살펴볼 수 있는데요. 대표적인 ICARUS 마이닝 오픈소스 프로젝트가 있습니다. 혹시나 FPGA가 어떤건지 살펴 보시고 싶으신 분은 한번 보시는것도 좋을것 같습니다.

    https://bitcointalk.org/index.php?topic=51371.0

    아래는 비트코인 부연설명입니다.

    비트코인 마이닝에서 FPGA성능간의 쟁점은 연산속도와 관련이 있습니다. 비트코인은 기본적으로 중앙은행에서 통화 발행을 하는것이 아니고 FPGA나 컴퓨터의 연산에 의해 만들어 집니다. 중앙은행에서는 전체통화량으로 그 가치를 매겨주는 전체통화량만 관리합니다.(2년에 반감기가 한번씩 온다고 합니다.) 주요 연산은 인터넷에 떠다니는 거래 Transaction 정보의 암호화가 대부분입니다. FPGA의 성능은 MH(MegaHash)로 표시되는데 이게 높으면 더 빠른겁니다. 몇달전에 찾았던 정보라 기억이 잘 안나는데 그 때 계산에 Icarus를 구입했을 때, 초기투자비+운영비를 넘어서는 기간이 1년 6개월이었습니다. 올 연말에 반감기가 온다는데, 이게 오면 Icarus로는 돈을 건지기 힘듭니다. 그래서 Icarus 제작자가 Lancelot이라는 프로젝트를 한개 더 만들었습니다. 새로운 개념이라 재미있어서 예전에 한번 투자해볼까 생각도 해보았는데 제가 가진환경에서는 리스크가 많아 해보지는 못했습니다.

    Reply
    1. smallake (Post author)

      재미있네요. 잘 읽어보겠습니다.

      Reply
    2. 트레이서

      비트코인 마이닝에 FPGA를 사용하는군요. GPGPU로 하는 그룹은 봤는데… 신선합니다. ㅎㅎ

      Reply
      1. smallake (Post author)

        많은 분들이 관심을 가지시는 분야인 듯 합니다. 전 비트코인이라는 단어 자체가 생소합니다.

        Reply

Leave a Comment

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

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