CN102662891A - 基于亲和性感知的dma缓冲区管理方法及装置 - Google Patents

基于亲和性感知的dma缓冲区管理方法及装置 Download PDF

Info

Publication number
CN102662891A
CN102662891A CN2012100783657A CN201210078365A CN102662891A CN 102662891 A CN102662891 A CN 102662891A CN 2012100783657 A CN2012100783657 A CN 2012100783657A CN 201210078365 A CN201210078365 A CN 201210078365A CN 102662891 A CN102662891 A CN 102662891A
Authority
CN
China
Prior art keywords
buffer zone
buffer
compatibility
data
affinity
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
CN2012100783657A
Other languages
English (en)
Other versions
CN102662891B (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.)
Beijing Zhongzhi Core Technology Co Ltd
Original Assignee
BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
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 BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING filed Critical BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Priority to CN201210078365.7A priority Critical patent/CN102662891B/zh
Publication of CN102662891A publication Critical patent/CN102662891A/zh
Application granted granted Critical
Publication of CN102662891B publication Critical patent/CN102662891B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明涉及一种基于亲和性感知的DMA缓冲区管理方法和装置,包括1)标识缓冲区的亲和性;2)对于输入过程,分配亲和性较低的缓冲区;由于缓冲区中大部分的数据位于Cache之外,避免部分软件一致性维护操作,其中包括物理地址计算和一致性维护指令的开销。3)对于输出过程,分配亲和性较高的缓冲区。由于缓冲区中大部分的数据在Cache中,当把I/O数据从用户态缓冲区拷贝到内核态缓冲区时,将数据直接写入Cache,避免Cache替换将原本属于应用的数据写回主存引入的开销,同时使得应用重用度高的数据尽量驻留在Cache中,减少Cache的污染问题。

Description

基于亲和性感知的DMA缓冲区管理方法及装置
技术领域
本发明涉及到计算机系统的内存管理方法,一种基于亲和性感知的DMA缓冲区管理方法及装置。
背景技术
外设的输入输出各需要经历4个步骤。输入的4个步骤是:(1)将数据从外设复制到内核空间。如果没有提供DMA(direct memory access)方式,则复制操作由CPU执行,数据将两次经过存储总线;(2)对数据进行校验和计算,此操作涉及到所有的传输数据,数据将再次经过存储总线;(3)将数据从内核复制到用户空间,此操作必须由CPU执行,数据跨越内核与用户空间,经过两次存储总线;(4)应用从用户空间获取数据。与接收过程相对,输出也需要类似的4个步骤。显然,在整个输入/输出过程中,数据最多会6次经过存储总线,存储总线需要提供6倍于I/O数据流的带宽。
随着片上多处理器系统的普及,多个线程会共享使用片上Cache资源,包括应用程序和内核线程,其中I/O处理属于典型的内核线程。但是传统的最近最少使用(LRU)的Cache替换策略并不能区分不同线程的访问,因此一个线程的Cache失效可能会替换属于另一个线程的Cache块,该问题被称为线程间干扰。为了减少线程间的干扰,相关工作使用亲和性描述数据的分布与访存性能的关系。进程在包含其所需数据的处理器上运行,能减少数据在处理器之间的流动,提高处理器的访存效率,即数据在存储层次中的位置决定了访存的开销。
特别是在近几年高速带宽和设备的出现,系统含有大量用于处理I/O的线程,其与应用程序并行执行。因此,Cache的干扰问题不仅仅局限于应用程序之间,在I/O和应用之间同样会存在Cache干扰的问题。由于I/O的数据重用度较低,并且每次外设进行I/O时,Cache中的部分数据会因替换而写回主存。一旦设备I/O的过程结束,被写回的数据需要再次被使用时,又需要从主存中读取。
因此,针对处理器中各个线程间共享的存储资源,特别是对于资源受限和设计较为简单的嵌入式系统,需要借助操作系统来管理资源,更需要从软件的角度提供一种改进的内存管理方法,方法的灵活性和通用性,从而实现对系统性能的优化。
发明内容
本发明要解决的技术问题是:提出一种基于亲和性感知的DMA缓冲区管理方法及装置,解决如何减少I/O处理过程引入的偏外存储访问,包含两个方面:1.)降低I/O处理过程自身的访存开销;2.)缓解I/O处理过程引入的Cache污染问题。
本发明所采用的技术方案为:一种基于亲和性感知的DMA缓冲区管理方法,包括:以亲和性的高低将缓冲区分为两类,并确定不同I/O处理过程对缓冲区亲和性的需求。并使用纯软件的手段,在操作系统层来标识缓冲区的亲和性。
具体的说,以输出处理过程的特点来标识低亲和性缓冲区,具体包括:输出过程中,由于一致性维护操作后,处理器不再访问输出缓冲区,所以将最近释放的输出缓冲区记录为低亲和性。
以输入处理过程的特点来标识高亲和性缓冲区,具体包括:当输入过程中,缓冲区释放前,处理器需要将输入缓冲区中的数据拷贝到用户缓冲区,所以将最近释放的输入缓冲区标识为高亲和性。
将不同亲和性的缓冲区集中管理,具体包括:所有最近被释放的低亲和性缓冲区存放于低亲和性链表中,最近被释放的高亲和性缓冲区存放于高亲和性链表中。
针对不同亲和性的缓冲区采用不同的管理策略,具体包括:对于高亲和性的缓冲区采用先进先出的管理策略,使高亲和性的缓冲区能尽快被重用,避免高亲和性缓冲区中的数据被挤出Cache;对于低亲和性的缓冲区采用后进先出的管理策略,使推迟低亲和性缓冲区被重用的时机,保证缓冲区中尽可能多的数据位于Cache之外。
同时,本发明还提供了一种基于亲和性感知的DMA缓冲区管理装置,包括缓冲区亲和性分析模块,缓冲区收集模块和缓冲区管理模块,其中:
缓冲区亲和性分析模块,用于分析系统中缓冲区亲和性的高低;高亲和性的缓冲区中的数据会大量占据Cache资源;而亲和性低的缓冲区中的数据会大量位于Cache之外;该模块将被释放缓冲区的亲和性信息传递给缓冲区收集模块;
缓冲区收集模块,用于收集被标了亲和性的缓冲区;其中高亲和性和低亲和性的缓冲区被分开存放,分别保存于两个不同的链表中,便于后续分配缓冲区时能够快速定位不同亲和性的缓冲区;缓冲区收集模块将链表中是否含有对应缓冲区的信息传递给缓冲区分配模块,供后续的分配过程进行决策;
缓冲区管理模块,用于给不同的I/O处理过程分配对应的缓冲区;其中,给输出过程分配亲和性较高的缓冲区,减少I/O处理过程的偏外存储访问;给输入过程分配亲和性较低的缓冲区,减少一致性维护操作的开销。
本发明所述缓冲区管理模块包括低亲和性缓冲区管理单元和高亲和性缓冲区管理单元,其中:
输入缓冲区分配单元,用于给输入过程分配缓冲区;对于输入过程,由对应的设备驱动程序向内存管理器提出分配请求,因此所有在驱动程序中分配的DMA缓冲区可以被标识为输入缓冲区;在分配输入缓冲区时,如果LAL链表非空,直接从该链表头部获取缓冲区;否则,使用默认的分配函数获取函数;在释放输入缓冲区时,如果HAL链表非满,将缓冲区插入链表头部;否则,使用默认的函数释放缓冲区;
输出缓冲区分配单元,用于给输出过程分配缓冲区;对于输出过程,在驱动程序以外的范围内申请的DMA缓冲区可以被标识为输出缓冲区;在分配输入缓冲区时,如果HAL链表非空,直接从该链表头部获取缓冲区;否则,使用默认的分配函数获取函数;在释放输入缓冲区时,如果LAL链表非满,将缓冲区插入链表尾部;否则,使用默认的函数释放缓冲区。
本发明的有益效果是:将亲和性的概念引入到DMA缓冲区的管理中,通过操作系统实时追踪缓冲区的亲和性,即明确缓冲区中的数据在存储层次中的分布状况。根据输入/输出过程的特征分配不同特性的缓冲区。对于输入过程,分配亲和性低的缓冲区,减少软件维护I/O数据一致性的开销;对于输出过程,分配亲和性高的缓冲区,在用户态缓冲区向内核态缓冲区拷贝数据时,使得处理器的访存能直接在Cache中命中,避免从主存中读回数据,同时由于没有数据被替换出Cache,因此也不需要将数据写回。本发明完全工作在系统软件层,直接操作系统系统提供的信息来追踪缓冲区的亲和性,既不依赖特殊的底层硬件,也不需要使用模拟器来来收集处理器的访存序列,同时避免使用LRU Stack模型引入的较大开销。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为基于亲和性感知的DMA缓冲区管理方法的实施方法;
图2为本发明标识缓冲区亲和性方法的示意图;
图3是本发明的输出缓冲区分配的示意图;
图4是本发明的输入缓冲区分配的示意图;
图5是本发明的基于亲和性感知的DMA缓冲区管理装置实施例的结构示意图。
具体实施方式
现在结合附图和优选实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
本发明利用I/O处理过程中处理器访存和一致性维护操作的时机,追踪缓冲区的亲和性。通过修改操作系统的内存分配器,使用两个链表分别管理亲和性不同的缓冲区。对于不同的I/O处理过程,分别向对应的链表中申请缓冲区。
本发明提供的基于亲和性感知的DMA缓冲区管理方法实例,其流程如图2所示,包括如下步骤:
110:根据I/O处理过程中处理器访存和一致性维护操作的时机,标识最近释放的DMA缓冲区的亲和性。
为了明确缓冲区的亲和性,需要知道缓冲区当中数据在存储层次中的分布。本发明基于I/O处理过程的特征来追踪缓冲区的亲和性,如图2所示。对于输入过程,由于输出过程结束前,操作系统需要在内核态和用户态缓冲区之间拷贝I/O数据。因此,最近被释放的输入缓冲区能够暂时维持较高的亲和性。对于输出过程,一旦操作系统完成一致性维护操作后,知道缓冲区被释放处理器都不会读写缓冲区中的数据,因此输出缓冲区能够维持较低的亲和性。
120:将不同的亲和性的缓冲区集中管理,以便后续的分配过程能够快速获取对应的缓冲区。
本发明使用两个链表来存放被释放的缓冲区。HAL(High Affinity List)存放接收过程释放的缓冲区,LAL(Low Affinity List)存放发送过程释放的缓冲区,并且链表分别包含头指针和尾指针。
130:根据不同的输入/输出过程,从对应的链表中获取不同亲和性的缓冲区。
本发明分别为两个链表添加对应的分配和释放函数:Alloc_in_HAL、Alloc_in_LAL、Free_to_HAL和Free_to_LAL。前两个函数负责在对应的链表中申请缓冲区,后两个函数将缓冲区插入对应链表。操作系统不能无止境地向链表中填充缓冲区,特别是在发送和接收的数据量不均衡的情况下,会占用大量的内存资源,甚至导致OS无法为应用程序分配物理内存。因此,本文对HAL和LAL的长度进行了限制,二者的最大长度均为2048。
如图3所示,表示输出过程DMA缓冲区分配和释放实例各步骤中的具体实施步骤,包括:
310:分配输出缓冲区。根据HAL链表的状态判断是否能获取亲和性高的缓冲区;如果HAL不为空,直接从HAL链表的头部获取缓冲区;否则,通过系统默认的内存分配函数获取缓冲区。
320:数据拷贝。由操作系统将I/O数据从用户缓冲区拷贝至DMA缓冲区。
330:一致性维护。有操作系统进行I/O一致性维护操作,将I/O数据写回到主存,保证DMA缓冲区中的数据在存储层次中只有一个数据副本。这使得外设能够获取最近被修改的I/O数据。
340:将数据写入外设。由驱动程序触发DMA操作,DMA将缓冲区中的I/O数据搬移到外设。
350:释放输出缓冲区。根据LAL链表的状态决定缓冲区释放后所属的位置。如果释放时,LAL链表未满,缓冲区插入LAL链表的尾部;否则,调用默认的内存释放函数。
当缓冲区被插入LAL链表时,在头一个字中记录输出数据的字节数(记为output_data_size)。由于这部分数据经过一致性维护操作后不会存在与Cache中,因此该缓冲区下一次作为输入缓冲区使用时,可以跳过对前output_data_size个字节的一致性维护操作。
如图4所示,表示输入过程DMA缓冲区分配和释放实例各步骤中的具体实施步骤,包括:
410:分配输入缓冲区。根据LAL链表的状态判断是否能获取亲和性低的缓冲区;如果LAL不为空,直接从LAL链表的头部获取缓冲区;否则,通过系统默认的内存分配函数获取缓冲区。
420:一致性维护。由操作系统进行I/O一致性维护操作,对缓冲区中的I/O数据进行Cache Invalidate操作,避免缓冲区中的数据在Cache和主存中出现不一致。
430:将数据写入主存。由驱动程序触发DMA操作,DMA将外设中的数据写入到DMA缓冲区。
440:数据拷贝。处理器将DMA缓冲区中的数据拷贝到用户缓冲区。
450:释放输入缓冲区。根据HAL链表的状态决定缓冲区释放后所属的位置。如果释放时,HAL链表未满,缓冲区插入HAL链表的头部;否则,调用默认的内存释放函数。
本发明通过I/O处理过程的特征,实时追踪被释放缓冲区的亲和性,无需特殊硬件或代码插桩,保证了整个优化过程的低开销。另外通过两个独立的链表管理最近被释放的缓冲区,使得被释放的缓冲区尽快被重用。例如,DMA缓冲区被释放后,缓冲区中的数据不回再被重用,即无用的数据占据了Cache行。通过传统随机分配DMA缓冲区的方式,会使数据占据其它包含有效数据的Cache行,导致重用度高的数据被替换。通过集中管理缓冲区,被释放的缓冲区能立即在下一次I/O处理过程中被再次使用,即后续的I/O数据使用之前包含无效数据的Cache行,缓解I/O处理过程带来的Cache污染。
本发明根据上述方法实施例,相应地还提供了一种基于亲和性感知的DMA缓冲区管理装置实施例,包括相互连接的缓冲区亲和性分析模块,缓冲区收集模块,缓冲区管理模块,其中:
缓冲区亲和性分析模块,用于分析系统中缓冲区亲和性的高低。高亲和性的缓冲区中的数据会大量占据Cache资源;而亲和性低的缓冲区中的数据会大量位于Cache之外。该模块将被释放缓冲区的亲和性信息传递给缓冲区收集模块。
缓冲区收集模块,用于收集被标了亲和性的缓冲区。其中高亲和性和低亲和性的缓冲区被分开存放,分别保存于两个不同的链表中,便于后续分配缓冲区时能够快速定位不同亲和性的缓冲区。缓冲区收集模块将链表中是否含有对应缓冲区的信息传递给缓冲区分配模块,供后续的分配过程进行决策。
缓冲区管理模块,用于给不同的I/O处理过程分配对应的缓冲区。其中,给输出过程分配亲和性较高的缓冲区,减少I/O处理过程的偏外存储访问;给输入过程分配亲和性较低的缓冲区,减少一致性维护操作的开销。
在上述装置实施例中,缓冲区分配模块包括输入缓冲区管理单元和输出缓冲区管理单元;其中:
输入缓冲区分配单元,用于给输入过程分配缓冲区。对于输入过程,由对应的设备驱动程序向内存管理器提出分配请求,因此所有在驱动程序中分配的DMA缓冲区可以被标识为输入缓冲区。在分配输入缓冲区时,如果LAL链表非空,直接从该链表头部获取缓冲区;否则,使用默认的分配函数获取函数。在释放输入缓冲区时,如果HAL链表非满,将缓冲区插入链表头部;否则,使用默认的函数释放缓冲区。
输出缓冲区分配单元,用于给输出过程分配缓冲区。对于输出过程,在驱动程序以外的范围内申请的DMA缓冲区可以被标识为输出缓冲区。在分配输入缓冲区时,如果HAL链表非空,直接从该链表头部获取缓冲区;否则,使用默认的分配函数获取函数。在释放输入缓冲区时,如果LAL链表非满,将缓冲区插入链表尾部;否则,使用默认的函数释放缓冲区。
以上说明书中描述的只是本发明的具体实施方式,各种举例说明不对本发明的实质内容构成限制,所属技术领域的普通技术人员在阅读了说明书后可以对以前所述的具体实施方式做修改或变形,而不背离发明的实质和范围。

Claims (8)

1.一种基于亲和性感知的DMA缓冲区管理方法,其特征在于,包括:
以亲和性的高低将缓冲区分为两类,并确定不同I/O处理过程对缓冲区亲和性的需求。
2.按照权利要求1所述的缓冲区管理方法,其特征在于,还包括:
使用纯软件的手段,在操作系统层来标识缓冲区的亲和性。
3.按照权利要求1或2所述的缓冲区管理方法,其特征在于:以输出处理过程的特点来标识低亲和性缓冲区,具体包括:
输出过程中,由于一致性维护操作后,处理器不再访问输出缓冲区,所以将最近释放的输出缓冲区记录为低亲和性。
4.按照权利要求1或2所述的缓冲区管理方法,其特征在于:以输入处理过程的特点来标识高亲和性缓冲区,具体包括:
当输入过程中,缓冲区释放前,处理器需要将输入缓冲区中的数据拷贝到用户缓冲区,所以将最近释放的输入缓冲区标识为高亲和性。
5.按照权利要求1或2所述的缓冲区管理方法,其特征在于:将不同亲和性的缓冲区集中管理,具体包括:
所有最近被释放的低亲和性缓冲区存放于低亲和性链表中,最近被释放的高亲和性缓冲区存放于高亲和性链表中。
6.按照权利要求1或2所述的缓冲区管理方法,其特征在于:针对不同亲和性的缓冲区采用不同的管理策略,具体包括:
对于高亲和性的缓冲区采用先进先出的管理策略,使高亲和性的缓冲区能尽快被重用,避免高亲和性缓冲区中的数据被挤出Cache;对于低亲和性的缓冲区采用后进先出的管理策略,使推迟低亲和性缓冲区被重用的时机,保证缓冲区中尽可能多的数据位于Cache之外。
7.一种基于亲和性感知的DMA缓冲区管理装置,其特征在于:包括缓冲区亲和性分析模块,缓冲区收集模块和缓冲区管理模块,其中:
缓冲区亲和性分析模块,用于分析系统中缓冲区亲和性的高低;高亲和性的缓冲区中的数据会大量占据Cache资源;而亲和性低的缓冲区中的数据会大量位于Cache之外;该模块将被释放缓冲区的亲和性信息传递给缓冲区收集模块;
缓冲区收集模块,用于收集被标了亲和性的缓冲区;其中高亲和性和低亲和性的缓冲区被分开存放,分别保存于两个不同的链表中,便于后续分配缓冲区时能够快速定位不同亲和性的缓冲区;缓冲区收集模块将链表中是否含有对应缓冲区的信息传递给缓冲区分配模块,供后续的分配过程进行决策;
缓冲区管理模块,用于给不同的I/O处理过程分配对应的缓冲区;其中,给输出过程分配亲和性较高的缓冲区,减少I/O处理过程的偏外存储访问;给输入过程分配亲和性较低的缓冲区,减少一致性维护操作的开销。
8.按照权利要求7所述的内存管理装置,其特征在于:所述缓冲区管理模块包括低亲和性缓冲区管理单元和高亲和性缓冲区管理单元,其中:
输入缓冲区分配单元,用于给输入过程分配缓冲区;对于输入过程,由对应的设备驱动程序向内存管理器提出分配请求,因此所有在驱动程序中分配的DMA缓冲区可以被标识为输入缓冲区;在分配输入缓冲区时,如果LAL链表非空,直接从该链表头部获取缓冲区;否则,使用默认的分配函数获取函数;在释放输入缓冲区时,如果HAL链表非满,将缓冲区插入链表头部;否则,使用默认的函数释放缓冲区;
输出缓冲区分配单元,用于给输出过程分配缓冲区;对于输出过程,在驱动程序以外的范围内申请的DMA缓冲区可以被标识为输出缓冲区;在分配输入缓冲区时,如果HAL链表非空,直接从该链表头部获取缓冲区;否则,使用默认的分配函数获取函数;在释放输入缓冲区时,如果LAL链表非满,将缓冲区插入链表尾部;否则,使用默认的函数释放缓冲区。
CN201210078365.7A 2012-03-22 2012-03-22 基于亲和性感知的dma缓冲区管理方法及装置 Active CN102662891B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210078365.7A CN102662891B (zh) 2012-03-22 2012-03-22 基于亲和性感知的dma缓冲区管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210078365.7A CN102662891B (zh) 2012-03-22 2012-03-22 基于亲和性感知的dma缓冲区管理方法及装置

Publications (2)

Publication Number Publication Date
CN102662891A true CN102662891A (zh) 2012-09-12
CN102662891B CN102662891B (zh) 2014-11-26

Family

ID=46772387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210078365.7A Active CN102662891B (zh) 2012-03-22 2012-03-22 基于亲和性感知的dma缓冲区管理方法及装置

Country Status (1)

Country Link
CN (1) CN102662891B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954851A (zh) * 2014-03-28 2015-09-30 深圳市茁壮网络股份有限公司 一种数据处理方法及装置
CN105912476A (zh) * 2016-04-06 2016-08-31 中国科学院计算技术研究所 片上重复寻址的方法及装置
CN108139969A (zh) * 2015-10-28 2018-06-08 华为技术有限公司 一种内存配置方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040128641A1 (en) * 2002-12-31 2004-07-01 Lsi Logic Corporation Simplified process to design integrated circuits
CN101340574A (zh) * 2008-08-04 2009-01-07 中兴通讯股份有限公司 一种实现零拷贝发送流媒体数据的方法及系统
CN101459489A (zh) * 2007-12-11 2009-06-17 中兴通讯股份有限公司 深度报文检测设备和方法
CN101697146A (zh) * 2009-10-29 2010-04-21 西北工业大学 嵌入式处理器片内指令和数据推送装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040128641A1 (en) * 2002-12-31 2004-07-01 Lsi Logic Corporation Simplified process to design integrated circuits
CN101459489A (zh) * 2007-12-11 2009-06-17 中兴通讯股份有限公司 深度报文检测设备和方法
CN101340574A (zh) * 2008-08-04 2009-01-07 中兴通讯股份有限公司 一种实现零拷贝发送流媒体数据的方法及系统
CN101697146A (zh) * 2009-10-29 2010-04-21 西北工业大学 嵌入式处理器片内指令和数据推送装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954851A (zh) * 2014-03-28 2015-09-30 深圳市茁壮网络股份有限公司 一种数据处理方法及装置
CN104954851B (zh) * 2014-03-28 2018-11-13 深圳市茁壮网络股份有限公司 一种数据处理方法及装置
CN108139969A (zh) * 2015-10-28 2018-06-08 华为技术有限公司 一种内存配置方法、装置及系统
CN108139969B (zh) * 2015-10-28 2021-06-08 华为技术有限公司 一种内存配置方法、装置及系统
CN105912476A (zh) * 2016-04-06 2016-08-31 中国科学院计算技术研究所 片上重复寻址的方法及装置

Also Published As

Publication number Publication date
CN102662891B (zh) 2014-11-26

Similar Documents

Publication Publication Date Title
CN105095094B (zh) 内存管理方法和设备
US9971681B2 (en) Lazy real time garbage collection method
US8209503B1 (en) Digital locked loop on channel tagged memory requests for memory optimization
US8095736B2 (en) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
US20110246742A1 (en) Memory pooling in segmented memory architecture
US7185167B2 (en) Heap allocation
CN110226157A (zh) 用于减少行缓冲冲突的动态存储器重新映射
CN102136993B (zh) 一种数据迁移的方法、装置和系统
CN103425538A (zh) 进程通讯方法及系统
CN110196681B (zh) 业务写操作的磁盘数据写入控制方法及装置、电子设备
CN109783012A (zh) 基于闪存的储存器及其控制器
CN114968588A (zh) 一种面向多并发深度学习训练任务的数据缓存方法和装置
Fujimoto et al. Buffer management in shared-memory time warp systems
CN111897651A (zh) 一种基于标签的内存系统资源管理方法
US9552295B2 (en) Performance and energy efficiency while using large pages
CN102662891B (zh) 基于亲和性感知的dma缓冲区管理方法及装置
US20150212859A1 (en) Graphics processing unit controller, host system, and methods
CN107924363A (zh) 使用存储器管理单元的自动化存储器管理
Li et al. A novel disk I/O scheduling framework of virtualized storage system
US11561834B2 (en) Methods and systems for adaptive memory-resource management
CN111338999B (zh) 直接存储器存取dma系统及数据传输方法
US8990537B2 (en) System and method for robust and efficient free chain management
WO2023029982A1 (zh) 一种内存的分配方法及系统
CN113505087B (zh) 一种兼顾服务质量和利用率的缓存动态划分方法及系统
KR101950759B1 (ko) 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160408

Address after: 100080 Beijing City, Haidian District Zhongguancun No. 151 North Street Yanyuan resources building room 1107

Patentee after: Beijing Zhongzhi core technology Co. Ltd.

Address before: 100080 Beijing City, Haidian District Zhongguancun No. 151 North Street Yanyuan 11 storey building resources

Patentee before: Beida Zhongzhi Microsystem Science and Technology Co., Ltd., Beijing