透過您的圖書館登入
IP:3.12.166.76
  • 學位論文

多核心處理器之基於降低資源競爭的節能排程之設計與研究

Energy-Efficient Scheduling Based on Reducing Resource Contention for Multi-Core Processors

指導教授 : 姜美玲
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


近年來隨著全世界的能源變得越來越少,如何節省能源已成為一項重要的課題。 在多核心與多處理器系統中,由於在系統中某些資源會由所有處理器或是部分處理器所共享,如記憶體、處理器快取記憶體的資源,若各處理器同時需要大量存取相同的共享資源時,如果處理器不能立即取得資源,將使系統的效能下降和功耗上升。本論文研究提出一項節能排程,此節能排程的實作盡量地減少讓處理器間對於系統的某些資源競爭存取的狀況,在盡量不降低效能的狀況下來節約功耗。 本論文所提出的節能排程實作於Linux kernel 2.6.33 版本內,主要的工作包含了對Linux kernel scheduler 的修改、處理器頻率的設置,以及對處理器資源的設定。在本研究中,我們將記憶體設定為最重要的系統資源,我們將task 分類為memory-bound task 與computing-bound task,透過對Linux kernel scheduler 負載平衡功能的修改,我們將memory-bound task 與computing-bound task 分配及遷移到合適的處理器上來處理。 另外,我們還會修改task 的執行順序,使處理器間彼此對記憶體與處理器快取記憶體等資源之競爭存取的狀況盡量減少,同時我們會讓memory-bound task 和computing-bound task 分別執行在合適的處理器頻率下以節省系統能源。而對記憶體系統資源的設定,我們則提供了system call 來對記憶體系統資源進行設定,讓使用者可以透過system call 來設定記憶體系統資源。經由實驗證明,在ASUS TS500 此有兩顆四核心與Hyper-threading 功能的處理器的機器下,執行不同比例的多個memory-bound task 和computing-bound task,我們的節能排程在處理器間對於記憶體資源的存取競爭較嚴重的情況時,將能在盡量不損失系統效能的狀態下減少耗電量。

並列摘要


Energy conservation is an important issue. In a multi-core and multi-processor system, some system resources are shared by processors, such as memory and processor’s cache resources. When processors attempt to access shared resources at the same time, if processors cannot get the shared resources immediately, it will result in the performance degradation and increased power consumption. In this thesis, we propose a mechanism named energy-efficient scheduling which arranges tasks to run on processor cores in a appropriate way to avoid contention of shared resources and to save energy without sacrificing performance too much. The proposed energy-efficient scheduling is implemented in Linux kernel 2.6.33 version. The main work of implementation includes modification to the Linux kernel scheduler, the setting of the processor frequency, and the implementation of the system call for setting parameter of the system resources. In this study, we treat the memory as the most important resource, so we will classify a task as a memory-bound task or a computing-bound task. Through the modification of the load balance function of Linux kernel scheduler, memory-bound tasks and computing-bound tasks are separately assigned to the appropriate processor. Besides, we modify task’s execution order to reduce the contention of memory and processor cache. In addition, the memory-bound tasks and computing-bound tasks are executed in suitable processor frequencies to save energy. The performance of our mechanism is evaluated by running spec CPU2006 benchmark with different proportions of memory-bound tasks and computing-bound tasks under the machine ASUS TS500 of two quad-core processors with Hyper-Threading. Experimental results demonstrate our energy-efficient scheduling can effectively save energy by avoiding the contention among processor cores.

並列關鍵字

Linux multi-core scheduler resource contention

參考文獻


[1]ACPI, http://www.acpi.info/.
[2]Corbet, “Scheduling domains,” http://lwn.net/Articles/80911/.
[3]D. Brodowski, “Linux kernel CPUfreq subsystem,”
http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html.
[4]SPEC CPU2006, http://www.spec.org/cpu2006/.

延伸閱讀