星期六, 4月 19, 2008

StreamIt: Multicore Programming Lanaguage

CPU發展的趨勢了幾乎已經確定是Manycore而不是Better core
單一晶片中可能有8個, 16個, 32個... 甚至上千個核心
但是面對如此強大的硬體資源, 傳統的程式語言(Programming Language)可以掌握嗎?
傳統程式語言使採取循序(Sequential)觀點來面對程式
之後有執行緒(Thread)的概念出現,
執行緒的概念是要在單一記憶體空間中同時處理有兩件以上的事情
但執行緒之間有同步以及共享記憶體的問題, 這會造成程式設計師很難撰寫及除錯

StreamIt是MIT在2002年開發的程式語言,
StreamIt採用元件概念來寫程式, 一支程式是由許多Filter構成~
每個Filter會處理輸入串流(Stream), 然後產生輸出串流
每個Filter都是平行在處理自己的串流, 彼此沒有共享資料, 可以很容易達到最佳化的效能
MIT目前有在自校的課程教授StreamIt, 應用的平台是Sony PS3的Cell Processor

沒有留言: