众核处理器片上同步方法和其系统技术方案

技术编号:4040971 阅读:189 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及众核处理器片上同步方法和其系统,在片上众核体系结构中,使用专用的片上同步管理装置支持粗粒度同步方法,由于访问片上同步管理装置的时间远远小于访问内存的时间,而且避免了因为轮询标志位造成的网络拥塞,因此减少了同步时间,进而帮助提高众核处理器的计算能力。

【技术实现步骤摘要】

本专利技术涉及众核处理器领域,尤其涉及众核处理器片上同步方法和及其系统。
技术介绍
传统单核处理器采用指令级细粒度并行的技术提高性能,借助于超标量和流水处 理提高处理器的主频,然而主频的提高使得功耗和散热问题难以依靠现有的技术解决。半 导体工艺的发展,使得片上可集成的晶体管数目日益增多,体系结构设计者为了在性能进 一步提升的同时降低功耗和散热,提出了线程级粗粒度并行的片上多核/众核处理器,众 核处理器比多核处理器在芯片上集成了更多的处理器核,通常认为8核以下的是多核,8核 以上的是众核。片上多核/众核处理器与传统多处理器在设计理念上不同,它并不是将多个处理 器核简单地集成到一个芯片上。片上众核处理器在简化众核处理器设计复杂度的同时,增 大片上的处理能力。与传统多处理器相比,其优点是片上带宽高、通信距离短、传输速度快, 使得多个线程之间的数据通信效率高。同步操作保证多个线程之间的数据传播,使得多个线程对共享内存的写操作等同 于串行执行,保证程序执行语义的正确性。同步操作的性能对片上众核处理器而言非常重 要,直接影响了多个线程协同执行的速度。在传统多处理器系统中,同步操作通常需要片外访存,造成了较大同步延迟,其中 一种方法是多个处理器都去轮询内存中的同一个标志位,当发现标志位为0时,就将其置 为1,同时获得了锁;如果发现标志位为1,就隔一段时间再来查询这个标志位。这种方法除 了片外访存的开销比较大以外,对于标志位的不断轮询,也对网络造成了压力。
技术实现思路
为解决上述问题,本专利技术提出了众核处理器片上同步方法和其系统,在片上众核 体系结构中,使用专用的片上同步管理装置支持粗粒度同步方法,由于访问片上同步管理 装置的时间远远小于访问内存的时间,而且避免了因为轮询标志位造成的网络拥塞,因此 减少了同步时间,进而帮助提高众核处理器的计算能力。本专利技术公开了一种众核处理器片上同步方法,包括步骤1,小核执行到申请指令,向同步管理装置发送一个申请锁的申请消息,然后 进入等待状态,所述申请消息中包括sync_id,并表明是读锁申请或写锁申请;步骤2,同步管理装置接收到申请锁的申请消息后,依据记录检查是否已经有小 核申请相同sync_id的锁,如果没有,则向所述小核发送确认消息,并对小核的申请进行记 录;否则,直接对所述小核的申请进行记录;步骤3,小核收到确认消息后,进入临界区,执行完临界区代码后,向同步管理装置 发送释放锁的释放消息;步骤4,同步管理装置收到释放锁的释放消息,将发送所述释放消息的小核从记录中删除,依据记录检查是否还有等待该释放的锁的小核,如果有,则向所述锁对应的多个申 请读锁的小核发送确认消息,如果记录中没有对应的申请读锁的小核,则向记录的所述锁 对应的第一个申请写锁的小核发送确认消息。本专利技术还公开了一种众核处理器片上同步系统,包括同步管理装置和多个小核,小核,用于执行到申请指令,向同步管理装置发送一个申请锁的申请消息,然后进 入等待状态,所述申请消息中包括sync_id,并表明是读锁申请或写锁申请;收到确认消息 后,进入临界区,执行完临界区代码后,向同步管理装置发送释放锁的释放消息;同步管理装置,用于接收到申请锁的申请消息后,依据记录检查是否已经有小核 申请相同sync_id的锁,如果没有,则向所述小核发送确认消息,并对小核的申请进行记 录;否则,直接对所述小核的申请进行记录;收到释放锁的释放消息,将发送所述释放消息 的小核从记录中删除,依据记录检查是否还有等待该释放的锁的小核,如果有,则向所述锁 对应的多个申请读锁的小核发送确认消息,如果记录中没有对应的申请读锁的小核,则向 记录的所述锁对应的第一个申请写锁的小核发送确认消息。本专利技术公开了一种众核处理器片上同步方法,包括步骤1,小核执行到栅栏指令时,向同步管理装置发送栅栏消息,然后进入等待状 态,所述栅栏消息中包括Sync_id和所在的栅栏同步中的小核的数量;步骤2,同步管理装置接收到小核的栅栏消息,记录所述小核,依据记录和所述栅 栏消息检查参与栅栏消息对应的栅栏同步的小核的栅栏消息是否都已经到达同步管理装 置,如果是,则按各个小核的栅栏消息到达所述同步管理装置的顺序,依次向所述栅栏同步 的各个小核发送确认消息;步骤3,小核收到确认消息后,继续执行栅栏指令之后的指令。本专利技术还公开了一种众核处理器片上同步系统,包括同步管理装置和多个小核小核,用于执行到栅栏指令时,向同步管理装置发送栅栏消息,然后进入等待状 态,所述栅栏消息中包括syncjd和所在的栅栏同步中的小核的数量;同步管理装置,用于接收到小核的栅栏消息,记录所述小核,依据记录和所述栅栏 消息检查参与栅栏消息对应的栅栏同步的小核的栅栏消息是否都已经到达同步管理装置, 如果是,则按各个小核的栅栏消息到达所述同步管理装置的顺序,依次向所述栅栏同步的 各个小核发送确认消息;小核,用于收到确认消息后,继续执行栅栏指令之后的指令。本专利技术公开了一种众核处理器片上同步方法,包括步骤1,小核执行到生产指令时,向同步管理装置发送生产消息,然后继续执行后 续指令,所述生产消息中包括第一数值和sync_id ;步骤2,小核执行到消费指令时,向同步管理装置发送消费消息,然后进入等待状 态,所述消费消息中包括syncjd ;步骤3,同步管理装置接收到生产消息时,进行生产接收记录,并依据消费等待记 录和生产消息检查是否已有消费者等待发送所述生产消息的生产者,如果有,则按照各个 小核的消费消息到达同步管理装置的顺序向所述小核发送确认消息,发送的确认消息的数 量不超过所述生产消息中第一数值;步骤4,同步管理装置接收到小核的消费消息时,依据生产接收记录和消费消息检11查是否已经接收到所述消费消息中sync_id对应的生产消息,如果是,则在所述生产消息 对应确认消息的已发送数量小于所述生产消息的第一数值时,向发送所述消费消息的小核 发送确认消息,如果为否,则进行消费等待记录;步骤5,小核收到确认消息后,继续执行后续指令。本专利技术还公开了一种众核处理器片上同步系统,包括多个小核和同步管理装置,小核,用于执行到生产指令时,向同步管理装置发送生产消息,然后继续执行后续 指令,所述生产消息中包括第一数值和Sync_id ;小核,还用于执行到消费指令时,向同步管理装置发送消费消息,然后进入等待状 态,所述消费消息中包括syncjd ;同步管理装置用于接收到生产消息时,进行生产接收记录,并依据消费等待记录 和生产消息检查是否已有消费者等待发送所述生产消息的生产者,如果有,则按照各个小 核的消费消息到达同步管理装置的顺序向所述小核发送确认消息,发送的确认消息的数量 不超过所述生产消息中第一数值;同步管理装置还用于接收到小核的消费消息时,依据生产接收记录和消费消息检 查是否已经接收到所述消费消息中sync_id对应的生产消息,如果是,则在所述生产消息 对应确认消息的已发送数量小于所述生产消息的第一数值时,向发送所述消费消息的小核 发送确认消息,如果为否,则进行消费等待记录;小核还用于收到确认消息后,继续执行后续指令。本专利技术的有益效果在于,通过访问片上的同步管理装置实现同步,避免访问片外 存储,片上的高速通信节约了大量的时间;本专利技术中的同步方法本文档来自技高网...

【技术保护点】
一种众核处理器片上同步方法,其特征在于,包括:步骤1,小核执行到申请指令,向同步管理装置发送一个申请锁的申请消息,然后进入等待状态,所述申请消息中包括sync_id,并表明是读锁申请或写锁申请;步骤2,同步管理装置接收到申请锁的申请消息后,依据记录检查是否已经有小核申请相同sync_id的锁,如果没有,则向所述小核发送确认消息,并对小核的申请进行记录;否则,直接对所述小核的申请进行记录;步骤3,小核收到确认消息后,进入临界区,执行完临界区代码后,向同步管理装置发送释放锁的释放消息;步骤4,同步管理装置收到释放锁的释放消息,将发送所述释放消息的小核从记录中删除,依据记录检查是否还有等待该释放的锁的小核,如果有,则向所述锁对应的多个申请读锁的小核发送确认消息,如果记录中没有对应的申请读锁的小核,则向记录的所述锁对应的第一个申请写锁的小核发送确认消息。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐卫志焦帅张浩刘志勇范东睿雷峥蒙宋风龙王达
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1