1.
병렬컴퓨팅이 무척 중요한 이슈였습니다. Low Latency를 풀어내는 열쇠말이라고 판단을 했습니다. Open Fabrics나 MPI등을 찾아서 읽어보았습니다. message Passing이라는 개념이 쉽지 않았습니다. 하여튼 개발을 하는 사람이 아니니까 읽어본 수준입니다. CUDA와 관련한 자료도 찾아보았습니다. 나중에 어느 자리에서 들어보닌 한국에서 OFED나 InfiBand를 적용한 경우가 기상청 프로젝트정도였다고 합니다. 슈퍼컴퓨터 프로젝트를 하는 곳도 있지만 현실에 적용한 경우는 별로 보지 못했습니다. 여전히 현실의 영역이 아니라 아카데미의 영역에 있는 것이 병렬컴퓨팅인 듯 합니다.
Low Latency Conference 겨울 행사때 발표하셨던 이형채님이 페이브북에 병렬컴퓨팅과 관련한 행사를 소개하셨습니다.
2013 Accelerator Programming 겨울학교
행사를 주최한 곳은 매니코어소프트입니다.
매니코어소프트(주)는 서울대학교 멀티코어 컴퓨팅 연구실 구성원들이 창업한 고성능 컴퓨팅 전문 기업입니다. 매니코어소프트(주)는 멀티/매니코어, 클러스터, 슈퍼컴퓨터에 대한 하드웨어 및 소프트웨어 솔루션, 개발 컨설팅, 프로그래밍 교육 등을 제공하여 고객이 고성능 컴퓨팅을 쉽게 달성할 수 있도록 도와드리겠습니다.
겨울학교의 목적은 다음과 같습니다.
GPU, Xeon Phi Coprocessor, DSP, FPGA 등의 성능 가속기(Accelerator)는 x86, ARM, PowerPC 프로세서를 포함하는 범용 CPU와 함께 하나의 시스템을 구성하여 이종 컴퓨팅(Heterogeneous Computing) 환경을 제공합니다. 최근 고성능 컴퓨팅과 모바일 컴퓨팅에서 성능 가속기의 사용이 늘어감에 따라 이종 컴퓨팅 환경에서 성능 가속 컴퓨팅(Accelerator Computing)이 각광을 받고 있습니다. 그러나 성능 가속기를 효과적으로 사용하려면 쉽지 않은 프로그래밍 장벽이 존재합니다. 이번 겨울학교에서는 대표적인 성능 가속기인 GPU 와 Intel Xeon Phi Coprocessor의 구조와 Parallel Programming의 기본에 대해 배우고, 단일 노드 및 클러스터 환경에서 이들을 잘 활용하기 위해 OpenCL, OpenACC, MPI, CUDA, SnuCL 등의 프로그래밍 모델과 프로그램 최적화 기법에 대해 배웁니다. 이 겨울학교가 국내에서 성능 가속 컴퓨팅의 중요성을 인식하는 계기가 되고, 성능 가속기를 잘 활용하는 프로그래밍 기법을 배워 인력양성에 도움이 되기를 바랍니다.
관심이 있으신 분은 도전을 해보세요? 다만 비용이 높습니다. 회사에서 보내주어야 가능할 듯 합니다.(^^)
2.
위의 행사가 부담스러우면 온라인으로 비슷한 교육을 해주는 프로그램에 도전을 해보세요. 미국 The Extreme Science and Engineering Discovery Environment(XSEDE)가 만든 온라인과정입니다.
Applications of Parallel Computers
This course teaches both graduate and advanced undergraduate students from diverse departments how to use parallel computers both efficiently and productively, i.e. how to write programs that run fast while minimizing programming effort. The latter is increasingly important since essentially all computers are (becoming) parallel, from supercomputers to laptops. The course will be taught online and includes lecture materials, quizzes, and programming exercises. As a prerequisite students should ideally have some programming experience in C or similar language.
The online course is an adaptation of the class Applications of Parallel Computers taught by professor Jim Demmel at U.C. Berkeley in Spring 2012. Lecture materials, quizzes, and programming exercises will be rolled out weekly from Feb. 14 to May 2. For more information on the topics covered in the course.
직접 등록을 하시려면 아래로 가세요. 신청을 하려면 XSEDE의 회원이 되어야 합니다. 해보니까 계정 발급을 해주네요.
Register For online training event
3.
병렬컴퓨팅이 중요합니다만 트레이딩에 적용하려면 여러가지 조건이 맞아야 합니다. 현재와 같은 조건을 놓고 보면 Low Latency 보다는 High Latency가 될 확률이 높습니다. 오히려 멀티코어와 CPU Cache를 고려한 Concurrency 프로그래밍은 여전히 유효하지 않을까 생각합니다.
이와 비슷한 의견을 트위터에서 나누었습니다.
광고문구는 이렇습니다. “성능가속기의 원리와 구조에서부터 OpenCL, MPI, CUDA, SnuCL 등의 프로그래밍 모델과 최적화 기법을 통해 성능 가속 컴퓨팅 전문가로” manycoresoft.co.kr/apws13/ 직원을 보낼 금융회사가 있을까?
— smith Kim (@smallake) January 29, 2013
@smallake 금융회사들에서 고민하는 latency문제를 many core나 최적화를 통해서 해결할수있는 경우 많이 없는경우라서 아쉽습니다, 혹시 적용가능한 부분이 있나요? 오히려 오버헤드가 증가하는 경우가 많을듯해서요
— Kyungtae Tae Kim (@fastae) January 30, 2013
@fastae 저는 HPC 플랫폼으로 처리해서 이익을 볼 수 있는 업무가 몇 없다는 생각입니다. 매매와 관련해서 더욱 그렇습니다. 다만 위험관리쪽은 밀리초나 마이크로초를 다투는 것이 아니니 좀 다를 듯 합니다 .실제로 CUDA사례도 있는 듯 하고.
— smith Kim (@smallake) January 30, 2013
@smallake 동의합니다. 요즘 Xeon Phi 프로세서를 탑재한 MIC카드도 HPC에서 각광받고 있습니다. 물론 HFT에서 이익을 줄수는 없을듯합니다. 그래도 Gpu보다는 작은업무에는 오버헤드가 적을듯하네요
— Kyungtae Tae Kim (@fastae) January 30, 2013
그러면 병렬컴퓨팅을 적용할 수 있는 분야가 있을까요? 위험관리와 관련한 부
병렬컴퓨팅 이전에 선행되어야할 것이 최적화입니다. 아래는 Mit open course에서 최적화 및 병렬화에 대해서 한학기 동안 진행된 너무 값진 강의 입니다. 관심있으신분은 두세달정도 천천히 숙제까지 하시면서 들으시면 HPC의 이론은 꽤 많이 쌓일것입니다.
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-172-performance-engineering-of-software-systems-fall-2010/video-lectures/
온라인이지만 자주 뵙네요. 언제 Low Latency Conference에 나오셔서 발표하세요. (^^)
좋은 프로그램이네요. 댓글, 감사합니다.