XMTC
XMTCXMTC(명시적 멀티스레딩 C용)는 공유 메모리 병렬 프로그래밍 언어입니다.명시적 멀티스레딩 패러다임을 기반으로 PRAM과 같은 쉬운 프로그래밍을 가능하게 하는 C 프로그래밍 언어의 확장입니다.Uzi Vishkin 박사가 이끄는 Maryland 대학 College Park의 연구팀이 XMT PRAM-On-Chip 비전의 일부로 개발했습니다.
XMTC와 XMT 프로젝트 전체의 이념은 병렬 프로그래밍은 어려운 지적 작업이며, 하드웨어 시스템을 먼저 구축한 후 프로그래밍 방법을 찾는 접근 방식은 그다지 성공적이지 않다는 것입니다.이러한 이유로 강력한 알고리즘 이론과 상당히 쉬운 하드웨어 추상화는 새로운 병렬 아키텍처와 프로그래밍 언어를 구축하는 방법을 안내하는 규격이 되어야 한다.병렬 알고리즘에서는 문헌이 가장 큰 알고리즘 이론을 PRAM(병렬 랜덤 액세스 머신)이라고 부릅니다.PRAM은 알고리즘적으로 병렬적으로 생각하는 자연스러운 방법이기 때문에 이것은 우연이 아닙니다.1990년대 초반에는 PRAM 모델이 기반으로 하는 하드웨어 추상화를 구현할 수 없었기 때문에(칩 간 대역폭이 낮고 지연 시간이 길기 때문에) 비현실적인 것으로 간주되었습니다.1개의 칩에 복수의 프로세서를 탑재할 수 있게 되어, 이러한 제한은 없어졌습니다.XMT 아키텍처는 이러한 과도한 온칩 부동산을 이용하여 PRAM 추상화를 구현합니다.
XMTC 언어는 C의 약간의 확장으로 진행 중입니다.기본 전제는 프로그래머가 사용 가능한 모든 병렬성을 노출시킬 책임이 있다는 것입니다.이것은 단순하고 많은 초기 접근법이 이 이상을 공유하지만, 실제로는 프로그래머가 너무 많은 병렬 태스크를 정의하고 태스크가 짧으면 프로그램은 매우 저조한 성능을 발휘합니다.그 방법은 짧은 병렬 태스크를 긴 태스크로 결합하는 것입니다.이것은 보통 프로그래머의 책임입니다.XMTC에서는 자동으로 프로그래밍자의 부담을 덜어주는 것이 가능합니다.
XMTC 소프트웨어 릴리스: PRAM과 유사한 프로그래밍을 통해 표준 컴퓨터에서 XMTC 프로그래밍을 실험할 수 있습니다.