发明名称 |
多核环境下线程组地址空间调度和切换线程的方法 |
摘要 |
一种计算机技术领域的多核环境下线程组地址空间调度和切换线程的方法,引入了线程分组策略,对潜在的通过CPU核分配以及调度次序安排而可以受益的线程进行聚合,减少了调度过程中地址空间切换的次数,提高了Cache命中率从而提高了系统吞吐率、提升了系统整体性能;采用的线程分组方法可以灵活地根据硬件平台的特性以及应用特性进行调整,从而能够创造出适应某一特定情况的线程组划分;还可以同其他调度方法结合使用。本发明通过对线程进行分组,并为处理器的每个核配备一个任务队列,实现了具有调度收益的线程依次被调度,具有调度开销小,任务吞吐量大,调度灵活性高的优点。 |
申请公布号 |
CN101923491A |
申请公布日期 |
2010.12.22 |
申请号 |
CN201010250104.X |
申请日期 |
2010.08.11 |
申请人 |
上海交通大学 |
发明人 |
过敏意;李阳;王稳寅;丁孟为;杨蓝麒;伍倩;沈耀 |
分类号 |
G06F9/50(2006.01)I;G06F9/48(2006.01)I |
主分类号 |
G06F9/50(2006.01)I |
代理机构 |
上海交达专利事务所 31201 |
代理人 |
王锡麟;王桂忠 |
主权项 |
一种多核环境下线程组地址空间调度和切换线程的方法,其特征在于,包括以下步骤:第一步,对每个进程所包含的线程进行线程组划分处理,得到若干线程组;第二步,对线程组进行分配处理,分别得到每个线程组的CPU核,并将每个线程组送入对应的本地队列;第三步,运行各个CPU核,当线程被动态创建或删除时,对线程组进行维持处理,得到处理后的线程组;否则,执行第四步;第四步,当当前线程时间片用完时,调度并切换线程,返回第三步;否则,当当前线程阻塞,就绪队列为空且负载不平衡时,进行线程迁移,然后进行调度并切换线程,返回第三步;当当前线程阻塞,就绪队列不为空或负载平衡时,直接进行调度并切换线程,返回第三步;当当前线程未阻塞但停机时,线程调度结束;当当前线程未阻塞且未停机时,返回第三步;当阻塞线程恢复为就绪状态时,找到结构队列中向前离该线程最近的就绪线程u,并插入线程u之前。 |
地址 |
200240 上海市闵行区东川路800号 |