CN115129645A - 一种基于总线的事务处理方法、系统、存储介质及设备 - Google Patents
一种基于总线的事务处理方法、系统、存储介质及设备 Download PDFInfo
- Publication number
- CN115129645A CN115129645A CN202211053563.8A CN202211053563A CN115129645A CN 115129645 A CN115129645 A CN 115129645A CN 202211053563 A CN202211053563 A CN 202211053563A CN 115129645 A CN115129645 A CN 115129645A
- Authority
- CN
- China
- Prior art keywords
- value
- bus
- transaction
- qos value
- response
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 94
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 238000012544 monitoring process Methods 0.000 claims abstract description 24
- 230000035945 sensitivity Effects 0.000 claims abstract description 15
- 230000008859 change Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000001965 increasing effect Effects 0.000 claims description 8
- 238000005457 optimization Methods 0.000 abstract description 3
- 230000009467 reduction Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100322581 Caenorhabditis elegans add-1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种基于总线的事务处理方法、系统、存储介质及设备,涉及总线技术领域,方法包括:根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值,总线具备超前传输特性;针对每个主设备,对其滞外事务进行监控,并在监控过程中计算滞外事务的响应时间和预测缓存空间利用率;基于响应时间、预测缓存空间利用率以及对应的初始QOS值得到新QOS值;将对应的初始QOS值更新为新QOS值,并使总线根据新QOS值进行事务处理。本发明对具备超前传输特性的总线实现了动态优化,解决了在多个主设备多条总线的架构下可能导致的总线性能下降、总线死锁问题,保证了总线准确高效地运行。
Description
技术领域
本发明涉及总线技术领域,尤其涉及一种基于总线的事务处理方法、系统、存储介质及设备。
背景技术
随着集成电路的不断发展,对SOC(System on Chip,片上系统)芯片处理速度性能的要求越来越高。系统总线作为连接各个模块的中枢桥梁,对SOC系统的性能起到重要影响,特别是在多个主设备和多个从设备的系统中。
对于拥有超前传输(outstanding transaction)特性的总线,例如AXI(AdvancedeXtensible Interface,先进可扩展接口)总线,其总线系统由Master(主设备)、Slave(从设备)和Interconnect(中间互联部分,ICN)等基本器件搭建而成,为多主多从的结构。
AXI协议定义了5个独立的通道,每个通道通过VALID(数据有效)和READY(接收有效)信号完成握手机制。5个通道分别为:读地址通道(AR)、读数据通道(RD)、写地址通道(AW)、写数据通道(WD)和写响应通道(WR)。
超前传输(outstanding transaction)特性是 AXI 总线能够实现高性能传输的原因之一,主机在当前传输事务完成前,就可以开始下一个传输事务。因此系统中可能存在多个进行中的传输事务。假设多个事务能够被从机并行处理,可提高系统的性能。
图1示出了超前读传输事务的结构示意图。如图1所示,在未进行超前传输的场景(如图1 Without outstanding部分)下,主机发出传输事务后,等待从机返回数据,再开始下一次传输。显然,超前传输在该场景中(如图1 With outstanding部分)能够减少33%的传输时间。
系统中主设备的outstanding事务可以掩盖访存延迟并且提升存储器的性能,然而,主设备的outstanding事务并非越多越好,当主设备的outstanding 事务达到一定数量时,会严重影响系统中其它主设备的访存性能。
图2示出了AXI总线系统的结构示意图。如图2所示,在系统中有3条AXI总线(AXIBus 1-3),4个主设备(M1-M4),且4个主设备都有访问同一个从设备DDR的事务。其中mx_trans(1≤x≤4)表示各个主设备的访存事务,假设M1、M2、M3、M4的优先级排序为M1=M3=M4>M2。在运行具体的应用场景时,当低优先级主设备M2的outstanding事务 m2_trans 数量过多时,M2至存储器之间m2_trans事务的队列也会变长,然而由于m2_trans 的优先级低于m4_trans,即在DDR Controller 的仲裁过程中m2_trans不能得到尽快处理,因此使得M1和M3的事务长时间被总线反压至各自端口,导致高优先级主设备的性能严重受损,严重时会引起超时中断导致系统报错。
因此原有的总线处理方式已经不能处理所有情形下的事务流程。
为了改善该问题,现有的方案如下:
1. 不使用outstanding事务,或将outstanding事务个数限制为一个较小值,例如2个、3个等;
2. 修改从设备的事务处理方式,比如从设备端增加大的缓存空间,或优化多事务时的仲裁方式。
然而,以上方案存在以下缺点:
1)这种方式会降低在大多数传输事务不冲突时的处理效率;
2)修改从设备的处理方式会增加从设备设计难度,使很多原有的从设备无法直接使用,降低了复用性,同时增大缓存空间或优化总裁方式都会消耗额外的资源。
发明内容
有鉴于此,本发明的目的在于提出一种基于总线的事务处理方法、系统、存储介质及设备,用以解决在多个主设备多条总线的架构下可能导致的总线性能下降问题。
基于上述目的,本发明提供了一种基于总线的事务处理方法,包括以下步骤:
根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值,总线具备超前传输特性;
针对每个主设备,对其滞外事务进行监控,并在监控过程中计算滞外事务的响应时间和预测缓存空间利用率;
基于响应时间、预测缓存空间利用率以及对应的初始QOS值得到新QOS值;
将对应的初始QOS值更新为新QOS值,并使总线根据新QOS值进行事务处理。
在一些实施例中,在监控过程中计算滞外事务的预测缓存空间利用率包括:
计算发送至总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值,并基于第一数值和第二数值的差值得到滞外事务所对应的第三数值;
基于第三数值与滞外事务的缓存空间的比值得到滞外事务的缓存空间利用率;
基于最近记录的连续多个缓存空间利用率计算缓存空间利用率的变化梯度,并基于其中最新记录的缓存空间利用率以及变化梯度得到预测缓存空间利用率。
在一些实施例中,计算发送至总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值包括:
响应于发送至总线上的事务为写操作事务,将相应的写操作指令的数量与写操作指令对应的数据长度值进行累加,以得到第一数值;
将相应的写响应指令的数量与写响应指令对应的数据长度值进行累加,以得到第二数值。
在一些实施例中,计算发送至总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值还包括:
响应于发送至总线上的事务为读操作事务,将相应的读操作指令的数量进行累加,以得到第一数值;
将相应的读响应指令的数量进行累加,以得到第二数值。
在一些实施例中,在监控过程中计算滞外事务的响应时间包括:
响应于滞外事务为写操作滞外事务,计算其写操作指令被对应的主设备发出与写响应指令被对应的主设备接收之间的时间段,以作为响应时间。
在一些实施例中,在监控过程中计算滞外事务的响应时间还包括:
响应于滞外事务为读操作滞外事务,计算其读操作指令被对应的主设备发出与读响应指令被对应的主设备接收之间的时间段,以作为响应时间。
在一些实施例中,基于响应时间、预测缓存空间利用率以及对应的初始QOS值得到新QOS值包括:
确定预测缓存空间利用率所处的阈值范围,并根据所处的阈值范围配置对应的第一调整因子;
判断响应时间是否超过预设超时时间,并基于判断结果配置对应的第二调整因子;
基于对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子得到新QOS值。
在一些实施例中,确定预测缓存空间利用率所处的阈值范围,并根据所处的阈值范围配置对应的第一调整因子包括:
确定预测缓存空间利用率所处的阈值范围;
响应于预测缓存空间利用率小于第一阈值,将第一调整因子配置为第一预设值;
响应于预测缓存空间利用率大于等于第一阈值且小于等于第二阈值,将第一调整因子配置为第二预设值;
响应于预测缓存空间利用率大于第二阈值且小于第三阈值,将第一调整因子配置为第三预设值;
其中,第一预设值、第二预设值、第三预设值依次增大。
在一些实施例中,判断响应时间是否超过预设超时时间,并基于判断结果配置对应的第二调整因子包括:
判断响应时间是否超过预设超时时间;
响应于响应时间超过预设超时时间,将第二调整因子配置为第三预设值;
响应于响应时间未超过预设超时时间,将第二调整因子配置为第一预设值。
在一些实施例中,基于对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子得到新QOS值包括:
基于对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子得到预调整QOS值;
判断预调整QOS值是否超过最大QOS值;
响应于预调整QOS值未超过最大QOS值,将预调整QOS值作为新QOS值;或者
响应于预调整QOS值超过最大QOS值,将最大QOS值作为新QOS值。
在一些实施例中,基于对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子得到预调整QOS值包括:
将对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子进行相加,得到预调整QOS值。
在一些实施例中,根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值包括:
根据对时延的敏感程度,将总线系统中的主设备分为高延迟主设备、高带宽实时性主设备及低延迟主设备;
设置高延迟主设备、高带宽实时性主设备、低延迟主设备对应的QOS值范围依次增大。
本发明的另一方面,还提供了一种基于总线的事务处理系统,包括:
初始QOS值设置模块,配置用于根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值,总线具备超前传输特性;
计算模块,配置用于针对每个主设备,对其滞外事务进行监控,并在监控过程中计算滞外事务的响应时间和预测缓存空间利用率;
新QOS值获得模块,配置用于基于响应时间、预测缓存空间利用率以及对应的初始QOS值得到新QOS值;以及
事务处理模块,配置用于将对应的初始QOS值更新为新QOS值,并使总线根据新QOS值进行事务处理。
本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
本发明至少具有以下有益技术效果:
本发明对具备超前传输特性的总线实现了动态优化,通过对主设备按照时延敏感度进行分类,并预设初始QOS值,并对滞外事务的变化进行监控,以及动态调整QOS值,解决了在多个主设备多条总线的架构下可能导致的总线性能下降、总线死锁等问题,保证了总线始终准确高效地运行,进而增强了整个SOC系统的可靠性、适用性和运行性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据现有技术提供的超前读传输事务的结构示意图;
图2为根据现有技术提供的AXI总线系统的结构示意图;
图3为根据本发明实施例提供的基于总线的事务处理方法的示意图;
图4为根据本发明实施例提供的基于总线的事务处理系统的示意图;
图5为根据本发明实施例提供的实现基于总线的事务处理方法的计算机可读存储介质的示意图;
图6为根据本发明实施例提供的执行基于总线的事务处理方法的计算机设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种基于总线的事务处理方法的实施例。图3示出的是本发明提供的基于总线的事务处理方法的实施例的示意图。如图3所示,本发明实施例包括如下步骤:
步骤S10、根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值,总线具备超前传输特性;
步骤S20、针对每个主设备,对其滞外事务进行监控,并在监控过程中计算滞外事务的响应时间和预测缓存空间利用率;
步骤S30、基于响应时间、预测缓存空间利用率以及对应的初始QOS值得到新QOS值;
步骤S40、将对应的初始QOS值更新为新QOS值,并使总线根据新QOS值进行事务处理。
本发明实施例中,总线可以是具备超前传输特性的AXI(Advanced eXtensibleInterface,先进可扩展接口)总线。
以AXI总线为例,AXI协议中支持QOS(Quality of Service)信号,写操作AWQOS和读操作ARQOS,都是4bit的信号,协议中并没有规定具体的用法,只是建议用AxQOS信号作为区分优先级使用,QOS值越大表示优先级越高。
本发明实施例对具备超前传输特性的总线实现了动态优化,通过对主设备按照时延敏感度进行分类,并预设初始QOS值,并对滞外事务的变化进行监控,以及动态调整QOS值,解决了在多个主设备多条总线的架构下可能导致的总线性能下降、总线死锁等问题,保证了总线始终准确高效地运行,进而增强了整个SOC系统的可靠性、适用性和运行性能。
在一些实施例中,根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值包括:根据对时延的敏感程度,将总线系统中的主设备分为高延迟主设备、高带宽实时性主设备及低延迟主设备;设置高延迟主设备、高带宽实时性主设备、低延迟主设备对应的QOS值范围依次增大。
本实施例中,根据主设备的功能和使用需求,将主设备分为以下3类:
a. 低延迟(延迟敏感)主设备:
在SOC(System on Chip,片上系统)中,这类设备对操作的延迟十分敏感,要求在尽可能快的时间内完成操作,但整体的带宽需求可能没有那么高。例如CPU(中央处理器),其对带宽的要求不高,但它的单线程操作直接与访问数据的延迟相关,因此 CPU 对时延十分敏感,是典型的低延迟主设备。
b. 高延迟(延迟不敏感)主设备:
这类设备对操作的延迟不敏感,一般其本身数据读取速度就较低,数据读写的先后顺序结果也不会影响高速设备的数据处理流程,比较常见的像是IIC(Inter-IntegratedCircuit,集成电路总线)、SPI(Serial Peripheral Interface,串行外设接口)、UART(Universal Asynchronous Receiver/ Transmitter,通用异步收发器)协议的控制器。
c. 高带宽实时性主设备:
这类主设备一般同时具有高带宽传输和高实时性要求的,比较常见的是图像处理相关的设备,比如图像采集接收、图像送显、图像处理或编码等。
AXI总线的读写过程(读写通道)是完全独立的,即读写过程不会相互影响,因此需要设置写操作AWQOS和读操作ARQOS,在预设阶段设置方式是相同的。
在总线使用QOS时,一般使用4bit,即QOS的范围为0-15,值越大优先级越高。当然在使用过程中也可以使用更多或更少bit位,但设置方式是相同的。以4bit为例,不同设备的取值范围为:高延迟(延迟不敏感)主设备为0-3;高带宽实时性主设备为4-11;低延迟(延迟敏感)主设备为12-15。
另外,对于同一类型的设备,其预设的QOS值也可以是不同的,即同一类型的设备也可预设不同的优先级。
在一些实施例中,在监控过程中计算滞外事务的预测缓存空间利用率包括:计算发送至总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值,并基于第一数值和第二数值的差值得到滞外事务所对应的第三数值;基于第三数值与滞外事务的缓存空间的比值得到滞外事务的缓存空间利用率;基于最近记录的连续多个缓存空间利用率计算缓存空间利用率的变化梯度,并基于其中最新记录的缓存空间利用率以及变化梯度得到预测缓存空间利用率。
在一些实施例中,计算发送至总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值包括:响应于发送至总线上的事务为写操作事务,将相应的写操作指令的数量与写操作指令对应的数据长度值进行累加,以得到第一数值;将相应的写响应指令的数量与写响应指令对应的数据长度值进行累加,以得到第二数值。
在一些实施例中,计算发送至总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值还包括:响应于发送至总线上的事务为读操作事务,将相应的读操作指令的数量进行累加,以得到第一数值;将相应的读响应指令的数量进行累加,以得到第二数值。
在一些实施例中,在监控过程中计算滞外事务的响应时间包括:响应于滞外事务为写操作滞外事务,计算其写操作指令被对应的主设备发出与写响应指令被对应的主设备接收之间的时间段,以作为响应时间。
在一些实施例中,在监控过程中计算滞外事务的响应时间还包括:响应于滞外事务为读操作滞外事务,计算其读操作指令被对应的主设备发出与读响应指令被对应的主设备接收之间的时间段,以作为响应时间。
上述实施例中,在滞外事务的监控过程中,主要进行以下计算:
a. 滞外事务计算:
首先计算发送至总线上的事务,对于写操作,当axi_awvalid(写指令发送)信号为1,同时axi_awready(写指令接收)信号为1时,将数据长度累加,写操作发送计数为wr_t_cnt:
wr_t_cnt = wr_t_cnt + awlen + 1;
对于读操作,当axi_arvalid(读指令发送)信号为1,同时axi_arready(读指令接收)信号为1时,读操作发送计数rd_t_cnt进行加1操作:
rd_t_cnt = rd_t_cnt +1;
从本质上看,读操作的滞外事务计算的是读取操作的事务个数,无论这个指令是读取的多少数据,都按一次计算,而写事务计算的是具体的写数据的长度,因为在总线的中间互联部分,两者的处理方式不同。
其次计算已经完成的事务,对于写操作,当axi_bvalid(写响应发送)信号为1同时axi_bready(写响应接收)信号为1时,标志着一次写事务完成,此时将数据长度累加,写操作完成计数为wr_r_cnt:
wr_r_cnt = wr_r_cnt + awlen_reg +1,
其中,awlen_reg为写数据长度缓存值,即此次写操作的数据长度;
对于读操作,当axi_rvalid(读响应发送)信号、axi_rready(读响应接收)信号、axi_rlast信号同时为1时,进行加1操作,读操作完成计数为 rd_r_cnt:
rd_r_cnt = rd_r_cnt +1,
最后计算滞外事务:
wr_out_cnt = wr_t_cnt - wr_r_cnt;
rd_out_cnt = rd_t_cnt - rd_r_cnt。
b. 滞外事务响应时间计算:
写滞外事务响应时间Wr_out_time, 当axi_awvalid信号为1同时axi_awready信号为1时,Wr_out_time开始计数累加;当axi_bvalid信号为1同时axi_bready信号为1时,标志着一次写事务完成,此时将Wr_out_time清零,并停止计数;
读滞外事务响应时间rd_out_time, 当axi_arvalid信号为1同时axi_arready信号为1时,rd_out_time开始计数累加;当axi_rvalid信号为1同时axi_rready信号为1时,标志着一次读事务完成,此时将rd_out_time清零,并停止计数。
c. 滞外事务缓存空间利用率计算:
写滞外事务缓存空间利用率 wr_rat = wr_out_cnt/wr_mem,其中wr_mem为写滞外事务在总线互联部分的缓存空间,包括写指令和写数据缓存;
读滞外事务缓存空间利用率 rd_rat = rd_out_cnt/rd_mem,其中rd_mem为读滞外事务在总线互联部分的缓存空间,只有读指令缓存。
d. 滞外事务缓存空间利用率变化梯度
通过使用滞外事务的缓存空间利用率计算其变化梯度。假设取最邻近的3次监测记录的结果(每一次记录的时间间隔Th可以根据时钟频率、总线类型等等诸多方面定义调整)wr_rat_1, wr_rat_2, wr_rat_3, rd_rat_1, rd_rat_2, rd_rat_3,其中_1表示最邻近的一次,即最新记录。读写滞外事务的缓存空间利用率变化梯度如下:
Gred_wr_rat=(wr_rat_1-wr_rat_2+wr_rat_2-wr_rat_3)/(2*Th)
Gred_rd_rat=(rd_rat_1-rd_rat_2+rd_rat_2-rd_rat_3)/(2*Th)
e. 滞外事务的预测缓存空间利用率计算:
Pred_wr_rat = wr_rat_1 + Gred_wr_rat*0.5*Th
Pred_rd_rat = rd_rat_1 + Gred_rd_rat*0.5*Th
在一些实施例中,基于响应时间、预测缓存空间利用率以及对应的初始QOS值得到新QOS值包括:确定预测缓存空间利用率所处的阈值范围,并根据所处的阈值范围配置对应的第一调整因子;判断响应时间是否超过预设超时时间,并基于判断结果配置对应的第二调整因子;基于对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子得到新QOS值。
在一些实施例中,确定预测缓存空间利用率所处的阈值范围,并根据所处的阈值范围配置对应的第一调整因子包括:确定预测缓存空间利用率所处的阈值范围;响应于预测缓存空间利用率小于第一阈值,将第一调整因子配置为第一预设值;响应于预测缓存空间利用率大于等于第一阈值且小于等于第二阈值,将第一调整因子配置为第二预设值;响应于预测缓存空间利用率大于第二阈值且小于第三阈值,将第一调整因子配置为第三预设值;其中,第一预设值、第二预设值、第三预设值依次增大。
在一些实施例中,判断响应时间是否超过预设超时时间,并基于判断结果配置对应的第二调整因子包括:判断响应时间是否超过预设超时时间;响应于响应时间超过预设超时时间,将第二调整因子配置为第三预设值;响应于响应时间未超过预设超时时间,将第二调整因子配置为第一预设值。
在一些实施例中,基于对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子得到新QOS值包括:基于对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子得到预调整QOS值;判断预调整QOS值是否超过最大QOS值;响应于预调整QOS值未超过最大QOS值,将预调整QOS值作为新QOS值;或者响应于预调整QOS值超过最大QOS值,将最大QOS值作为新QOS值。
在一些实施例中,基于对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子得到预调整QOS值包括:将对应的初始QOS值、对应的第一调整因子以及对应的第二调整因子进行相加,得到预调整QOS值。
上述实施例中,动态调整QOS值具体包括以下步骤(读操作和写操作的处理方式一样,因此不再分开介绍):
a. 计算调整因子ad_factor_1(第一调整因子),其中Pred_rat代表Pred_wr_rat和 Pred_rd_rat;
TH3、TH2、TH1分别代表第三阈值、第二阈值、第一阈值,均为根据经验所取的值;
当TH3>Pred_rat滞外事务预测值> TH2,ad_factor_1 = 2(第三预设值);
当TH2≥Pred_rat滞外事务预测值≥TH1,ad_factor_1 = 1(第二预设值);
当TH1>Pred_rat滞外事务预测值,ad_factor_1 = 0(第一预设值)。
b. 计算调整因子ad_factor_2(第二调整因子),其中out_time代表rd_out_time和 wr_out_time;
当滞外事务响应时间out_time > T_timeout*0.8(预设超时时间),ad_factor_2= 2;
否则,ad_factor_2 = 0。
c. 计算预调整结果:
预调整结果 QOS_temp = QOS_pre + ad_factor_1 + ad_factor_2;
QOS_pre为调整前的QOS值,即初始QOS值。
d. 计算新QOS值:
当QOS_temp > QOS_max时,QOS=QOS_max;
其中,QOS_max为最大值,在4bit的位宽下,即为15;
否则,QOS=QOS_temp。
本发明实施例的第二个方面,还提供了一种基于总线的事务处理系统。图4示出的是本发明提供的基于总线的事务处理系统的实施例的示意图。如图4所示,一种基于总线的事务处理系统包括:初始QOS值设置模块10,配置用于根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值,总线具备超前传输特性;计算模块20,配置用于针对每个主设备,对其滞外事务进行监控,并在监控过程中计算滞外事务的响应时间和预测缓存空间利用率;新QOS值获得模块30,配置用于基于响应时间、预测缓存空间利用率以及对应的初始QOS值得到新QOS值;以及事务处理模块40,配置用于将对应的初始QOS值更新为新QOS值,并使总线根据新QOS值进行事务处理。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图5示出了根据本发明实施例提供的实现基于总线的事务处理方法的计算机可读存储介质的示意图。如图5所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现上述任意一项实施例的方法。
应当理解,在相互不冲突的情况下,以上针对根据本发明的基于总线的事务处理方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的基于总线的事务处理系统和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备,包括如图6所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
如图6所示,为本发明提供的执行基于总线的事务处理方法的计算机设备的一个实施例的硬件结构示意图。以如图6所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图6中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与基于总线的事务处理系统的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于总线的事务处理方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储基于总线的事务处理方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于总线的事务处理方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM 可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (15)
1.一种基于总线的事务处理方法,其特征在于,包括以下步骤:
根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值,所述总线具备超前传输特性;
针对每个主设备,对其滞外事务进行监控,并在监控过程中计算所述滞外事务的响应时间和预测缓存空间利用率;
基于所述响应时间、所述预测缓存空间利用率以及所述对应的初始QOS值得到新QOS值;
将所述对应的初始QOS值更新为所述新QOS值,并使所述总线根据所述新QOS值进行事务处理。
2.根据权利要求1所述的方法,其特征在于,在监控过程中计算所述滞外事务的预测缓存空间利用率包括:
计算发送至所述总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值,并基于所述第一数值和第二数值的差值得到所述滞外事务所对应的第三数值;
基于所述第三数值与所述滞外事务的缓存空间的比值得到所述滞外事务的缓存空间利用率;
基于最近记录的连续多个缓存空间利用率计算缓存空间利用率的变化梯度,并基于其中最新记录的缓存空间利用率以及所述变化梯度得到所述预测缓存空间利用率。
3.根据权利要求2所述的方法,其特征在于,计算发送至所述总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值包括:
响应于所述发送至所述总线上的事务为写操作事务,将相应的写操作指令的数量与所述写操作指令对应的数据长度值进行累加,以得到所述第一数值;
将相应的写响应指令的数量与所述写响应指令对应的数据长度值进行累加,以得到所述第二数值。
4.根据权利要求2所述的方法,其特征在于,计算发送至所述总线上的事务所对应的第一数值,并计算已经处理完成的事务所对应的第二数值还包括:
响应于所述发送至所述总线上的事务为读操作事务,将相应的读操作指令的数量进行累加,以得到所述第一数值;
将相应的读响应指令的数量进行累加,以得到所述第二数值。
5.根据权利要求1所述的方法,其特征在于,在监控过程中计算所述滞外事务的响应时间包括:
响应于所述滞外事务为写操作滞外事务,计算其写操作指令被对应的主设备发出与写响应指令被所述对应的主设备接收之间的时间段,以作为所述响应时间。
6.根据权利要求1所述的方法,其特征在于,在监控过程中计算所述滞外事务的响应时间还包括:
响应于所述滞外事务为读操作滞外事务,计算其读操作指令被对应的主设备发出与读响应指令被所述对应的主设备接收之间的时间段,以作为所述响应时间。
7.根据权利要求1所述的方法,其特征在于,基于所述响应时间、所述预测缓存空间利用率以及所述对应的初始QOS值得到新QOS值包括:
确定所述预测缓存空间利用率所处的阈值范围,并根据所述所处的阈值范围配置对应的第一调整因子;
判断所述响应时间是否超过预设超时时间,并基于判断结果配置对应的第二调整因子;
基于所述对应的初始QOS值、所述对应的第一调整因子以及所述对应的第二调整因子得到所述新QOS值。
8.根据权利要求7所述的方法,其特征在于,确定所述预测缓存空间利用率所处的阈值范围,并根据所述所处的阈值范围配置对应的第一调整因子包括:
确定所述预测缓存空间利用率所处的阈值范围;
响应于所述预测缓存空间利用率小于第一阈值,将所述第一调整因子配置为第一预设值;
响应于所述预测缓存空间利用率大于等于所述第一阈值且小于等于第二阈值,将所述第一调整因子配置为第二预设值;
响应于所述预测缓存空间利用率大于所述第二阈值且小于第三阈值,将所述第一调整因子配置为第三预设值;
其中,所述第一预设值、所述第二预设值、所述第三预设值依次增大。
9.根据权利要求8所述的方法,其特征在于,判断所述响应时间是否超过预设超时时间,并基于判断结果配置对应的第二调整因子包括:
判断所述响应时间是否超过预设超时时间;
响应于所述响应时间超过所述预设超时时间,将所述第二调整因子配置为所述第三预设值;
响应于所述响应时间未超过所述预设超时时间,将所述第二调整因子配置为所述第一预设值。
10.根据权利要求7所述的方法,其特征在于,基于所述对应的初始QOS值、所述对应的第一调整因子以及所述对应的第二调整因子得到所述新QOS值包括:
基于所述对应的初始QOS值、所述对应的第一调整因子以及所述对应的第二调整因子得到预调整QOS值;
判断所述预调整QOS值是否超过最大QOS值;
响应于所述预调整QOS值未超过所述最大QOS值,将所述预调整QOS值作为所述新QOS值;或者
响应于所述预调整QOS值超过所述最大QOS值,将所述最大QOS值作为所述新QOS值。
11.根据权利要求10所述的方法,其特征在于,基于所述对应的初始QOS值、所述对应的第一调整因子以及所述对应的第二调整因子得到预调整QOS值包括:
将所述对应的初始QOS值、所述对应的第一调整因子以及所述对应的第二调整因子进行相加,得到所述预调整QOS值。
12.根据权利要求1所述的方法,其特征在于,根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值包括:
根据对时延的敏感程度,将所述总线系统中的主设备分为高延迟主设备、高带宽实时性主设备及低延迟主设备;
设置所述高延迟主设备、所述高带宽实时性主设备、所述低延迟主设备对应的QOS值范围依次增大。
13.一种基于总线的事务处理系统,其特征在于,包括:
初始QOS值设置模块,配置用于根据对时延的敏感程度将总线系统中的主设备进行分类,并对各类别的主设备设置对应的初始QOS值,所述总线具备超前传输特性;
计算模块,配置用于针对每个主设备,对其滞外事务进行监控,并在监控过程中计算所述滞外事务的响应时间和预测缓存空间利用率;
新QOS值获得模块,配置用于基于所述响应时间、所述预测缓存空间利用率以及所述对应的初始QOS值得到新QOS值;以及
事务处理模块,配置用于将所述对应的初始QOS值更新为所述新QOS值,并使所述总线根据所述新QOS值进行事务处理。
14.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-12任意一项所述的方法。
15.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-12任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211053563.8A CN115129645B (zh) | 2022-08-31 | 2022-08-31 | 一种基于总线的事务处理方法、系统、存储介质及设备 |
PCT/CN2022/141674 WO2024045438A1 (zh) | 2022-08-31 | 2022-12-23 | 一种基于总线的事务处理方法、系统、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211053563.8A CN115129645B (zh) | 2022-08-31 | 2022-08-31 | 一种基于总线的事务处理方法、系统、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115129645A true CN115129645A (zh) | 2022-09-30 |
CN115129645B CN115129645B (zh) | 2023-01-24 |
Family
ID=83387089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211053563.8A Active CN115129645B (zh) | 2022-08-31 | 2022-08-31 | 一种基于总线的事务处理方法、系统、存储介质及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115129645B (zh) |
WO (1) | WO2024045438A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591380A (zh) * | 2024-01-18 | 2024-02-23 | 芯动微电子科技(武汉)有限公司 | 一种总线性能监测的方法和装置 |
WO2024045438A1 (zh) * | 2022-08-31 | 2024-03-07 | 苏州元脑智能科技有限公司 | 一种基于总线的事务处理方法、系统、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167737A (zh) * | 2018-07-27 | 2019-01-08 | 中国地质大学(武汉) | 融合数据缩减与动态优先权队列的can调度方法 |
CN113886305A (zh) * | 2021-09-30 | 2022-01-04 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于总线的仲裁方法、系统、存储介质及设备 |
CN114756491A (zh) * | 2022-04-20 | 2022-07-15 | 电子科技大学 | 一种基于群体决策算法的总线仲裁器及其实现方法 |
CN114911727A (zh) * | 2022-05-26 | 2022-08-16 | 上海美仁半导体有限公司 | 总线仲裁方法和装置、计算机可读存储介质及主控芯片 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11343176B2 (en) * | 2019-06-24 | 2022-05-24 | Amazon Technologies, Inc. | Interconnect address based QoS regulation |
US11494283B2 (en) * | 2020-05-04 | 2022-11-08 | Dell Products, L.P. | Adjusting host quality of service metrics based on storage system performance |
US11989587B2 (en) * | 2020-06-27 | 2024-05-21 | Intel Corporation | Apparatus and method for a resource allocation control framework using performance markers |
CN114489463B (zh) * | 2020-10-27 | 2023-10-27 | 中国移动通信集团浙江有限公司 | 动态调整存储卷qos的方法、装置及计算设备 |
CN115129645B (zh) * | 2022-08-31 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种基于总线的事务处理方法、系统、存储介质及设备 |
-
2022
- 2022-08-31 CN CN202211053563.8A patent/CN115129645B/zh active Active
- 2022-12-23 WO PCT/CN2022/141674 patent/WO2024045438A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167737A (zh) * | 2018-07-27 | 2019-01-08 | 中国地质大学(武汉) | 融合数据缩减与动态优先权队列的can调度方法 |
CN113886305A (zh) * | 2021-09-30 | 2022-01-04 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于总线的仲裁方法、系统、存储介质及设备 |
CN114756491A (zh) * | 2022-04-20 | 2022-07-15 | 电子科技大学 | 一种基于群体决策算法的总线仲裁器及其实现方法 |
CN114911727A (zh) * | 2022-05-26 | 2022-08-16 | 上海美仁半导体有限公司 | 总线仲裁方法和装置、计算机可读存储介质及主控芯片 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024045438A1 (zh) * | 2022-08-31 | 2024-03-07 | 苏州元脑智能科技有限公司 | 一种基于总线的事务处理方法、系统、存储介质及设备 |
CN117591380A (zh) * | 2024-01-18 | 2024-02-23 | 芯动微电子科技(武汉)有限公司 | 一种总线性能监测的方法和装置 |
CN117591380B (zh) * | 2024-01-18 | 2024-05-03 | 芯动微电子科技(武汉)有限公司 | 一种总线性能监测的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115129645B (zh) | 2023-01-24 |
WO2024045438A1 (zh) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115129645B (zh) | 一种基于总线的事务处理方法、系统、存储介质及设备 | |
US11010327B2 (en) | I3C point to point | |
US6574688B1 (en) | Port manager controller for connecting various function modules | |
WO2011089660A1 (ja) | バス調停装置 | |
US20150067148A1 (en) | Automotive open system architecture (autosar)-based communication method and communication apparatus thereof | |
JP2017211984A (ja) | 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置 | |
CN111095220B (zh) | 在服务于存储事务时的服务质量控制方法和系统 | |
EP2423824B1 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
US20190213165A1 (en) | Priority scheme for fast arbitration procedures | |
JP5144934B2 (ja) | サービス品質モデルを確立するための方法と装置 | |
US20200201804A1 (en) | I3c device timing adjustment to accelerate in-band interrupts | |
CN114185823B (zh) | 仲裁器、仲裁方法、控制器和芯片 | |
US20170024344A1 (en) | Method and System for USB 2.0 Bandwidth Reservation | |
CN116431558B (zh) | 一种基于axi协议的请求响应方法、装置、系统及介质 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
US11520729B2 (en) | I2C bus architecture using shared clock and dedicated data lines | |
CN112463673B (zh) | 一种片上总线、及用于片上总线的服务质量仲裁方法、装置 | |
JP2001022686A (ja) | 情報処理システム | |
US8301816B2 (en) | Memory access controller, system, and method | |
CN115378873A (zh) | 一种提高以太网数据传输效率的流量控制方法和系统 | |
KR102326892B1 (ko) | 적응형 트랜잭션 처리 방법 및 이를 위한 장치 | |
EP1513069A2 (en) | Resource management apparatus | |
JP2006119724A (ja) | Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム | |
JP2003006139A (ja) | Dma転送装置 | |
US20040123006A1 (en) | Process and apparatus for managing use of a peripheral bus among a plurality of controllers |
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 |