用于管理存储器的方法和存储器管理器的制作方法

文档序号:6580820阅读:188来源:国知局
专利名称:用于管理存储器的方法和存储器管理器的制作方法
技术领域
以下描述涉及处理技术,更具体地,涉及一种用于在多处理环境中管理 存储器的方法和存储器管理器。
背景技术
在存在多核或多处理器的多处理环境中,分配到各个核或处理器的进程 或线程共享存储器(诸如,队列),并处理存储在队列中的工作。
在这样的多处理环境中,可使用多个进程来执行特定任务。进程的示例 包括在执行任务时产生数据的生产者进程(producer process)和在执行任务 时消费数据的消费者进程(consumer process )。例如,在使用多处理器实现的 视频解码器的情况下,可变长解码与生产者进程相应,宏块处理与消费者进 程相应。
在同时执行生产者进程和消费者进程两者以提高整体工作性能的环境 中,由生产者进程和消费者进程共享的存储器带宽应被有效使用。
在传统多处理环境中,增加分配到消费者进程的处理器的数量以增加并 行处理程度,从而提高工作性能。然而,在这种方案中,数量增加的分配到 消费者进程的处理器可能用尽存储器带宽,并且其它处理器可能没有机会访 问存储器,从而降低整体工作性能。分配到进程的处理器的数量可以是预定 的或被限定为预定数量。在这种情况下,由于没有考虑工作状况而使用预定 数量的处理器,故这也会降低整体工作性能。此外,已经了解到其它传统方 法需要改变存储器总线结构。

发明内容
在一个总体方面, 一种多处理环境中的存储器管理器,包括 一个或多个生产者处理器,能够被分配以产生数据; 一个或多个消费者处理器,能够 被分配以消费产生的数据;控制器,基于存储器与处理器之间的带宽的状况 来管理所述一个或多个消费者处理器。
控制器可包括带宽监视器,检查存储器与处理器之间的带宽状况。
带宽监视器可包括队列监视器,检查根据将在被处理器共享的共享队 列中处理的数据的数量确定的共享队列的长度。
带宽监视器可包括队列监视器,计算根据将在被处理器共享的共享队 列中处理的数据的数量和具体时间确定的共享队列的运动平均值。
控制器可基于带宽的状况来调节被分配以消费产生的数据的处理器的数量。
控制器可包括进程调节器,如果共享队列的长度大于预定的上限,则 增加被分配以消费产生的数据的处理器的数量,如果共享队列的长度小于预 定的下限,则减少被分配以消费产生的数据的处理器的数量。
控制器可包括进程调节器,如果共享队列的长度大于预定的上限,则 减少将被所述一个或多个消费者处理器消费的数据的分配单元大小,如果共 享队列的长度小于预定的下限,则增加将被将被所述一个或多个消费者处理 器消费的数据的分配单元大小。
控制器可包括进程调节器,如果共享队列的长度持续增加给定的一段 时间,则增加被分配以消费产生的数据的处理器的数量,如果共享队列的长 度持续减少给定的一段时间,则减少被分配以消费产生的数据的处理器的数 量。
控制器可包括进程调节器,如果共享队列的长度持续增加给定的一段 时间,则减少将被所述一个或多个消费者处理器消费的数据的分配单元大小, 如果共享队列的长度持续减少给定的一段时间,则增加将被所述一个或多个 消费者处理器消费的数据的分配单元大小。
在另一总体方面, 一种在包括生产者进程、消费者进程和存储器的多处 理环境中的存储器管理方法,包括检查存储器与被分配到生产者进程和消 费者进程的一个或多个处理器之间的带宽的状况;以及基于所述带宽的状况 管理消费者进程。
检查带宽的状况的步骤可包括根据将在共享队列中处理的数据的数量 来确定被生产者进程和消费者进程共享的共享队列的长度。管理消费者进程的步骤可包括基于带宽的状况来调节净皮分配到消费者
进程的处理器的数量。
调节处理器的数量的步骤可包括如果共享队列的长度大于预定的上限, 则增加被分配到消费者进程的处理器的数量,如果共享队列的长度小于预定 的下限,则减少被分配到消费者进程的处理器的数量。
调节处理器的数量的步骤可包括如果共享队列的长度持续增加给定的 一段时间,则增加被分配到消费者进程的处理器的数量,如果共享队列的长 度持续减少给定的一段时间,则减少被分配到消费者进程的处理器的数量。
管理消费者进程的步骤可包括如果共享队列的长度大于预定的上限, 则减少将被消费者进程消费的数据的分配单元大小,如果共享队列的长度小 于预定的下限,则增加将被消费者进程消费的数据的分配单元大小。
管理消费者进程的步骤可包括如果共享队列的长度持续增加给定的一 段时间,则减少将被消费者进程消费的数据的分配单元大小,如果共享队列 的长度持续减少给定的一段时间,则增加将被消费者进程消费的数据的分配 单元大小。
检查带宽的状况的步骤可包括确定共享队列的长度变化,所述确定共 享队列的长度变化包括计算共享队列的运动平均值。
在另一总体方面, 一种用于多处理环境中的存储器管理器,包括共享 队列,被产生数据的第 一进程和消费第 一进程产生的数据的第二进程共享; 控制器,基于共享队列的状况来管理第二进程。
控制器可基于共享队列的状况来调节分配到第二进程的处理器的数量。
控制器可包括队列监视器,检查根据将在共享队列中处理的数据的数 量确定的共享队列的长度。
控制器还可包括进程调节器,如果共享队列的长度大于预定的上限, 则增加分配到第二进程的处理器的数量,如果共享队列的长度小于预定的下 限,则减少分配到第二进程的处理器的数量。
控制器还可包括进程调节器,如果共享队列的长度大于预定的上限, 则减少将被第二进程消费的数据的分配单元大小,如果共享队列的长度小于 预定的下限,则增加将被第二进程消费的数据的分配单元大小。
控制器可包括队列监视器,计算根据将在共享队列中处理的数据的数 量和具体时间确定的共享队列的运动平均值。控制器还可包括进程调节器,如果共享队列的长度持续增加给定的一 段时间,则增加被分配到第二进程的处理器的数量,如果共享队列的长度持 续减少给定的一段时间,则减少被分配到第二进程的处理器的数量。
控制器还可包括进程调节器,如果共享队列的长度持续增加给定的一 段时间,则减少将被第二进程消费的数据的分配单元大小,如果共享队列的 长度持续减少给定的一段时间,则增加将被第二进程消费的数据的分配单元 大小。
在另一总体方面, 一种用于多处理环境中的存储器管理器,包括共享 队列,被第一进程和第二进程共享,其中,第一进程产生数据,共享队列的 条目是将由第二进程处理的工作;控制器,基于共享队列的状况来自适应地 调节被分配到第二进程的处理器的数量和/或将被第二进程处理的数据的分 配单元大小。
控制器可包括队列监视器,检查根据将在共享队列中处理的数据的数 量确定的共享队列的长度;进程调节器,如果共享队列的长度大于预定的上 限,则增加被分配到第二进程的处理器的数量和/或减少将被第二进程处理的 数据的分配单元大小,如果共享队列的长度小于预定的下限,则减少被分配 到第二进程的处理器的数量和/或增加将被第二进程处理的数据的分配单元 大小。
控制器可计算共享队列的运动平均值,如果共享队列的长度变化指示增 加趋势,则增加被分配到第二进程的处理器的数量和/或减少将被第二进程处 理的数据的分配单元大小,如果共享队列的长度变化指示减少趋势,则减少 被分配到第二进程的处理器的数量或增加将^皮第二进程处理的凄t据的分配单 元大小。
控制器可通过将一个或多个处理器置为睡眠状态来调节分配到第二进程 的处理器的数量。
在另 一总体方面,提供了 一种存储用于在多处理环境中管理存储器的程
序的计算机可读存储介质,包括引起计算机执行以下内容的命令确定被第 一进程和第二进程共享的共享列队的长度和/或共享列队的长度变化,其中, 第一进程产生数据,共享队列的条目是将由第二进程处理的工作;以及基于 共享列队的长度和/或共享列队的长度变化的状况来管理第二进程。 通过以下描述、附图和权利要求,其它特点和方面将会变得清楚。


图1是示出包括存储器和存储器管理器的示例性计算装置的框图。
图2A和图2B示出如何根据共享队列的长度来调节分配到消费者进程的 处理器的数量。
图3示出如何根据共享队列的长度来调节分配到消费者进程的数据的分 配单元大小。
图4是用于管理存储器的示例性方法的流程图。
在整个附图和详细描述中,除非另有说明,否则,相同的附图标号表示 相同的元件、特征和结构。为了清楚、明白和方便,可夸大这些元件的相对 大小和描述。
具体实施例方式
提供以下详细描述以助于读者全面理解在此描述的方法、设备和/或系 统。因此,向该领域中的普通技术人员建议在此描述的系统、设备和/或方法 的各种改变、修改和等同物。另外,为了更加清楚和简明,可省略对已知功 能和结构的描述。
图1示出包括存储器IIO和存储器管理器的示例性计算装置。
存储器110包括共享队列111和数据区域112。存储器管理器访问存储 器110,并且存储器管理器包括控制器140和多个处理器121、 132、 134和 136。控制器140可实现在一个或多个处理器上。控制器140包括带宽监视器 141和进程调节器144。
共享队列111被产生工作和用于工作的数据的生产者进程120和通过处 理工作消费数据的消费者进程130共享。例如,由生产者进程120产生的将 被消费者进程130处理的工作、关于工作的描述可被存储在共享队列111中, 用于所述将被消费者进程130处理的工作的数据可一皮存储在存储器110的数 据区域112中。消费者进程130可根据存储在共享队列111中的工作来读取 和处理存储器110的数据区域112中的用于工作的数据。生产者进程120使 工作在共享队列111中列队。消费者进程130从共享队列lll读取工作并根 据工作描述处理来自数据区域112的数据。因此,共享队列111的长度根据 生产者进程120产生的工作的数量和消费者进程130消费的工作的数量而改说明书第6/10页变。
例如,在生产者进程120产生十(10)个工作并且消费者进程130消费 十(10)个工作中的四(4)个工作的情况下,共享队列111的长度是六(6)。 共享队列111的长度还根据生产者进程120的工作产生率和消费者进程130 的工作消费率而改变。生产者进程120可被分配生产者处理器121。消费者 进程130可一皮分配多个消费者处理器132、 134和136。
控制器140基于存储器110与处理器121、 132、 134和136之间的带宽 的状况来控制消费者进程130。
在一个示例中,控制器140可基于存储器110与处理器121、 132、 134 和136之间的存储器带宽的状况来调节分配到消费者进程130的处理器的数 量。可基于共享队列111的状况来检查存储器带宽的状况。
例如,如果通过将较少的消费者处理器分配到消费者进程130而带宽欠 饱和,则共享队列111的长度变长,并且控制器140可随后增加分配到消费 者进程130的处理器的数量。如果通过例如将相对较多数量的处理器分配到 消费者进程130而带宽过饱和,则共享队列111的长度变短,并且控制器140 可随后减少分配到消费者进程130的处理器的数量。换句话说,随着更多的 将被处理的数据在共享队列111中列队,分配到消费者进程130的处理器的 数量可被增加。
为了执行增加或减少分配到消费者进程130的处理器的数量的任务,控 制器140可包括带宽监视器141和进程调节器144。带宽监视器141可包括 队列监视器142。带宽监视器141基于可被队列监视器142确定的共享队列 111的长度来检查存储器IIO与处理器之间的带宽的状况。如果共享队列111 的长度超过例如预定上限,则进程调节器144增加分配到消费者进程130的 处理器的数量,如果共享队列111的长度少于例如预定下限,则进程调节器 144减少分配到消费者进程130的处理器的数量。上限可被设置为在指示从 测试各种工作量获得的最优工作性能的值之上大约5%与大约30%之间的值。 相似地,下限可被设置为在指示从测试各种工作量获得的最优工作性能的值 之下大约5%与大约30%之间的值。因此,能够通过仅将确定数量的处理器用 于消费者进程130并保持剩余的处理器处于例如睡眠^^莫式来减少功耗。
如另一示例,可随着共享队列111的长度变化来调节分配到消费者进程 130的处理器的数量。换句话说,队列监视器142计算共享队列111的运动平均值以测量共享队列111的长度变化。如果例如所述变化持续增加给定的一
段时间,则增加分配到消费者进程130的处理器的数量,而如果例如所述变 化持续减少给定的一段时间,则减少分配到消费者进程130的处理器的数量。
在另一示例中,控制器140可基于存储器110与处理器121、 132、 134 和136之间的带宽的状况来调节被消费者进程130消费的数据的分配单元大 小。可基于共享队列111的状况检查存储器带宽的状况。除了上述的处理器 数量的调节之外还可执行分配单元大小的调节,或者执行分配单元大小的调 节可替代处理器数量的调节。
例如,如果共享队列111的长度变长,则控制器140可使将被发送到消 费者进程130的数据的分配单元大小变小。如果共享队列111的长度变短, 则控制器140可使将^皮发送到消费者进程130的数据的分配单元大小变大。 在本示例中,消费者进程130直到数据累积到预定的分配单元大小才可读取 和处理数据。换句话说,消费者进程130可被控制为只要数据在共享队列111 中列队就处理数据,或者消费者进程130可被控制为直到数据累积到预定的 分配单元大小才处理数据。
队列监视器1,42可检查由将在共享队列111中处理的数据数量确定的共 享队列111的长度。如果共享队列的长度大于例如预定的上限,则进程调节 器144可减小将被消费者进程130消费的数据的分配单元大小,如果共享队 列的长度小于例如预定的下限,则可增加将被消费者进程130消费的数据的 分配单元大小。
这种方法,分配到消费者进程130的处理器可被置于睡眠模式下,直到 共享队列111中累积的数据达到当前分配单元大小。因此,生产者进程120 可更容易地访问存储器并且可减小功耗。另外,由于可通过调节分配单元大 小来确定消费者进程是否保持在睡眠模式,故生产者进程120可更容易地访 问存储器。
如另一示例,可随着共享队列111的长度变化来调节将被消费者进程130 消费的数据的分配单元大小。在这种情况下,进程调节器144计算共享队列 111的运动平均值。如果例如共享队列111的长度变化持续增加给定的一^a时 间,则进程调节器144可减小将被消费者进程130消费的数据的分配单元大 小。如果例如共享队列111的长度变化持续减小给定的一段时间,则进程调 节器144可增加将被消费者进程130消费的数据的分配单元大小。图2A和图2B示出如何根据共享队列的长度来调节分配到消费者进程的 处理器的数量。
参照图1和图2A,在一个实现中,如果共享队列111的长度大于上限, 这意味着通过将较少的消费者处理器分配到消费者进程130而使存储器与处 理器之间的带宽欠饱和。因此,控制器140可增加分配到消费者进程130的 处理器的数量。如果共享队列111的长度减小到下限以下,这意味着例如通 过将过多处理器分配到消费者进程130而使存储器与处理器之间的带宽过饱 和。因此,控制器140可减少分配到消费者进程130的处理器的数量。以这 种方式,分配到消费者进程130的处理器的数量可被调节到例如最优数量。
参照图1和图2B,在另一实现中,如果共享队列111的长度变化小于零 (0)(例如,由于被消费者进程130消费的工作大于由生产者进程120产生 的工作,故共享队列111的长度持续减小给定的一段时间),则减少分配到消 费者进程130的处理器的数量。如果由于被消费者进程130消费的工作小于 由生产者进程120产生的工作,故共享队列111的长度持续增加给定的一段 时间,则增加分配到消费者进程130的处理器的it量。
图3示出如何根据共享队列的长度来调节分配到消费者进程的数据的分 配单元大小。
参照图1和图3,在一个实现中,如果共享队列111的长度大于上限, 则可减少分配到消费者进程130的数据的分配单元大小。当长度减小到下限 以下,则增加分配到消费者进程130的数据的分配单元大小。以这种方式, 分配到消费者进程130的数据的分配单元大小可被调节。
图4是管理存储器的示例性方法的流程图。所述方法可被例如图1中示 出的存储器管理器执行。
仍然参照图1,确定共享队列111的长度或长度变化(310)。
基于共享队列111的状况来管理消费者进程130。如果存储器带宽被消 费者进程130占用,以致生产者进程120无法在这种消费速率下再产生工作, 则共享队列111中剩余较少的条目(320)。
所述过饱和状态可被确定,如果例如共享队列111的长度小于预定的下 限,则减少分配到消费者进程130的处理器的数量和/或增加将被消费者进程 130消费的数据的分配单元大小(330)。如另一示例,如上所述,当共享队 列111的长度变化在给定的一段时间为负时,可减少分配到消费者进程130的处理器的数量和/或可增加将被消费者进程130消费的数据的分配单元大小。
如果通过将较少的处理器分配到消费者进程130而使存储器带宽欠饱 和,则共享队列中剩余较多的条目(340)。可通过检查共享队列111的长度 来确定所述欠饱和状态。如果共享队列111的长度大于预定的上限,则可以 是生产者进程的速率超过消费者进程的速率,并且在存储器带宽中存在用于 消费者处理器的空间。因此,增加分配到消费者进程130的处理器的数量和/ 或减少将被消费者进程130消费的数据的分配单元大小(350)。如另一示例, 当共享队列的长度变化在给定的一段时间为正时,可增加分配到消费者进程 130的处理器的数量和/或可减小将被消费者进程130消费的数据的分配单元 大小。
确定生产者进程120是否已经停止操作(360)。如果生产者进程120已 经停止操作,则当前管理处理结束。如果生产者进程120没有停止操作,则 管理处理可返回确定共享队列111的状况(310)。
根据上述的示例,提供了一种用于在多处理环境(诸如,多核处理器或 多处理器)中管理存储器的示例性方法和存储器管理器。
根据上述的示例,当没有足够的存储器带宽用于生产者进程时,对于消 费者进程可被受限访问共享存储器,从而使得在多核或多处理器环境中更有 效地执行多处理。
此外,通过将不必要的处理器置于睡眠模式,可降低功耗。此外,由于 根据工作量或使用的数据的属性来自适应地调节处理器的分配或配置,故可 避免在执行工作之前预设处理器的数量或数据的分配量(例如,分布 (profiling ))。
仅作为不详尽的描述,在此提供的教导可被应用于解码器(例如,视频 解码器)、在多核处理器或多处理器上操作的生产者-消费者处理装置(例如, 用于在多核处理器或多处理器上以多线程执行生产者-消费者并行进程的系 统)。再次仅作为不详尽的描述,在此提供的教导可被应用于编写队列条目以 在多核处理器上执行关于可变长解码(VLD)的进程的装置和由多处理器执 行运动补偿(MC)、逆变换(IT)、反量化(IQ)等的装置。
上述的方法可被记录、存储或安装在包括由计算机实施以引起处理器执 行程序指令的所述程序指令的一个或多个计算机可读介质中。介质还可包括程序指令、数据文件、数据结构等的单个或组合。计算机可读介质的示例包
括磁性介质,诸如硬盘、软盘和磁带;光学介质,诸如CD-ROM盘和DVD; 磁光介质,诸如光盘;被具体配置为存储和执行程序指令的硬件装置,诸如 只读存储器(ROM)、随机访问存储器(RAM)、闪存等。程序指令的示例包 括机器码,诸如由编译器产生的;文件,包含可被计算机使用解释器执行 的更高级代码。所述硬件装置可被配置以作为一个或更多个软件模块,以执 行上述的操作和方法,反之亦然。此外,计算机可读存储介质可被分布在通 过网络连接的计算机系统中,计算机可读代码或程序指令可被以分布式方式 存储和执行。
计算系统或计算机可包括与总线、用户接口和存储器控制器电连接的微 处理器。计算系统或计算机还可包括闪存装置。闪存装置可经由存储器控制 器存储N比特数据。N比特数据被微处理器执行或将被微处理器执行,并且 N可以是1或大于1的整数。其中,计算系统或计算机是移动设备,可另外 提供电池以供给计算系统或计算机的操作电压。本领域中的普通技术人员应 该理解,计算系统或计算机还可包括应用芯片组、相机图像处理器(CIS)、 移动动态随机访问存储器(DRAM)等。存储器控制器和闪存装置可组成使 用非易失性存储数据的固态硬盘(SSD)。
以上已经示出了一些示例性实施例。然而,应该理解可做出各种修改。 例如,如果以不同的顺序扭J亍上述^支术和/或如果以不同的方式组合上述系 统、结构、装置或电路中的组件和/或使用其它组件或它们的等同物替换或补 充所述组件,则可获得适合的结果。因此,其它实施落入权利要求的范围内。
权利要求
1、一种多处理环境中的存储器管理器,包括一个或多个生产者处理器,能够被分配以产生工作;一个或多个消费者处理器,能够被分配以消费产生的工作;控制器,基于存储器与处理器之间的带宽的状况来管理所述一个或多个消费者处理器。
2、 如权利要求1所述的存储器管理器,其中,控制器包括 带宽监视器,;险查存储器与处理器之间的带宽状况。
3、 如权利要求2所述的存储器管理器,其中,带宽监视器包括 队列监视器,检查根据将在被处理器共享的共享队列中处理的工作的数量确定的共享队列的长度。
4、 如权利要求2所述的存储器管理器,其中,带宽监视器包括 队列监视器,计算根据将在被处理器共享的共享队列中处理的工作的数量和具体时间确定的共享队列的运动平均值。
5、 如权利要求1所述的存储器管理器,其中,控制器基于带宽的状况来 调节被分配以消费产生的工作的处理器的数量。
6、 如权利要求5所述的存储器管理器,其中,控制器包括 进程调节器,如果共享队列的长度大于预定的上限,则增加被分配以消费产生的工作的处理器的数量,如果共享队列的长度小于预定的下限,则减 少被分配以消费产生的工作的处理器的数量。
7、 如权利要求5所述的存储器管理器,其中,控制器包括 进程调节器,如果共享队列的长度大于预定的上限,则减少将被所述一个或多个消费者处理器消费的数据的分配单元大小,如果共享队列的长度小 于预定的下限,则增加将被将被所述一个或多个消费者处理器消费的数据的 分配单元大小。
8、 如权利要求8所述的存储器管理器,其中,控制器包括 进程调节器,如果共享队列的长度持续增加给定的一段时间,则增加被分配以消费产生的工作的处理器的数量,如果共享队列的长度持续减少给定 的一段时间,则减少被分配以消费产生的工作的处理器的数量。
9、 如权利要求5所述的存储器管理器,其中,控制器包括进程调节器,如果共享队列的长度持续增加给定的一段时间,则减少将 被所述一个或多个消费者处理器消费的数据的分配单元大小,如果共享队列 的长度持续减少给定的 一段时间,则增加将被所述一个或多个消费者处理器 消费的数据的分配单元大小。
10、 一种在包括生产者进程、消费者进程和存储器的多处理环境中的存储器管理方法,所述方法包括检查存储器与被分配到生产者进程和消费者进程的一个或多个处理器之 间的带宽的状况;以及基于所述带宽的状况管理消费者进程。
11、 如权利要求IO所述的方法,其中,检查带宽的状况的步骤包括根 据将在共享队列中处理的工作的数量来确定被生产者进程和消费者进程共享 的共享队列的长度。
12、 如权利要求IO所述的方法,其中,管理消费者进程的步骤包括基 于带宽的状况来调节被分配到消费者进程的处理器的数量。
13、 如权利要求12所述的方法,其中调节处理器的数量的步骤包括如果共享队列的长度大于预定的上限, 则增加被分配到消费者进程的处理器的数量,如果共享队列的长度小于预定 的下限,则减少被分配到消费者进程的处理器的数量。
14、 如权利要求12所述的方法,其中调节处理器的数量的步骤包括如果共享队列的长度持续增加给定的一 段时间,则增加被分配到消费者进程的处理器的数量,如果共享队列的长度 持续减少给定的一段时间,则减少被分配到消费者进程的处理器的数量。
15、 如权利要求IO所述的方法,其中管理消费者进程的步骤包括如果共享队列的长度大于预定的上限,则 减少将被消费者进程消费的数据的分配单元大小,如果共享队列的长度小于 预定的下限,则增加将被消费者进程消费的数据的分配单元大小。
16、 如权利要求IO所述的方法,其中管理消费者进程的步骤包括如果共享队列的长度持续增加给定的一段 时间,则减少将被消费者进程消费的数据的分配单元大小,如果共享队列的 长度持续减少给定的一段时间,则增加将被消费者进程消费的数据的分配单 元大小。
17、 如权利要求IO所述的方法,其中,检查带宽的状况的步骤包括确 定共享队列的长度变化,所述确定共享队列的长度变化包括计算共享队列的运动平均值。
18、 一种用于多处理环境中的计算装置,包括共享队列,被产生工作的第 一进程和消费第 一进程产生的工作的第二进 程共享;和控制器,基于共享队列的状况来管理第二进程。
19、 如权利要求18所述的计算装置,其中,控制器基于共享队列的状况 来调节分配到第二进程的处理器的数量。
20、 如权利要求18所述的计算装置,其中,控制器包括 队列监视器,检查根据将在共享队列中处理的工作的数量确定的共享队列的长度。
21、 如权利要求20所述的计算装置,其中,控制器还包括 进程调节器,如果共享队列的长度大于预定的上限,则增加分配到第二进程的处理器的数量,如果共享队列的长度小于预定的下限,则减少分配到 第二进程的处理器的量。
22、 如权利要求20所述的计算装置,其中,控制器还包括 进程调节器,如果共享队列的长度大于预定的上限,则减少将被第二进程消费的数据的分配单元大小,如果共享队列的长度小于预定的下限,则增 加将被第二进程消费的数据的分配单元大小。
23、 如权利要求18所述的计算装置,其中,控制器包括 队列监视器,计算根据将在共享队列中处理的数据的数量和具体时间确 定的共享队列的运动平均值。
24、 如权利要求23所述的计算装置,其中,控制器还包括 进程调节器,如果共享队列的长度持续增加给定的一段时间,则增加被分配到第二进程的处理器的数量,如果共享队列的长度持续减少给定的一段 时间,则减少被分配到第二进程的处理器的数量。
25、 如权利要求23所述的计算装置,其中,控制器还包括 进程调节器,如果共享队列的长度持续增加给定的一段时间,则减少将被第二进程消费的数据的分配单元大小,如果共享队列的长度持续减少给定 的一段时间,则增加将被第二进程消费的数据的分配单元大小。
26、 一种用于多处理环境中的计算装置,包括共享队列,被第一进程和第二进程共享,其中,第一进程产生数据,共 享队列的条目是将由第二进程处理的工作;和控制器,基于共享队列的状况来自适应地调节被分配到第二进程的处理 器的数量和/或将被第二进程处理的数据的分配单元大小。
27、 如权利要求26所述的计算装置,其中,控制器包括 队列监视器,检查根据将在共享队列中处理的工作的数量确定的共享队列的长度;和进程调节器,如果共享队列的长度大于预定的上限,则增加被分配到第 二进程的处理器的数量和/或减少将被第二进程处理的数据的分配单元大小, 如果共享队列的长度小于预定的下限,则减少被分配到第二进程的处理器的数量和/或增加将被第二进程处理的数据的分配单元大小。
28、 如权利要求26所述的计算装置,其中,控制器计算共享队列的运动 平均值,如果共享队列的长度变化指示增加趋势,则增加被分配到第二进程 的处理器的数量和/或减少将被第二进程处理的数据的分配单元大小,如果共 享队列的长度变化指示减少趋势,则减少被分配到第二进程的处理器的数量 或增加将被第二进程处理的数据的分配单元大小。
29、 如权利要求26所述的计算装置,其中,控制器通过将一个或多个处 理器置为睡眠状态来调节分配到第二进程的处理器的数量。
30、 一种存储用于在多处理环境中管理存储器的程序的计算机可读存储 介质,包括引起计算机执行以下内容的命令确定被第一进程和第二进程共享的共享列队的长度和/或共享列队的长 度变化,其中,第一进程产生数据,共享队列的条目是将由第二进程处理的 工作;以及基于共享列队的长度和/或共享列队的长度变化的状况来管理第二进程。
全文摘要
提供了一种用于管理存储器的方法和存储器管理器。所述存储器管理器基于由产生数据的生产者进程和消费数据的消费者进程共享的共享队列的状况来调节分配到消费者进程的处理器的数量和/或将被消费者进程消费的数据的分配单元大小。
文档编号G06F9/50GK101685409SQ200910178219
公开日2010年3月31日 申请日期2009年9月27日 优先权日2008年9月26日
发明者白贤基, 辛圭桓, 金钟泰 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1