近10年來,多核處理器在提升個(gè)人電腦和智能手機(jī)性能降低功耗同時(shí),也讓軟件開發(fā)越來越復(fù)雜棘手,無法充分利用多核性能。為了解決這個(gè)問題,麻省理工學(xué)院開發(fā)了所謂的群芯片架構(gòu),讓軟件開發(fā)者可以充分挖掘硬件性能,并釋放所有核心性能,性能提升在某些情況下可以高達(dá)75倍,同時(shí)要求程序員編寫代碼的體積大幅度減小。
由丹尼爾·桑切斯教授和團(tuán)隊(duì)開發(fā)的群芯片架構(gòu)是一個(gè)64核芯片,在排序和執(zhí)行上采用簡單而有效的方式,將軟件開發(fā)者從繁重工作當(dāng)中解放出來。它采用專用電路,非常有效地委派最小任務(wù),嚴(yán)格按照優(yōu)先級執(zhí)行任務(wù)。其結(jié)果是,程序員可以用很少的開銷并行執(zhí)行任務(wù),使得軟件運(yùn)行速度提升多達(dá)數(shù)十倍。
群芯片架構(gòu)支持小任務(wù),小到幾十指令,效率更高。相比之下,當(dāng)前的多核需要更大的任務(wù)(數(shù)以千計(jì)的指令),以有效地運(yùn)行。群芯片架構(gòu)支持執(zhí)行這些任務(wù)之間的全局秩序,用于處理數(shù)據(jù)沖突。
為了測試他們的新架構(gòu),桑切斯和團(tuán)隊(duì)編寫了六種常見算法的群版本,和高度優(yōu)化的并行版本一起對比。值得注意的是,群軟件執(zhí)行相同的任務(wù)比其它版本快3到18倍,同時(shí)代碼規(guī)模只有其它版本的十分之一。在一個(gè)案例中,該系統(tǒng)能夠在計(jì)算機(jī)科學(xué)家迄今沒有實(shí)現(xiàn)并行的算法當(dāng)中,提供令人印象深刻的75倍加速。