※ 본 아티클은 CMP MEDIA LLC와의 라이선스 계약에 의해 국문으로 제공됩니다.
Cell 브로드밴드 엔진 프로그래밍
한 개의 몸체에 9개의 프로세서 코어를 가진 Cell 프로세서 칩(Cell Broadband Engine, CBE)은 동일한 클럭수에서 단일코어 칩보다 훨씬 많은 양의 일을 처리할 수 있다. Cell의 병렬배치와 성능은 어떤 시장용 CPU 아키텍처에서도 볼 수 없던 것들이고, 단가에 민감한 일반가전시장에서는 더더욱 그러했다. 소니, 도시바, IBM이 합작해서 개발한 CBE는 상이한 두 종류의 프로세서 코어에 엄청난 계산능력을 분담한다. 따라서 Cell의 개발환경은 동일한 종류의 코어를 사용하는 다중프로세서 아키텍처에서 볼 수 있는 개발환경과 매우 다르다. Cell 프로그래머들은 이런 계산 리소스들을 효율적으로 다룰 수 있는 특별한 도구가 필요하다. 이 글에서 본 필자는 CBE 임베디드 SPE 객체 포맷(CBE Embedded SPE Object Format, CESOF)라고 불리는 새로운 객체 포맷을 소개할 것이다. 소니, 도시바, IBM 셀 브로드밴드 엔진 설계 센터(Sony, Toshiba, IBM Cell Broadband Engine Design Center, STIDC)의 프로그래머들은 Cell 프로그래머가 이 두 종류의 상이한 프로세서 코어에 적합한 프로그램을 합치는 데 도움이 될만한 CESOF 스페시피케이션(specification, 명세)을 개발하였다. 또한 본 필자는 CESOF의 디자인 컨셉, 구조, 간단한 사용예 등도 선보일 것이다.
Cell 프로세서 내의 다중 코어 이종(異種)의 프로세서 코어를 갖춘 다중코어 시스템을 사용하는 것은 임베디드 시스템 분야에서 널리 쓰이는 방법이다. 조그만 칩 공간 안에서 특정한 알고리듬을 사용하거나 규칙적으로 작동할 필요가 있는 응용프로그램용으로는 고도로 최적화된 특별제작 회로가 범용의 코어보다 보다 나은 성능과 낮은 전력소모를 보여주는 것이 일반적이다. 사실 임베디드 시스템 설계자들은 많은 응용프로그램이나 작업부하(workload)가 단일명령 다중데이터(SIMD) 엔진, 부동소수점 가속기, 직접 메모리 접근(DMA)컨트롤러와 같은 특수한 코어의 혜택을 받을 수 있다는 사실을 알고 있다. 고성능 계산 작업부하, 멀티미디어 응용프로그램, 그리고 다른 영역에 있는 많은 알고리듬들은 모두 상당한 양의 정규성을 자랑한다. 이들 응용프로그램용으로 사용하는 하나 이상의 범용 코어를 특수회로로 교체하면 성능 대 비용이 증가할 가능성이 높다. 그림 1에 나와있는 Cell의 칩디자인은 범용 파워 프로세서 엘리먼트(Power Processor Element, PPE)와 8개의 시너지스틱 프로세서 엘리먼트(SPE)를 적절히 조화시켜 향상된 성능 대비 비용(칩공간 및 전력 소모 측면에서)을 제공하며, 이는 특히 고성능 계산 및 멀티미디어 처리에 적합하다. 8개의 SPE는 특화된 SIMD 코어로, 각 SPE는 자신만의 지역 메모리를 가지고 있다. 특히 데이터 트래픽을 적절히 단계별로 나누고 8개의 엔진에 한 알고리듬을 분산시킬 때 이 성능 대 비용비는 감동적인 능력을 발휘한다....... .............(중략)
* 자세한 내용은 첨부문서(pdf)를 참고하시기 바랍니다.
|