研究‎ > ‎

研究主題

研究主題一:加速運算&異質運算及Accelerated Computing and Heterogenous Computing)之建構及開發 (2017 年進行中計畫)
由於目前巨量資料、雲端運算、深度學習、物聯網等等應用資料量極大且計算複雜,極須大量計算能力以加速得到結果,因此極須在電腦系統上研究如何加速得到所須之結果。隨著資訊科技的進步,各種運算設備如x86 CPU, ARM CPU, MIPS CPU, NVIDIA GPU 等種類愈來愈多,也愈來愈普及。然而,各種運算設備皆有自己的指令集、運算架構、記憶體架構、API等,要針對各種計算設備撰寫其軟體相當複雜,因此許多支援各種運算設備的異質運算系統被提出。其中,由Khronons Group提出的異質系統編寫架構:OpenCL(Open Computing Language)是重要之開放標準。只要依照OpenCL的框架編寫程式,就能在不同的硬體平台上順利執行,無須擔心硬體架構差異的問題。

此外,OpenCL強大的地方在於提供平行計算的機制,也就是可基於任務或資料進行分割,將程式分成多個部分,分派給各個核心並同時平行計算,達到高效能的運算能力。這是目前Heterogeneous Computing的開發主流,也是我們目前主要的研究。

本研究主題主要時研究目前巨量資料、機器學習及其他應用上目前的效能及能耗瓶項,並建立整個運算平台,我們目標開發一套符合OpenCL框架的系統技術發展平台,在該平台上發展各種不同的運算核心,其中包含ARM multi-core、OpenRISC multi-core 以及GPGPU,並開發相關驅動程式及其runtime系統,以實現整體平台之運作。目前已經成功結合OpenRISC與OpenCL並實現在FPGA上,將來我們會利用OpenCL在此平台上做一些實際應用,發展如超解析度影像編解碼等等平行化的應用程式。

下圖為本實驗室OpenRISC + OpenCL系統平台之架構。最上層的OpenCL Application 層可執行各種應用程式,透過OpenCL Application Programming Interface (OpenCL API) 和下面的OpenCL Runtime溝通,OpenCL Runtime 部分負責的部分主要是將OpenCL Application層傳送下來程式碼(Source Code)編釋,同時有資源管理者(Resource Manager)及工作排程(Task Scheduler),透過Device Driver將工作傳送到下層各種不同的運算設備(CPU及CPU)。



目前Heterogeneous computing ,已是國內外重要的研究議題。國外相關研究相當多如Berkeley 的Aspire 計畫(如下圖),也是分別在Applications 到circuits &systems不同領域中實現Heterogeneous Computing (https://aspire.eecs.berkeley.edu/)


另外 UCLA Domain Specific and Accelerator-rich Computing,也是Heterogeneous computing 的重要相關計畫 http://www.cdsc.ucla.edu/research/


成果展示

Demo展示

shared-memory-full.mp4






研究主題二:節能可靠系統之設計自動化(Design Automation for Reliable Energy-Efficient System) (2016年進行中計畫)
 隨著製程技術的進步,電晶體(Transistor)不斷的縮小,同一晶片上可整合更多的電晶體為晶片帶來更多的功能,但是由於晶片愈來愈複雜,晶片設計極須要電腦補助以加快設計速度,減少設計錯誤,減低設計成本,此即為設計自動化之主要目的。如右圖所示,晶片設計及自動化主要所須的流程如下:
  • System Specification:決定晶片的功能、功耗及成本的。
  • Function/Architecture Design:設計晶片的功能及架構。主要是使用Hardware Description Language (如Verilog 或VHDL)進行Register-Transfer Level Design)
  • Logic Synthesis:即邏輯合成,主要是將RTL變成Gate-Level Design)
  • Circuit Design : 進行Transistor Level Design
  • Physical Synthesis:即實體合成,主要是將Gate-Level 或是Transistor Level Design 變成Layout。
  • Testing :測試,主要是用來驗証電路是否正常運作。
這些流程皆是設計一高效省電可靠電路之重要步驟。

 


 另外電腦系統有不同的design abstraction level,由上往下的Abstraction Level 如下:
  • algorithm
  • architecture
  • gate
  • circuit level 
  • device 等等
各種abstraction level 的設計有其優缺點,如abstraction level愈往下愈包含了電路各種細節,但模擬的速度較慢;愈往上,愈粗略但模擬的速度也更快速。,由於同一晶片整合更多的電晶體,也為IC 設計帶來新的挑戰與問題。其中一個重要問題是功耗問題:由於晶片中的電晶體數量增加,使得晶片的功耗及溫度增加,不但提高晶片設計成本,對於手機及筆記型電腦等行動裝置來說,高功耗會縮短裝置的使用時間,因此,如何減少晶片的功耗是一個迫切須要解決的問題。另一個問題是可靠度問題 :在先進製程下,由於電路電壓愈來愈低,電晶體愈來愈小,使得電路可能受到來自內部或是外在雜訊(如溫度,IR drop, cross talk 等等因素)的影響,造成電路不穩定或故障。因此如何考量這些因素使得在合理成本下,增加電路的可靠度,是一個極須解決的問題。

 


研究主題三:低功率高效能先進記憶體系統設計(2016年進行中計畫)
在計算機組織課程中,大家都學習過Memory Hierarchy(如下圖)。就是愈靠近CPU Memory 存取速度愈快,但單位容量價格則愈高。



  例如,下圖中的CPU有16個核心,但是每個核心的功耗、漏電流及溫度皆不相同,因此每
一個核心的速度及可靠度都不相同。因此這個計畫的主要目標是考量每一個核心的情形,設計能改善系統功率及可靠度之架構及演算法,降低功耗及提高整個系統的可靠度。




我們須要藉由電腦之計算能力,提供快速而準確的方法以設計低功率可靠之系統。

另一個重要的研究議題是3D IC的設計及最佳化。由於3D IC 透過垂直的Through Silicon Via進行溝通,可減少wire delay,也由於3D IC 在單一晶片中整合不同元件,因此能做到異質整合。然而將許多的die封裝在同一個晶片中,會產生功率、溫度過高,可靠度過低的問題,因此如何減少功率、溫度,提高可靠度,也是本研究室的研究議題。


 


然而在製程進步下,漏電的Leakage的問題愈來愈嚴重。由於在晶片中,晶片上的記憶體,如L1 Cache, L2 Cache 或是Scratch Pad Memory 等佔了相當大的空間,它們功耗佔了整個系統的40%~60%,因此如何降低它們功耗是一重要課題。在這研究中,我們將設計低功耗高效能之先進記憶體系統,同時由於非揮發性記憶體 Non-Voltage Memory (NVM) 如NAND Flash, NOR Flash 價格愈來愈便宜,可靠度也愈來愈高,而先進非揮發性記憶體Emerging Non-Voltage Memory (NVM) 如 Spin-Transfer-Torque RAM (STT-RAM),PCRAM (Phase-Chase Memory) 愈來愈成熟。和傳統SRAM相比,非揮發性記憶體具有Leakage Power較低,單位面積上可容納的電晶體數目較多等優點,而且讀取速度遠快於DRAM,但它的缺點主要是寫入速度較慢,且可寫入的次數較少,可靠度較低。
因為如何善用非揮發性記憶體,以提高系統整體效能,降低系統功耗是一重要課題。如下圖,在本計畫中,我們研究如何整合非揮發性記憶體在記憶體架構,以改善整體系統效能。


下圖中列出我們在2013 提出之多核心系統下的High-Endurance Hybrid Cache 的設計,主要提出了一個Hybrid Local Bank的概念,並結合Cache Partitioning and Access-Aware Policies (下左圖無Hybrid Local Bank, 下右圖有Hybrid local bank),可將使用在Last Level Cache的NVM的壽命延長89倍。此研究成果已被ACM Great Lake Symposium on VLSI (GLSVLSI)所接受,在2013年5月發表,

 
 

Comments