Font Size: a A A

Research On Thread Scheduling And Data Allocation For Shared Cache

Posted on:2021-10-14Degree:MasterType:Thesis
Country:ChinaCandidate:B Y WangFull Text:PDF
GTID:2518306122474714Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Threads running on different cores of chip multiprocessors(CMP)can cause thread performance degradation due to contention for shared resources and the contention of shared L2 Cache is an important reason for the system performance degradation.In a multi-core system with shared caches,the mutual interference between threads is unpredictable,as the number of cores increases,we are unlikely to exhaust all possible co-scheduling schemes.Therefore,using a heuristic algorithm to reduce the search space of the thread co-scheduling scheme and obtain a feasible thread co-scheduling scheme to optimize the system performance is one of the issues that this paper urgently needs to solve.In addition,the Non-Volatile Memory(NVM)has the advantages of high reliability,low energy consumption,etc.,this paper uses NVM as the shared l2 Cache of the CMP architecture.However,NVM has a limited number of erase/write operations,and the overhead of a write operation is greater than the overhead of a read operation.In order to overcome these shortcomings,it is necessary to reduce the read and write overhead of NVM and achieve NVM wear-leveling.This is also the main problem to be solved in this paper.Aiming at the problem of shared cache contention,this paper proposes a novel fairness-aware thread co-scheduling model base on non-cooperative game,and attempts to improve the overall performance of the system by scheduling threads fairly to reduce shared L2 Cache misses on CMP.Non-cooperative game is used to solve the problem of thread co-scheduling in this paper,first,the participants,strategy sets,and benefit functions in the game are described in detail.Then,an iterative algorithm(IA)is proposed to solve the Nash equilibrium of the non-cooperative game in this paper,it is theoretically proved that the existence of the Nash equilibrium,the co-scheduling scheme of all threads is obtained by solving the Nash equilibrium of the IA.Finally,the convergence and effectiveness of IA proposed in this paper is verified by experiments.Experimental results show that the number of total L2 Cache misses of IA is less than that of the default scheduling algorithm.To address the problems of read and write overhead and wear leveling of NVM,this paper use Iterational Optimal Data Allocation(IODA)algorithm to achieve the global minimum read and write overhead data allocation.And then,this paper implements wear-leveling on NVM through data allocation at the software level,and proposes Global Balanced Optimized Allocation(GBOA)algorithms to further allocate the data on NVM to specific NVM Blocks.The experimental results show that compared with the Random data allocation algorithm,the data allocation scheme based on the greedy algorithm makes the average lifetime of NVM increase by 37.96%,and the data allocation scheme based on GBOA has increased by 49.52%.
Keywords/Search Tags:CMP architecture, Cache contention, Thread scheduling, Game theory, Data allocation
PDF Full Text Request
Related items