发明名称 多核处理器的核间通信方法
摘要 本发明公开了一种多核处理器的核间通信方法,所述方法中运行在不同个处理核上的生产者和消费者之间通过单生产者/单消费者模式的无锁先进先出队列来进行通信,其特征在于所述方法还包括在核间通信前生产者端在生产数据前执行提前探测操作步骤来判断队列中即将被执行入队操作的一批位置是否为空;仅当一批位置为空时,生产者才开始进行入队操作的步骤;和/或消费者端在消费数据前执行提前探测操作步骤来判断队列中即将被执行出队操作的一批位置是否已被执行过入队操作;仅当一批位置已被执行入队操作,消费者才开始出队操作的步骤。该方法使多核处理器的核间通信有较大性能提升且性能稳定;仅依赖于软件实现对硬件无特殊要求,结构简单占用资源少;不依赖于任何互斥操作及原子操作移植性强。
申请公布号 CN102591843B 申请公布日期 2014.07.16
申请号 CN201110452294.8 申请日期 2011.12.30
申请人 中国科学技术大学苏州研究院 发明人 王俊昌;张凯;华蓓;周影影;肖月振
分类号 G06F15/167(2006.01)I;G06F5/08(2006.01)I 主分类号 G06F15/167(2006.01)I
代理机构 苏州创元专利商标事务所有限公司 32103 代理人 范晴
主权项 一种多核处理器的核间通信方法,所述方法中运行在不同个处理核上的生产者和消费者之间通过单生产者/单消费者模式的无锁先进先出队列来进行通信,其特征在于所述方法还包括在核间通信前生产者端在生产数据前执行提前探测操作步骤来判断队列中即将被执行入队操作的一批位置是否为空,仅当一批位置为空时,生产者才开始进行入队操作的步骤;或者还包括在核间通信前消费者端在消费数据前执行提前探测操作步骤来判断队列中即将被执行出队操作的一批位置是否已被执行过入队操作,仅当一批位置已被执行入队操作,消费者才开始出队操作的步骤;其中生产者一端或消费者一端通过实施调整提前探测操作的距离来减少数据因缓存在队列中引起的时延;所述的生产者一端的提前探测操作为生产者判断其所在位置之后的第N个位置是否可以被执行入队操作;所述的消费者一端的提前探测操作为消费者判断其所在位置之后的第N个位置是否已被生产者执行过入队操作并可以被执行出队操作;N为大于等于1的自然数;调整提前探测操作距离的方法是在生产者在每次探测失败后将探测距离减少并再次执行探测操作,消费者在每次探测失败后将探测距离减少并再次执行探测操作的步骤,所述探测距离减少后需要确定当前的探测距离大于零。
地址 215123 江苏省苏州市工业园区独墅湖高教区仁爱路166号