晶上系统开发环境搭建方法及系统转让专利
申请号 : CN202011313970.9
文献号 : CN112506496B
文献日 : 2021-08-03
发明人 : 邬江兴 , 刘勤让 , 魏帅 , 沈剑良 , 汤先拓 , 吕平 , 李沛杰 , 陈艇 , 刘冬培 , 董春雷
申请人 : 国家数字交换系统工程技术研究中心 , 天津市滨海新区信息技术创新中心
摘要 :
权利要求 :
1.一种晶上系统开发环境搭建方法,其特征在于,包含如下内容:依据应用领域需求在晶上系统上预制用于满足应用需求的异构组件,形成组件库;并在每个组件中预设有若干用于运行计算处理算法的构件;
将任务按时间运行前后进行划分,选取对应任务需求的异构组件作为组件运行集合;
并将组件运行集合中组件的构件分配到不同资源节点,并配置相应的逻辑单元,生成任务的开发环境模板;
其中,开发环境主要由任务管理、调度以及资源管理三部分组成,其中,任务管理包括在线资源管理、任务管理、在线任务三部分;在线资源管理用于显示调度器发送的在线资源及使用情况;任务管理负责对任务的管理,包括:新建任务,任务描述,可用图形化的DAG表示,包括:任务功能,连接关系,带宽需求等;在线任务用于显示用户查看的任务的DAG图及资源分配图,任务参数及输入数据配置,任务的运行进度情况及任务执行结果展示;调度包括DAG 调度、资源调度两部分,DAG 调度负责将任务分成时间前后运行的组件运行集合、构件运行集合,资源调度负责将构件分解到不同的资源节点上,通过下载器将相应的构件配置下载到相应的逻辑单元;资源管理负责整个系统的资源管理;
对任务进行分析,将其分解为组件流程,依据组件流程选取对应需求的组件来组成组件运行集合;
依据任务功能、连接关系及带宽需求将任务进行有向无环图的图形化表示,对任务进行分析,以选取对应需求的组件来组成组件运行集合。
2.根据权利要求1所述的晶上系统开发环境搭建方法,其特征在于,利用资源自适应分配算法分配当前任务需求,寻找最相似组件,以通过最小修改代价完成资源分配。
3.根据权利要求1所述的晶上系统开发环境搭建方法,其特征在于,资源自适应分配算法包含如下内容:遍历组件库中组件,依据当前任务需求通过组件的差异度选取候选组件;
依据候选组件的修改代价来选择其中修改代价最小的组件进行修改适配。
4.根据权利要求2所述的晶上系统开发环境搭建方法,其特征在于,对组件的差异度进行排序,选取差异度小于设定阈值的组件作为候选组件。
5.根据权利要求1所述的晶上系统开发环境搭建方法,其特征在于,资源分配中,通过物理资源映射优化来满足应用功能切换需求。
6.根据权利要求5所述的晶上系统开发环境搭建方法,其特征在于,结合任务调度和负载平衡对任务执行效能及资源利用率影响,通过启发式算法或强化学习算法进行物理资源映射的优化。
7.一种晶上系统开发环境搭建系统,用于依据应用需求在晶上系统上搭建相应开发环境,其特征在于,包含:预设模块和搭建模块,其中,预设模块,用于依据应用领域需求在晶上系统上预制用于满足应用需求的异构组件,形成组件库;并在每个组件中预设有若干用于运行计算处理算法的构件;
搭建模块,用于将任务按时间运行前后进行划分,选取对应任务需求的异构组件作为组件运行集合;并将组件运行集合中组件的构件分配到不同资源节点,并配置相应的逻辑单元构件,生成任务的开发环境模板;
其中,开发环境主要由任务管理、调度以及资源管理三部分组成,其中,任务管理包括在线资源管理、任务管理、在线任务三部分;在线资源管理用于显示调度器发送的在线资源及使用情况;任务管理负责对任务的管理,包括:新建任务,任务描述,可用图形化的DAG表示,包括:任务功能,连接关系,带宽需求等;在线任务用于显示用户查看的任务的DAG图及资源分配图,任务参数及输入数据配置,任务的运行进度情况及任务执行结果展示;调度包括DAG 调度、资源调度两部分,DAG 调度负责将任务分成时间前后运行的组件运行集合、构件运行集合,资源调度负责将构件分解到不同的资源节点上,通过下载器将相应的构件配置下载到相应的逻辑单元;资源管理负责整个系统的资源管理;
对任务进行分析,将其分解为组件流程,依据组件流程选取对应需求的组件来组成组件运行集合;
依据任务功能、连接关系及带宽需求将任务进行有向无环图的图形化表示,对任务进行分析,以选取对应需求的组件来组成组件运行集合。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1 6任一项所述的晶上系统开发环~
境搭建方法。
说明书 :
晶上系统开发环境搭建方法及系统
技术领域
背景技术
and IP Reuse Strategies,CHIPS)的Chiplet项目,参与方包括英特尔、美光、Cadence、
Synopsys多类型企业等。它是一类满足特定功能的die,可称为模块芯片。Chiplet模式是通
过die‑to‑die内部互联技术将多个模块芯片与底层基础芯片封装在一起,构成多功能的异
构System in Packages (SiPs)芯片的模式。近年来,芯粒(Chiplet)已成为半导体产业的
热门词。在摩尔定律奔向7纳米、3纳米、1纳米的物理极限之际,工艺制程缩减所需要的成本
和开发时间均将大幅提升,后摩尔定律时代已经来临。Chiplet作为业界为了弥补硅工艺技
术增长放缓所做的几项努力之一,被认为是延缓摩尔定律失效、放缓工艺进程时间、支撑半
导体产业继续发展的最为有效的方案。
开发环境,目前还没有相关技术来参考。
发明内容
务的开发环境模板。
组成组件运行集合。
组件的修改代价来选择其中修改代价最小的组件进行修改适配。
化。
逻辑单元,生成任务的开发环境模板。
方法。
拽的方式轻松搭建自己的应用,高级用户也可通过高级语言基于组件构建更加复杂的系
统;整个搭建过程方便、快捷,有利于各种组件的复用,能够使用组件更加灵活地满足新的
应用需求,确保搭建过程中系统稳定性,降低时间开销,且便于资源的统一管理、调配和存
储,具有较好的应用前景。
附图说明:
业模式带来变革。晶上系统具有良好的发展前景,但是其庞大的计算资源,复杂的互联关系
给编译系统带来了较大的挑战,如何充分利用系统资源,给用户提供方便易用的开发环境。
本发明实施例,参见图1所示,提供一种晶上系统开发环境搭建方法,参见图1所示,包含如
下内容:
生成任务的开发环境模板。
过构件算粒来实现,使得用户可以通过组件通过拖拽的方式轻松搭建自己的应用,高级用
户也可通过高级语言基于组件构建更加复杂的系统。整个搭建过程方便、快捷,便于资源的
统一管理、调配和存储,具有较好的应用前景。
依据任务功能、连接关系及带宽需求将任务进行有向无环图的图形化表示,对任务进行分
析,以选取对应需求的组件来组成组件运行集合。
的在线资源及使用情况。任务管理负责对任务的管理,包括:新建任务,参见图3所示,任务
描述,可用图形化的DAG表示,包括任务功能,连接关系,带宽需求等;任务使用资源数计算,
下发所需资源数给Scheduler进行资源分配,同时接收Scheduler资源分配信息;保存任务
模板,将任务的基本信息、资源使用情况及运行结果保存到数据库中。在线任务用于显示用
户查看的任务的DAG图及资源分配图,任务参数及输入数据配置,任务的运行进度情况及任
务执行结果展示。调度包括DAG调度、资源调度两部分。Scheduler负责汇总Node Manager
上报的资源信息。DAG调度负责将任务分成时间前后运行的组件运行集合、构件运行集合;
参见图4所示,资源调度负责将构件分解到不同的资源节点上,通过下载器将相应的构件配
置下载到相应的逻辑单元,同时负责汇总Node Manager上报的资源信息发送给
Applications Manager的Online resource模块。资源管理负责整个系统的资源管理。
构建更加复杂的系统。可利用智能编译工具分析任务组成,将其分为组件流程,进一步划分
为构件实现,每个构件对应于一种PE实现,然后调用资源虚拟化接口进行资源的分配,如图
5所示。因为基于芯片设计的数据处理系统中各类资源规模庞大,互连约束复杂,如果通过
穷举难以实现,需要通过启发式算法和强化学习等算法进行映射效率的优化,满足系统功
能的快速切换需求。系统中集成有各种功能不同、性能各异、且资源规模动态变化的PE、SDI
以及DM资源,实现任务调度和负载平衡将对任务执行的效能以及系统资源的利用率均有十
分重要的影响。系统中异构资源丰富,分布较为复杂,为了重复利用系统资源,系统提前预
置不同通信效率的互连转换模块,中心互连采用高带宽、高吞吐量、低交换代价的交换协议
模块,在末节节点采用较为复杂的交换协议降低端点协议转换代价,从而从整体上提高系
统传输效率,编译系统在进行编译时自动根据系统需求将相应子任务通信选择合适的通信
传输协议,以充分利用系统资源,提升传输效率。
容:遍历组件库中组件,依据当前任务需求通过组件的差异度选取候选组件;依据候选组件
的修改代价来选择其中修改代价最小的组件进行修改适配。进一步地,对组件的差异度进
行排序,选取差异度小于设定阈值的组件作为候选组件。进一步地,资源分配中,通过物理
资源映射优化来满足应用功能切换需求。进一步地,结合任务调度和负载平衡对任务执行
效能及资源利用率影响,通过启发式算法或强化学习算法进行物理资源映射的优化。具体
实现算法可参见图6所示,基于最小改动的资源自适应分配根据当前的资源状况,从回收组
件库中寻找最相似的组件,使得系统可以以最小的修改代价完成资源分配,分为以下步骤:
1、判断回收组件库是否为空,否则跳到第7步;2、遍历回收组件库,计算与组件K的差异度;
3、按照差异度对组件库中的组件进行排序;4、取其中差异度
相应申请;8、申请结束,返回被修改的组件。
原来任务执行后被回收的组件,Task2是新来任务中需要被例化的组件,可映射在同一块物
理资源上。Task1由2个A构件和1个B构件、1个C构件组成,映射在物理资源上如图中映射 1
所示,构件之间的通路如映射1中的由点和断线组成的虚线所示,Task2由2个B构件和1 个A
构件、1个C构件组成,映射在物理资源上如图中映射2所示,相比较映射1,只需将左下角的
PE重构为B形态,同时调整构件之间的通路如映射2中的由点和断线组成的虚线所示,相比
于重新构件Task,可以获取更快的重构时间和更高的执行效率。
逻辑单元,生成任务的开发环境模板。
使得所述一个或多个处理器实现上述的系统。
表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基
本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的
是,框图和/ 或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行
规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的
组合来实现。
仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可
以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨
论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接
耦合或通信连接,可以是电性,机械或其它的形式。
的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件
产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得
一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所
述系统的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑
Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以
存储程序代码的介质。
明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员
在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻
易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使
相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护
范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。