적은 코드로 빠르게 동작하는 병렬 프로그램을 위한 마이크로 칩의 개발
기관명 | NDSL |
---|---|
작성자 | KISTI 미리안 글로벌동향브리핑 |
작성일자 | 2016-06-28 00:00:00.000 |
내용 | 최근 CPU 제조사들은 단일 코어의 속도 경쟁을 줄이고 코어의 갯수를 늘리는데 주력을 하고 있는 모양새를 보이고 있다. 단일 코어로 향상 시킬 수 있는 물리적 속도와 연구 개발에 드는 비용의 효용성을 따져 볼 때 제조사들의 이러한 제품 개발 정책은 시장의 원리에 충실히 따른 타당한 결정으로 보인다. 그러나 다수의 코어를 사용하여 연산 속도를 향상 시키는 프로그래밍을 하는 것은 개발자로써 결코 쉬운 일이 아니다. 이러한 병렬 프로그래밍의 까다로운 문제점은 큰 단일 업무를 여러개의 작은 연산으로 분리하는 방법과 한 프로세스가 연산을 통해 다른 프로세스가 연산하고 있는 데이터의 결과값을 변경하게 되어 잘못된 연산 결과를 낼 수 있는 동기화의 문제가 있다. 실제로 개발자들은 기존의 직렬 연산식 프로그램을 병렬 연산식 프로그래밍 방식으로 변환하거나 새로운 병렬 연산 프로그램을 작성하는데 적지 않은 어려움을 겪고 있는 것이 현실이다. 이러한 가운데 미국 MIT 공대의 컴퓨터 공학및 인공 지능 연구소(CSAIL)의 연구원들이 Swarm이라 불리는 새로운 마이크로 칩의 디자인을 발표하였다. Swarm은 병렬 프로그램을 현존하는 기술들보다 빠르면서도 프로그래밍하기 쉽게 만들기 위한 목적으로 개발되었다고 한다. Swarm을 6개의 잘 알려진 알고리즘에 대해 현존하는 최고의 병렬 프로그래밍 기술들과 비교하는 시뮬레이션 결과에 따르면 Swarm이 다른 병렬 프로그램들에 비해 약 10분의 1정도의 코드 작성만으로도 적게는 3배에서 많게는 18배까지 빠른 성능을 보였다고 한다. 또한, 그 중 하나의 경우에선 Swarm이 다른 병렬 프로그래밍 방법으로는 구현하지 못 했던 알고리즘을 구현해 냈을 뿐만 아니라 병렬 프로그래밍을 통해 약 75배의 성능 향상을 보였다고 한다. 대부분의 응용 프로그램들의 연산 업무들은 노드와 노드 사이를 연결하는 선으로 표현하는 그래프로 표현될 수 있는데 노드와 노드 사이에는 중요도를 표현하는 가중치를 표현할 수 있다. 일반적으로 각각의 코어가 이 그래프의 다른 부분들의 연산을 담당하는 방식으로 병렬 프로그래밍을 수행할 수 있는데, Swarm이 다른 병렬 프로그래밍 칩들과 다른 점은 이처럼 노드 사이의 선에 가중치를 부여하여 연산 업무들의 우선 순위와 상하 관계를 설정할 수 있다는 점이다. 이 새로운 칩의 디자인은 IEEE Micro Journal 5/6월호에 실리게 될 것으로 알려져 있다. |
출처 | |
원문URL | http://click.ndsl.kr/servlet/OpenAPIDetailView?keyValue=03553784&target=TREND&cn=GTB2016000301 |
첨부파일 |
과학기술표준분류 | |
---|---|
ICT 기술분류 | |
주제어 (키워드) | 1. 멀티코어,병렬 프로그래밍,마이크로 칩 2. Multicore,Parallel programming,Micro chip |