一种众核片上网络失败任务甄别及资源重分配方法和系统与流程

文档序号:13010348阅读:183来源:国知局
一种众核片上网络失败任务甄别及资源重分配方法和系统与流程

本发明涉及众核处理器片上网络设计领域,具体来说,涉及众核处理器片上网络结构设计、任务服务质量保证以及片上网络资源有效分配等技术领域。



背景技术:

随着网络服务、云计算及物联网等技术的迅猛发展,数据中心的并发用户数量从千万级发展到亿级规模,数据规模从目前的10pb(1016b)增加到海量的eb(1018b)级。经统计,google每天会收到来自全球超过30多亿条的搜索指令,每个月处理的数据量超过400pb;淘宝每天产生的数据量超过50tb,总体存储量已经超过40pb;百度每天大约要处理100pb的数据量;facebook每天产生超过300tb的日志数据。根据互联网数据中心(idc)预测,到2020年,全球需要管理的数据量将达到35zb。为了应对如此大规模的海量数据,到2020年将新增互联网数据中心机柜18.54万台,较2016年的5.82万台的保有量增加接近319%。随着对并发处理以及数据量剧增的处理需求,单芯片上的处理器核数逐渐增多,计算模式从片上单核完全进入片上众核处理器阶段。因为,相对于单核处理器,在并发处理能力、访存延迟隐藏以及能效比方面,众核处理器都存在着巨大的优势。随着数据中心的任务量并发度的剧增,众核处理器需要处理的并发任务与日俱增,数据中心的任务处理是以用户服务质量为主要度量标准,如何在亿级规模并发度的压力下能够很好的保障服务的质量是数据中心所面对的主要问题。在处理器结构设计中,访存一直是困扰处理器性能提升的主要瓶颈。

在众核处理器中,随着单芯片上核数的不断增加,连接核与核之间以及核与存储器之间的片上网络变的越来越重要,因为处于数据搬运的“咽喉”位置,很大程度决定了处理器的性能以及任务的实时保证程度。但是,目前的片上网络结构的设计并不能很好的保障任务服务质量,而且片上网络的资源有效利用率并不高。因此,如何对片上网络资源进行合理的分配,以提高资源的有效利用率并且充分保证任务的实时性,是未来片上网络设计所必须面对的问题之一。

在数据中心处理的所有用户请求访问任务中,总会出现某一些任务因为各种原因导致处理失败。以用户使用浏览器搜索或请求某些数据网页来说,当我们在浏览器中点开某些链接时,经常会出现因访问超时而失败,再次刷新则可能成功的情况,或者浏览器在一定的时间内会自动重新提交用户请求。由于此种情况经常出现,因此在数据中心会存在着一定量的因无法保证实时性而失败的任务。如何提高任务的成功率,以保证任务实时性已经成为学术界和产业界重要的研究方向。从硬件角度来说,在数据中心处理的任务中,失败的任务会导致资源的浪费,因为其占用了一定的硬件资源,而最终的结果却是任务失败。因此,如果能够在硬件的层面上甄别必定失败的任务,并且将这部分任务占用的资源进行释放并转移给其它合适的任务,则能够保障任务的实时性,并且提高用户服务体验。



技术实现要素:

本发明提供一种众核片上网络失败任务甄别及资源重分配方法和系统,用以通过片上网络硬件结构甄别即将失败的任务,释放其资源给其它适宜的任务。

为达到上述目的,本发明提供了一种众核片上网络失败任务甄别及资源重分配方法,该方法用于对由众核处理器构成的片上网络中任务失败的可能性进行预先判断,并按照任务失败的可能性对任务所占用的资源进行重新分配,该方法在片上网络中的每一路由器中均设置一任务失败判断单元和一资源重分配单元,每一数据包中均设有一有效位,该方法包括以下步骤:

s1:众核处理器发出数据包,每一数据包中均包含其对应的任务的裕度时间t1,于每一数据包生成的同时判断其对应的任务的裕度时间t1是否小于预设阈值t1,若为是,则将该数据包中的有效位置1以表示需要对该数据包进行任务失败判断,否则将有效位置0;

s2:数据包经由其中一个路由器转发,路由器转发数据包时检测其有效位是否为1,若为否则直接转发该数据包,若为是,则进行步骤s3;

s3:路由器计算数据包传输至目的地址所需的时间t2并将给数据包的裕度时间更新为t3,任务失败判断单元根据t2和t3判断该任务失败的可能性;

s4:当t3-t2<预设阈值t2时,任务失败判断单元则判断该任务必定失败并将该数据包丢弃,同时任务失败判断单元向上层软件发送结束任务消息以及向资源重分配单元发送资源重分配消息;

s5:上层软件结束该数据包对应的任务并释放其占有的资源;

s6:所述资源重分配单元将释放的资源分配给上一级路由中的待转发数据包中裕度值最小的数据包;

s7:按照上述步骤s2~s6,数据包依次经过多个路由器转发,直至到达目的地址。

在本发明的一实施例中,每一数据包的包头中包含一裕度时间字段,以记录及更新该数据包对应的裕度时间。

在本发明的一实施例中,每隔一预设时间间隔由一第一路由器向一第二路由器发送一测试数据包,以测算所述第一路由器与所述第二路由器之间的传输时延,以作为裕度时间更新的参照。

在本发明的一实施例中,实时采集整个片上网络的拥塞信息,以作为裕度时间更新的参照。

在本发明的一实施例中,实时采集局部片上网络的拥塞信息,以作为裕度时间更新的参照。

在本发明的一实施例中,路由器更新数据包的裕度时间时,是由原裕度时间减去两个路由器之间的时间延迟而得到。

本发明还提供了一种众核片上网络失败任务甄别及资源重分配系统,其用于执行上述众核片上网络失败任务甄别及资源重分配方法。

本发明提供的众核片上网络失败任务甄别及资源重分配系统和方法通过片上网络硬件结构甄别即将失败的任务,释放其资源给其它适宜的任务,能够提高片上网络资源的有效利用率,满足了更多任务的实时性需求,大大提高了有效任务的服务质量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为数据包在片上网络传输时的延迟预测示意图;

图2为数据包示意图;

图3为本发明中的路由器的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在数据中心高并发的用户服务环境中,会存在一定量的失败任务被不断地关闭。当任务被关闭后,其发出的无效访存请求可能仍然滞留在片上网络,占用相关硬件资源。针对此问题,本发明提出了一种众核片上网络失败任务甄别及资源重分配系统和方法,通过片上网络硬件结构甄别即将失败的任务,释放其资源给其它适宜的任务,以提高资源的有效利用率,满足更多任务的实时性需求。

图1为数据包在片上网络传输时的延迟预测示意图,图1为6×6的2dmesh片上网络。当然,本发明不仅适用2dmesh,对任何片上网络都有一定的适用性。如图1所示,r代表路由器,连接线代表路由器之间的数据传输链路,假如数据包由路由器a所连接的处理核发送至路由器b上的处理核,在路由器a发出数据包之前,首先需要预测传至路由器b需要多久的延迟。若预测传输延迟超过了任务的裕度时间,则判断此任务必定失败,进而丢弃相应的访存请求并通知上层系统软件,以结束此任务。所谓裕度时间,即某个任务离所要求结束的绝度时间之间的差值,简单来说就是任务还能存活的时间。如果任务在裕度时间内能够完成所有内容,则任务能够执行成功,否则任务将失败。数据包预测延迟时间可随着路由器b原路返回的数据包信息而不断校正、更新。当丢弃相应的数据包传输后,释放的硬件资源可分配给其它相应的任务。为了保证更多的实时任务的成功率,可将释放的硬件资源释放给介于失败和成功之间的任务,以充分保证此类任务的成功率。

基于上述思路,本发明提供了一种众核片上网络失败任务甄别及资源重分配方法,该方法用于对由众核处理器构成的片上网络中任务失败的可能性进行预先判断,并按照任务失败的可能性对任务所占用的资源进行重新分配,该方法在片上网络中的每一路由器中均设置一任务失败判断单元和一资源重分配单元,每一数据包中均设有一有效位,该方法包括以下步骤:

s1:众核处理器发出数据包,每一数据包中均包含其对应的任务的裕度时间t1,于每一数据包生成的同时判断其对应的任务的裕度时间t1是否小于预设阈值t1,若为是,则将该数据包中的有效位置1以表示需要对该数据包进行任务失败判断,否则将有效位置0;

图2为数据包示意图,如图2所示,每一数据包的包头中可以包含一裕度时间字段,以记录及更新该数据包对应的裕度时间。

s2:数据包经由其中一个路由器转发,路由器转发数据包时检测其有效位是否为1,若为否则直接转发该数据包,若为是,则进行步骤s3;

s3:路由器计算数据包传输至目的地址所需的时间t2并将给数据包的裕度时间更新为t3,任务失败判断单元根据t2和t3判断该任务失败的可能性;

数据包在片上网络进行传输时,随着距离目的地址越来越近,该数据包所属的任务的裕度时间也在不断的减少。因此,数据包在路由器之间进行传输的时候,每经过一个路由器则需要对数据包的裕度时间进行更新。对数据包的裕度时间进行更新的机制可以是由原裕度时间减去两个路由器之间的时间延迟而得到,两个路由器之间的延迟可以通过“片上网络设计时确定的两个路由器之间的延迟”ד数据包传输的跳数”得到,例如,“片上网络设计时确定的两个路由器之间的延迟”为3cycle,“数据包传输的跳数”为5跳,则两个路由器之间的延迟为15个cycle。另外,对裕度时间进行更新时,可以采用以下几种参照方式:

(1)实时采集整个片上网络的拥塞信息,以作为裕度时间更新的参照;

这种方式适用于片上网络每一部分拥塞情况相当,不存在某一部分太过拥塞或完全不拥塞的情况。

(2)实时采集局部片上网络的拥塞信息,以作为裕度时间更新的参照;

这种方式适用于片上网络的局部拥塞情况较严重时,此时采集数据包传输范围内的片上网络的拥塞信息更能清楚、真实的得到数据包的裕度时间。

(3)每隔一预设时间间隔由一第一路由器向一第二路由器发送一测试数据包,以测算所述第一路由器与所述第二路由器之间的传输时延,以作为裕度时间更新的参照。

在片上网络中,若一第一路由器向一第二路由器之间传输的数据包较多时,可通过这一方式作为裕度时间更新的参照,以提高裕度时间的准确度。

s4:当t3-t2<预设阈值t2时,任务失败判断单元则判断该任务必定失败并将该数据包丢弃,同时任务失败判断单元向上层软件发送结束任务消息以及向资源重分配单元发送资源重分配消息;

s5:上层软件结束该数据包对应的任务并释放其占有的资源;

s6:资源重分配单元将释放的资源分配给上一级路由中的待转发数据包中裕度值最小的数据包;

步骤s6中是将释放的资源分配给“接近失败的任务”,这类任务的特点是虽然当前判断其可以执行成功,但是其裕度值最小,最有可能执行不成功。

s7:按照上述步骤s2~s6,数据包依次经过多个路由器转发,直至到达目的地址。

本发明中的t1、t2均可以在实施前根据经验设定,以适用于具体的片上网络以及片上网络数据传输需求。

本发明还提供了一种众核片上网络失败任务甄别及资源重分配系统,其用于执行上述众核片上网络失败任务甄别及资源重分配方法。

本发明提供的众核片上网络失败任务甄别及资源重分配系统和方法通过片上网络硬件结构甄别即将失败的任务,释放其资源给其它适宜的任务,能够提高片上网络资源的有效利用率,满足了更多任务的实时性需求,大大提高了有效任务的服务质量。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1