CN101433048B - 并行多核心计算结构的多媒体处理 - Google Patents
并行多核心计算结构的多媒体处理 Download PDFInfo
- Publication number
- CN101433048B CN101433048B CN2007800154597A CN200780015459A CN101433048B CN 101433048 B CN101433048 B CN 101433048B CN 2007800154597 A CN2007800154597 A CN 2007800154597A CN 200780015459 A CN200780015459 A CN 200780015459A CN 101433048 B CN101433048 B CN 101433048B
- Authority
- CN
- China
- Prior art keywords
- core
- module
- time
- media server
- real
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims abstract description 95
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 abstract description 21
- 238000007726 management method Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000002203 pretreatment Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
Abstract
本发明涉及一种用于处理数据分组的媒体服务器,包括用于执行媒体服务器功能的多个处理核心(200、202、204、206),其中所述处理核心在通过实时响应需求分类的模块中执行所述媒体功能。模块可以被分类为硬实时、软实时和近似实时响应需求。当在精确的期限内事件被反应是强制性的时候,采用硬实时系统。在存在某些并行访问问题,并且随着变化的情形需要保持许多连接系统更新时,通常采用软实时系统。近似实时可以涉及非实时操作,并且还可以涉及存在某些依靠及时地完成的操作。所述处理核心中的一个可以是提供配置控制和其它服务的主核心(200)。可以使用共享存储器(224)。
Description
发明领域
本发明涉及多媒体通信领域,尤其是涉及媒体服务器,其中媒体服务器意欲随VOIP电话网络、分组有线网络、PSTN电话网络、无线电话网络及其所有的组合一起使用。
发明背景
媒体服务器在电话网络中采用,并且执行各种各样基本和增强的服务,其包括会议、音频和视频交互式话音响应(IVR)、代码转换、音频和视频通知,以及其它改进的语音服务。它们也可以在提供视频会议服务,以及典型数据交换服务等等的网络中采用,这些典型数据交换服务出现在广域网和局域网等等内的因特网、虚拟专用网络上。在所有情况下,由媒体服务器执行的数据交换和处理基于具有固定的最大处理时间需求的分组处理。
在硬件结构方面的改进允许多核心和多处理器计算对于软件结构和并行处理算法呈现新的挑战。并行处理核心的递增在处理能力量方面不必然地转化为等效的线性增加。给定的算法或者处理任务通常由某些子部分组成,其可以并行执行,而其它的子部分必须依次执行。串行和并行执行部分的相应的比例控制由多个并行处理单元组成的系统的聚合处理能力。并行处理单元的数目(N)、可并行化的命令的比例(P)和系统的最大增速之间的关系是由Amdahl定律限定的。
[Amdahl定律]
最大增速<=S+P/(S+P/N)或者
S=串行执行码的百分比
P=并行执行码的百分比
N=处理器的数目
l=S+P
不考虑可利用的处理器的总数(N),如果所有代码部分需要串行执行(S=1),那么最大增速因子保持在1上。理论上,如果所有处理可以被并行化(P=1),那么,最大增速是N,相当于可利用的并行处理器的数目。
Amdahl定律描述用于供需要大规模的数值数据处理的应用利用多个并行处理核心的一般规则。但是,没有考虑实时处理、确定的响应时间和在多个核心上的负载均衡的复杂问题。这些问题对远程通信应用是必不可少的。
发明内容
本发明的实施方案允许实时敏感的媒体处理功能利用多核心和多处理器硬件结构根据需要随着确定的响应时间实行。
因此,本发明的第一个方面提供一种用于处理数据分组的媒体服务器,包括:用于执行媒体服务器功能的多个处理核心,其中所述处理核心在由实时响应需求分类的模块中执行所述媒体功能。
本发明的第二个方面提供一种操作用于处理数据分组的媒体服务器的方法,包括:提供由用于执行所述媒体功能的实时响应需求分类的模块;和在多个处理核心上按照所述实时响应需求实现模块。
附图简要说明
现在将参考所附的附图仅通过实施例的方式来更详细地描述本发明,其中:
图1是媒体服务器实时处理模块的方框图;
图2是不对称多核心媒体服务器的方框图;
图3是动态的不对称多核心媒体服务器的方框图;和
图4是模块对称多核心媒体服务器的方框图。
优选实施例的详细说明
如在图1中举例说明的,媒体服务器功能由各自具有明显不同的处理需求的多个模块和层100组成。从网络实体到媒体服务器的媒体处理请求来源于控制协议,即,SIP、MGCP、Megaco(H.248)、VoiceXML和MSML。
该对话控制层102通过分配和启动由媒体服务器中的其它模块执行的媒体处理管理控制协议请求。媒体处理层106遵照RTP协议对于所有进入和输出的媒体分组执行分组处理。另外,媒体流模块109提供用于来自/向内部和外部媒体存储系统(诸如HTTP和NFS)取得和提交媒体内容的功能。
基础操作系统和系统服务、硬件设备驱动器和操作的结构以及管理功能包括操作、管理、保持和处理(OAMP)模块107,直接或者间接地提供服务给媒体服务器内的所有其它模块。
从实时响应的视角来说,媒体服务器的各种各样的模块100具有明显不同的处理需求。虽然各模块需要确定的响应时间,但是实时响应需求不同,并且如图1所示被分类为硬实时(HRT)、软实时(SRT)和近似实时(NRT)。在本文中,NRT是三个类别(硬实时、软实时和近似实时)的最小实时约束。NRT可以涉及非实时操作,但是其还可以涉及存在某些依靠其及时地完成的操作。
通常地,在计算术语中,如果操作的正确性不仅依赖于操作的逻辑正确性,而且依赖于在其上执行的时间,系统被说成是实时的。在硬或者即时实时系统中,在其期限之后完成操作被认为是无用的,这最终可能导致完整系统的严重故障。另一方面,软实时系统将容许这样的晚点,并且可以对降低服务质量作出反应(例如,当显示视频时丢失帧)。通常发现硬实时系统在低电平上与嵌入式系统中的物理硬件相互作用。
当在精确的期限内事件被反应是强制性的时候,使用硬实时系统。通常这样强的保证是在某个时间窗口中没有反应会以某种方式引起巨大损失的系统所需要的,诸如实际上损坏环境或者威胁人的寿命;虽然精确的限定只不过是丢失期限构成该系统的完整的损坏。在多任务系统的背景下,调度策略通常是优先驱动调度器的优先级。
在存在某些并行访问问题,并且随着变化的情形需要保持许多连接系统更新时,通常使用软实时系统。这些通常可以运行数秒的等待时间。
在此处公开了利用多核心硬件平台的三个不同的多媒体处理实施方案。
不对称多媒体处理
图2示出一个基于四个处理核心系统的媒体服务器的实施例。这个实施方案具有双核心双处理器媒体服务器。
用于如图2所示的媒体服务器的不对称多媒体处理模型具有四个处理核心模块200、202、204、206。HRT模块204、206与SRT和NRT模块200、202分离以便在独立处理核心上执行的。专用于HRT模块和专用于SRT和NRT模块的核心的数目是媒体服务器可配置的选项。
处理核心200的一个集合被确定为主处理核心,并且这提供操作服务、配置控制和媒体服务器内其它可利用核心的加载。主核心还包含eXMP核心模块200,其控制在所有可利用的处理核心上的系统资源分配和调度。每个模块与其自己的L1高速缓存器210、212、214、216有关,并且模块对与相应的L2高速缓存器218、220有关。
通信控制和在核心之间的媒体分组基于共享存储器方案或者其它基于IP的核心间通信接口。在这个实施例中,该模块经共享总线接口222通信并且具有共享存储器224。
可利用的处理核心和由多个处理核心组成的媒体服务器以及附属的DSP处理器的数目是由eXMP核心模块200管理的。核心或者DSP的分配基于预置的系统配置,并且在运行时间期间不能改变。但是,重新配置允许专用于HRT模块的核心的数目和专用于SRT和NRT模块的核心的数目改变。
用于HRT、SRT和NRT功能的可利用核心的分配可以使用在图1中示出的媒体服务器的OAMP模块107修改。分配方案的更新存储在持久性存储器226中。一旦媒体服务器启动,预先配置的处理模块如同被配置数据识别一样在可利用的核心上初始化。
eXMP核心模块200对多核心媒体服务器提供以下的服务。
1.在系统启动时识别主处理核心。
2.按照指定的核心分配方案借助于适宜的媒体处理功能从持久性配置数据加载可利用的核心。
3.使用共享存储器或者基于IP的接口在可利用的核心之间提供控制和媒体通信接口。
4.从网络适配器向适宜的媒体处理核心提供直接和有效的网络分组流。
5.在OS之上提供一个层和服务,使得HRT处理核心被必要地中断,因此,有效地将OS、NRT和SRT功能与HRT核心分离。
6.管理在可利用的HRT核心上的HRT媒体处理资源的分配以提供负载均衡。
限制在指定HRT的核心的一些媒体处理目标是∶
1.RTP输入
2.RTP输出
3.音频和视频解码器
4.音频和视频编码器
5.音频混频器
6.视频标度和屏幕分解
7.音频增益和自动增益控制
8.包括DTMF的带内和带外的音调检测
9.包括DTMF的带内和带外的音调生成
10.语音行为检测器
11.无声抑制
12.回波消除
13.视频和音频通知流
14.热字语音识别
15.话音起动的视频信号转换
16.音频和视频记录
以上所述的各个媒体处理目标和目标的变异具有可以计量的命令计数和特定的实时响应需求。这些处理目标保持空闲直至被调用,在该点上,该处理从固定的最大等待时间量,和在固定的最大处理量开始直至完成。当仅仅媒体处理目标在分配给HRT任务的核心上运行时,这些目标的处理需求不受由媒体服务器执行的任何其它并行运算的影响。
对话控制模块和媒体处理控制和管理模块共同地将高层协议服务请求拆散为一组用于媒体处理目标的时间顺序任务。
这些高层协议服务请求包括∶
1.建立到末端终端的RTP数据流
2.播放音频或者视频通知
3.开始/停止音频或者视频记录
4.检测DTMF数字
5.建立会议
6.加入用户到会议
7.施加增益或者DTMF箝位
媒体处理控制和管理软件模拟各个媒体处理目标对于各分配的任务所使用的处理时间。在这个模拟中,每个DSP核心被指定特定数目的可利用的CPU单元。媒体处理目标所需要的每个任务消耗特定数目的单元。
该媒体处理控制和管理软件使用模拟的加载以确定指定新的服务给哪个DSP核心。
当无足够的CPU单元可以用来满足请求的时候,该媒体处理控制和管理软件拒绝额外服务的请求。
该媒体处理控制和管理软件在各核心所使用的当前数目的CPU单元上接收连续不断的反馈。这个反馈用于动态地调整在其上进来的请求被拒绝的电平。
媒体处理目标仅仅使用最小的OS服务集合,以便模拟的CPU负载不受OS服务处理时间的影响。
该媒体处理软件构成为单个OS线索,以便模拟的CPU负载不受OS调度器处理时间的影响。
动态的不对称多媒体处理
像在参考图2描述的不对称处理模型的情况下一样,在图3中举例说明的动态的不对称多媒体处理设计模型将HRT模块302、306与SRT和NRT模块300、304分离。但是,这个实施例据此允许动态的检测系统利用和媒体处理核心的分配。在这个实施方案中不容许将HRT功能与NRT或者SRT功能混合,以便确保可以保证HRT功能需要的确定的实时响应。
在这个实施方案中,eXMP核心模块308监视核心处理器使用量和在运行时间期间的负载电平。基于这个信息,该eXMP核心模块308可以调整对于HRT、SRT和NRT功能的核心的分配或者预留。如同先前的实施方案的情况一样,主处理器核心300保持固定,而其它可利用的核心功能可以被动态地调整。
在这个实施方案中双核心系统是不可能的,因为HRT模块与NRT和SRT的混合是不可能的。但是,对于由四个或更多个核心组成的媒体服务器,HRT、SRT和NRT模块的动态的负载均衡无需对系统重新配置通过eXMP核心模块308实现。
在系统启动和初始化期间,eXMP核心模块按照存储在存储器326中的持久性配置数据执行核心分配。
就处理等待时间而言,对核心处理分配调整的频率考虑了系统成本。如果这样的不利结果不允许重新调整,那么该核心处理分配方案不被调整。这种机制防止能导致总体系统性能较低的剧烈扭动。
为了例示在给定的核心上尽快地起作用的处理,在系统启动期间在核心上可容许的处理被调用。每个这样的处理被设置在空闲状态直至由eXMP核心模块分配和指定,此时,其可用于接收事件以执行需要的动作。
在各核心上的当前处理负荷的运行时间模拟是由eXMP核心模块308管理的。各核心在存储器的可共享部分内管理和更新其性能使用信息。eXMP核心模块308周期性地读取这个信息以确定是否需要对可利用核心的当前处理分配进行一些调整。调度和分配确保防止NRT和SRT功能在给定的核心上与HRT功能并行地执行。
eXMP核心模块对媒体服务器提供以下的服务:
1.基于媒体服务器配置启动系统启动核心分配,使得分配HRT、SRT和NRT功能。
2.对每个处理核心加载以可容许的HRT、SRT和NRT功能,并且将相关的状态设置为空闲和就绪状态。当需要重新分配的时候,这种机制防止不必要的处理建立和转换时间。在重新分配时,相关的处理状态被从空闲改变为激活,或者反之亦然。
3.基于模拟各个处理核心的资源利用的若干因素执行算法。有助于处理器核心资源利用的因素是CPU消耗量、排队请求的长度和平均等待时间或者响应时间。
4.基于核心处理器使用模拟,重新调整或者重新指定用于HRT或者非HRT功能的处理核心。
5.执行防止核心处理器剧烈扭动而避免在HRT功能和非HRT功能之间翻转的机制。
模块对称多媒体处理
在图4示出的第三个实施方案中,基于模块对称多媒体处理构思,容许在多核心媒体服务器上的相同核心或者核心集合上并行地执行HRT、SRT和NRT模块。在这个实施方案中的对称处理有意地设计用于粗糙的并行执行。
与SRT和NRT模块400、402一起的HRT模块404、406基于核心的当前负载电平、核心的资源利用电平和与被调度任务有关的处理实时期限被调度以用于在相同的处理核心上执行。
处理核心上负载电平的测量由各个核心管理,并且写入到通常的可共用存储器位置。主处理核心400作为eXMP核心模块408的一部分执行负载调度算法。eXMP核心调度器408防止操作系统调度器避免直接调度任务给核心,这可能导致未确定的行为。
执行优先级方案允许包括核心调度器的eXMP核心模块408去确定用于执行的目标核心,以及用于在核心内处理的优先次序。这种机制允许给定的核心基于该请求的实时需求来处理以处理优先级为顺序的排队请求。
在可利用的核心上的工作者线索的调度是在eXMP核心调度器408的控制下,但是,在主处理器核心400上的线索是由操作系统调度器管理和处理的。
该eXMP核心调度器408提供媒体处理任务(HRT)调度而无需来自标准操作系统服务和TCP/IP栈的大量牵连。该媒体数据分组被组装和调度,用于像由eXMP核心调度器确定的一样由核心处理。媒体和控制数据复制通过利用共享存储器区域减到最小,该共享存储器区域是主处理核心400以及被调度用于处理排队请求的内容的个别核心可访问的。由eXMP核心调度器408使用的资源利用测量专用于具有可以计量和确定的响应时间需求的媒体处理目标。
eXMP u调度器428管理在特定核心上的调度需求。在精确的实时控制之下,其允许在相同的处理核心上并行执行线索。标准操作系统通常不提供媒体处理功能需要的硬实时控制。eXMP u调度器428在相同的核心上经一些其它当前执行的NRT和SRT模块为HRT模块请求提供较高优先级和服务时间。
负载均衡
eXMP核心428周期性地监视和测量CPU使用、队列长度和响应时间。测量的结果在通常的共享存储区中周期性地更新,该共享的存储区被做成是在主处理核心400上的eXMP核心模块408可访问的。该eXMP核心408基于处理测量调度用于个别核心的新请求。请求目标在共享存储区中排队用于由个别核心处理。在实时响应约束内用于负载均衡的算法在提供集中的负载均衡机制的eXMP核心模块内执行和管理。
高速缓存器一致性
为了避免或者将高速缓存器不一致性减到最小,HRT、SRT和NRT模块被设计成对于相同的存储数据结构区域具有最小的冲突。经由自旋锁的数据访问锁定和其它的相互排斥机制在核心处理模块以及在eXMP核心调度模块中被减到最小。
冗余度
eXMP核心包括心跳协议,其允许检测归因于硬件或者软件致命错误的核心损坏。由于这种设计实现了共享存储器机制,在核心上执行的模块的交易和操作的状态被对于核心损坏保留。该eXMP核心模块408通过重新映射由冗余核心使用的包含有关的状态信息的共享存储器,在从失败的核心到冗余核心的转换处理时利用这种机制。
Claims (14)
1.一种用于处理数据分组的媒体服务器,所述媒体服务器包括:
用于执行媒体服务器功能的多个处理核心,其中,所述多个处理核心在通过实时响应需求分类的模块中执行所述媒体服务器功能;所述多个处理核心的子集合专用于所述模块,所述模块根据实时响应需求不同被分类为硬实时HRT模块、软实时SRT模块和近似实时NRT模块,以响应需求;在各所述多个处理核心的子集合中的处理核心数目是可配置的。
2.根据权利要求1所述的媒体服务器,其中,所述多个处理核心中的一个作为主核心,用于在媒体服务器内提供运行服务、配置控制和可利用核心的加载。
3.根据权利要求2所述的媒体服务器,其中,所述主核心包括用于在所述处理核心上分配和调度系统资源的控制核心模块。
4.根据权利要求1所述的媒体服务器,其中,所述HRT模块与用于独立处理的SRT和NRT模块分离。
5.根据权利要求3所述的媒体服务器,其中,所述控制核心模块被配置去监视在运行时间期间核心处理器使用量和加载电平,以动态地调整用于所述HRT、SRT和NRT功能的处理核心的分配。
6.根据权利要求2所述的媒体服务器,其中,所述主核心被配置去调度所述HRT、SRT和NRT模块,用于在相同的核心或者核心集合上并行地执行。
7.根据权利要求3所述的媒体服务器,其中,所述主核心的控制核心模块被配置去实施执行优先级方案以确定用于执行的目标核心。
8.一种操作用于处理数据分组的媒体服务器的方法,所述方法包括:
提供用于执行媒体服务器功能的多个处理核心;
提供由用于执行所述媒体服务器功能的实时响应需求分类的模块;和
在所述多个处理核心上按照所述实时响应需求实现模块;
其中,所述多个处理核心的子集合专用于所述模块,所述模块根据实时响应需求不同被分类为硬实时HRT模块、软实时SRT模块和近似实时NRT模块,以响应需求;在各所述多个处理核心的子集合中的处理核心数目是可配置的。
9.根据权利要求8所述的方法,其中,所述多个处理核心中的一个作为主核心,用于在媒体服务器内提供运行服务、配置控制和可利用核心的加载。
10.根据权利要求9所述的方法,其中,在所述主核心中的控制核心模块在所述处理核心上分配和调度系统资源。
11.根据权利要求8所述的方法,其中,所述HRT模块与用于独立处理的SRT和NRT模块分离。
12.根据权利要求10所述的方法,其中,所述控制核心模块监视在运行时间期间核心处理器使用量和加载电平,以动态地调整用于所述HRT、SRT和NRT功能的处理核心的分配。
13.根据权利要求9所述的方法,其中,所述主核心调度所述HRT、SRT和NRT模块,用于在相同的核心或者核心集合上并行地执行。
14.根据权利要求10所述的方法,其中,所述主核心的控制核心模块被配置去实施执行优先级方案以确定用于执行的目标核心。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74384806P | 2006-03-28 | 2006-03-28 | |
US60/743,848 | 2006-03-28 | ||
US74395906P | 2006-03-30 | 2006-03-30 | |
US60/743,959 | 2006-03-30 | ||
PCT/CA2007/000494 WO2007109894A1 (en) | 2006-03-28 | 2007-03-28 | Multimedia processing in parallel multi-core computation architectures |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101433048A CN101433048A (zh) | 2009-05-13 |
CN101433048B true CN101433048B (zh) | 2012-11-07 |
Family
ID=38540756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800154597A Expired - Fee Related CN101433048B (zh) | 2006-03-28 | 2007-03-28 | 并行多核心计算结构的多媒体处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8081191B2 (zh) |
EP (1) | EP2005691A4 (zh) |
CN (1) | CN101433048B (zh) |
WO (1) | WO2007109894A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8446846B1 (en) * | 2007-02-02 | 2013-05-21 | Radisys Canada Ulc | Method of passing signal events through a voice over IP audio mixer device |
US8417848B2 (en) * | 2007-11-20 | 2013-04-09 | Hangzhou H3C Technologies Co., Ltd. | Method and apparatus for implementing multiple service processing functions |
DE102008005124A1 (de) | 2008-01-18 | 2009-07-23 | Kuka Roboter Gmbh | Computersystem, Steuerungsvorrichtung für eine Maschine, insbesondere für einen Industrieroboter, und Industrieroboter |
GB2462825A (en) * | 2008-08-19 | 2010-02-24 | Howler Technologies Ltd | Processing packetised data using a Cell Broadband Engine architecture |
US9703595B2 (en) * | 2008-10-02 | 2017-07-11 | Mindspeed Technologies, Llc | Multi-core system with central transaction control |
JP2010141821A (ja) * | 2008-12-15 | 2010-06-24 | Toshiba Corp | ストリーミングプロセッサおよびプロセッサシステム |
MX2011006536A (es) * | 2008-12-18 | 2011-07-13 | Ericsson Telefon Ab L M | Nodo de red y metodo para controlar los recursos en una red de comunicaciones. |
JP2010218445A (ja) * | 2009-03-18 | 2010-09-30 | Toshiba Corp | マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム |
KR101572879B1 (ko) * | 2009-04-29 | 2015-12-01 | 삼성전자주식회사 | 병렬 응용 프로그램을 동적으로 병렬처리 하는 시스템 및 방법 |
KR101155202B1 (ko) * | 2009-12-24 | 2012-06-13 | 포항공과대학교 산학협력단 | 멀티 코어 프로세서의 전력 관리 방법, 멀티 코어 프로세서의 전력 관리 방법이 기록된 기록매체 및 이를 실행하는 멀티 코어 프로세서 시스템 |
CN102238143B (zh) * | 2010-04-30 | 2014-01-22 | 鸿富锦精密工业(深圳)有限公司 | 主服务器及利用其进行多媒体资料解码的方法 |
ES2615513T3 (es) | 2010-07-28 | 2017-06-07 | Thales | Dispositivo de circuitos de control de electrónica de potencia |
US20120093047A1 (en) * | 2010-10-14 | 2012-04-19 | Alcatel-Lucent USA Inc. via the Electronic Patent Assignment System (EPAS) | Core abstraction layer for telecommunication network applications |
CN102023897B (zh) * | 2010-11-04 | 2013-03-13 | 曙光信息产业(北京)有限公司 | 一种众核环境下视频编解码动态多分辨率自适应并行方法和系统 |
CN102075526B (zh) * | 2010-12-22 | 2013-07-24 | 北京航空航天大学 | 多核虚拟化环境面向软实时应用的验证系统 |
US8972707B2 (en) | 2010-12-22 | 2015-03-03 | Via Technologies, Inc. | Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin |
US8631256B2 (en) | 2010-12-22 | 2014-01-14 | Via Technologies, Inc. | Distributed management of a shared power source to a multi-core microprocessor |
US8637212B2 (en) | 2010-12-22 | 2014-01-28 | Via Technologies, Inc. | Reticle set modification to produce multi-core dies |
US8930676B2 (en) | 2010-12-22 | 2015-01-06 | Via Technologies, Inc. | Master core discovering enabled cores in microprocessor comprising plural multi-core dies |
US9460038B2 (en) * | 2010-12-22 | 2016-10-04 | Via Technologies, Inc. | Multi-core microprocessor internal bypass bus |
US8782451B2 (en) | 2010-12-22 | 2014-07-15 | Via Technologies, Inc. | Power state synchronization in a multi-core processor |
KR20120083801A (ko) * | 2011-01-18 | 2012-07-26 | 삼성전자주식회사 | 가상머신을 위한 멀티미디어 데이터 선행처리장치 및 방법 |
KR101733117B1 (ko) * | 2012-01-31 | 2017-05-25 | 한국전자통신연구원 | 멀티코어 시스템의 태스크 분배 방법 및 장치 |
US9563579B2 (en) | 2013-02-28 | 2017-02-07 | Intel Corporation | Method, apparatus, system for representing, specifying and using deadlines |
KR101694302B1 (ko) * | 2013-03-11 | 2017-01-23 | 한국전자통신연구원 | 이기종 멀티코어 프로세서 시스템의 관리 장치 및 방법 |
JP6273773B2 (ja) * | 2013-10-30 | 2018-02-07 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システムおよびプログラム |
US10002016B2 (en) * | 2015-07-23 | 2018-06-19 | Red Hat, Inc. | Configuration of virtual machines in view of response time constraints |
US20170052799A1 (en) * | 2015-08-21 | 2017-02-23 | Microchip Technology Incorporated | Integrated Circuit Device With Selectable Processor Core |
CN105282017B (zh) * | 2015-11-24 | 2018-07-06 | 无锡江南计算技术研究所 | 一种基于扁平化模型的通信实现方法 |
CN108363615B (zh) * | 2017-09-18 | 2019-05-14 | 清华大学 | 用于可重构处理系统的任务分配方法和系统 |
DE102019203130A1 (de) * | 2019-03-07 | 2020-09-10 | Continental Automotive Gmbh | Nahtlose Audioübergabe in einem Mehrprozessor-Audiosystem |
EP3872634A1 (en) | 2020-02-27 | 2021-09-01 | Mitsubishi Electric R&D Centre Europe B.V. | Multicore system on chip architecture |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748468A (en) * | 1995-05-04 | 1998-05-05 | Microsoft Corporation | Prioritized co-processor resource manager and method |
CN1582581A (zh) * | 2001-11-02 | 2005-02-16 | 皇家飞利浦电子股份有限公司 | 多媒体处理装置及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5576945A (en) * | 1995-01-23 | 1996-11-19 | Tandem Computers Incorporated | Transaction monitor process with pre-arranged modules for a multiprocessor system |
US6044408A (en) * | 1996-04-25 | 2000-03-28 | Microsoft Corporation | Multimedia device interface for retrieving and exploiting software and hardware capabilities |
US5799149A (en) * | 1996-06-17 | 1998-08-25 | International Business Machines Corporation | System partitioning for massively parallel processors |
US5974439A (en) * | 1997-11-21 | 1999-10-26 | International Business Machines Corporation | Resource sharing between real-time and general purpose programs |
US7446774B1 (en) * | 1998-11-09 | 2008-11-04 | Broadcom Corporation | Video and graphics system with an integrated system bridge controller |
US6573905B1 (en) * | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US7978205B1 (en) * | 2004-05-03 | 2011-07-12 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
-
2007
- 2007-03-28 WO PCT/CA2007/000494 patent/WO2007109894A1/en active Application Filing
- 2007-03-28 EP EP07719427A patent/EP2005691A4/en not_active Withdrawn
- 2007-03-28 CN CN2007800154597A patent/CN101433048B/zh not_active Expired - Fee Related
-
2008
- 2008-09-25 US US12/237,840 patent/US8081191B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748468A (en) * | 1995-05-04 | 1998-05-05 | Microsoft Corporation | Prioritized co-processor resource manager and method |
CN1582581A (zh) * | 2001-11-02 | 2005-02-16 | 皇家飞利浦电子股份有限公司 | 多媒体处理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101433048A (zh) | 2009-05-13 |
EP2005691A4 (en) | 2013-02-20 |
WO2007109894A1 (en) | 2007-10-04 |
EP2005691A1 (en) | 2008-12-24 |
US8081191B2 (en) | 2011-12-20 |
US20090083516A1 (en) | 2009-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101433048B (zh) | 并行多核心计算结构的多媒体处理 | |
US11277469B2 (en) | Efficient and reliable host distribution of totally ordered global state | |
US6167423A (en) | Concurrency control of state machines in a computer system using cliques | |
US9547836B2 (en) | Method and apparatus for scheduling media processing jobs on multiple processors to maximize processor utilization | |
AU2002362656B2 (en) | System for integrating java servlets with asynchronous messages | |
CN101455060B (zh) | 在高速、低等待时间数据通信环境中同步主动馈送适配器和备用馈送适配器的方法 | |
EP1150208A2 (en) | Multiprocessor object control | |
US20150067028A1 (en) | Message driven method and system for optimal management of dynamic production workflows in a distributed environment | |
US9727389B2 (en) | Methods and systems for distributed processing on consumer devices | |
CN105844762B (zh) | 排号装置、排号系统及排号方法 | |
US20100049576A1 (en) | Dispatch and service support system | |
US20120192197A1 (en) | Automated cloud workload management in a map-reduce environment | |
CN101483613B (zh) | 为呈现服务器提供QoS控制能力的方法和设备及其系统 | |
CN105700937A (zh) | 多线程任务处理方法和装置 | |
CN101464810A (zh) | 服务程序处理方法及服务器 | |
US7386857B2 (en) | Application connector parallelism in enterprise application integration systems | |
US7472181B2 (en) | Automated real-time appointment control by continuously updating resources for possible rescheduling of existing appointments | |
CN101719852A (zh) | 一种中间件性能的监控方法和设备 | |
US9430293B2 (en) | Deterministic real time business application processing in a service-oriented architecture | |
CN110221927A (zh) | 异步消息处理方法和装置 | |
CN109558239A (zh) | 一种任务调度方法、装置、系统、计算机设备和存储介质 | |
US7197533B2 (en) | Non-persistent service support in transactional application support environments | |
CN107943584A (zh) | 批量交易请求的处理方法及装置 | |
Morariu et al. | Manufacturing service bus integration model for implementing highly flexible and scalable manufacturing systems | |
JP4791315B2 (ja) | 業務管理装置及び業務管理方法及びプログラム |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121107 Termination date: 20150328 |
|
EXPY | Termination of patent right or utility model |