发明名称 |
片上网络多核处理器多线程的资源分配处理方法和系统 |
摘要 |
本发明提供一种片上网络多核处理器多线程的资源分配处理方法和系统。该系统包括检测单元,用于在片上网络多核处理器多线程程序执行过程中,检测出互斥控制的地址和数值,并将地址和数值写入互斥控制索引表;互斥控制索引表,用于存储所述检测单元检测出的互斥控制的地址和数值;剥夺分发处理单元,用于根据所述互斥控制索引表的地址和数值,将具有相同地址的互斥控制的线程排列进入登记队列,并剥夺所述登记队列中的部分线程的忙等待核资源,分发给其他线程使用。其有效地提高了多核处理器多线程程序的整体性能和可扩展性。 |
申请公布号 |
CN102591722B |
申请公布日期 |
2014.06.25 |
申请号 |
CN201110460300.4 |
申请日期 |
2011.12.31 |
申请人 |
龙芯中科技术有限公司 |
发明人 |
尹一笑;陈云霁;郭崎;杨旭 |
分类号 |
G06F9/50(2006.01)I |
主分类号 |
G06F9/50(2006.01)I |
代理机构 |
北京远大卓悦知识产权代理事务所(普通合伙) 11369 |
代理人 |
史霞 |
主权项 |
一种片上网络多核处理器多线程的资源分配处理方法,其特征在于,包括如下步骤:步骤S100,在片上网络多核处理器多线程程序执行过程中,检测出锁的地址和数值,并将地址和数值写入锁硬件索引表;步骤S200,根据所述锁硬件索引表中的地址和数值,将具有相同地址的锁的线程排列进入锁登记队列,并剥夺所述锁登记队列中的部分线程的忙等待核资源,分发给其他线程使用,具体包括如下步骤:步骤S211,在该锁的地址和数值存入锁硬件索引表时,启动计时器开始计时,当检测出抢同一把锁的其他线程时,如果锁此时不可用,则将该同一把锁的其他线程标记到登记队列;步骤S212,当原来占用该锁的线程还没有离开临界区,而计时器到达预设数值时,则从登记队列的队尾中取出部分线程,剥夺所述队尾取出的部分线程的忙等待核资源给正在临界区中的线程使用,同时将计时器归零并重新开始计时;步骤S213,当原来占用该锁的线程离开临界区,则从登记队列的队头中取出一个线程,让所述队头取出的线程进入临界区作为新的占用该锁的线程,同时将剥夺的资源转交给所述队头取出的线程,并将该离开临界区的线程从锁登记队列删除,计时器归零后重新开始计时,返回步骤S212,直至锁登记队列为空后结束返回。 |
地址 |
100190 北京市海淀区中关村科学院南路10号 |