CN110716797A - 一种面向多请求来源的ddr4性能平衡调度结构及方法 - Google Patents
一种面向多请求来源的ddr4性能平衡调度结构及方法 Download PDFInfo
- Publication number
- CN110716797A CN110716797A CN201910852485.XA CN201910852485A CN110716797A CN 110716797 A CN110716797 A CN 110716797A CN 201910852485 A CN201910852485 A CN 201910852485A CN 110716797 A CN110716797 A CN 110716797A
- Authority
- CN
- China
- Prior art keywords
- source
- access request
- memory access
- request
- memory
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及计算机体系结构与处理器微结构技术领域,具体为一种面向多请求来源的DDR4性能平衡调度结构及方法。一种面向多请求来源的DDR4性能平衡调度结构,包括多个访存请求调度缓冲,用于提高对应访存请求来源的访存带宽;多来源的连续仲裁部件,用于选择出一个访存请求进行发射;DDR4存储器件,用于接收多来源的连续仲裁部件发射的访存请求。一种面向多请求来源的DDR4性能平衡调度方法,包括L1.对每个访存请求来源的访存请求均设置一个访存请求调度缓冲;L2.多来源的连续仲裁部件通过仲裁策略选择出一个访存请求进行发射。本申请面向多请求来源分别设置多个访存请求调度缓冲,能够在提高访存带宽的同时,减少对访存延迟的影响,提高了***的综合访存性能。
Description
技术领域
本发明涉及计算机体系结构与处理器微结构技术领域,具体为一种面向多请求来源的DDR4性能平衡调度结构及方法。
背景技术
随着处理器制造工艺的不断进步及实际应用需要,众核结构已成为当前高性能微处理器的发展趋势,众核处理器***的访存带宽和访存延迟难以匹配计算性能的“存储墙”问题是当今计算机体系结构中研究的热点问题。
为了提升访存带宽,众核处理器中会采用大规模的访存请求调度缓冲。但是,大规模的访存调度缓冲会极大地增加访存延迟。对于多来源的访存请求序列,有些来源需要更高的访存带宽,有些来源需要更短的访存延迟,即有的对延迟敏感、有的对带宽敏感。而传统调度机制对来源特征考虑不足,虽然可以实现带宽利用的最大化,但不利于发挥芯片总体性能。
发明内容
本发明针对现有技术存在的问题,提出了一种面向多请求来源的DDR4性能平衡调度结构及方法。
本发明解决其技术问题所采用的技术方案是:一种面向多请求来源的DDR4性能平衡调度结构,包括
多个访存请求调度缓冲,用于提高对应访存请求来源的访存带宽;
多来源的连续仲裁部件,用于选择出一个访存请求进行发射;
DDR4存储器件,用于接收多来源的连续仲裁部件发射的访存请求。
作为优选,所述访存请求调度缓冲包括带宽敏感型访存调度缓冲和延迟敏感型访存调度缓冲。
作为优选,所述带宽敏感型访存调度缓冲包括
存储条目,用于记录访存请求的信息;
空条目队列,用于以队列的形式挂载存储条目;
调度二叉树,用于以二叉树的形式组织存储条目。
作为优选,所述访存请求的信息包括访存请求信息、条目的左子指针、条目的右子指针。
一种面向多请求来源的DDR4性能平衡调度方法,包括
L1.对每个访存请求来源的访存请求均设置一个访存请求调度缓冲;
L2.多来源的连续仲裁部件通过仲裁策略选择出一个访存请求进行发射;
L3.DDR4存储器件接收多来源的连续仲裁部件发射的访存请求。
作为优选,L2中仲裁策略具体为,
1)最高优先级在各个仲裁源之间轮转;
2)具有最高优先级的仲裁源,在连续仲裁N个访问请求通过后,会释放最高优先级以将该仲裁源优先级置为最低,其它所有仲裁源的优先级加一。
作为优选,L1中对带宽敏感型访存请求来源的访存请求设置带宽敏感型访存调度缓冲;
对延迟敏感型访存请求来源的访存请求设置延迟敏感型访存调度缓冲。
作为优选,所述带宽敏感型访存调度缓冲包括
存储条目,用于记录访存请求的信息;
空条目队列,用于以队列的形式挂载存储条目;
调度二叉树,用于以二叉树的形式组织存储条目。
作为优选,所述访存请求的信息包括访存请求信息、条目的左子指针、条目的右子指针。
本发明的有益效果是,本申请面向多请求来源分别设置多个访存请求调度缓冲,能够在提高访存带宽的同时,减少对访存延迟的影响,提高了***的综合访存性能。
附图说明
图1为本申请面向多请求来源的DDR4性能平衡调度结构的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
如图1所示,实施例一,一种面向多请求来源的DDR4性能平衡调度结构,包括
多个访存请求调度缓冲,用于提高对应访存请求来源的访存带宽。
多来源的连续仲裁部件,用于选择出一个访存请求进行发射。
DDR4存储器件,用于接收多来源的连续仲裁部件发射的访存请求。
本申请面向多请求来源分别设置多个访存请求调度缓冲,那么会减少多个来源之间的访存延迟相互影响,从而获得访存延迟和访存带宽性能平衡的调度结构。
一种面向多请求来源的DDR4性能平衡调度方法,包括
L1.对每个访存请求来源的访存请求均设置一个访存请求调度缓冲;
L2.多来源的连续仲裁部件通过仲裁策略选择出一个访存请求进行发射;
L3.DDR4存储器件接收多来源的连续仲裁部件发射的访存请求。
其中,仲裁策略具体为,
1)最高优先级在各个仲裁源之间轮转;
2)具有最高优先级的仲裁源,在连续仲裁N个访问请求通过后,会释放最高优先级以将该仲裁源优先级置为最低,其它所有仲裁源的优先级加一。
首先,针对每个访存请求来源分别设置一个访存请求调度缓冲,该缓冲用于挖掘访存序列中的局部性,提高访存带宽。
其次,多个访存请求调度缓冲通过多选一的仲裁部件,选择出一个访存请求发射到DDR4存储器件。仲裁策略是:
(1)最高优先级在各个仲裁源之间轮转。
(2)具有最高优先级的仲裁源,只有在连续仲裁N个请求通过后,才会释放最高优先级。在释放最高优先级的同时,该仲裁源优先级置为最低,其它所有仲裁源的优先级加一。
例如,仲裁源一、仲裁源二、仲裁源三、仲裁源四的最初优先级均为1,最高优先级先给仲裁源一,当仲裁源一连续仲裁5个请求通过后,其优先级降为0,仲裁源二、仲裁源三、仲裁源四的优先级均变为2。接着,最高优先级给仲裁源二,仲裁源二连续仲裁5个请求通过后,其优先级降为0,仲裁源一的优先级变为1,仲裁源三、仲裁源四的优先级均变为3。再接着,最高优先级先给仲裁源三,当仲裁源三连续仲裁5个请求通过后,其优先级降为0,仲裁源一的优先级变为2,仲裁源二的优先级变为1,仲裁源四的优先级变为4。再接着,最高优先级先给仲裁源四,当仲裁源四连续仲裁5个请求通过后,其优先级降为0,仲裁源一的优先级变为3,仲裁源二的优先级变为2,仲裁源三的优先级变为1。再接着,最高优先级先给仲裁源一,当仲裁源一连续仲裁5个请求通过后,其优先级降为0,仲裁源二的优先级变为3,仲裁源三的优先级变为2,仲裁源四的优先级变为1,依次类推。其中,仲裁源为具有不同来源的访存请求调度缓冲。
本申请面向多请求来源分别设置多个访存请求调度缓冲,能够在提高访存带宽的同时,减少对访存延迟的影响,提高了***的综合访存性能。
实施例二,在实施例一的基础上,访存请求调度缓冲包括带宽敏感型访存调度缓冲和延迟敏感型访存调度缓冲。
其中,带宽敏感型访存调度缓冲包括
存储条目,用于记录访存请求的信息。访存请求的信息包括访存请求信息、条目的左子指针、条目的右子指针
空条目队列,用于以队列的形式挂载存储条目。
调度二叉树,用于以二叉树的形式组织存储条目。
首先,带宽敏感型访存调度缓冲的每个存储条目,包括三个信息:访存请求信息、条目的左子指针、条目的右子指针。这些存储条目被组织成两个结构:空条目队列和调度二叉树。初始状态时,所有空的存储条目都在空条目队列中,调度二叉树为空。
其次,当有新的访存请求到达时,从空条目队列中取出一个存储条目,并填写该存储条目的访存请求信息。同时,根据访存请求信息查找调度二叉树,如果调度二叉树中已经存在与访存请求信息相同的节点,那么将新的访存请求挂载到该节点的左子指针;如果调度二叉树中不存在和访存请求信息相同的节点,那么将新的访存请求挂载到调度二叉树的最右子节点的右子指针上。
第三,当调度二叉树不为空时,选择二叉树的根节点发射。此时:
(1)如果根节点的左子指针不为空,那么将该左子指针作为二叉树的新根节点,原根节点的右子指针挂载到新根节点的右子指针上。
(2)如果根节点的左子指针为空,那么该根节点的右子指针作为二叉树的新根节点。
最后,将发射之后的新根节点挂载到空条目队列的对应存储条目上。
本申请在访存请求到达带宽敏感型访存调度缓冲时,即将其组织成二叉树结构,在发射时只需要选择二叉树的根节点即可,能够在面对大量访存请求时,实现大规模的访存请求调度。
上面所述的实施例仅是对本发明的优选实施方式进行描述,并非对本发明的构思和范围进行限定。在不脱离本发明设计构思的前提下,本领域普通人员对本发明的技术方案做出的各种变型和改进,均应落入到本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。
Claims (9)
1.一种面向多请求来源的DDR4性能平衡调度结构,其特征在于:包括
多个访存请求调度缓冲,用于提高对应访存请求来源的访存带宽;
多来源的连续仲裁部件,用于选择出一个访存请求进行发射;
DDR4存储器件,用于接收多来源的连续仲裁部件发射的访存请求。
2.根据权利要求1所述的一种面向多请求来源的DDR4性能平衡调度结构,其特征在于:所述访存请求调度缓冲包括带宽敏感型访存调度缓冲和延迟敏感型访存调度缓冲。
3.根据权利要求2所述的一种面向多请求来源的DDR4性能平衡调度结构,其特征在于:所述带宽敏感型访存调度缓冲包括
存储条目,用于记录访存请求的信息;
空条目队列,用于以队列的形式挂载存储条目;
调度二叉树,用于以二叉树的形式组织存储条目。
4.根据权利要求3所述的一种面向多请求来源的DDR4性能平衡调度结构,其特征在于:所述访存请求的信息包括访存请求信息、条目的左子指针、条目的右子指针。
5.一种面向多请求来源的DDR4性能平衡调度方法,其特征在于:包括
L1.对每个访存请求来源的访存请求均设置一个访存请求调度缓冲;
L2.多来源的连续仲裁部件通过仲裁策略选择出一个访存请求进行发射;
L3.DDR4存储器件接收多来源的连续仲裁部件发射的访存请求。
6.根据权利要求5所述的一种面向多请求来源的DDR4性能平衡调度方法,其特征在于:L2中仲裁策略具体为,
1)最高优先级在各个仲裁源之间轮转;
2)具有最高优先级的仲裁源,在连续仲裁N个访问请求通过后,会释放最高优先级以将该仲裁源优先级置为最低,其它所有仲裁源的优先级加一。
7.根据权利要求5所述的一种面向多请求来源的DDR4性能平衡调度方法,其特征在于:L1中对带宽敏感型访存请求来源的访存请求设置带宽敏感型访存调度缓冲;
对延迟敏感型访存请求来源的访存请求设置延迟敏感型访存调度缓冲。
8.根据权利要求7所述的一种面向多请求来源的DDR4性能平衡调度方法,其特征在于:所述带宽敏感型访存调度缓冲包括
存储条目,用于记录访存请求的信息;
空条目队列,用于以队列的形式挂载存储条目;
调度二叉树,用于以二叉树的形式组织存储条目。
9.根据权利要求8所述的一种面向多请求来源的DDR4性能平衡调度方法,其特征在于:所述访存请求的信息包括访存请求信息、条目的左子指针、条目的右子指针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910852485.XA CN110716797A (zh) | 2019-09-10 | 2019-09-10 | 一种面向多请求来源的ddr4性能平衡调度结构及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910852485.XA CN110716797A (zh) | 2019-09-10 | 2019-09-10 | 一种面向多请求来源的ddr4性能平衡调度结构及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110716797A true CN110716797A (zh) | 2020-01-21 |
Family
ID=69209755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910852485.XA Pending CN110716797A (zh) | 2019-09-10 | 2019-09-10 | 一种面向多请求来源的ddr4性能平衡调度结构及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716797A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312323A (zh) * | 2021-06-03 | 2021-08-27 | 中国人民解放军国防科技大学 | 并行文件***中降低访问延迟的io请求调度方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501498A (zh) * | 2013-08-29 | 2014-01-08 | 中国科学院声学研究所 | 一种基带处理资源分配方法及其装置 |
CN104734991A (zh) * | 2013-12-19 | 2015-06-24 | 中国科学院沈阳自动化研究所 | 一种面向工业回程网的端到端时延保障传输调度方法 |
US20170324677A1 (en) * | 2016-05-04 | 2017-11-09 | Radware, Ltd. | Optimized stream management |
CN107391243A (zh) * | 2017-06-30 | 2017-11-24 | 广东神马搜索科技有限公司 | 线程任务处理设备、装置及方法 |
CN108833299A (zh) * | 2017-12-27 | 2018-11-16 | 北京时代民芯科技有限公司 | 一种基于可重构交换芯片架构的大规模网络数据处理方法 |
CN109831393A (zh) * | 2019-03-10 | 2019-05-31 | 西安电子科技大学 | 面向网络虚拟化的多粒度QoS控制方法 |
-
2019
- 2019-09-10 CN CN201910852485.XA patent/CN110716797A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501498A (zh) * | 2013-08-29 | 2014-01-08 | 中国科学院声学研究所 | 一种基带处理资源分配方法及其装置 |
CN104734991A (zh) * | 2013-12-19 | 2015-06-24 | 中国科学院沈阳自动化研究所 | 一种面向工业回程网的端到端时延保障传输调度方法 |
US20170324677A1 (en) * | 2016-05-04 | 2017-11-09 | Radware, Ltd. | Optimized stream management |
CN107391243A (zh) * | 2017-06-30 | 2017-11-24 | 广东神马搜索科技有限公司 | 线程任务处理设备、装置及方法 |
CN108833299A (zh) * | 2017-12-27 | 2018-11-16 | 北京时代民芯科技有限公司 | 一种基于可重构交换芯片架构的大规模网络数据处理方法 |
CN109831393A (zh) * | 2019-03-10 | 2019-05-31 | 西安电子科技大学 | 面向网络虚拟化的多粒度QoS控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312323A (zh) * | 2021-06-03 | 2021-08-27 | 中国人民解放军国防科技大学 | 并行文件***中降低访问延迟的io请求调度方法及*** |
CN113312323B (zh) * | 2021-06-03 | 2022-07-19 | 中国人民解放军国防科技大学 | 并行文件***中降低访问延迟的io请求调度方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036556B1 (en) | Concurrent program execution optimization | |
US10412021B2 (en) | Optimizing placement of virtual machines | |
EP3729281B1 (en) | Scheduling memory requests with non-uniform latencies | |
CN103999051B (zh) | 用于着色器核心中着色器资源分配的策略 | |
US8655962B2 (en) | Shared address collectives using counter mechanisms | |
TWI614673B (zh) | 用於使資料元件列表能夠有高讀取率之系統及方法 | |
EP3732578B1 (en) | Supporting responses for memory types with non-uniform latencies on same channel | |
JP7050957B2 (ja) | タスクスケジューリング | |
CN103294548A (zh) | 一种基于分布式文件***的io请求调度方法和*** | |
WO2012055319A1 (zh) | 调度tcam查询和刷新消息的方法和装置 | |
TWI704488B (zh) | 網路裝置、用於網路裝置之記憶體系統及操作網路裝置之方法 | |
CN110716797A (zh) | 一种面向多请求来源的ddr4性能平衡调度结构及方法 | |
KR20140096587A (ko) | 기능 유닛들 간의 기능 로직 공유 장치, 방법 및 재구성 가능 프로세서 | |
CN110688209B (zh) | 一种基于二叉树的大窗口访存流量调度缓冲结构及方法 | |
CN107025064B (zh) | 一种低延迟高iops的数据访问方法 | |
CN114564420A (zh) | 多核处理器共享并行总线的方法 | |
WO2023151216A1 (zh) | 图数据处理的方法和芯片 | |
KR20240006559A (ko) | 스케일러블 고속 라운드-로빈 중재기 트리 | |
Li et al. | Optimization of QDR SRAM Controller in Network Processor | |
CN117421098A (zh) | 用于任务调度的方法、设备、板卡及其计算机可读存储介质 | |
CN117908959A (zh) | 用于执行原子操作的方法及其相关产品 | |
CN117539801A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200121 |
|
RJ01 | Rejection of invention patent application after publication |