[发明专利]一种基于异构多核芯片的细粒度科学计算并行处理装置无效
申请号: | 201210105722.4 | 申请日: | 2012-04-11 |
公开(公告)号: | CN103377032A | 公开(公告)日: | 2013-10-30 |
发明(设计)人: | 刘鹏;杨劼;顾雄礼;史册 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州宇信知识产权代理事务所(普通合伙) 33231 | 代理人: | 张宇娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多核 芯片 细粒度 科学 计算 并行 处理 装置 | ||
技术领域
本发明属于计算机应用技术领域,特别地涉及一种基于异构多核芯片的细粒度科学计算并行处理装置。
背景技术
自多核处理器芯片研发出来,首先用于以科学计算为主的超级计算机。由于超级计算机需要大的计算能力,本来就是由多处理器构成,应用的软件是并行软件,当多处理器核芯片研发出来,能做到大的计算能力,应用的软件无需做大的更改就能方便的移植,因此能很顺利的用于超级计算机。
在从事于嵌入式片上多核系统的应用研究时,也需要借鉴研究超级计算机并行编程的经验。从处理器体系结构来看,根据核结构的不同,片上多处理器可以分为同构和异构两种类型。同构多核处理器指芯片内部所有处理器核的结构完全相同,每个核的功能、地位完全一致,可以单独地执行任务,与通用单核处理器功能、结构相近。异构多核处理器芯片内部包含多个功能不同的处理器核,不同的处理器核负责处理不同的任务。异构多核处理器目前主要应用于专用计算领域,如多媒体处理器、嵌入式处理器和超级机的处理器,通常包含通用处理器和专门用于计算加速的处理器,如数字信号处理器,网络处理器,流媒体处理器等,其中通用处理器通常负责多核系统的管理而加速处理器主要完成特定的计算任务。由于异构片上多处理器可以根据应用需求而采用不同的处理器核来构建多核处理器,异构结构可以在性能与功耗比上达到最佳。由于细粒度科学计算程序中任务计算量与通信量的比值较小,一般需要尽可能增大处理器用于计算部分的比例以达到较高效率,而异构结构利用通用处理器管理多核系统而将加速处理器解放出来专门用于计算,因此采用异构结构能够保证细粒度科学计算程序在片上多核系统的高效运行。
面向多核处理器上的并行计算问题是并行软件开发的一个热点,其关注点主要在于并行计算如何进行进程/线程的分配和调度。分配策略是将进程分配到合理的处理器核上,由于采用异构结构,不同的处理器核性质不同,在不同时刻运行状态不同,因此分配的合理性会影响系统性能。最重要和典型的几种并行计算模型包括随机存取并行机器(Parallel Random Access Machine,PRAM)模型、整体同步并行计算模型(Bulk Synchronous Parallel Computing Model,BSP)模型和分布存储的、点到点通信的多处理机模型(Latency overhead gap Processor,LogP)模型。在不同的假设下,每个模型有很多扩展。PRAM模型面向单指令流多数据流并行机,它需要并行机具有共享存储,并且要求在任意时刻处理器可以访问共享存储单元,不适合分布式存储结构的异构多核平台。BSP模型并不要求并行机的存储器,可以是共享或分布机制,但针对异构多核平台没有对应的扩展。LogP模型面向分布式存储器,但要求处理器间的消息传递机制只能是单点对单点的,并且要服从固定顺序,不适合具有一对多消息传递的科学计算。
因此,目前在片上异构多核系统中,对于细粒度科学计算应用的并行化实现并没有一个具有针对性的解决方案,从而影响了细粒度科学计算应用在片上异构多核系统中所能得到的性能。故,针对目前现有技术中存在的上述缺陷,实有必要进行研究,以提供一种方案,解决现有技术中存在的缺陷,避免造成细粒度科学计算应用在片上异构多核系统中所能得到的性能较差。
发明内容
为解决上述问题,本发明的目的在于提供一种基于异构多核芯片的细粒度科学计算并行处理装置,用于片上异构多核系统,针对细粒度科学计算。通过定义科学计算类型,确定应用程序和操作系统之间的协议来减少科学计算在片上异构多核系统上运行时的计算开销、调用开销和通信开销,完成对细粒度科学计算在片上异构多核系统上的并行化和性能调优。
为实现上述目的,本发明的技术方案为:
一种基于异构多核芯片的细粒度科学计算并行处理装置,应用于包括一个主核和至少一个从核的异构多核芯片,包括接口模块,记录模块,对象分配模块和代理管理器模块,
所述接口模块运行在主核上,用于实现应用程序和操作系统之间的协议,根据对象的数据依赖关系生成任务类型标识FLAG,并传入所述记录模块;
所述记录模块运行在主核上,用于记录应用程序和操作系统之间协议中定义的关于对象的信息,记录包括按照数据流模型确定的任务类型标识FLAG和后续对象目的处理器编号TaskDest;
所述对象分配模块运行在主核上,用于初始化时对象的分配,所述对象分配模块根据FLAG值和TaskDest将任务分配到对应的从核上,并更新对应从核上的代理管理器的对象表中的FLAG和TaskDest;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210105722.4/2.html,转载请声明来源钻瓜专利网。