CN104040506A - 均衡使用共享的存储器***的多个请求器的带宽 - Google Patents
均衡使用共享的存储器***的多个请求器的带宽 Download PDFInfo
- Publication number
- CN104040506A CN104040506A CN201280066363.4A CN201280066363A CN104040506A CN 104040506 A CN104040506 A CN 104040506A CN 201280066363 A CN201280066363 A CN 201280066363A CN 104040506 A CN104040506 A CN 104040506A
- Authority
- CN
- China
- Prior art keywords
- access
- request
- accumulator system
- shared accumulator
- processor
- 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
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims description 63
- 238000003860 storage Methods 0.000 claims description 8
- 230000001052 transient effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 15
- 238000012546 transfer Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
公开一种用于均衡使用共享的存储器***的请求器的带宽的方法。在一个实施例中,这样的方法包括接收对访问共享的存储器***的多个访问请求。每个访问请求源自于耦合到共享的存储器***的不同请求器。该方法然后确定访问请求中的哪个访问请求已经为访问共享的存储器***等待最久。访问请求然后被排序使得在其它访问请求之后向共享的存储器***传输已经等待最久的访问请求。与等待最久的访问请求关联的请求器然后可以在等待最久的访问请求已经被传输之后立即向共享的存储器***传输附加访问请求。也公开一种对应装置和计算机程序产品。
Description
技术领域
本发明涉及用于均衡使用共享的存储器***的多个请求器的带宽的装置和方法。
背景技术
功率消耗和成本减少对于存储设备、比如磁带驱动器是关键问题。典型存储设备、比如磁带驱动器被配备与外部存储器设备进行接口的多个处理器。在某些情况下,多个处理器共享外部DRAM使得可以减少DRAM芯片数目。减少DRAM芯片数目有助于减少电路板的功率消耗、成本和覆盖面积。然而在使用共享的存储器***时,存储设备性能可能在两种方式中受影响。第一,可能负面地影响用于处理器的存储器访问周转时间。第二,存储器共享可能向处理器提供不相等带宽。
在向外部DRAM传输来自处理器的访问请求时,访问请求的周转时间至少部分依赖于DRAM的协议开销。如果在第一访问请求在处理中之时从第二处理器接收第二访问请求,则第二处理器必须等待第一访问请求的处理完成才可以开始第二访问请求的处理。这增加用于第二处理器的周转时间。为了改善在共享的存储器***(比如共享的DDR3SDRAM***)中的周转时间,可以使用两个不同操作模式——存储体交织模式(这里也称为“BI模式”)和连续读取/写入模式(这里也称为“CN”模式)。
在BI模式中操作时,DRAM的多个存储体可以在相同时间开放。控制器可以用交织方式发送对多个开放存储体的访问请求而无需重新开放存储体、由此减少周转时间。在CN模式中的操作可以允许控制器向与先前访问请求相同的存储体和行提交多个访问请求(例如读取和/或写入命令)而无需重新开放该存储体和行、由此减少开销并且改善周转时间。BI模式和CN模式二者提供DRAM总线效率,这又降低需要的时钟频率和消耗的功率。
不同于个人计算机或者服务器***,在存储设备、比如磁带驱动器设备中的多个处理器未必总是被既定为被对称使用。一个处理器可以被指明作为主处理器而其它处理器被指明作为主处理器的次处理器或者从属。次处理器例如可以执行辅助任务、比如伺服***和主机接口任务。作为结果,需要一种向来自主处理器的访问请求提供优先级的仲裁方案。
然而向来自主处理器的访问请求提供优先级可能引起性能问题。例如在其中从多个处理器接收多个访问请求的正常传送(非BI模式传送)期间,可以先向共享的存储器***传送用于主处理器的访问请求。然后可以向共享的存储器***传送用于其它非主处理器的访问请求。可以允许与最后访问请求关联的处理器(其可以是较低优先级处理器)在CN模式中操作,这允许该处理器向共享的存储器***发送具有连续地址的多个访问请求。这向序列中的最后处理器提供附加带宽。遗憾的是,这也可能减少主处理器或者其它处理器的带宽以及增加它们的周转时间。
鉴于前文,需要的是用于均衡向多个处理器(或者其它请求器)提供的带宽的装置和方法,其中多个处理器提交访问请求到共享的存储器***。理想地,这样的装置和方法将均衡用于访问共享的存储器***的处理器(或者其它请求器)中的每个处理器(或者其它请求器)的平均周转时间。
发明内容
已经回应现有技术并且具体回应当前可用装置和方法尚未完全解决的在本领域中的问题和需要来开发本发明。因而,本发明已经被开发为基本上均衡访问共享的存储器***的多个请求器的带宽。本发明的特征和优点将从以下描述和所附权利要求中变得更完全地清楚或者可以通过如下文阐述的本发明的实践来获悉。
与前文一致,这里公开一种用于均衡使用共享的存储器***的请求器的带宽的方法。在一个实施例中,这样的方法包括接收对访问共享的存储器***的多个访问请求。每个访问请求源自于耦合到共享的存储器***的不同请求器。该方法然后确定访问请求中的哪个访问请求为访问共享的存储器***已经等待最久。访问请求然后被排序使得在其它访问请求之后向共享的存储器***传输已经等待最久的访问请求(这里也称为“等待最久的访问请求”)。与等待最久的访问请求关联的请求器然后可以在等待最久的访问请求已经被传输之后立即向共享的存储器***传输附加访问请求。
也这里公开并且要求保护一种对应装置和计算机程序产品。
附图说明
为了将容易理解本发明的优点,将通过参照在附图中举例说明的具体实施例表现以上简要描述的本发明的更具体描述。理解这些附图仅描绘本发明的典型实施例、因此不会视为限制它的范围,将通过使用附图用附加特性和细节描述和说明本发明,在附图中:
图1是示出包括多个处理器、仲裁器和共享的存储器***的***的示例的高层框图;
图2是示出常规仲裁器如何在正常传送(非BI模式传送)期间对多个处理器的访问请求进行排序的时序图;
图3是示出根据本发明的改进的仲裁器如何在正常传送期间对多个处理器的访问请求进行排序的时序图;
图4是提供用于多个处理器的访问请求等待时间的示例的时序图;以及
图5是示出根据本发明的改进的仲裁器在BI模式中操作时如何处理多个处理器的访问请求的时序图。
具体实施方式
将容易理解可以在广泛多种不同配置中布置和设计如这里在各图中一般描述和图示的本发明的部件。因此,如在各图中表示的本发明的实施例的以下更具体描述未旨在于限制如要求保护的本发明的范围、但是仅代表根据本发明的当前设想的实施例的某些示例。将通过参照附图最好地理解当前描述的实施例,其中相似部分通篇由相似标号标示。
所属技术领域的技术人员知道,本发明可以实现为***、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明的各个方面还可以实现为在任何一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置、器件或者任意以上的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。也可以用低级编程语言、比如汇编语言编写用于实施本发明的计算机程序代码。
下面将参照根据本发明示例实施例的方法、装置、***和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
参照图1,图示高层框图,该高层框图示出包括多个处理器102、仲裁器104和共享的存储器***106的***100的示例。如图所示,处理器102包括主处理器102a和一个或者多个辅或者从属处理器102b-d。处理器102生成对在共享的存储器***106中读取或者写入数据或者指令的访问请求。
如图所示,处理器102与仲裁器104进行对接。在仲裁器104以内的请求处置器108可以从处理器102接收访问请求并且在某个指明的序列中向共享的存储器***106传送访问请求。一般而言,在请求处置器108从处理器102接收第一访问请求时,请求处置器108保持来自处理器102的下一(第二)访问请求(如图1中所示“保持”信号指示的那样)。在请求处置器108向共享的存储器***106传送第一访问请求时,请求处置器108释放保持并且从处理器102接收下一(第二)访问请求。
如将与图3和5关联地更具体说明的那样,请求处置器108以尽可能均衡向处理器102中的每个处理器分配的带宽的方式向共享的存储器***106提交访问请求。出于本公开内容的目的,术语“带宽”用来描述向处理由处理器102中的每个处理器生成的访问请求所分配的时间和/或资源。
为了减少协议开销并且提高存储器总线效率,仲裁器104可以包括传送模式确定模块110。更具体而言,传送模式确定模块110确定最高效传送模式(例如BI模式、CN模式等),并且指示请求处置器108使用确定的传送模式。例如,如果来自不同处理器102的访问请求针对存储器116的不同存储体,则传送模式确定模块110可以指示请求处置器108在BI模式中传输访问请求。在另一方面,如果访问请求是在传送周期中的最后访问请求并且与该访问请求关联的处理器102具有针对在存储器116中的相同存储体和行的附加访问请求,则传送模式确定模块110可以指示请求处置器108在CN模式中操作。请求处置器108然后可以根据确定的传送模式向共享的存储器***106传送访问请求。
传送顺序确定模块112可以用来确定从仲裁器104向共享的存储器***106传输访问请求的顺序(即序列)。一般而言,可以执行这一点而目的在于均衡或者至少均匀化用于处理器102中的每个处理器的带宽。这将保证主处理器102a或者其它处理器102不会被无意地匮乏(inadvertently starved)或者提供与其它处理器102比较的减少的带宽。
如图所示,共享的存储器***106包括存储器控制器114(例如DRAM控制器114)和存储器116(例如一个或者多个DRAM芯片116)。存储器控制器114可以管理去往和来自存储器116的数据的流。如图所示,请求处置器108将访问请求与在读取和/或向存储器116写入时使用的传送模式一起向存储器控制器114传输。
应当认识仲裁器104可以用来仲裁来自除了处理器102之外的请求器的访问请求。出于本公开内容的目的,“请求器”视为能够生成对访问共享的存储器***106的访问请求的任何***、设备或者模块。处理器102简单地是一个类型的请求器。仲裁器104可以仲裁仅处理器102的访问请求、仅非处理器请求器的访问请求或者处理器102和非处理器请求器的混合的访问请求。
参照图2,图示时序图,该时序图示出常规仲裁器如何在正常传送(非BI模式传送)期间处理多个处理器的访问请求。如图所示,传送被划分成多个“传送周期”200。在传送周期200期间,仲裁器104从一个或者多个处理器102接收访问请求并且向共享的存储器***106依次传送访问请求。如图所示,主处理器102a的访问请求被给予优先级。因此,在第一传送周期200a期间,先传送与主处理器102a关联的访问请求,跟随有其它处理器102的访问请求。
在一个或者多个处理器102具有针对存储器116的相同存储体和行的附加访问请求的情况下,仅与最后访问请求关联的处理器102(即“处理器K”)被允许在连续模式(即CN模式)中连续传送附加访问请求(由影线框代表)。因此,如图2中所示,可以对于处理器K向共享存储器***106传送多个访问请求。这向与最后访问请求关联的处理器102提供附加带宽(因为它能够传送多个访问请求),但是具有使直至用于最后处理器102的访问请求被传送才能传送附加访问请求的其它处理器102以及主处理器102a匮乏的所不希望的效果。也就是说,主处理器102a和其它处理器102必须在它们可以发送它们的下一访问请求之前等待与处理器K关联的所有访问请求完成。如图2中所示,在附加传送周期200b、200c,200d被执行时重复相同问题本身。
参照图3,图示时序图,该时序图示出根据本发明的改进的仲裁器104如何处理多个处理器102的访问请求。在传送周期300期间,仲裁器104从一个或者多个处理器102接收访问请求、确定传送模式和传送顺序并且根据确定的传送模式和传送顺序向共享的***存储器106依次传送访问请求。如图所示,修改传送顺序使得在其它访问请求之后向共享的存储器***106传送已经等待最久的访问请求(这里也称为“等待最久的访问请求”)。这允许与等待最久的访问请求关联的处理器102在连续(CN)模式中传送附加访问请求。如图3中所示,以这一方式修改传送协议允许用于处理器102中的每个处理器的访问请求交替地在传送顺序中最后进行。这均衡或者至少有些均匀化处理器102中的每个处理器的带宽。
例如图3假设仲裁器104在基本上相同时间从处理器102中的每个处理器接收访问请求。如图所示,仲裁器104如第一传送周期300a中所示在传送顺序中最后传送与主处理器102a关联的访问请求(以便向主处理器102a给予较其它处理器102而言的优先级)。这允许主处理器102a(即处理器1)在第一传送周期300a中如影线框所示以CN模式传送附加访问请求。
由于在第一传送周期300a中向共享的存储器***106先传送与处理器2关联的访问请求,所以与处理器2关联的下一访问请求将在第二传送周期300b开始时已经等待最久。因此,在第二传送周期300b中,在传送顺序中最后传送与处理器2关联的访问请求。这允许处理器2在第二传送周期300b中如影线框所示以CN模式传送附加访问请求。
相似地,由于在第二传送周期300b中先传送与处理器3关联的访问请求,所以与处理器3关联的下一访问请求将在第三传送周期300c开始时已经等待最久。因此,在第三传送周期300c中,在传送顺序中最后传送与处理器3关联的访问请求。这允许处理器3在第三传送周期300c中如影线框所示以CN模式传送附加访问请求。
这一过程对于附加传送周期300继续、由此允许每个处理器102在传送顺序中为最后。这又通过向每个处理器102给予以CN模式传输访问请求的机会,来在处理器102之间基本上均衡带宽。它也基本上均衡了用于处理器102中的每个处理器的平均周转时间。最终地,该过程重复,并且主处理器102a再次能够在传送顺序中最后传送。
在根据本发明的某些实施例中,在给定的传送周期300中在CN模式中操作的处理器102向共享的***存储器106传送的附加访问请求的数目被限于指定的数目。这将保证一些处理器102不会消耗太多带宽而有害于其它处理器102。这也将有助于保证用于访问请求的周转时间未超过可接受的限制。指定的数目可以是设置的数目、算法或者其它标准建立的可变数目、用户可配置的数目等。
参照图4,图示时序图,该时序图示出用于多个处理器102的访问请求等待时间。这一时序图示出处理器102在图3中所示第一传送周期300a期间的等待时间。如图4中所示,在第一传送周期300a期间,在传送顺序中先向共享的存储器***106传送与处理器2关联的访问请求。一旦这发生,计数器保持处理器2必须在它能够传输它的下一访问请求之前等待的时间量的跟踪。这同样对其它处理器102中的每个其它处理器发生。也就是说,在为每个处理器102传送访问请求之后,计数器保持已经在每个处理器102能够传送它的下一访问请求之前流逝的时间量的跟踪。
如图4中所示,在第二传送周期300b开始时,处理器2将具有最长等待时间的访问请求(如影线条400所示),因为与处理器2关联的访问请求在第一传送周期300a期间被第一个传送。因此,在第二传送周期300b期间,将在传送顺序中最后发送与处理器2关联的访问请求。这将允许处理器2以CN模式传送附加访问请求。
参照图5,图示时序图,该时序图示出根据本发明的改进的仲裁器104在BI模式中操作时如何对多个处理器102的访问请求进行排序。以下描述假设可以在存储体交织(BI)模式中传送从处理器102接收的请求(即访问请求针对存储器116的不同存储体)并且在存储器116中的存储体数目为两个。在现实中,存储器116可以具有多于两个存储体并且可以能够执行对被允许在任何一个时间开放的最大数目的存储体的交织访问。在BI模式中传送访问请求时,传送周期500明显地不同于在正常传送期间使用的传送周期。
图5假设从处理器102接收的所有访问请求具有相同等待时间。在这样的情况下,选择处理器1为在第一传送周期500a中的第一请求器,因为它是主处理器102a。可以选择其它处理器102中的任何其它处理器在传送顺序中为第二,只要它们访问存储器116的与处理器1不同的存储体。在这一情况下,选择处理器2为第二请求器,这依赖于假设来自处理器1和处理器2的访问请求针对在存储器116中的不同存储体。因此,在BI模式中在第一传送周期500a中传送来自处理器1和2的访问请求。
假设处理器1和处理器2具有针对存储器116的与它们的初始访问请求相同的存储体和行的附加访问请求,处理器1和2然后可以如影线框中所示以CN模式提交附加访问请求。在某些实施例中,处理器1或者2传送的附加访问请求的数目可以如先前讨论的那样被限于指定的数目,以免使其它处理器102匮乏。在所示实施例中,为处理器1和处理器2向共享的存储器***106提交的访问请求交替,但是这未必将是在现实场景中的情况。附加访问请求将可能按照它们被仲裁器104接收的顺序被传送到共享的存储器***106。
在第二或者更晚传送周期500b-d中,访问请求按照等待时间被降序排序。由于处理器3和4具有大于处理器1和2的等待时间,所以处理器3和4可以在第二传送周期500b中传送它们的访问请求,这假设来自处理器3和4的访问请求针对在存储器116中的不同存储体。一旦传送了用于处理器3和4的访问请求,处理器3和4可以继续以CN模式向它们的相应存储体提交访问请求,这假设它们具有涉及在存储器116中的相同存储体和行的附加访问请求。在如图5中所示以上描述的方法中,可以对于其它处理器102执行附加传送周期500。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (20)
1.一种用于均衡使用共享的存储器***的请求器的带宽的方法,所述方法包括:
接收对访问共享的存储器***的多个访问请求,每个访问请求源自于耦合到所述共享的存储器***的不同请求器;
确定所述访问请求中的哪个访问请求已经为访问所述共享的存储器***等待最久;
对所述访问请求进行排序,使得在其它访问请求之后向所述共享的存储器***传输已经等待最久的所述访问请求(下文为“等待最久的访问请求”);以及
使与所述等待最久的访问请求关联的请求器能够在所述等待最久的访问请求已经被传输之后立即向所述共享的存储器***传输附加访问请求。
2.根据权利要求1所述的方法,还包括在所述多个访问请求中的至少两个访问请求针对所述共享的存储器***的不同存储体的情况下执行以下操作:
按照等待时间对所述至少两个访问请求降序排序;
以交织方式向所述共享的存储器***的所述不同存储体传输所述至少两个访问请求;以及
使与所述至少两个访问请求关联的请求器能够在所述至少两个访问请求已经被传输之后立即以交织方式向所述共享的存储器***传输附加访问请求。
3.根据权利要求1所述的方法,其中传输附加访问请求包括传输多至指定的数目的附加访问请求。
4.根据权利要求3所述的方法,其中所述指定的数目是用户可配置的数目。
5.根据权利要求1所述的方法,其中对所述访问请求进行排序包括从用于向所述共享的存储器***传输的最长等待时间到最短等待时间对除了所述等待最久的访问请求之外的所述访问请求进行排序。
6.根据权利要求1所述的方法,其中传输附加访问请求包括传输针对与所述等待最久的访问请求相同的存储体和行的附加访问请求。
7.根据权利要求1所述的方法,还包括在所有所述访问请求已经等待相同时间量的情况下,在其它访问请求之后向所述共享的存储器***传输与主请求器关联的访问请求。
8.一种用于均衡使用共享的存储器***的请求器的带宽的装置,所述装置包括:
用于接收对访问共享的存储器***的多个访问请求的仲裁器,每个访问请求源自于耦合到所述共享的存储器***的不同请求器;
所述仲裁器还被配置为确定所述访问请求中的哪个访问请求已经为访问所述共享的存储器***等待最久;
所述仲裁器还被配置为对所述访问请求进行排序,使得在其它访问请求之后向所述共享的存储器***传输已经等待最久的所述访问请求(下文为“等待最久的访问请求”);以及
所述仲裁器还被配置为使与所述等待最久的访问请求关联的请求器能够在所述等待最久的访问请求已经被传输之后立即向所述共享的存储器***传输附加访问请求。
9.根据权利要求8所述的装置,其中所述仲裁器还被配置为在所述多个访问请求中的至少两个访问请求针对所述共享的存储器***的不同存储体的情况下执行以下操作:
按照等待时间对所述至少两个访问请求降序排序;
以交织方式向所述共享的存储器***的所述不同存储体传输所述至少两个访问请求;以及
使与所述至少两个访问请求关联的请求器能够在所述至少两个访问请求已经被传输之后立即以交织方式向所述共享的存储器***传输附加访问请求。
10.根据权利要求8所述的装置,其中所述仲裁器仅传输多至指定的数目的附加访问请求。
11.根据权利要求10所述的装置,其中所述指定的数目是用户可配置的数目。
12.根据权利要求8所述的装置,其中所述仲裁器被配置用于从用于向所述共享的存储器***传输的最长等待时间到最短等待时间对除了所述等待最久的访问请求之外的所述访问请求进行排序。
13.根据权利要求8所述的装置,其中所述附加访问请求是具有连续地址的附加访问请求。
14.根据权利要求8所述的装置,其中所述仲裁器还被配置用于在所有所述访问请求已经等待相同时间量的情况下,在其它访问请求已经被传输之后向所述共享的存储器***传输与主请求器关联的访问请求。
15.一种用于均衡使用共享的存储器***的请求器的带宽的计算机程序产品,所述计算机程序产品包括非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质具有在其中存储的计算机可用程序代码,所述计算机可用程序代码包括:
用于接收对访问共享的存储器***的多个访问请求的计算机可用程序代码,每个访问请求源自于耦合到所述共享的存储器***的不同请求器;
用于确定所述访问请求中的哪个访问请求已经为访问所述共享的存储器***等待最久的计算机可用程序代码;
用于对所述访问请求进行排序、使得在其它访问请求之后向所述共享的存储器***传输已经等待最久的所述访问请求(下文为“等待最久的访问请求”)的计算机可用程序代码;以及
用于使与所述等待最久的访问请求关联的请求器能够在所述等待最久的访问请求已经被传输之后立即向所述共享的存储器***传输附加访问请求的计算机可用程序代码。
16.根据权利要求15所述的计算机程序产品,还包括用于在所述多个访问请求中的至少两个访问请求针对所述共享的存储器***的不同存储体的情况下执行以下操作的计算机可用程序代码:
按照等待时间对所述至少两个访问请求降序排序;
以交织方式向所述共享的存储器***的所述不同存储体传输所述至少两个访问请求;以及
使与所述至少两个访问请求关联的请求器在所述至少两个访问请求已经被传输之后立即以交织方式向所述共享的存储器***传输附加访问请求。
17.根据权利要求15所述的计算机程序产品,其中传输附加访问请求包括传输多至指定的数目的附加访问请求。
18.根据权利要求15所述的计算机程序产品,其中对所述访问请求进行排序包括从用于向所述共享的存储器***传输的最长等待时间到最短等待时间对除了所述等待最久的访问请求之外的所述访问请求进行排序。
19.根据权利要求15所述的计算机程序产品,其中传输附加访问请求包括传输具有连续地址的附加访问请求。
20.根据权利要求15所述的计算机程序产品,还包括用于在所有所述访问请求已经等待相同时间量的情况下、在其它访问请求之后向所述共享的存储器***传输与主请求器关联的访问请求的计算机可用程序代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/344,941 | 2012-01-06 | ||
US13/344,941 US9208002B2 (en) | 2012-01-06 | 2012-01-06 | Equalizing bandwidth for multiple requesters using a shared memory system |
PCT/IB2012/057136 WO2013102809A1 (en) | 2012-01-06 | 2012-12-10 | Equalizing bandwidth for multiple requesters using a shared memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104040506A true CN104040506A (zh) | 2014-09-10 |
CN104040506B CN104040506B (zh) | 2017-05-31 |
Family
ID=48744771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280066363.4A Expired - Fee Related CN104040506B (zh) | 2012-01-06 | 2012-12-10 | 均衡使用共享的存储器***的多个请求器的带宽 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9208002B2 (zh) |
CN (1) | CN104040506B (zh) |
DE (1) | DE112012005572B4 (zh) |
GB (1) | GB2512548B (zh) |
WO (1) | WO2013102809A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055495A (zh) * | 2015-04-14 | 2016-10-26 | 三星电子株式会社 | 用于控制半导体装置的方法 |
CN114402309A (zh) * | 2019-09-19 | 2022-04-26 | 脸谱科技有限责任公司 | 具有多存储体、多端口分布式共享存储器的人工现实*** |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9245496B2 (en) * | 2012-12-21 | 2016-01-26 | Qualcomm Incorporated | Multi-mode memory access techniques for performing graphics processing unit-based memory transfer operations |
US11003459B2 (en) * | 2013-03-15 | 2021-05-11 | Intel Corporation | Method for implementing a line speed interconnect structure |
JP5911548B1 (ja) * | 2014-10-23 | 2016-04-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム |
US10223032B2 (en) | 2017-04-28 | 2019-03-05 | International Business Machines Corporation | Queue control for shared memory access |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532507B1 (en) * | 1999-05-28 | 2003-03-11 | National Semiconductor Corporation | Digital signal processor and method for prioritized access by multiple core processors to shared device |
US20040006666A1 (en) * | 2002-07-02 | 2004-01-08 | Moss Robert W. | Methods and structure for using a memory model for efficient arbitration |
US20050132146A1 (en) * | 2003-12-13 | 2005-06-16 | Samsung Electronics Co., Ltd. | Arbiter capable of improving access efficiency of multi-bank memory device, memory access arbitration system including the same, and arbitration method thereof |
US7062582B1 (en) * | 2003-03-14 | 2006-06-13 | Marvell International Ltd. | Method and apparatus for bus arbitration dynamic priority based on waiting period |
US20080162771A1 (en) * | 2004-12-23 | 2008-07-03 | International Business Machines Corproation | Bus arbitration system |
US20090006165A1 (en) * | 2007-06-26 | 2009-01-01 | Chee Hak Teh | Demotion-based arbitration |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5072420A (en) | 1989-03-16 | 1991-12-10 | Western Digital Corporation | FIFO control architecture and method for buffer memory access arbitration |
JP2703668B2 (ja) | 1991-03-18 | 1998-01-26 | 株式会社日立製作所 | データ転送制御装置および磁気ディスク制御装置 |
US5241632A (en) * | 1992-01-30 | 1993-08-31 | Digital Equipment Corporation | Programmable priority arbiter |
US6070205A (en) | 1997-02-17 | 2000-05-30 | Ssd Company Limited | High-speed processor system having bus arbitration mechanism |
US6266718B1 (en) | 1998-10-14 | 2001-07-24 | Micron Technology, Inc. | Apparatus for controlling data transfer operations between a memory and devices having respective latencies |
JP3820831B2 (ja) | 2000-02-08 | 2006-09-13 | 富士ゼロックス株式会社 | メモリ制御方法及び装置 |
JP2002312309A (ja) | 2001-04-09 | 2002-10-25 | Nec Eng Ltd | 調停回路及び調停方法 |
US7484016B2 (en) | 2004-06-30 | 2009-01-27 | Intel Corporation | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
US7360035B2 (en) | 2004-09-01 | 2008-04-15 | International Business Machines Corporation | Atomic read/write support in a multi-module memory configuration |
JP2006099199A (ja) | 2004-09-28 | 2006-04-13 | Seiko Epson Corp | メモリアクセス要求の調停 |
US8560795B2 (en) * | 2005-06-30 | 2013-10-15 | Imec | Memory arrangement for multi-processor systems including a memory queue |
KR101305490B1 (ko) | 2005-10-01 | 2013-09-06 | 삼성전자주식회사 | 메모리 맵핑 방법 및 장치 |
JP5068300B2 (ja) | 2009-11-24 | 2012-11-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム |
US9268721B2 (en) | 2010-11-25 | 2016-02-23 | International Business Machines Corporation | Holding by a memory controller multiple central processing unit memory access requests, and performing the multiple central processing unit memory requests in one transfer cycle |
-
2012
- 2012-01-06 US US13/344,941 patent/US9208002B2/en not_active Expired - Fee Related
- 2012-12-10 CN CN201280066363.4A patent/CN104040506B/zh not_active Expired - Fee Related
- 2012-12-10 WO PCT/IB2012/057136 patent/WO2013102809A1/en active Application Filing
- 2012-12-10 GB GB1412792.2A patent/GB2512548B/en active Active
- 2012-12-10 DE DE112012005572.1T patent/DE112012005572B4/de active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532507B1 (en) * | 1999-05-28 | 2003-03-11 | National Semiconductor Corporation | Digital signal processor and method for prioritized access by multiple core processors to shared device |
US20040006666A1 (en) * | 2002-07-02 | 2004-01-08 | Moss Robert W. | Methods and structure for using a memory model for efficient arbitration |
US7062582B1 (en) * | 2003-03-14 | 2006-06-13 | Marvell International Ltd. | Method and apparatus for bus arbitration dynamic priority based on waiting period |
US20050132146A1 (en) * | 2003-12-13 | 2005-06-16 | Samsung Electronics Co., Ltd. | Arbiter capable of improving access efficiency of multi-bank memory device, memory access arbitration system including the same, and arbitration method thereof |
US20080162771A1 (en) * | 2004-12-23 | 2008-07-03 | International Business Machines Corproation | Bus arbitration system |
US20090006165A1 (en) * | 2007-06-26 | 2009-01-01 | Chee Hak Teh | Demotion-based arbitration |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055495A (zh) * | 2015-04-14 | 2016-10-26 | 三星电子株式会社 | 用于控制半导体装置的方法 |
CN114402309A (zh) * | 2019-09-19 | 2022-04-26 | 脸谱科技有限责任公司 | 具有多存储体、多端口分布式共享存储器的人工现实*** |
Also Published As
Publication number | Publication date |
---|---|
WO2013102809A1 (en) | 2013-07-11 |
GB2512548A (en) | 2014-10-01 |
GB201412792D0 (en) | 2014-09-03 |
US9208002B2 (en) | 2015-12-08 |
GB2512548B (en) | 2020-04-22 |
DE112012005572B4 (de) | 2018-07-26 |
US20130179645A1 (en) | 2013-07-11 |
CN104040506B (zh) | 2017-05-31 |
DE112012005572T5 (de) | 2014-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104040506A (zh) | 均衡使用共享的存储器***的多个请求器的带宽 | |
CN110750351B (zh) | 多核任务调度器、多核任务调度方法、装置及相关产品 | |
US10437480B2 (en) | Intelligent coded memory architecture with enhanced access scheduler | |
JP4845522B2 (ja) | システムバス制御装置、集積回路およびデータ処理システム | |
JP2009508247A (ja) | バス調停に関する方法及びシステム | |
JP2021166032A (ja) | ネットワークオンチップによるデータ処理方法及び装置 | |
CN111258935A (zh) | 数据传输装置和方法 | |
CN111860804B (zh) | 分形计算装置、方法、集成电路及板卡 | |
US20140068625A1 (en) | Data processing systems | |
US20190044883A1 (en) | NETWORK COMMUNICATION PRIORITIZATION BASED on AWARENESS of CRITICAL PATH of a JOB | |
CN104598304B (zh) | 用于作业执行中的调度的方法和装置 | |
JP2013117790A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN111209244B (zh) | 数据处理装置及相关产品 | |
US20130238871A1 (en) | Data processing method and apparatus, pci-e bus system, and server | |
CN109558210A (zh) | 一种虚拟机应用主机gpu设备的方法及*** | |
CN103197917A (zh) | 计算线程阵列粒度执行抢占 | |
CN111258769B (zh) | 数据传输装置和方法 | |
EP3495960A1 (en) | Program, apparatus, and method for communicating data between parallel processor cores | |
US20090144523A1 (en) | Multiple-simd processor for processing multimedia data and arithmetic method using the same | |
CN111209230B (zh) | 数据处理装置、方法及相关产品 | |
CN113254385A (zh) | 一种网络结构、并行推理模型的编译加载方法及芯片*** | |
US20150254118A1 (en) | Virtualized communication sockets for multi-flow access to message channel infrastructure within cpu | |
US20140013148A1 (en) | Barrier synchronization method, barrier synchronization apparatus and arithmetic processing unit | |
CN111209245B (zh) | 数据处理装置、方法及相关产品 | |
CN111210011B (zh) | 数据处理装置及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170531 |