CN1647050A - 变体存储池 - Google Patents
变体存储池 Download PDFInfo
- Publication number
- CN1647050A CN1647050A CNA038076500A CN03807650A CN1647050A CN 1647050 A CN1647050 A CN 1647050A CN A038076500 A CNA038076500 A CN A038076500A CN 03807650 A CN03807650 A CN 03807650A CN 1647050 A CN1647050 A CN 1647050A
- Authority
- CN
- China
- Prior art keywords
- memory
- storage
- configuration
- package
- storage package
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System (AREA)
Abstract
本发明涉及用于在物理存储器中改变存储器配置的方法、集成电路、这种方法和集成电路的应用。包括存储包的存储池的存储器配置可以改变成新的存储器配置,为此要检测在所说的第一存储器配置的一个存储池中的已释放的存储包,从所说已释放的存储包向所说第二存储器配置指定存储器,确定所说的第二存储器配置的所说指定的自由存储器的容量,并且在所说指定的自由存储器容量满足所说的分配请求的情况下,在所说的已经指定的自由存储器内为所说的第二存储器配置的一个存储池的一个存储包分配所需数目的存储器。通过所说的过渡可以实现不间断的模式改变,并且可由第二模式使用在第一模式中释放的存储包。可以避免存储残片。
Description
技术领域
本发明涉及改变物理存储器中存储器配置的方法,在物理存储器中通过至少一个存储池确定第一存储器配置和至少第二存储器配置,所说的至少一个存储池分别包括至少一个存储包。本发明还涉及这种方法的应用。
背景技术
在许多应用中,物理存储器受到限制,必须有效地使用物理存储器。为了使用物理存储器,分配器必须在所提供的物理存储器内分配自由存储块。因为要在一定时间内分配存储块和解除分配存储块,所以物理存储器要变为有存储残片的,这就意味着,在分配的存储器的已分配的存储块之间发生未分配的存储器的存储块。这些所谓的空洞引起的结果是,这种应用没能使用所有可利用的物理存储器。
在“动态存储分配:一种调查和重要的评论”(Paul R.Wilson等人,奥斯体的德克萨斯大学,计算机科学系)中,公开了一种分配器以及避免存储器中的存储残片的机制。这些分配器按照他们使用的用于记录存储器的哪些区是自由的以及合并附近的自由存储块为较大的自由存储块的机制进行分类。对于分配器重要的是它的政策和策略,即,分配器是否正确地利用实际请求流中的规则。
分配器提供分配存储器的新存储块和释放存储器的指定存储块的功能。不同的应用要求不同的分配策略以及不同的存储容量。分配的一个策略是要使用有大量的相等容量的存储块的存储池。这些相等容量的存储块还可以称之为包(packet)。每个分配请求都映射成来自满足这个请求的一个存储池中的存储包的请求。如果在一个存储池中分配并释放存储包,就可以避免外部的存储残片。存储池中的存储残片只发生在请求的存储块不严格符合所选的存储池的存储包的情况下。
在流动系统(streaming system)中,流动数据(streaming data)是由处理节点的曲线处理的。处理节点使用数据包处理流动数据。每个数据包对应于存储器中的一个存储块,存储器是由所有的处理节点共享的。当知道对于流动数据必须执行哪个处理步骤时,就可以产生流动曲线(streaming graph)。池内包的容量取决于要流动(stream)的数据。音频数据请求的包的容量是几千字节,视频数据请求的包的容量高达为一兆字节。
在必须改变流动曲线的情况下,存储池的配置也必须改变。在一个系统内支持不同的应用以及它们的数据流的情况下,流动曲线可能改变。还有,数据流的处理步骤可能改变,这就要求包括或排除来自流动曲线的处理节点(node)。因为大多数系统都受到存储器的约束,所以不是所有的应用数据都可以一次存入存储器中。这就意味着,存储池对于第一个应用必须释放以便成为第二个应用的存储池。通过释放和分配存储器,可能产生这个存储器的存储残片。
在用户确定需要插入某种音频或视频滤波器或者从流动曲线上拆除这种滤波器的情况下,存储器的配置必须改变。在丢失数据的情况下也必须进行这种配置改变。具体来说,在流动系统中,数据以一个固定的数率继续流动进入这个系统。停止由节点处理数据、一直等待到一个存储池完全释放并最后分配它的存储器到一个新的池内,这是不可能的。这样一个过程可能需要流动数据的缓冲,但这对于有限的存储器是不可能办到的。
软件流是基于处理节点的曲线,这里在各个节点之间的通信是使用存储包进行的。每个存储包对应于由所有的节点共享的一个存储器中的一个存储块。在流动系统中提供固定容量的存储池。在这些存储池中分配固定容量的存储包。每个处理节点对于它的存储包可能有不同的要求,所以通常存在多个不同的存储池。流动曲线的变化意味着数据的处理发生了变化,因此要求存储器配置发生变化,因为在新的存储池中可以要求不同的存储包容量。为了能在存储器配置之间产生不间断变化,必须先允许使用新的存储池的已释放的存储包,然后再释放先前的存储池的所有的存储包。
发明内容
因为当前的分配器没有提供足够好的方法来实现在不同处理模式之间的不间断的改变,因此本发明的一个目的是在改变操作模式的同时限制额外缓冲的数量。本发明的另一个目的是允许在不同的模式中在至少两个池之间移动存储器的相同部分。本发明的下一个目的是在不同的模式中由不同的存储池重复使用相同的存储器。
本发明的这些目的是通过一种方法解决的,所说的方法包括如下步骤:检测在所说的第一存储器配置的一个存储池中的已释放的存储包,从所说已释放的存储包向所说第二存储器配置指定存储器,确定所说的第二存储器配置的所说指定的自由存储器的容量,和在所说指定的自由存储器容量满足所说的分配请求的情况下,在所说的已经指定的自由存储器内为所说的第二存储器配置的一个存储池的一个存储包分配所需数目的存储器。
其优点在于,在操作模式之间的过渡是不间断的,并且不需要任何额外的硬件,只需要一个很小的额外存储器。只在不同模式之间过渡期间才产生存储残片。
一个存储器配置提供确定数目的存储池,每个存储池包括一定数目的存储包,因此一个存储池由至少一个存储包构成。
当处理节点处理了一个数据包时,可以释放这个数据包的存储器,因为处理过的数据已经送到下一个处理节点。这就意味着,在处理了存储的数据以后分配器释放了一个数据包。
在释放了第一存储器配置内的一个存储包的情况下,可将这个存储包指定给第二存储器配置。还可能出现的情况是,可以执行过渡到另一个存储器配置。
在向至少所说的第二存储器配置指定自由存储器后,要确定这个指定的自由存储器的整个容量。即,来自所说的第一存储器配置的所有释放的存储包的容量,这些存储包指定给至少所说的第二存储器配置并且还不再分配这些存储包。
在所指定的自由存储器的容量满足所说第二存储器配置的一个存储池的一个存储包的存储请求的情况下,就在所说的指定的自由存储器内分配这个存储包。这就意味着,第二存储器配置可以先使用已释放的自由存储器,而后再释放所说第一存储器配置的所有已释放的存储包。
为了在多于两个存储器配置之间应用配置变化,优选使用按照权利要求2的方法。在这种情况下,即使前一个过渡没有全部完成,也可以执行过渡到另外的存储器配置。
为了保证释放第一个配置的所有的存储包并且将它们指定给第二个配置,优选使用权利要求3的方法。
在某些情况下,不是所有的存储器都由一个存储器配置使用。于是,优选使用权利要求4的方法。在这种情况下,可以在释放所说的第一存储器配置的任何存储包之前,将自由存储器分配给所说第二存储器配置的存储包。还可能出现的情况是,将存储器指定给不止一个随后的存储器配置的存储包。
为了可以分配存储包,优选使用权利要求5的方法。在这种情况下,对于所有的存储器配置,预先固定存储器配置。
当处理流动数据时,优选使用按照权利要求6的相等容量的存储包。
为了保证在一定时间内的模式变化,优选使用按照权利要求7所述的释放存储包。
为了能在存储器配置改变的情况下有效地分配存储池和存储包,优选使用按照权利要求8的方法。在从第一配置改变到第二配置之前,分配器就知道第二存储器配置,这就意味着,分配器知道存储池的数目和在所说的池内存储包的容量。
使用以上所述的在流动系统中(具体来说在视频和音频流动系统中)的方法,这里的储器配置是基于确定的流动曲线,这就是本发明的另一方面。
一种集成电路,具体来说即数字信号处理器、数字视频处理器、和数字音频处理器,提供按照先前描述的方法的存储器分配,这是本发明的另一方面。
附图说明
参照下面描述的实施例体现并说明本发明的这些和其它的方面。
图1是本发明的方法的流程图;
图2是存储器配置的图解视图。
具体实施方式
图1描述的是按照本发明的方法的流程图。在步骤2,在存储器内确定并分配配置A。配置A描述存储池的数目和在每个所说存储池中存储块(存储包)的数目和容量。
在请求(6)一个模式改变的情况下,必须确定(4)一个新的存储器配置B。所说的存储器配置B是根据请求的模式的需要确定的。
在步骤8,配置A的所有自由存储器都指定给配置B。在步骤10,确定任何存储器请求是否仍在悬而未决。这些请求是根据存储器配置B确定的,存储器配置B先前在步骤4已经确定。分配器知道是否还必须分配存储包以便按照配置B配置所说的存储器。
在存在悬而未决的存储器请求的情况下,在步骤12确定配置B的指定的自由存储器对于配置B的一个存储包是否足够大。如果指定给配置B的自由存储器对于配置B的一个存储池的一个存储包足够大,那么就在步骤14,在指定的自由存储器中分配这个存储包。
如果指定的自由存储器的容量小于配置B的任何存储池的任何请求的存储包的容量,则进行步骤16的处理。在步骤16,确定是否还有配置A的任何存储包需要分配。在还有配置A的任何存储包需要分配的情况下,在步骤18等待配置A内任何存储包的释放。
在释放配置A内的一个存储包后,在步骤19,将这个释放的存储包指定给配置B。进行步骤10、12、14、16、18、19的处理,一直到再也没有存储器请求悬而未决为止。
如果在步骤10检测到配置B完全配置好,没有任何一个存储器请求悬而未决,则对于步骤10、16、18、19进行处理,一直到释放配置A的所有存储包时为止。如果是这情况,在步骤20结束模式转变。在处理了所有的步骤2-20以后,按照配置B来配置存储器,对于配置A不再分配另外的存储包。
在从配置A到配置B的过渡期间,可以先使用配置B中的存储包,然后再释放配置A的所有存储包。
在图2中,描述一个存储器配置的示意图。存储器22经过存储地址220-22B可寻址。在配置A中,存储器22分为两个存储池A1、A2,存储池A1包括容量为2的3个存储包,存储池A2包括容量为3的1个存储包。在从配置A到配置B的转变过渡期间,存储器22被重新组织成两个存储池B1、B2,存储池B1包括容量为1的3个存储包,存储池B2包括容量为3的2个存储包。
在步骤181,释放地址为226的存储包A21,释放的存储器指定给配置B0。在步骤141,将指定的自由存储器B0分配给存储包B22。在步骤182,释放地址为220的存储包A11,并将其指定给存储器B0。在步骤142,将存储包B11、B12分配在自由存储器B0内的存储器地址220、221。在步骤183,将存储包A12释放在存储器地址222,在步骤143,将存储包B13分配在自由存储器B0内。在步骤184,释放存储包A13并指定给自由存储器B0。最后,在步骤144将存储包B21分配在自由存储器B0内的地址223。
通过应用本发明的方法,可以使一个存储池位于两个配置中的相同的存储器位置,并且可在释放前一个配置的存储包时能够使加到新配置的存储池上的存储包的数量最大。
通过使用在未来的模式中需要分配包的额外技术,可以防止出现存储残片。进而,可分配的存储池增多,可以减小流动系统的等待时间,并且因而减小了不间断进行模式改变所需的存储器数量。
Claims (10)
1.一种用于改变物理存储器中存储器配置的方法,在物理存储器中通过至少一个存储池确定第一存储器配置和至少第二存储器配置,所说的至少一个存储池分别包括至少一个存储包,所说的方法包括如下步骤:
a)检测在所说的第一存储器配置的一个存储池中的已释放的存储包,
b)从所说已释放的存储包向所说第二存储器配置指定存储器,
c)确定所说的第二存储器配置的所说指定的自由存储器的容量,
d)在所说指定的自由存储器容量满足所说的分配请求的情况下,在所说的已经指定的自由存储器内为所说的第二存储器配置的一个存储池的一个存储包分配所需数目的存储器。
2.根据权利要求1所述的方法,其特征在于:重复步骤a-d,一直到所说的第一存储器配置的所有的已分配的存储包全都释放并且所说第二存储器配置的所有存储包全都分配时为止。
3.根据权利要求1所述的方法,其特征在于:先按照步骤a-d将所说的存储器配置改变成另一个存储器配置,然后再释放所说的先前的存储器配置的所有存储包。
4.根据权利要求1所述的方法,其特征在于:先向至少所说第二存储器配置指定所说第一存储器配置的所有自由存储器,而后再进行步骤a。
5.根据权利要求1所述的方法,其特征在于:通过向所说的至少一个存储池分配固定的存储器位置对于所说的存储器配置进行配置,并且在至少两个存储池中的每个存储池内指定存储包。
6.根据权利要求1所述的方法,其特征在于:在一个存储池内分配相等容量的存储包。
7.根据权利要求1所述的方法,其特征在于:在有限的时间内释放所说第一存储器配置的存储包。
8.根据权利要求1所述的方法,其特征在于:在步骤a之前确定所说第二配置。
9.按照权利要求1所述的方法在流动系统中的应用,具体来说在视频和音频流系统中的应用,这里的存储器配置基于已确定的流动曲线。
10.提供按照权利要求1所述的存储器分配方法的集成电路,具体来说即数字信号处理器、数字视频处理器、或者数字音频处理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02076271 | 2002-04-03 | ||
EP02076271.2 | 2002-04-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1647050A true CN1647050A (zh) | 2005-07-27 |
Family
ID=28459538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA038076500A Pending CN1647050A (zh) | 2002-04-03 | 2003-03-14 | 变体存储池 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20050172096A1 (zh) |
EP (1) | EP1499979A1 (zh) |
JP (1) | JP2005521939A (zh) |
KR (1) | KR20040101386A (zh) |
CN (1) | CN1647050A (zh) |
AU (1) | AU2003209598A1 (zh) |
WO (1) | WO2003083668A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594478B (zh) * | 2008-05-30 | 2013-01-30 | 新奥特(北京)视频技术有限公司 | 一种超长字幕数据处理的方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516291B2 (en) * | 2005-11-21 | 2009-04-07 | Red Hat, Inc. | Cooperative mechanism for efficient application memory allocation |
JP5420972B2 (ja) * | 2009-05-25 | 2014-02-19 | 株式会社東芝 | メモリ管理装置 |
US20140149697A1 (en) * | 2012-11-28 | 2014-05-29 | Dirk Thomsen | Memory Pre-Allocation For Cleanup and Rollback Operations |
US20150172096A1 (en) * | 2013-12-17 | 2015-06-18 | Microsoft Corporation | System alert correlation via deltas |
CN107203477A (zh) | 2017-06-16 | 2017-09-26 | 深圳市万普拉斯科技有限公司 | 内存分配方法、装置、电子设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544327A (en) * | 1994-03-01 | 1996-08-06 | International Business Machines Corporation | Load balancing in video-on-demand servers by allocating buffer to streams with successively larger buffer requirements until the buffer requirements of a stream can not be satisfied |
US7093097B2 (en) * | 2001-11-27 | 2006-08-15 | International Business Machines Corporation | Dynamic self-tuning memory management method and system |
-
2003
- 2003-03-14 WO PCT/IB2003/001008 patent/WO2003083668A1/en not_active Application Discontinuation
- 2003-03-14 EP EP03745348A patent/EP1499979A1/en not_active Withdrawn
- 2003-03-14 CN CNA038076500A patent/CN1647050A/zh active Pending
- 2003-03-14 US US10/509,456 patent/US20050172096A1/en not_active Abandoned
- 2003-03-14 JP JP2003581024A patent/JP2005521939A/ja active Pending
- 2003-03-14 KR KR10-2004-7015677A patent/KR20040101386A/ko not_active Application Discontinuation
- 2003-03-14 AU AU2003209598A patent/AU2003209598A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594478B (zh) * | 2008-05-30 | 2013-01-30 | 新奥特(北京)视频技术有限公司 | 一种超长字幕数据处理的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1499979A1 (en) | 2005-01-26 |
JP2005521939A (ja) | 2005-07-21 |
US20050172096A1 (en) | 2005-08-04 |
KR20040101386A (ko) | 2004-12-02 |
WO2003083668A1 (en) | 2003-10-09 |
AU2003209598A1 (en) | 2003-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7003597B2 (en) | Dynamic reallocation of data stored in buffers based on packet size | |
US6212657B1 (en) | System and process for delivering digital data on demand | |
CN1258146C (zh) | 动态分配关联资源的系统和方法 | |
US8117619B2 (en) | System and method for identifying least busy resources in a storage system using values assigned in a hierarchical tree structure | |
JP6263596B2 (ja) | 分散キャッシュメモリにおける適応分割用のシステム及び方法 | |
US10338842B2 (en) | Namespace/stream management | |
JPH05189281A (ja) | 記憶装置のファイル割当て方式 | |
US8312243B2 (en) | Memory management in network processors | |
CN1109231A (zh) | 临时存储数据包的方法和设备以及使用该设备的交换机 | |
US6804761B1 (en) | Memory allocation system and method | |
US6907508B2 (en) | Structure and method for managing available memory resources | |
US6886031B2 (en) | Efficient connection and memory management for message passing on a single SMP or a cluster of SMPs | |
CN111857992B (zh) | 一种Radosgw模块中线程资源分配方法和装置 | |
CN1647050A (zh) | 变体存储池 | |
JP2005500620A (ja) | 移動するメモリブロックを備えるメモリプール | |
CN1602480A (zh) | 管理附装在数据网络上的存储器资源 | |
US20080162830A1 (en) | Methods, systems, and computer program products for providing memory management with constant defragmentation time | |
CN1613060A (zh) | 具有共享存储器的改进结构 | |
AU2017202744B2 (en) | Multi-layer data storage system | |
CN102650959A (zh) | 一种检测内存单元的方法及设备 | |
JP2004030567A (ja) | キューを維持するための方法及び装置 | |
CN1463125A (zh) | 一种实现缓存去抖的大容量实时流处理方法 | |
CN105677577A (zh) | 一种系统的内存管理方法及装置 | |
US6851027B2 (en) | Memory system organized into blocks of different sizes and allocation method therefor | |
CN113176942A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |