CN116932271A - 一种实现自组织的Chiplet的方法和芯片 - Google Patents

一种实现自组织的Chiplet的方法和芯片 Download PDF

Info

Publication number
CN116932271A
CN116932271A CN202311181778.2A CN202311181778A CN116932271A CN 116932271 A CN116932271 A CN 116932271A CN 202311181778 A CN202311181778 A CN 202311181778A CN 116932271 A CN116932271 A CN 116932271A
Authority
CN
China
Prior art keywords
chiplet
chiplets
resources
failed
competition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311181778.2A
Other languages
English (en)
Other versions
CN116932271B (zh
Inventor
王嘉诚
张少仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongcheng Hualong Computer Technology Co Ltd
Original Assignee
Zhongcheng Hualong Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongcheng Hualong Computer Technology Co Ltd filed Critical Zhongcheng Hualong Computer Technology Co Ltd
Priority to CN202311181778.2A priority Critical patent/CN116932271B/zh
Publication of CN116932271A publication Critical patent/CN116932271A/zh
Application granted granted Critical
Publication of CN116932271B publication Critical patent/CN116932271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种实现自组织的Chiplet的方法和芯片,属于集成电路技术领域,包括:每个Chiplet(芯粒)都有自我检测和报告故障的能力,当芯粒检测到自身出现故障,立即停止工作,并向其他芯粒广播故障信息;所述其他芯粒在接收到故障通知后,开始竞争和协商以重新分配资源;所述资源包括电源资源、计算资源、存储资源和通信资源;通过比较其他芯粒中每个芯粒自身的当前状态和处理能力,确定被选择芯粒以及能够提供给故障芯粒的任务的资源,然后向被选择的芯粒分配资源。本发明通过芯粒的自我检测和故障响应,以及自组织和协商的资源分配机制,有效提高了系统的稳定性、性能及自适应性。

Description

一种实现自组织的Chiplet的方法和芯片
技术领域
本发明属于集成电路技术领域,尤其涉及一种实现自组织的Chiplet的方法和芯片。
背景技术
随着半导体技术的发展,芯片的规模和复杂性都在持续增长。传统的单芯片设计和制造方法已经难以满足日益增长的计算需求和性能目标,同时,也面临着功耗、故障率和生产成本等挑战。这促使了芯片设计的新思路和新方法的发展,其中一种是采用芯粒Chiplet的设计和制造方法。
Chiplet方法将芯片分解为多个小的、模块化的部分,每个部分都有自己的功能,例如CPU核、内存控制器、I/O控制器等。这些Chiplet可以通过高速互连技术连接在一起,组合成一个完整的系统。这种方法可以提高芯片的制造效率和灵活性,降低生产成本,同时也能提高系统的性能和可靠性。
然而,Chiplet的设计和制造方法也面临着自身的挑战。一方面,由于Chiplet的数量和复杂性的增加,故障的概率和影响也相应增大。另一方面,由于Chiplet的动态性和独立性,需要有有效的机制来动态地分配和优化资源,包括电源资源、计算资源、存储资源和通信资源。
因此,需要研发一种新的自组织Chiplet的实现方法,以解决上述问题,提高Chiplet的可用性和性能,同时也提高系统的自适应性。
发明内容
针对上述现有技术中存在的缺陷,本发明提供一种实现自组织的Chiplet的方法,包括:
每个Chiplet都有自我检测和报告故障的能力,当Chiplet检测到自身出现故障,立即停止工作,并向其他Chiplet广播故障信息;
所述其他Chiplet在接收到故障通知后,开始竞争和协商以重新分配资源;
其中,所述资源包括电源资源、计算资源、存储资源和通信资源;
在资源分配的过程中,通过比较其他Chiplet中每个Chiplet自身的当前状态和处理能力,确定被选择Chiplet,并确定被选择的Chiplet可以提供给故障Chiplet的任务的资源,然后向被选择的Chiplet分配资源;
所述被选择的Chiplet为竞争成功的Chiplet。
其中,对故障的Chiplet停止电源或降低电源,这部分电源资源重新分配给其他接收故障Chiplet任务的Chiplet,电源资源由芯片系统进行重新分配。
其中,故障的Chiplet的数据需要被迁移到其他Chiplet上,计算资源由承接故障Chiplet任务的Chiplet内部进行确认和分配。
其中,重新配置通信路径以绕过故障的Chiplet,通信资源由承接故障Chiplet任务的Chiplet内部进行确认和分配,其他与故障Chiplet具有通信需求和协作需求的Chiplet根据承接故障Chiplet的通信配置进行适应性调整。
其中,当Chiplet检测到故障时,首先需要初始化一个广播,包括根据芯片的互连技术确定广播资源、设置广播计时器、以及确定广播计划;
Chiplet按照预定义的故障信息格式,将故障信息编码为一串数字或符号后在广播资源上发送编码后的信息;
Chiplet通过等待其他Chiplet的反馈信息确认其他Chiplet已经接收到故障信息。
其中,所述其他Chiplet在接收到故障通知后,开始竞争和协商以重新分配资源,包括:
每个Chiplet首先确认自身是否与故障Chiplet可替换,确认为与故障Chiplet可替换的Chiplet进入竞争阶段;
所有可替换的Chiplet将自身信息广播给所有其他可替换的Chiplet;
每个可替换的Chiplet在接收到广播信息后,根据预设的第一竞争策略在本地生成初始的第一竞争列表,所述第一竞争列表中的Chiplet按照预设规则排序,所述第一竞争策略在所有Chiplet中是相同的。
其中,按照第一竞争列表的顺序,每个Chiplet接收第一竞争列表中的前一Chiplet发送的第二竞争列表,以及每个Chiplet向第一竞争列表中的下一Chiplet发送包括自身的经过第二竞争策略调整后的第二竞争列表。
其中,每个可替换的Chiplet在接收到包含关键参数的广播信息后,根据预设的第一竞争策略在本地生成初始的第一竞争列表,包括:
定义每个Chiplet的性能分数S1_i如下:
其中,和/>是权重参数,P_i为Chipleti的处理能力,E_i为Chipleti的功耗,M_i为Chipleti的内存大小;
接下来进行功能匹配性检查,用Chipleti和Chipletj的功能兼容性compatibility(i,j)表示为一个介于0和1之间的值,其中1表示完全兼容,0表示完全不兼容;
每个Chiplet的功能由一组特性参数F来描述,compatibility(i,j)定义为这些参数的相似度度量;其中,F_i和F_j是连续的数值向量,计算它们的余弦相似度,compatibility(i,j)=cosine_similarity(F_i,F_j);
得到调整后的性能分数S1'_i:
最后根据调整后的性能分数S1'_i生成第一竞争列表,包括:
对所有Chiplet计算S1'_i,将所有Chiplet按照S1'_i从高到低排序,将排序后的Chiplet列表作为第一竞争列表。
其中,第二竞争策略基于当前负载、未来负载预测和通信开销来确定;
其中,当前负载为Chiplet的当前正在处理的任务负载,表示为当前正在处理的任务数量;未来负载预测为未来一段时间内任务负载,所述任务负载表示为预测未来任务队列中任务数量;通信开销表示为剩余的通信资源。
其中,Chiplets按照第一竞争列表的顺序,每个Chiplet接收来自其前一个Chiplet的消息,并将自己的消息发送给下一个Chiplet;
在接收到消息后,每个Chiplet都会比较自己的S2_i分数和接收到的消息中的S2_i分数;
如果一个Chiplet发现自己的S2_i分数高于接收到的消息中的S2_i分数,更新自己的第二竞争列表,将自己的ID插入到接收到的列表中,位置在该列表中所有S2_i分数低于自己的Chiplet之前;
如果一个Chiplet发现自己的S2_i分数低于接收到的消息中的所有S2_i分数,该Chiplet应将自己的ID和S2_i分数添加到接收到的列表的末尾。
其中,基于第二竞争列表确定承载故障Chiplet的Chiplet,包括对一个或多个Chiplet的选择;
如果故障Chiplet的负载和资源需求可以被第二竞争列表中排名最高的Chiplet承载,选择排名最高的Chiplet来承载故障Chiplet;
如果故障Chiplet的负载和资源需求超过了任何单个Chiplet的剩余资源,选择多个Chiplet共同承载故障Chiplet的负载。
本发明还公开了一种实现自组织的Chiplet的芯片,所述芯片为基于芯粒Chiplet技术实现的,当芯片上的一个Chiplet出现故障时,所述芯片上的多个Chiplet通过执行前述的一种实现自组织的Chiplet的方法,进行响应并重新分配资源。
本发明中,当一个Chiplet出现故障时,其他Chiplet可以迅速响应并重新分配资源,从而保证系统的稳定性和性能,避免因单个Chiplet的故障导致整个系统的停机或性能下降,提高系统的稳定性和性能同时,通过Chiplet的自组织和自我协商,可以根据系统的实际状态和需求动态调整资源分配,这提高了系统的自适应性。
附图说明
图1是示出根据本发明实施例的一种实现自组织的Chiplet的方法的流程图。
具体实施方式
一种实现自组织的Chiplet的方法和芯片;
芯片(Chip)和芯粒Chiplet是半导体设备的两种不同的形式。传统的芯片是一个完整的、独立的硬件单元,它通常包含一个或多个集成电路(IC),并在一个硅片(Die)上实现。每个芯片都有自己的功能,例如处理器、内存、GPU等。而Chiplet是一种新的设计和制造方法,它将传统的芯片分解为多个更小、更具模块化的部分,每个部分被称为一个Chiplet。每个Chiplet都有自己的功能,例如CPU核、内存控制器、I/O控制器等,它们可以通过高速互连技术连接在一起,组合成一个完整的系统。传统的芯片每个都是独立的,它们可以在系统中独立工作。而Chiplet则是作为一个大的系统的一部分,它们需要通过协作来完成一个任务。
本发明的自组织Chiplet的实现方法中,Chiplet有自我检测、报告故障、自我组织等能力,以适应系统的动态变化。每个Chiplet都有自我检测和报告故障的能力,并可以通过竞争和协商来重新分配资源。这是一种高度模块化、可扩展和自适应的设计方法,它可以提高系统的可靠性和效率,也更适应未来的技术发展和应用需求。
在传统的芯片设计中,一旦某个部分出现故障,可能会导致整个系统的崩溃或性能下降。本发明,每个Chiplet都具有自我检测和报告故障的能力,能够自我隔离并向其他Chiplet广播故障信息。这可以快速地检测和隔离故障,防止故障扩散,并及时启动恢复过程。
本发明中其他Chiplet在接收到故障通知后,会开始竞争和协商以重新分配资源,包括电源资源、计算资源、存储资源和通信资源。这样可以动态地调整资源分配,以适应系统的变化,并优化系统的性能,实现资源的动态分配和优化。
如图1所示,本发明公开了一种实现自组织的Chiplet的方法,包括:
每个Chiplet都有自我检测和报告故障的能力,当Chiplet检测到自身出现故障,立即停止工作,并向其他Chiplet广播故障信息;
所述其他Chiplet在接收到故障通知后,开始竞争和协商以重新分配资源;
其中,所述资源包括电源资源、计算资源、存储资源和通信资源;
在资源分配的过程中,通过比较其他Chiplet中每个Chiplet自身的当前状态和处理能力,确定被选择Chiplet,并确定被选择的Chiplet可以提供给故障Chiplet的任务的资源,然后向被选择执行任务的Chiplet分配资源;
所述被选择的Chiplet为竞争成功的Chiplet。
通过本发明可以实现,当一个Chiplet出现故障时,其他Chiplet可以通过竞争和协商,有效地处理故障,保证系统的稳定性和性能,同时提高系统的自适应性和学习能力。
在某一实施例中,每个Chiplet都被设计为一个自治智能体,具有自我检测和报告故障的能力。当Chiplet检测到自身出现故障时,它会立即停止工作,并向其他所有Chiplet广播故障信息。这样,其他Chiplet可以立即知道有一个Chiplet出现故障,需要重新分配资源并重新配置以绕过故障的Chiplet。
在某一实施例中,重新分配资源,包括电源资源、计算资源、存储资源和通信资源。
对于电源资源,由于故障的Chiplet不再需要电源,其他Chiplet通过竞争和协商来重新分配电源资源。同时,故障的Chiplet不再需要电源,这部分电源资源可以重新分配给其他接收任务的Chiplet,会改变其他接收任务的Chiplet的功率预算和性能。电源资源由芯片系统进行重新分配。
对于计算资源,故障的Chiplet的计算任务需要被转移到其他Chiplet上。每个Chiplet都会根据自己的计算能力和当前的负载,通过竞争和协商来确定接收故障Chiplet任务的Chiplet。
对于存储资源,故障的Chiplet的数据需要被迁移到其他Chiplet上。故障的Chiplet存储的数据,这些数据需要被迁移到其他Chiplet上。这可能需要根据每个Chiplet的存储空间和数据访问需求来重新分配数据。计算资源由承接故障Chiplet任务的Chiplet内部进行确认和分配。
对于通信资源,需要重新配置通信路径,以绕过故障的Chiplet。具体地,由于故障的Chiplet不再可用,所以需要重新配置通信路径,以绕过故障的Chiplet,需要根据网络的拓扑结构和每个Chiplet与其他Chiplet的通信需求和状况来确定新的通信路径。此外,由于通信路径和负载的变化,可能需要调整通信协议,例如,调整数据包的大小、调整发送和接收的时间间隔等,以优化通信性能。通信资源由承接故障Chiplet任务的Chiplet内部进行确认和分配。其他与故障Chiplet具有通信需求和协作需求的Chiplet根据承接故障Chiplet的通信配置进行适应性调整。
在某一实施例中,每个Chiplet可以通过内置的故障检测机制进行自我检测,这个机制包括一种或多种故障检测算法,所述故障检测算法包括:
内置自测试BIST,Chiplet会定期执行一系列测试,以检查其所有关键功能的状态。这些测试可能包括内存测试(例如检查是否有无法读取或写入的地址)、计算测试(例如执行一些固定的计算任务并检查结果)和接口测试(例如通过发送和接收测试信号来检查通信接口)等。
错误检查和纠正ECC:Chiplet会在存储和通信过程中使用ECC码,以检测和纠正可能的错误。当检测到无法纠正的错误时,Chiplet就会认为出现了故障。
运行监控算法:Chiplet会监控其运行状态,包括电源电压、工作温度、处理速度、以及错误率等。当任何状态超出正常范围时,Chiplet就会认为出现了故障。
在某一实施例中,当Chiplet检测到自身出现故障后,它需要立即停止工作,并向周围的Chiplet广播故障信息,包括:
定义故障信息的格式,包括Chiplet的标识、故障类型、故障时间、以及故障状态。
所述故障Chiplet通过广播的方式向周围的Chiplet发送故障信息。定义故障广播的协议,包括如何初始化广播、如何编码和发送故障信息、以及如何确认故障信息的接收。
每个Chiplet在接收到故障信息后进行响应,包括反馈故障信息的接收、停止与故障Chiplet的通信、开始竞争和协商资源分配、以及更新自己的竞争策略等。
在某一实施例中,故障信息的格式时,包括以下字段:
Chiplet标识:每个Chiplet应具有唯一的标识,这可能是一个预先分配的ID或者由Chiplet的硬件属性(如制造商、型号、序列号等)生成的哈希值。
故障类型:这个字段描述了故障的类型,例如内存故障、计算故障、接口故障、电源故障、温度故障等。每种故障类型都应有一个唯一的代码。
故障时间:这个字段记录了故障发生的时间,是由全局时钟提供的绝对时间。
故障状态:这个字段描述了故障的状态,每种状态都应有一个唯一的代码。
在某一实施例中,故障的状态包括:正在进行的故障(ID:0):故障正在发生,并且还没有被解决。永久性故障(ID:1):故障已经发生,并且无法恢复。预警状态(ID:2):虽然还没有发生故障,但是某些指标(例如温度、电压、错误率等)已经接近阈值,有可能会在未来发生故障。
在某一实施例中,当Chiplet检测到故障时,首先需要初始化一个广播,包括根据芯片的互连技术确定广播资源、设置广播计时器、以及确定广播计划。
然后,Chiplet需要按照预定义的故障信息格式,将故障信息编码为一串数字或符号。然后,Chiplet会在广播资源上发送这串编码信息。
最后,Chiplet通过等待其他Chiplet的反馈信息确认其他Chiplet已经接收到故障信息。
在某一实施例中,当Chiplet发现自己出现故障时,应该立即停止正常的工作,转而优先执行故障检测和广播。这样,可以尽快通知其他Chiplet,以防止故障的扩散。
在某一实施例中,所述故障检测和广播功能运行在一个独立的子系统上,所述子系统与其他部分分隔开,以防止故障影响到它。一个独立的故障处理子系统时,其主要目标是在Chiplet发生故障时能够独立运行,检测故障并向其他Chiplet广播故障信息。
子系统应该有自己的处理器分区、内存分区和通信接口,这些硬件资源应该与Chiplet的其他部分隔离。这样,如果Chiplet的主要部分出现故障,子系统仍然可以运行。
子系统的软件应该只包含与故障检测和故障广播必要的功能。
子系统有能力检测自己是否出现故障,子系统通过定期执行自我测试来检测硬件和软件的状态。如果检测到自己出现故障,子系统应该有能力尽可能地恢复,或者至少能够保证广播故障信息的功能。
子系统应该与Chiplet的其他部分进行隔离,以防止故障从Chiplet的其他部分蔓延到子系统。例如可以通过硬件隔离如物理分区后,在软件上基于操作系统级别的隔离来实现。
在某一实施例中,根据芯片的互连技术确定广播资源,所述互连技术包括:
直接连接:如果多个Chiplet是通过直接的物理连接互连的,例如通过硅中介层或者微型互连,那么一个Chiplet可以通过这些连接向其他所有Chiplet广播信息。例如,它可以将信息写入一个所有Chiplet都可以访问的共享内存区域。
网络-在芯片(NoC):多个Chiplet通过一个网络-在芯片(NoC)来互连。NoC是一种在单个芯片或者Chiplet集合中实现复杂通信的方法。在NoC中,每个Chiplet都连接到一个网络节点,通过这个节点,它可以向网络中的其他节点发送信息。要实现广播,一个Chiplet只需要将信息发送到网络中的所有其他节点。
无线互连:这种互连技术使用无线信号来连接Chiplet。例如通过在芯片中集成微型天线和射频电路,可以实现芯片级别的无线通信。在这种情况下,一个Chiplet可以通过无线信号向其他所有Chiplet广播信息。
在某一实施例中,所述基于互连技术确定广播资源的方式,具体如下:
直接连接:在直接连接的Chiplet架构中,所有的Chiplet都通过物理路径直接相连。在这种情况下,确定广播资源包括选择一个特定的Chiplet或者一组Chiplet来发送数据。广播信息时,数据会被发送到所有的Chiplet。
NoC:在NoC架构中,每个Chiplet都连接到一个网络节点,并通过这个网络节点与其他Chiplet进行通信。确定广播资源包括选择一个特定的网络节点或者一组网络节点来发送数据。在广播信息时,数据会被发送到所有的网络节点。
无线互连:通过选择对应的广播频段来实现确定广播资源。
在某一实施例中,每个Chiplet在接收到故障信息后进行响应,包括反馈故障信息的接收,其中,发送所述反馈信息的资源与广播资源相同。
在某一实施例中,在接收到故障通知后,其他Chiplet会开始竞争和协商以重新分配资源,包括:
每个Chiplet首先确认自身是否与故障Chiplet可替换,包括检查Chiplet的功能和性能。
确认为与故障Chiplet可替换的Chiplet进入竞争阶段。
所有可替换的Chiplet将自身信息广播给所有其他可替换的Chiplet。包括,所有Chiplet首先将自身的关键参数(ID、性能指标、资源占用)通过广播协议发送给所有其他Chiplet。
每个可替换的Chiplet在接收到广播信息后,根据预设的第一竞争策略在本地生成初始的第一竞争列表,所述第一竞争列表中的Chiplet按照预设规则排序,所述第一竞争策略在所有Chiplet中是相同的。
按照第一竞争列表的顺序,每个Chiplet接收第一竞争列表中的前一Chiplet发送的第二竞争列表,以及每个Chiplet向第一竞争列表中的下一Chiplet发送包括自身的经过第二竞争策略调整后的第二竞争列表。第二竞争策略数据基于Chiplet的当前状态、性能、负载以及可提供的资源。
具体地,每个Chiplet在接收到数据后,将自己的数据与接收到的数据进行比对。如果依据第二竞争策略,自己的数据在某些方面优于接收到的列表中的Chiplet的数据,那么需要更新第二竞争列表,将自己放在接收到第二竞争列表中的对应Chiplet之前。
这样,所有Chiplet都有机会接收到所有其他Chiplet的数据,并进行比对和排序。
当所有Chiplet都发送过数据并进行了比对和排序后,在第一竞争列表中的最后一个Chiplet处生成最终的第二竞争列表,竞争结束。
可选地,第一竞争列表中的最后一个Chiplet可将最终的第二竞争列表广播发送给其余所有可替换的Chiplet。
可选地,第一竞争列表中的最后一个Chiplet根据第二竞争列表内参与竞争的Chiplet的排序,以及接收到的故障Chiplet的故障信息,确定竞争成功的至少一个Chiplet,通知对应Chiplet竞争结果。
在某一实施例中,每个可替换的Chiplet在接收到包含关键参数(ID、性能指标、资源占用)的广播信息后,根据预设的第一竞争策略在本地生成初始的第一竞争列表,包括:
定义每个Chiplet的性能分数S1_i如下:
其中,和/>是权重参数,用于平衡处理能力和内存大小的影响。
P_i:Chipleti的处理能力。
E_i:Chipleti的功耗。
M_i:Chipleti的内存大小。
接下来进行功能匹配性检查,用Chipleti和Chipletj的功能兼容性compatibility(i,j)表示为一个介于0和1之间的值,其中1表示完全兼容,0表示完全不兼容。
每个Chiplet的功能由一组特性参数F来描述,那么compatibility(i,j)可以定义为这些参数的相似度度量。
由于F_i和F_j是连续的数值向量,计算它们的余弦相似度,compatibility(i,j)=cosine_similarity(F_i,F_j)。
将性能分数S_i乘以compatibility(i,j),得到调整后的性能分数:
最后根据调整后的性能分数S1'_i生成第一竞争列表。具体步骤如下:
对所有Chiplet计算S1'_i。
将所有Chiplet按照S1'_i从高到低排序。
将排序后的Chiplet列表作为第一竞争列表。
可见,所述第一竞争策略为基于Chiplet的"基础资质"的排序策略。
在某一实施例中,根据功能兼容性的需求选择一组特性参数F,所述一组特性参数F可以从以下参数中选择多个特性参数组成一组特性参数F,用于计算与故障芯片的功能兼容性compatibility。
(1)计算能力:Chiplet用于处理各种计算任务,涉及到Chiplet包含特定类型的运算单元,如整数运算单元、浮点运算单元、矩阵运算单元等。不同类型的运算单元可能对应不同类型的计算任务。
(2)存储能力:Chiplet具有存储数据的能力,包括RAM、ROM或其他类型的存储。存储能力由容量描述。
(3)通信能力:Chiplet需要与其他Chiplet或系统组件进行通信,涉及到数据传输速率参数。
(4)物理尺寸:Chiplet的大小包括长度、宽度、高度等参数。
(5)工作温度:Chiplet的正常运行需要在一定的温度范围内,包括最高温度参数。
(6)工作电压:Chiplet的正常运行需要一定的电压,涉及到最低电压和最高电压的参数。
在某一实施例中,第二竞争策略主要基于当前负载、未来负载预测和通信开销来确定。
其中,当前负载为Chiplet的当前正在处理的任务负载,可以表示为当前正在处理的任务数量。未来负载预测为未来一段时间内任务负载,所述任务负载可以表示为预测未来任务队列中任务数量。如果承载故障Chiplet的任务需要与其他Chiplet合作来完成任务,需要增加承载任务的Chiplet的剩余通信开销是否可以承载故障Chiplet的任务。
将当前负载和未来负载以一种非线性的方式结合来确定负载分数L_score(i)。
其中alpha和beta是两个权重参数,可以用于调整当前负载和未来负载对分数的影响程度。L_current(i)为Chipleti的当前负载。L_future(i)为Chipleti的未来负载预测。C_remain(i)为Chipleti当前剩余的通信资源。
然后,将负载分数和剩余的通信资源结合起来,计算每个Chiplet的最终性能分数S2_i:
在某一实施例中,每个Chiplet都会根据自身的当前状态、性能、负载以及可提供的资源来计算自己的S2_i分数,然后将这个分数以及自身的标识(例如,ID)打包在一起,形成一条消息。
Chiplets按照第一竞争列表的顺序,每个Chiplet接收来自其前一个Chiplet的消息(包括S2_i分数和ID),并将自己的消息发送给下一个Chiplet。在接收到消息后,每个Chiplet都会比较自己的S2_i分数和接收到的消息中的S2_i分数。
如果一个Chiplet发现自己的S2_i分数高于接收到的消息中的S2_i分数,那么它就会更新自己的第二竞争列表,将自己的ID插入到接收到的列表中,位置在该列表中所有S2_i分数低于自己的Chiplet之前。
如果一个Chiplet发现自己的S2_i分数低于接收到的消息中的所有S2_i分数,该Chiplet应将自己的ID和S2_i分数添加到接收到的列表的末尾。这是因为,所有接收到的Chiplet的S2_i分数都比自己的高,所以将自身的Chiplet添加到第二竞争列表中的位置应该在所有接收到的Chiplet之后。
这个过程会循环进行,直到所有的Chiplet都收到了所有其他Chiplet的消息,并完成了排序。这样,每个Chiplet最终都将持有一个完整的第二竞争列表,列表中的Chiplet按S2_i分数从高到低排序。
在某一实施例中,未来负载预测为未来一段时间内的任务负载,可以通过如下方式来预测:
建立一个队列模型来表示Chiplet的任务队列。其中,任务的到达率(λ)表示新任务到达的速度,服务率(μ)表示Chiplet处理任务的速度。
利用硬件性能计数器,收集Chiplet的硬件数据,包括处理器使用率、内存使用率、I/O使用率等,基于这些数据来估计服务率。
根据过去的任务数据,估计任务的到达率,包括通过计算任务的平均到达间隔或者使用时间序列分析方法来完成。
根据队列理论来预测队列长度,所述队列长度(即等待执行的任务数量)的稳态分布可以通过到达率和服务率来计算。在M/M/1队列模型中,队列长度的平均值可以通过λ/(μ-λ)来计算。
根据预测的队列长度,可以预测Chiplet在未来一段时间内的负载。
在某一实施例中,硬件性能计数器可以提供关于处理器行为的详细信息,例如处理器使用率、内存使用率、I/O使用率等。这些信息可以用来估计Chiplet的服务率(μ)。服务率是指Chiplet在单位时间内能处理的任务数量。例如硬件性能数据为:处理器使用率:70%,内存使用率:60%,I/O使用率:50%。
先计算每个硬件资源的实际使用量,然后取最大的那个作为服务率的约束。具体如下:
处理器使用率:假设处理器的最大处理能力为P个任务/秒,那么实际的处理能力就是个任务/秒。
内存使用率:假设内存的最大存储能力为M个任务,那么实际的存储能力就是个任务/秒(假设每个任务需要1秒的时间在内存中处理)。
I/O使用率:假设I/O的最大吞吐能力为I个任务/秒,那么实际的吞吐能力就是个任务/秒。
然后取这三个值中的最小值作为服务率,即
在某一实施例中,队列长度可以指示系统当前的负载水平。队列长度可以被解释为系统中等待处理的任务数量。预测的队列长度可以用来预测未来的负载。
假设任务到达率λ:5个任务/秒,服务率μ:7个任务/秒。
在M/M/1队列模型中,队列长度的平均值可以通过λ/(μ-λ)来计算。因此平均队列长度为5/(7-5)=2.5。
表明在未来时间,预计将有大约2.5个任务在队列中等待处理,体现未来负载的一个预测。
根据预测的队列长度来评估Chiplet的负载。如果Chiplet的处理能力是每秒处理2个任务,那么预测的队列长度2.5意味着Chiplet将会在大部分时间内被完全占用,并且可能会有一些任务需要等待。这可能意味着Chiplet的资源不足。
在某一实施例中,确定承载故障Chiplet的Chiplet的过程会基于第二竞争列表,并考虑到Chiplet的负载和资源,包括对一个或多个Chiplet的选择。
选择单个Chiplet承载,具体为如果故障Chiplet的负载和资源需求可以被第二竞争列表中排名最高的Chiplet承载,那么就选择这个Chiplet来承载故障Chiplet。在这个过程中,需要满足Chiplet的当前负载和预期负载的剩余资源都确保新的负载不会导致Chiplet超载。
选择多个Chiplet承载,包括如果故障Chiplet的负载和资源需求超过了任何单个Chiplet的剩余资源,那么就需要多个Chiplet共同承载故障Chiplet的负载。在这种情况下,可以从第二竞争列表中选择多个排名最高的Chiplet,直到他们的总剩余资源满足故障Chiplet的需求,同时需要满足所述选择的多个Chiplet的当前负载和预期负载的剩余资源都确保新的负载不会导致Chiplet超载。这里的负载可以理解为故障Chiplet需要处理的任务。
通过上述方式来保证被选择的Chiplet有足够的剩余资源来承载故障Chiplet的负载和资源需求。
在某一实施例中,确定被选择的Chiplet当前可用的资源,例如未使用的计算资源、空闲的内存等。
确定被选择的预期剩余资源,包括预测未来负载的基础上,预期Chiplet在未来一段时间内将剩余的资源。
然后计算每个被选择的Chiplet的资源比例,这是当前剩余资源和预期剩余资源的平均或加权平均。
根据每个Chiplet的资源比例,分配相应比例的负载给每个Chiplet。
在某一实施例中,在按资源比例分配策略中,将故障Chiplet的负载分配给多个Chiplet,分配的比例由各Chiplet的资源比例决定,包括:
收集每个Chiplet的当前剩余资源和预期剩余资源。
对于每个Chiplet,计算其资源比例。这可以是当前剩余资源和预期剩余资源的加权平均。如果ChipletA的资源比例是0.6,ChipletB的资源比例是0.4,这意味着ChipletA的可用资源是ChipletB的1.5倍。
根据每个Chiplet的资源比例,分配相应比例的负载。如果故障Chiplet的负载是100个任务,那么ChipletA应分配到个任务,ChipletB应分配到/>个任务。
在某一实施例中,当选择Chiplet承载故障Chiplet的负载时,需要从第二竞争列表中选择排名最高的Chiplet,直到他们的总剩余资源(包括当前和预期剩余资源)满足故障Chiplet的需求。这个过程中,需要确保每个被选中的Chiplet都有足够的剩余资源来承载新的负载。
然后,在按比例分配负载时考虑每个Chiplet的剩余资源。根据每个Chiplet的资源比例来分配负载,还需要确保分配的负载不会导致Chiplet超载。如果按照资源比例分配后,某个Chiplet的负载超过了其剩余资源,我们可以减少分配给该Chiplet的负载,然后将剩余的负载分配给其他Chiplet。
在某一实施例中,对电源资源的重新分配,包括检测和确认Chiplet的故障。一旦检测到Chiplet故障,将其与系统中的其他部分隔离,以防止故障扩散。
停止或减少对故障Chiplet的供电,包括一旦确认了Chiplet的故障,就可以停止或者减少对其的电源供应。硬件支持动态电源管理,操作系统可能需要支持电源状态的控制。
将电源资源分配给其他Chiplet,包括得到节省的电源资源后,芯片系统可以将其分配给承载故障Chiplet负载的Chiplet。
本发明中,当一个Chiplet出现故障时,其他Chiplet可以迅速响应并重新分配资源,从而保证系统的稳定性和性能,避免因单个Chiplet的故障导致整个系统的停机或性能下降,提高系统的稳定性和性能同时,通过Chiplet的自组织和自我协商,可以根据系统的实际状态和需求动态调整资源分配,这提高了系统的自适应性。

Claims (12)

1.一种实现自组织的Chiplet的方法,包括:
每个Chiplet都有自我检测和报告故障的能力,当Chiplet检测到自身出现故障,立即停止工作,并向其他Chiplet广播故障信息;
所述其他Chiplet在接收到故障通知后,开始竞争和协商以重新分配资源;
其中,所述资源包括电源资源、计算资源、存储资源和通信资源;
在资源分配的过程中,通过比较其他Chiplet中每个Chiplet自身的当前状态和处理能力,确定被选择Chiplet,并确定被选择的Chiplet可以提供给故障Chiplet的任务的资源,然后向被选择的Chiplet分配资源;
所述被选择的Chiplet为竞争成功的Chiplet。
2.如权利要求1所述的一种实现自组织的Chiplet的方法,其特征在于,
对故障的Chiplet停止电源或降低电源,这部分电源资源重新分配给其他接收故障Chiplet任务的Chiplet,电源资源由芯片系统进行重新分配。
3.如权利要求1所述的一种实现自组织的Chiplet的方法,其特征在于,
故障的Chiplet的数据需要被迁移到其他Chiplet上,计算资源由承接故障Chiplet任务的Chiplet内部进行确认和分配。
4.如权利要求1所述的一种实现自组织的Chiplet的方法,其特征在于,
重新配置通信路径以绕过故障的Chiplet,通信资源由承接故障Chiplet任务的Chiplet内部进行确认和分配,其他与故障Chiplet具有通信需求和协作需求的Chiplet根据承接故障Chiplet的通信配置进行适应性调整。
5.如权利要求1所述的一种实现自组织的Chiplet的方法,其特征在于,
当Chiplet检测到故障时,首先需要初始化一个广播,包括根据芯片的互连技术确定广播资源、设置广播计时器、以及确定广播计划;
Chiplet按照预定义的故障信息格式,将故障信息编码为一串数字或符号后在广播资源上发送编码后的信息;
Chiplet通过等待其他Chiplet的反馈信息确认其他Chiplet已经接收到故障信息。
6.如权利要求1所述的一种实现自组织的Chiplet的方法,其特征在于,所述其他Chiplet在接收到故障通知后,开始竞争和协商以重新分配资源,包括:
每个Chiplet首先确认自身是否与故障Chiplet可替换,确认为与故障Chiplet可替换的Chiplet进入竞争阶段;
所有可替换的Chiplet将自身信息广播给所有其他可替换的Chiplet;
每个可替换的Chiplet在接收到广播信息后,根据预设的第一竞争策略在本地生成初始的第一竞争列表,所述第一竞争列表中的Chiplet按照预设规则排序,所述第一竞争策略在所有Chiplet中是相同的。
7.如权利要求6所述的一种实现自组织的Chiplet的方法,其特征在于,
按照第一竞争列表的顺序,每个Chiplet接收第一竞争列表中的前一Chiplet发送的第二竞争列表,以及每个Chiplet向第一竞争列表中的下一Chiplet发送包括自身的经过第二竞争策略调整后的第二竞争列表。
8.如权利要求6所述的一种实现自组织的Chiplet的方法,其特征在于,每个可替换的Chiplet在接收到包含关键参数的广播信息后,根据预设的第一竞争策略在本地生成初始的第一竞争列表,包括:
定义每个Chiplet的性能分数S1_i如下:
其中,和/>是权重参数,P_i为Chipleti的处理能力,E_i为Chipleti的功耗,M_i为Chipleti的内存大小;
接下来进行功能匹配性检查,用Chipleti和Chipletj的功能兼容性compatibility(i,j)表示为一个介于0和1之间的值,其中1表示完全兼容,0表示完全不兼容;
每个Chiplet的功能由一组特性参数F来描述,compatibility(i,j)定义为这些参数的相似度度量;其中,F_i和F_j是连续的数值向量,计算它们的余弦相似度,compatibility(i,j)=cosine_similarity(F_i,F_j);
得到调整后的性能分数S1'_i:
最后根据调整后的性能分数S1'_i生成第一竞争列表,包括:
对所有Chiplet计算S1'_i,将所有Chiplet按照S1'_i从高到低排序,将排序后的Chiplet列表作为第一竞争列表。
9.如权利要求7所述的一种实现自组织的Chiplet的方法,其特征在于,
第二竞争策略基于当前负载、未来负载预测和通信开销来确定;
其中,当前负载为Chiplet的当前正在处理的任务负载,表示为当前正在处理的任务数量;未来负载预测为未来一段时间内任务负载,所述任务负载表示为预测未来任务队列中任务数量;通信开销表示为剩余的通信资源。
10.如权利要求9所述的一种实现自组织的Chiplet的方法,其特征在于,
Chiplets按照第一竞争列表的顺序,每个Chiplet接收来自其前一个Chiplet的消息,并将自己的消息发送给下一个Chiplet;
在接收到消息后,每个Chiplet都会比较自己的S2_i分数和接收到的消息中的S2_i分数;
如果一个Chiplet发现自己的S2_i分数高于接收到的消息中的S2_i分数,更新自己的第二竞争列表,将自己的ID插入到接收到的列表中,位置在该列表中所有S2_i分数低于自己的Chiplet之前;
如果一个Chiplet发现自己的S2_i分数低于接收到的消息中的所有S2_i分数,该Chiplet应将自己的ID和S2_i分数添加到接收到的列表的末尾。
11.如权利要求10所述的一种实现自组织的Chiplet的方法,其特征在于,
基于第二竞争列表确定承载故障Chiplet的Chiplet,包括对一个或多个Chiplet的选择;
如果故障Chiplet的负载和资源需求可以被第二竞争列表中排名最高的Chiplet承载,选择排名最高的Chiplet来承载故障Chiplet;
如果故障Chiplet的负载和资源需求超过了任何单个Chiplet的剩余资源,选择多个Chiplet共同承载故障Chiplet的负载。
12.一种实现自组织的Chiplet的芯片,所述芯片为基于芯粒Chiplet技术实现的,当芯片上的一个Chiplet出现故障时,所述芯片上的多个Chiplet通过执行权利要求1-11任一项所述的一种实现自组织的Chiplet的方法,进行响应并重新分配资源。
CN202311181778.2A 2023-09-14 2023-09-14 一种实现自组织的Chiplet的方法和芯片 Active CN116932271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311181778.2A CN116932271B (zh) 2023-09-14 2023-09-14 一种实现自组织的Chiplet的方法和芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311181778.2A CN116932271B (zh) 2023-09-14 2023-09-14 一种实现自组织的Chiplet的方法和芯片

Publications (2)

Publication Number Publication Date
CN116932271A true CN116932271A (zh) 2023-10-24
CN116932271B CN116932271B (zh) 2023-12-29

Family

ID=88375611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311181778.2A Active CN116932271B (zh) 2023-09-14 2023-09-14 一种实现自组织的Chiplet的方法和芯片

Country Status (1)

Country Link
CN (1) CN116932271B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117148117A (zh) * 2023-10-27 2023-12-01 中诚华隆计算机技术有限公司 一种Chiplet故障自动检测修复方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080037526A1 (en) * 2005-09-30 2008-02-14 Huawei Technologies Co., Ltd.. Method for fault detect, report, and maintenance negotiation control of multi-segment pseudo wire
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法
CN102710508A (zh) * 2012-05-17 2012-10-03 北京邮电大学 虚拟网络资源分配方法
CN111865647A (zh) * 2019-04-30 2020-10-30 英特尔公司 使用分解的芯片粒进行边缘计算的模块化i/o配置
CN112559440A (zh) * 2020-12-30 2021-03-26 海光信息技术股份有限公司 多小芯片系统中实现串行业务性能优化的方法及装置
CN116501684A (zh) * 2023-06-25 2023-07-28 苏州浪潮智能科技有限公司 一种服务器系统及其通信方法
CN116718902A (zh) * 2023-08-11 2023-09-08 中诚华隆计算机技术有限公司 一种基于Chiplet的芯片内置自测试方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080037526A1 (en) * 2005-09-30 2008-02-14 Huawei Technologies Co., Ltd.. Method for fault detect, report, and maintenance negotiation control of multi-segment pseudo wire
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法
CN102710508A (zh) * 2012-05-17 2012-10-03 北京邮电大学 虚拟网络资源分配方法
CN111865647A (zh) * 2019-04-30 2020-10-30 英特尔公司 使用分解的芯片粒进行边缘计算的模块化i/o配置
CN112559440A (zh) * 2020-12-30 2021-03-26 海光信息技术股份有限公司 多小芯片系统中实现串行业务性能优化的方法及装置
CN116501684A (zh) * 2023-06-25 2023-07-28 苏州浪潮智能科技有限公司 一种服务器系统及其通信方法
CN116718902A (zh) * 2023-08-11 2023-09-08 中诚华隆计算机技术有限公司 一种基于Chiplet的芯片内置自测试方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117148117A (zh) * 2023-10-27 2023-12-01 中诚华隆计算机技术有限公司 一种Chiplet故障自动检测修复方法及系统
CN117148117B (zh) * 2023-10-27 2023-12-29 中诚华隆计算机技术有限公司 一种Chiplet故障自动检测修复方法及系统

Also Published As

Publication number Publication date
CN116932271B (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
CN116932271B (zh) 一种实现自组织的Chiplet的方法和芯片
CN101390067B (zh) 增强众核处理器的可靠性
CN101309167B (zh) 基于集群备份的容灾系统及方法
JP4777994B2 (ja) マルチコアプロセッサ
US20100205607A1 (en) Method and system for scheduling tasks in a multi processor computing system
CN102081574B (zh) 用于加快系统的唤醒时间的方法和系统
CN101946235A (zh) 用于在共享处理器分区环境中移动线程的方法及装置
US10007629B2 (en) Inter-processor bus link and switch chip failure recovery
EP1082661A4 (en) METHOD AND DEVICE FOR MANAGING REDUNDANT COMPUTER-BASED SYSTEMS FOR TROUBLESHOOTING DATA PROCESSING
CN111966453A (zh) 一种负载均衡方法、系统、设备及存储介质
CN100538647C (zh) 多核处理器的业务流处理方法及多核处理器
CN112162839A (zh) 任务调度方法、装置、计算机设备和存储介质
CN108985556B (zh) 流量调度的方法、装置、设备和计算机存储介质
JPWO2008044423A1 (ja) 情報処理装置及びその故障隠蔽方法
JPH07168790A (ja) 情報処理装置
US20100083034A1 (en) Information processing apparatus and configuration control method
US8745436B2 (en) Information processing apparatus, information processing system, and control method therefor
WO2023273146A1 (zh) 数据处理装置、系统、方法及板卡
JP5328743B2 (ja) 多数コアプロセッサの信頼性強化
CN101615066B (zh) 多径数据通信中的节能方法和系统
KR101909264B1 (ko) 분산 sdn 제어기 구조에서 제어기 장애 복구 시스템 및 방법
CN106933692A (zh) 一种基于处理器阵列的航天器星载计算机系统及故障处理方法
CN106844021B (zh) 计算环境资源管理系统及其管理方法
CN109839041A (zh) 一种基于去中心化集群计算架构的免维护测控方法
CN118012823A (zh) 一种在单片soc芯片上实现同步多余度计算的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant