CN115858018B - 一种嵌入式系统的自适应寄存器更新方法、设备及介质 - Google Patents
一种嵌入式系统的自适应寄存器更新方法、设备及介质 Download PDFInfo
- Publication number
- CN115858018B CN115858018B CN202310167641.5A CN202310167641A CN115858018B CN 115858018 B CN115858018 B CN 115858018B CN 202310167641 A CN202310167641 A CN 202310167641A CN 115858018 B CN115858018 B CN 115858018B
- Authority
- CN
- China
- Prior art keywords
- register
- queue
- adaptive
- instructions
- update
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Feedback Control In General (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本申请提供一种嵌入式系统的自适应寄存器更新方法、设备及介质。自适应寄存器位于嵌入式系统的存储系统并且通过一级队列来缓存下发的指令。方法包括:确定当前待处理指令的待处理指令个数和队列深度,然后计算待处理指令个数相对于队列深度的比例;通过比较比例和多个阈值范围从而在多个更新寄存器占比中选择一个更新寄存器占比;按照所选择的更新寄存器占比,使得自适应寄存器每次执行完当前待处理指令中的给定个数的待处理指令后执行更新寄存器操作,给定个数基于所选择的更新寄存器占比。如此提升系统整体运行效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种嵌入式系统的自适应寄存器更新方法、设备及介质。
背景技术
随着高速存储硬件技术的发展,例如固态驱动器(Solid State Drive,SSD)和非易失性内存标准(Nonvolatile Memory Express,NVMe)硬件相关技术的发展,提升服务器和数据中心的存储系统性能的关键在于如何降低存储系统对主机的中央处理器(centralprocessing unit,CPU)资源的消耗。NVMe协议和其他用于高速存储设备读写的存储协议,一般通过写入预留寄存器的方式与硬件系统交互,例如NVMe协议写入NVMe硬件预留的寄存器来通知NVMe硬件需要处理的新指令从而构建起多个处理器与存储设备之间并发的多个通路以提高数据搬运速度。但是,随着存储系统负载的增加以及参与存储的处理器核数的增加,也导致写入寄存器的消耗增加并在避免硬件寄存器更新乱序问题上带来更大的挑战。一种降低存储系统对主机的中央处理器资源的消耗的方法是引入嵌入式系统(Embedded system)来卸载部分主机侧存储系统的计算任务,从而提高系统效率和降低成本。但是,嵌入式系统一般是针对特定需求和特定应用而提供的由软件和硬件组成的可独立运行的器件,因此在通用性和存储性能上不同于传统服务器。为此,需要针对嵌入式系统内部的软硬件通信和软件本身进行优化设计,并考虑到如上述NVMe协议等存储协议在写入寄存器上的需求。
为了应对上述技术难题,本申请提供了一种嵌入式系统的自适应寄存器更新方法、设备及介质。
发明内容
本申请实施例提供了一种嵌入式系统的自适应寄存器更新方法、设备及介质,用于解决现有技术中存在的问题。
第一方面,本申请提供了一种自适应寄存器更新方法,用于嵌入式系统。所述自适应寄存器位于所述嵌入式系统的存储系统并且通过一级队列来缓存下发到所述嵌入式系统的指令,所述自适应寄存器更新方法包括:确定所述嵌入式系统的当前待处理指令的待处理指令个数和队列深度,然后计算所述待处理指令个数相对于所述队列深度的比例,其中所述队列深度是所述一级队列能容纳的待处理指令的最大个数;通过比较所述比例和多个阈值范围从而在多个更新寄存器占比中选择一个更新寄存器占比,其中所述多个阈值范围与所述多个更新寄存器占比一一对应;按照所选择的更新寄存器占比,使得所述自适应寄存器每次执行完所述当前待处理指令中的给定个数的待处理指令后执行更新寄存器操作,所述给定个数基于所选择的更新寄存器占比。
通过本申请的第一方面,通过结合嵌入式系统的当前待处理指令的待处理指令个数和队列深度,实现了动态调整更新寄存器占比来执行自适应寄存器更新方法,从而避免了在高系统负载状态下因为更新寄存器操作所带来的额外开销以及对指令延迟和系统效率的影响,并且实现了在低系统负载状态下提升系统效率同时不影响指令延迟,进而提升了系统整体运行效率。
在本申请的第一方面的一种可能的实现方式中,所述自适应寄存器更新方法还包括:针对所述待处理指令中的每一个待处理指令,当所述自适应寄存器执行完该待处理指令并且不按照所选择的更新寄存器占比执行更新寄存器操作时,比较最近一次执行更新寄存器操作的时间和第一阈值,如果所述最近一次执行更新寄存器操作的时间大于所述第一阈值,执行更新寄存器操作。
在本申请的第一方面的一种可能的实现方式中,所述第一阈值预先设定。
在本申请的第一方面的一种可能的实现方式中,所述自适应寄存器更新方法还包括:通过比较所述比例和所述多个阈值范围,确定所述嵌入式系统的系统负载状态,所述第一阈值基于所述系统负载状态确定。
在本申请的第一方面的一种可能的实现方式中,所述第一阈值的最小值基于所述嵌入式系统的最大指令延迟。
在本申请的第一方面的一种可能的实现方式中,所述多个阈值范围分别为0到5%、5%到60%和60%到100%,其中0到5%的阈值范围对应的更新寄存器占比是100%,5%到60%的阈值范围对应的更新寄存器占比是50%,60%到100%的阈值范围对应的更新寄存器占比是20%。
在本申请的第一方面的一种可能的实现方式中,所述多个阈值范围与多个负载状态一一对应,其中0到5%的阈值范围对应低负载状态,5%到60%的阈值范围对应中负载状态,60%到100%的阈值范围对应高负载状态。
在本申请的第一方面的一种可能的实现方式中,所述多个更新寄存器占比分别为100%、50%和20%,当所选择的更新寄存器占比为100%时所述给定个数是1,当所选择的更新寄存器占比为50%时所述给定个数是2,当所选择的更新寄存器占比为20%时所述给定个数是5。
在本申请的第一方面的一种可能的实现方式中,按照所选择的更新寄存器占比,使得所述自适应寄存器每次执行完所述当前待处理指令中的所述给定个数的待处理指令后执行更新寄存器操作,包括:所述自适应寄存器每次执行完所述当前待处理指令中的一个待处理指令,使得计数器加一后与参考值比较,当所述计数器等于所述参考值时,使得所述计数器归零以及执行更新寄存器操作,其中所述参考值是所述给定个数。
在本申请的第一方面的一种可能的实现方式中,所述一级队列包括至少一个提交队列和至少一个完成队列,所述当前待处理指令通过向所述至少一个提交队列发送提交队列元素的方式下发到所述嵌入式系统的存储系统,所述存储系统通过轮询方式处理所述至少一个提交队列中的所有未处理的提交队列元素。
在本申请的第一方面的一种可能的实现方式中,所述自适应寄存器每次执行完所述当前待处理指令中的一个待处理指令,通过向所述至少一个完成队列写入完成队列元素的方式反馈到所述嵌入式系统的上一级。
在本申请的第一方面的一种可能的实现方式中,所述嵌入式系统的上一级是逻辑控制器,所述逻辑控制器通过向所述存储系统发送读取指令信号通知所述存储系统。
在本申请的第一方面的一种可能的实现方式中,所述存储系统通过向所述逻辑控制器发送读取完成队列元素指令信号通知所述逻辑控制器。
在本申请的第一方面的一种可能的实现方式中,所述更新寄存器操作包括更新寄存器队头指针。
在本申请的第一方面的一种可能的实现方式中,所述嵌入式系统用于处理非易失性内存标准存储硬件的存储相关计算任务。
在本申请的第一方面的一种可能的实现方式中,所述当前待处理指令包括对与所述嵌入式系统连接的后端的读写指令以及与所述嵌入式系统连接的主机内存的直接内存访问操作。
第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种具有二级队列的队列寄存器的示意图;
图2为本申请实施例提供的具有一级队列的嵌入式系统的存储系统与主机和后端交互的示意图;
图3为本申请实施例提供的一种嵌入式系统的自适应寄存器更新方法的流程示意图;
图4为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例提供了一种嵌入式系统的自适应寄存器更新方法、设备及介质,用于解决现有技术中存在的问题。其中,本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为一种具有二级队列的队列寄存器的示意图。如图1所示,该队列寄存器具有二级队列,二级队列由软件队列和硬件队列组成。其中,软件队列包括软件队列110、软件队列112和软件队列114。硬件队列包括硬件队列120、硬件队列122和硬件队列124。图1所示的队列寄存器可以用于如Linux系统的内核态非易失性内存标准(NonvolatileMemoryExpress,NVMe)驱动,并且具体地可以位于Linux系统的内核块设备层。通过图1所示的发送指令接口102接收指令,并通过软件队列和硬件队列所组成的二级队列来缓存和调度上层发送下来的输入输出指令。中央处理器(central processing unit,CPU)调度器将软件队列缓存的输入输出指令或者输入输出请求分发到相应的硬件队列。一般情况下,软件队列、硬件队列和处理器内核是一一映射的,这样有利于避免硬件寄存器更新乱序。图1中示例性示出了软件队列110、软件队列112和软件队列114分别对应硬件队列120、硬件队列122和硬件队列124。图1所示的二级队列的队列寄存器通过缓存和调度上层发送下来的输入输出指令,并根据指令与存储介质130交互,从而构建起上层如多个处理器内核与存储介质之间的通路。
继续参阅图1,具有二级队列的队列寄存器在处理软件队列的请求时,会根据软件队列中是否为最后一个待处理的指令的增加相应的标签,并发送到相应的硬件队列中。例如,如果处理软件队列110的请求时发现是最后一个待处理指令,会给该指令增加标签并发送到相应的硬件队列120中。如果某个指令被标记了最后一个待处理的指令的标签,则在被发送到相应的硬件队列后,还驱动发送对应的更新寄存器操作。另外,如果某个硬件队列接收完一个指令后发现队列已满,也会驱动发送对应的更新寄存器操作。也就是说,通过图1所示的二级队列的队列寄存器,当处理完软件队列中的请求或者指令后,发现是最后一个待处理的指令或者发现硬件队列在接收该指令后硬件队列已满,则会驱动发送更新寄存器操作。其他情况下,则不更新寄存器而是继续执行下一个待处理指令。
继续参阅图1,图1所示的二级队列的队列寄存器可用于嵌入式系统(Embeddedsystem),该嵌入式系统用于卸载主机侧存储系统的计算任务,在使用NVMe协议来实现对高速存储设备如固态驱动器(Solid State Drive,SSD)的读写的应用场景中,可以通过嵌入式系统来处理多核处理器或者多个处理器与SSD之间的数据搬运需求。NVMe协议提供了软件和硬件之间的交互规范,其中可以通过如图1所示的软件队列提供NVMe协议的读取和写入等存储指令,该存储指令写入如图1所示的硬件队列然后通知NVMe硬件去处理写入的存储指令。通过二级队列也即软件队列和硬件队列,由软件队列缓存发送下来的存储指令(对应系统的输入/输出(input/output,I/O)请求)并分发给一一对应的硬件队列中。软件队列分发存储指令到硬件队列时,会为软件队列中最后一个待处理指令增加相应标签,硬件队列在处理从软件队列分发的存储指令后,如果识别到该标签则更新硬件寄存器。另外,如果硬件队列在接收了从软件队列分发的存储指令后发现硬件队列已满队列也会更新硬件寄存器。如此,当处理完软件队列中的所有待处理指令或者当硬件队列已满队列,则会触发硬件寄存器的更新操作。这样可以节约系统开销。
但是,嵌入式系统一般是针对特定需求和特定应用而提供的由软件和硬件组成的可独立运行的器件,因此在通用性和存储性能上不同于传统服务器,例如嵌入式系统配备的存储容量有限且处理能力也与传统服务器有差异。另外,嵌入式系统的软件侧面对的待处理指令都是来自硬件逻辑,而不是类似于Linux系统通过软件队列缓存来自操作系统的存储指令。此外,嵌入式系统与主机之间的交互也只是通过一级队列进行而不是通过两级队列。另外,对于NVMe协议和其他用于高速存储设备读写的存储协议等通过写入寄存器来实现交互的应用场景,随着存储系统负载的增加以及参与存储的处理器核数的增加,也导致写入寄存器的消耗增加并在避免硬件寄存器更新乱序问题上带来更大的挑战。下面结合图2和图3的实施例说明本申请提供的一种嵌入式系统的自适应寄存器更新方法、设备及介质针对这些所做出的改进。
图2为本申请实施例提供的具有一级队列的嵌入式系统的存储系统与主机和后端交互的示意图。如图2所示,嵌入式系统的存储系统210位于主机侧和后端220之间,主机侧包括主机内存202和逻辑控制器204。逻辑控制器204代表了与嵌入式系统交互的硬件逻辑,嵌入式系统的软件也是从逻辑控制器204接收待处理指令。嵌入式系统的存储系统210包括一级队列,该一级队列包括提交队列(Submission Queue,SQ)212和完成队列(CompletionQueue,CQ)214。嵌入式系统的存储系统210还包括驱动软件216,用于控制提交队列212和完成队列214以缓存和调度来自逻辑控制器204的指令并与后端220交互。图2所示的嵌入式系统可用于支持如NVMe协议和其他用于高速存储设备读写的存储协议,后端220可以代表如SSD等高速存储设备,主机内存202和逻辑控制器204可以代表多核处理器或者多个处理器内核,因此嵌入式系统构建起上层如多个处理器内核与存储介质之间的通路。除了图2所示的嵌入式系统的存储系统210的有关细节,该嵌入式系统还可以包括其他的针对特定需求和特定应用而提供的软件和硬件等部件,在此不做具体限定。并且,应当理解的是,图2所示的嵌入式系统的存储系统210包括一级队列,而该一级队列可以包括至少一个提交队列和至少一个完成队列,图2中所示的提交队列212代表了一个或者多个提交队列,完成队列214代表了一个或者多个完成队列。具体的提交队列的数量和完成队列的数量,可以根据实际需求和产品设计而定,只要满足一级队列结构的特性。
继续参阅图2,一级队列包括提交队列212和完成队列214。在一些实施例中,由专门的硬件寄存器如队列寄存器来存储该一级队列。主机的控制器也即逻辑控制器204下发的指令,如NVMe协议的存储指令,作为提交队列元素(Submission Queue Entries)被写入提交队列212,也就是,所述当前待处理指令通过向所述提交队列212发送提交队列元素的方式下发到所述嵌入式系统的存储系统210。然后,向嵌入式系统的驱动软件216发送读取指令信号(Kick doorbell),也就是,所述逻辑控制器204通过向所述存储系统发送读取指令信号通知所述存储系统。嵌入式系统的驱动软件216接到读取指令信号后以轮询方式从提交队列212中读取所有待处理指令以及对读取的待处理指令进行处理,也就是,所述存储系统通过轮询方式处理所述提交队列212中的所有未处理的提交队列元素。某个待处理指令被嵌入式系统处理完毕后,嵌入式系统生成相应的完成队列元素((Completion QueueEntries,CQE)并将该完成队列元素写入完成队列的队尾,然后嵌入式系统的驱动软件216通知主机的控制器读取完成队列元素,也就是,所述存储系统通过向所述逻辑控制器204发送读取完成队列元素指令信号通知所述逻辑控制器204。主机的控制器也即逻辑控制器204在读取完成队列元素后可以执行更新寄存器操作也就是更新相应的寄存器队头指针。这里,因为嵌入式系统用在处理某个待处理指令上的用时是难以预计的,所以通过提交队列212来缓存需要嵌入式系统读取并处理的待处理指令,以及通过完成队列214来缓存完成队列元素。应当理解的是,由提交队列212和完成队列214构建的一级队列结构的所述嵌入式系统的存储系统210,不同于图1所示的具有二级队列的队列寄存器分别通过软件队列缓存发送下来的存储指令以及通过添加标签方式来通知硬件队列最后一个待处理指令;图2的具有一级队列的嵌入式系统,其指令下发和寄存器更新,依赖两个彼此独立的队列也就是提交队列212和完成队列214,并且提交队列212和完成队列214分别通知嵌入式系统读取提交队列元素和通知主机的逻辑控制器204读取完成队列元素。为了提高软硬件交互效率,需要尽量减少所述存储系统的驱动软件216通过向所述逻辑控制器204发送读取完成队列元素指令信号通知所述逻辑控制器204而导致的系统整体效率的下降,这是因为当发送读取完成队列元素指令信号后会触发更新寄存器操作,而更新寄存器操作会带来额外的开销,这种额外开销在某些情况下可能是有利的但是在另一些情况下是需要抑制的。例如,当逻辑控制器204读取到某个完成队列元素指令后,可能嵌入式系统的系统负载比较轻且硬件寄存器使用率也低,这种情况下执行更新寄存器操作所导致的额外开销不会显著增加指令延迟而能有助于提升后续处理的系统效率。再例如,当逻辑控制器204读取到某个完成队列元素指令时,可能嵌入式系统的系统负载比较重且硬件寄存器使用率也较高,这种情况下执行更新寄存器操作所导致的额外开销会显著增加指令延迟而且对系统效率的提升不太明显或者不足以弥补增加指令延迟造成的效率下降影响。因此,需要综合硬件寄存器的使用状态、系统负载状态等来判断是否执行更新寄存器操作,也就是对更新寄存器操作进行更加精细化的管理并且做到自适应寄存器更新,并且要考虑到嵌入式系统所采用的一级队列结构的特性,下面结合图3的实施例进一步详细说明。
图3为本申请实施例提供的一种嵌入式系统的自适应寄存器更新方法的流程示意图。所述自适应寄存器位于所述嵌入式系统的存储系统并且通过一级队列来缓存下发到所述嵌入式系统的指令。该自适应寄存器的一级队列的特性可以参考图2所示的嵌入式系统的存储系统210的有关细节,在此不再赘述。如图3所示,自适应寄存器更新方法包括以下步骤。
步骤S302:确定嵌入式系统的当前待处理指令的待处理指令个数和队列深度。
步骤S304:计算所述待处理指令个数相对于所述队列深度的比例。
其中所述队列深度是所述一级队列能容纳的待处理指令的最大个数。
步骤S306:比较所述比例和多个阈值范围从而在多个更新寄存器占比中选择一个更新寄存器占比。
其中所述多个阈值范围与所述多个更新寄存器占比一一对应。
步骤S308:按照所选择的更新寄存器占比,使得所述自适应寄存器每次执行完所述当前待处理指令中的给定个数的待处理指令后执行更新寄存器操作。
其中所述给定个数基于所选择的更新寄存器占比。
参阅上述步骤S302至步骤S308,通过确定嵌入式系统的当前待处理指令的待处理指令个数和队列深度,且所述队列深度是所述一级队列能容纳的待处理指令的最大个数,可以计算出所述待处理指令个数相对于所述队列深度的比例。该比例指示了系统负载状态,如果该比例较小则意味着系统指令处理压力不大,如果该比例较大则意味着系统指令处理压力大。为了更好地判断系统负载状态,可以将该比例与参考比例进行比较,当该比例大于参考比例时意味着系统指令处理压力大,当该比例小于参考比例时意味着系统指令处理压力大。参考比例可以是基于经验、统计学或者计算模型,还可以结合具体的嵌入式系统的软硬件结构和应用场景。进一步地,可以将该比例与多个参考比例或者多个数值范围进行比较。在步骤S306中,比较所述比例和多个阈值范围从而在多个更新寄存器占比中选择一个更新寄存器占比。该多个阈值范围可以是彼此不重叠的多个数值范围,当该比例落入其中某一个阈值范围时,则可以判断相应的系统负载状态并借此判断系统指令处理压力。在一些实施例中,该多个阈值范围可以是从0%到100%之间分布的多个数值范围,可以是均等分布也可以是不均等分布。
在步骤S306中选择更新寄存器占比后,所选择的更新寄存器占比是基于该比例和该多个阈值范围的比较结果,因此是结合所述嵌入式系统的实时的系统负载状态。所选择的更新寄存器占比,可以理解为进行更新寄存器合并算法的更新比例或者说中断合并比例。在步骤S308中,按照所选择的更新寄存器占比,使得所述自适应寄存器每次执行完所述当前待处理指令中的给定个数的待处理指令后执行更新寄存器操作,并且所述给定个数基于所选择的更新寄存器占比。这意味着,按照所选择的更新寄存器占比,可以在处理完某个指令后判断是否需要执行更新寄存器操作,也就是说在处理完某个指令后满足了执行完所述当前待处理指令中的所述给定个数的条件,如果判断为不需要执行更新寄存器操作则接着执行下一条待处理指令。这里,所选择的更新寄存器占比意味着所有的待处理指令中有多大的比例会导致更新寄存器操作。假设所选择的更新寄存器占比为100%,这意味着每个待处理指令被处理后都会导致更新寄存器操作;如果所选择的更新寄存器占比为20%,这意味着有20%的待处理指令被处理后会导致更新寄存器操作,也就是说每执行五个待处理指令就会执行一次更新寄存器操作。如此,根据计算得到的该比例,通过比较该比例和多个阈值范围,判断出系统负载状态,如果系统负载状态为低负载状态,这意味着更新寄存器操作带来的消耗对计算任务的执行效率和指令延迟带来的影响较小,因此可以安排相应的较高的更新寄存器占比;如果系统负载状态为高负载状态,这意味着更新寄存器操作带来的消耗对计算任务的执行效率和指令延迟带来的影响较大,因此可以安排相应的较低的更新寄存器占比。在一种可能的实施方式中,当系统负载状态为高负载状态时可以安排如20%的更新寄存器占比,当系统负载状态为低负载状态时可以安排如100%的更新寄存器占比。相应地,当系统负载状态为高负载状态时可以设定所述给定个数为5个,当系统负载状态为低负载状态时可以设定所述给定个数为1个。总之,通过结合嵌入式系统的当前待处理指令的待处理指令个数和队列深度,实现了动态调整更新寄存器占比来执行自适应寄存器更新方法,从而避免了在高系统负载状态下因为更新寄存器操作所带来的额外开销以及对指令延迟和系统效率的影响,并且实现了在低系统负载状态下提升系统效率同时不影响指令延迟,进而提升了系统整体运行效率。
在一种可能的实施方式中,所述自适应寄存器更新方法还包括:针对所述待处理指令中的每一个待处理指令,当所述自适应寄存器执行完该待处理指令并且不按照所选择的更新寄存器占比执行更新寄存器操作时,比较最近一次执行更新寄存器操作的时间和第一阈值,如果所述最近一次执行更新寄存器操作的时间大于所述第一阈值,执行更新寄存器操作。如此,通过第一阈值,可以确保每次更新寄存器操作的间隔不会超过预设值,也就是当所述最近一次执行更新寄存器操作的时间大于所述第一阈值时执行更新寄存器操作,这样就在上述的结合嵌入式系统的当前待处理指令的待处理指令个数和队列深度从而实现了动态调整更新寄存器占比来执行自适应寄存器更新方法的基础之上,还结合所述最近一次执行更新寄存器操作的时间,通过控制前后两次更新寄存器操作之间的间隔避免了指令延迟增加,更进一步地提升了系统整体运行效率。在一些实施例中,所述第一阈值预先设定。在一些实施例中,所述自适应寄存器更新方法还包括:通过比较所述比例和所述多个阈值范围,确定所述嵌入式系统的系统负载状态,所述第一阈值基于所述系统负载状态确定。如此,通过基于系统负载状态来设定第一阈值,也就是动态调整第一阈值,进而根据第一阈值动态判断是否执行更新寄存器操作,可以更好地避免指令延迟增加和提升系统整体效率。具体地,根据系统负载状态确定第一阈值。例如系统负载比较轻的情况下,如所述比例为3%,可以设定较短的第一阈值,这是因为系统负载比较轻的情况下执行更新寄存器操作对指令延迟和系统整体效率的影响也较小,而设定较短的第一阈值可以更有效地控制前后两次更新寄存器操作的间隔,有助于提升系统整体效率。再例如,系统负载比较重的情况下,如所述比例为70%,可以设定较长的第一阈值,这是因为系统负载比较重的况下执行更新寄存器操作对指令延迟和系统整体效率的影响也较大,而设定较长的第一阈值可以减轻影响,有助于提升系统整体效率。在一些实施例中,所述第一阈值的最小值基于所述嵌入式系统的最大指令延迟。这里,第一阈值的长短影响的是指令延迟,因此可以设定第一阈值的最小值是基于最大指令延迟确定。
在一种可能的实施方式中,所述多个阈值范围分别为0到5%、5%到60%和60%到100%,其中0到5%的阈值范围对应的更新寄存器占比是100%,5%到60%的阈值范围对应的更新寄存器占比是50%,60%到100%的阈值范围对应的更新寄存器占比是20%。在一些实施例中,所述多个阈值范围与多个负载状态一一对应,其中0到5%的阈值范围对应低负载状态,5%到60%的阈值范围对应中负载状态,60%到100%的阈值范围对应高负载状态。如此,实现了根据量化的阈值范围确定系统负载状态和更新寄存器占比。
在一种可能的实施方式中,所述多个更新寄存器占比分别为100%、50%和20%,当所选择的更新寄存器占比为100%时所述给定个数是1,当所选择的更新寄存器占比为50%时所述给定个数是2,当所选择的更新寄存器占比为20%时所述给定个数是5。如此,实现了根据更新寄存器占比确定给定个数。
在一种可能的实施方式中,按照所选择的更新寄存器占比,使得所述自适应寄存器每次执行完所述当前待处理指令中的所述给定个数的待处理指令后执行更新寄存器操作,包括:所述自适应寄存器每次执行完所述当前待处理指令中的一个待处理指令,使得计数器加一后与参考值比较,当所述计数器等于所述参考值时,使得所述计数器归零以及执行更新寄存器操作,其中所述参考值是所述给定个数。如此,实现了根据所选择的更新寄存器占比来执行更新寄存器操作。
在一种可能的实施方式中,所述一级队列包括至少一个提交队列和至少一个完成队列,所述当前待处理指令通过向所述至少一个提交队列发送提交队列元素的方式下发到所述嵌入式系统的存储系统,所述存储系统通过轮询方式处理所述至少一个提交队列中的所有未处理的提交队列元素。在一些实施例中,所述自适应寄存器每次执行完所述当前待处理指令中的一个待处理指令,通过向所述至少一个完成队列写入完成队列元素的方式反馈到所述嵌入式系统的上一级。在一些实施例中,所述嵌入式系统的上一级是逻辑控制器,所述逻辑控制器通过向所述存储系统发送读取指令信号通知所述存储系统。在一些实施例中,所述存储系统通过向所述逻辑控制器发送读取完成队列元素指令信号通知所述逻辑控制器。如此,实现了通过一级队列来缓存和调度上级下发的指令并处理指令。
在一种可能的实施方式中,所述更新寄存器操作包括更新寄存器队头指针。
在一种可能的实施方式中,所述嵌入式系统用于处理非易失性内存标准存储硬件也就是NVMe硬件的存储相关计算任务。上面提到,嵌入式系统用于卸载原本由主机侧的中央处理器负责的存储相关的计算任务,在NVMe硬件的应用场景下,所述嵌入式系统可用于卸载NVMe硬件的存储相关计算任务从而减轻主机侧的处理器资源的占用。
在一种可能的实施方式中,所述当前待处理指令包括对与所述嵌入式系统连接的后端的读写指令以及与所述嵌入式系统连接的主机内存的直接内存访问(Direct MemoryAccess,DMA)操作。与所述嵌入式系统连接的后端可以包括一个或者多个高速存储设备如固态驱动器,与所述嵌入式系统连接的主机可以支持DMA操作。
参见图4,图4是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个处理器410、通信接口420以及存储器430。所述处理器410、通信接口420以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图4的计算设备400可以包括一个或者多个处理器410,并且多个处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器410可以构成处理器序列或者处理器阵列,或者多个处理器410之间可以分成主处理器和辅助处理器,或者多个处理器410之间可以具有不同的架构如采用异构计算架构。另外,图4所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图4所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器410可以有多种具体实现形式,例如处理器410可以包括中央处理器(central processingunit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)、张量处理器(tensor processing unit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器410还可以是单核处理器或多核处理器。处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logicdevice,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(localinterconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledatarate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图4展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷外围部件互连标准(peripheralcomponent interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherentinterconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行上述方法实施例中的方法步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种自适应寄存器更新方法,用于嵌入式系统,其特征在于,所述自适应寄存器位于所述嵌入式系统的存储系统并且通过一级队列来缓存下发到所述嵌入式系统的指令,所述自适应寄存器更新方法包括:
确定所述嵌入式系统的当前待处理指令的待处理指令个数和队列深度,然后计算所述待处理指令个数相对于所述队列深度的比例,其中所述队列深度是所述一级队列能容纳的待处理指令的最大个数;
通过比较所述比例和多个阈值范围从而在多个更新寄存器占比中选择一个更新寄存器占比,其中所述多个阈值范围与所述多个更新寄存器占比一一对应;
按照所选择的更新寄存器占比,使得所述自适应寄存器每次执行完所述当前待处理指令中的给定个数的待处理指令后执行更新寄存器操作,所述给定个数基于所选择的更新寄存器占比,
所述自适应寄存器是所述一级队列。
2.根据权利要求1所述的自适应寄存器更新方法,其特征在于,所述自适应寄存器更新方法还包括:
针对所述待处理指令中的每一个待处理指令,当所述自适应寄存器执行完该待处理指令并且不按照所选择的更新寄存器占比执行更新寄存器操作时,比较最近一次执行更新寄存器操作的时间和第一阈值,如果所述最近一次执行更新寄存器操作的时间大于所述第一阈值,执行更新寄存器操作。
3.根据权利要求2所述的自适应寄存器更新方法,其特征在于,所述第一阈值预先设定。
4.根据权利要求2所述的自适应寄存器更新方法,其特征在于,所述自适应寄存器更新方法还包括:
通过比较所述比例和所述多个阈值范围,确定所述嵌入式系统的系统负载状态,所述第一阈值基于所述系统负载状态确定。
5.根据权利要求4所述的自适应寄存器更新方法,其特征在于,所述第一阈值的最小值基于所述嵌入式系统的最大指令延迟。
6.根据权利要求1所述的自适应寄存器更新方法,其特征在于,所述多个阈值范围分别为0到5%、5%到60%和60%到100%,其中0到5%的阈值范围对应的更新寄存器占比是100%,5%到60%的阈值范围对应的更新寄存器占比是50%,60%到100%的阈值范围对应的更新寄存器占比是20%。
7.根据权利要求6所述的自适应寄存器更新方法,其特征在于,所述多个阈值范围与多个负载状态一一对应,其中0到5%的阈值范围对应低负载状态,5%到60%的阈值范围对应中负载状态,60%到100%的阈值范围对应高负载状态。
8.根据权利要求1所述的自适应寄存器更新方法,其特征在于,所述多个更新寄存器占比分别为100%、50%和20%,当所选择的更新寄存器占比为100%时所述给定个数是1,当所选择的更新寄存器占比为50%时所述给定个数是2,当所选择的更新寄存器占比为20%时所述给定个数是5。
9.根据权利要求1所述的自适应寄存器更新方法,其特征在于,按照所选择的更新寄存器占比,使得所述自适应寄存器每次执行完所述当前待处理指令中的所述给定个数的待处理指令后执行更新寄存器操作,包括:
所述自适应寄存器每次执行完所述当前待处理指令中的一个待处理指令,使得计数器加一后与参考值比较,当所述计数器等于所述参考值时,使得所述计数器归零以及执行更新寄存器操作,其中所述参考值是所述给定个数。
10.根据权利要求1所述的自适应寄存器更新方法,其特征在于,所述一级队列包括至少一个提交队列和至少一个完成队列,所述当前待处理指令通过向所述至少一个提交队列发送提交队列元素的方式下发到所述嵌入式系统的存储系统,所述存储系统通过轮询方式处理所述至少一个提交队列中的所有未处理的提交队列元素。
11.根据权利要求10所述的自适应寄存器更新方法,其特征在于,所述自适应寄存器每次执行完所述当前待处理指令中的一个待处理指令,通过向所述至少一个完成队列写入完成队列元素的方式反馈到所述嵌入式系统的上一级。
12.根据权利要求11所述的自适应寄存器更新方法,其特征在于,所述嵌入式系统的上一级是逻辑控制器,所述逻辑控制器通过向所述存储系统发送读取指令信号通知所述存储系统。
13.根据权利要求12所述的自适应寄存器更新方法,其特征在于,所述存储系统通过向所述逻辑控制器发送读取完成队列元素指令信号通知所述逻辑控制器。
14.根据权利要求1至13中任一项所述的自适应寄存器更新方法,其特征在于,所述更新寄存器操作包括更新寄存器队头指针。
15.根据权利要求1至13中任一项所述的自适应寄存器更新方法,其特征在于,所述嵌入式系统用于处理非易失性内存标准存储硬件的存储相关计算任务。
16.根据权利要求1至13中任一项所述的自适应寄存器更新方法,其特征在于,所述当前待处理指令包括对与所述嵌入式系统连接的后端的读写指令以及与所述嵌入式系统连接的主机内存的直接内存访问操作。
17.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至16中任一项所述的方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310167641.5A CN115858018B (zh) | 2023-02-27 | 2023-02-27 | 一种嵌入式系统的自适应寄存器更新方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310167641.5A CN115858018B (zh) | 2023-02-27 | 2023-02-27 | 一种嵌入式系统的自适应寄存器更新方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115858018A CN115858018A (zh) | 2023-03-28 |
CN115858018B true CN115858018B (zh) | 2023-05-16 |
Family
ID=85659038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310167641.5A Active CN115858018B (zh) | 2023-02-27 | 2023-02-27 | 一种嵌入式系统的自适应寄存器更新方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858018B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221476A (zh) * | 2020-01-08 | 2020-06-02 | 深圳忆联信息系统有限公司 | 提升ssd性能的前端命令处理方法、装置、计算机设备及存储介质 |
CN112256601A (zh) * | 2020-10-19 | 2021-01-22 | 凌云光技术股份有限公司 | 数据存取控制方法、嵌入式存储系统及嵌入式设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4047161A (en) * | 1976-04-30 | 1977-09-06 | International Business Machines Corporation | Task management apparatus |
TW343318B (en) * | 1996-09-23 | 1998-10-21 | Advanced Risc Mach Ltd | Register addressing in a data processing apparatus |
US10466903B2 (en) * | 2017-03-24 | 2019-11-05 | Western Digital Technologies, Inc. | System and method for dynamic and adaptive interrupt coalescing |
US10387081B2 (en) * | 2017-03-24 | 2019-08-20 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
CN114721975A (zh) * | 2022-04-02 | 2022-07-08 | 上海登临科技有限公司 | 链表处理方法、装置、加速器、电路板、设备和存储介质 |
-
2023
- 2023-02-27 CN CN202310167641.5A patent/CN115858018B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221476A (zh) * | 2020-01-08 | 2020-06-02 | 深圳忆联信息系统有限公司 | 提升ssd性能的前端命令处理方法、装置、计算机设备及存储介质 |
CN112256601A (zh) * | 2020-10-19 | 2021-01-22 | 凌云光技术股份有限公司 | 数据存取控制方法、嵌入式存储系统及嵌入式设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115858018A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7313381B2 (ja) | ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング | |
KR101885211B1 (ko) | Gpu의 자원 할당을 위한 방법 및 장치 | |
US9170753B2 (en) | Efficient method for memory accesses in a multi-core processor | |
KR102386174B1 (ko) | 키-벨류 장치를 포함하는 컴퓨터 시스템 및 그것의 인터럽트 처리 제공 방법 | |
US11507524B2 (en) | RTOS/OS architecture for context switching that solves the diminishing bandwidth problem and the RTOS response time problem using unsorted ready lists | |
US9389923B2 (en) | Information processing device and method for controlling information processing device | |
US10545890B2 (en) | Information processing device, information processing method, and program | |
CN115934625B (zh) | 一种用于远程直接内存访问的敲门铃方法、设备及介质 | |
US20240143392A1 (en) | Task scheduling method, chip, and electronic device | |
WO2020252763A1 (en) | Adaptive pipeline selection for accelerating memory copy operations | |
CN117573602B (zh) | 用于远程直接内存访问报文发送的方法及计算机设备 | |
KR102586988B1 (ko) | 다중-커널 웨이브프론트 스케줄러 | |
CN115858018B (zh) | 一种嵌入式系统的自适应寄存器更新方法、设备及介质 | |
US11237994B2 (en) | Interrupt controller for controlling interrupts based on priorities of interrupts | |
CN112286678A (zh) | 一种加速存储读写数据输入输出的优化方法和系统 | |
US10534621B2 (en) | Information processing apparatus, PLD management program and PLD management method | |
US11106361B2 (en) | Technologies for lockless, scalable, and adaptive storage quality of service | |
CN118012796B (zh) | 中断资源管理方法、计算机设备及介质 | |
CN112711442A (zh) | 一种主机命令写入方法、设备、系统及可读存储介质 | |
US10073723B2 (en) | Dynamic range-based messaging | |
CN110764710A (zh) | 低延迟高iops的数据访问方法与存储系统 | |
CN113439260A (zh) | 针对低时延存储设备的i/o完成轮询 | |
KR102260820B1 (ko) | 대칭적 인터페이스 기반 인터럽트 신호 처리 장치 및 방법 | |
US20240233066A1 (en) | Kernel optimization and delayed execution | |
WO2023115529A1 (zh) | 芯片内的数据处理方法及芯片 |
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 |