CN102057356A - 用于测量任务负载的方法和系统 - Google Patents
用于测量任务负载的方法和系统 Download PDFInfo
- Publication number
- CN102057356A CN102057356A CN2009801217107A CN200980121710A CN102057356A CN 102057356 A CN102057356 A CN 102057356A CN 2009801217107 A CN2009801217107 A CN 2009801217107A CN 200980121710 A CN200980121710 A CN 200980121710A CN 102057356 A CN102057356 A CN 102057356A
- Authority
- CN
- China
- Prior art keywords
- task
- audio
- audio task
- interval
- future
- 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
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Abstract
本发明提供一种用于实时确定任务负载的方法。所述方法实时取得任务执行之前来自自由运行计数器的第一计数值与所述任务停止运行之后的第二计数值之间的差。可接着通过使用累加器在参考间隔内累加所述第一计数值与所述第二计数值之间的所述差并将所述和除以可配置参考间隔来确定所述任务负载。实时计算的个别任务负载可用于调度音频任务。
Description
相关申请案
本申请案与2008年6月11日申请的第61/060,532号美国临时专利申请案“用于测量任务负载的方法和系统(METHOD AND SYSTEM FOR MEASURING TASK LOAD)”相关并主张其优先权,所述临时专利申请案的全文以引用的方式并入本文中。
技术领域
所描述的实施例大体涉及实时计算。更明确地说,所描述的实施例涉及测量一个或一个以上任务负载,其可用于调整应用在系统上的负载。
背景技术
图1大体描述实时计算系统的现有技术。实时计算系统控制应用程序的执行以及到系统硬件和公用程序的接口。实时计算系统103可托管于例如处理器或数字信号处理器等电子硬件101上。作为一实例,硬件可为移动电话上的硬件或具有内嵌式软件或固件的任何装置上的硬件。公用程序105通常是辅助计算系统控制输入/输出装置和管理文件的程序。
在此类应用中,有用的是出于系统设计考虑或作为输入到可利用任务负载信息的其它应用107的参数而知道实时计算系统上来自一个或一个以上个别任务的负载。确定任务的负载的现有技术方法是使用逻辑分析器俘获任务执行数据并对特定个别任务上执行的指令进行计数。此方法不是实时的且因此不允许将任务负载用作到可有效使用所述信息的另一应用的输入。举例来说,乐器数字接口(MIDI)应用可使用实时任务负载来确定是否减小针对将来帧处理的MIDI语音。
发明内容
详细描述内容中揭示的实施例包含确定任务执行循环的数目以计算任务负载。确定任务执行循环的数目包括:在任务执行之前从自由运行计数器读取第一计数值;在所述任务停止运行之后从自由运行计数器读取第二计数值;以及实时取得所述第一计数值与所述第二计数值之间的差。所述任务执行循环可在参考间隔内累加。所述参考间隔可为可配置值。可通过使用累加器在参考间隔内累加所述第一计数值与所述第二计数值之间的所述差并将所述和除以参考间隔来确定所述任务负载。
另一实施例包含调度音频任务。调度音频任务包括:建立在其间处理当前帧中的音频任务的参考间隔;以及计算用以处理音频任务的实际循环数目与参考间隔中的循环数目之间的差并调度针对将来音频任务的参数。可用于处理将来音频任务的循环数目可基于音频任务的任务负载且基于用以处理音频任务的实际循环数目来计算。可用于处理将来音频任务的循环数目可通过以下方式来计算:取参考周期中的循环数目(最大循环),并减去用于处理当前音频任务的循环数目(实际循环),且加上用于在参考间隔内处理当前帧中的音频任务的循环数目(经累加任务执行循环)。在示范性实施例中,调度参数为音频帧中的合成语音参数。参考间隔可经由硬件或软件而为可配置的。所计算的差基于时间与循环之间的转换。调度的示范性实施例包含相对于当前音频任务处理将来音频任务的较少音频帧参数,或相对于当前音频任务处理将来音频任务的相等或较大数目的音频帧参数。可用于处理将来音频任务的循环数目在处理最大数目的音频帧参数时可为零,或在处理器通电期间可为零。
另一实施例是一种包括处理器的设备,所述处理器用于计算用以处理音频任务的实际时间与参考间隔中的循环数目之间的差并基于所计算的差调度将来音频任务。存储器存储调度参数,且自由运行计数器将至少两个计数值提供到处理器以计算音频任务的实际时间。
另一实施例是一种包括以下装置的设备:用于检索在其间处理当前帧中的音频任务的参考间隔的装置;用于计算用以处理音频任务的实际循环数目与参考间隔中的循环数目之间的差的装置;以及用于调度针对将来音频任务的参数的装置。
另一实施例是一种计算机可读媒体,其体现可由一个或一个以上处理器执行的指令集。所述计算机可读媒体包括:用于检索在其间处理音频任务的参考间隔的代码;用于计算用以处理音频任务的实际循环数目与参考间隔中的循环数目之间的差的代码;以及用于调度针对将来音频任务的参数的代码。
附图说明
图1是实时计算系统的框图说明。
图2是实时测量任务负载的实时计算系统的框图示范性实施例。
图3是说明可在主机处理器上运行的方法的流程图。
图4是应用任务的处理期间实时计算系统内可发生的各种定时情况的图形说明。
图5是多处理器系统的示范性实施例的框图。
图6是音频装置的示范性说明的框图。
图7是音频任务的示范性实施例中的定时的图形说明,所述音频任务在计算中利用任务负载来估计可用于处理下一帧中的音频任务的时间或循环。
图8是说明确定任务负载的方法的流程图。
图9是说明调度音频任务的方法的流程图。
具体实施方式
本文以下描述内容和相关图式中揭示各种实施例。可在不偏离本发明的范围的情况下设计出替代实施例。另外,本发明的一些众所周知的元件将不予以详细描述或将省略以免混淆本发明的相关细节。
本文使用词语“示范性”来表示“充当实例、例子或说明”。本文描述为“示范性”的任何实施例不必理解为相对于其它实施例是优选或有利的。同样,术语“本发明的实施例”不要求本发明的所有实施例均包含所论述的特征、优点或操作模式。
本文使用术语“实时计算系统”来表示(但不限于)使用调度系统实时处理至少一个任务。
图2是运行实时计算系统230的主机处理器210的示范性实施例。计算系统230以特定间隔读取并存储从自由运行计数器225输出的值。本文使用术语“自由运行计数器”来表示在低功率模式期间和/或在主机处理器休眠状态期间保持运行的计数器或其它参考源。所属领域的技术人员将了解,可在不偏离代表性实施例的精神和范围的情况下使用例如软件计数器或硬件计数器等参考源。自由运行计数器225可物理上位于处理器内部或处理器外部。
运行实时计算系统230的主机处理器210处理应用任务205。任务由任务调度器215处理,所述任务调度器215确定处理器210何时可用以及任务何时准备好进行处理。中断处理程序220可用于中断当前正由处理器210执行的任务205。被中断的任务205由任务调度器管理。
图3是说明可在主机处理器210上运行的示范性方法的流程图。任务的调度340可经由众多方案实施。此类方案可包含(但不限于)抢先方案和时间共享方案。抢先方案允许首先执行具有最高所指派优先级的任务。抢先方案可中断正处理的另一较低优先级任务以便执行较高优先级任务。时间共享设计依据时钟中断调度表执行任务,其中将用于处理的时间片分配到每一任务直到所有任务完成为止。
如果存在可用于运行的任何任务(见框330),那么调度340任务并将其发送到例如主机处理器210以进行处理345。当其它任务变得准备好执行且同时主机处理器正忙于执行当前任务时,任务调度器340将确定是否抢先于当前任务350。可基于调度方案或出于其它考虑而决定中断。
如果不中断当前任务,那么主机处理器继续执行当前任务345直到任务完成为止360。如果所完成的任务不是音频任务358,那么主机处理器在框330处开始处理下一任务。如果所完成的任务是音频任务358,那么可执行359调度将来的音频任务。在完成框359后或替代地与框359的执行同时,主机处理器在框330处开始处理下一任务。稍后论述调度音频任务。
当中断发生350时,处理355所述中断。所属领域的一般技术人员可(作为一实例)设计系统以在被中断的任务暂停之前保存正处理的任务的状态或执行其它清除。因此,被中断的任务在接收到中断后可或可不即刻暂停处理。任务调度器340继续管理尚未完成执行的任务。一旦当前任务暂停且主机处理器可用,主机处理器就开始执行下一所调度任务。
当框330检测到没有任务准备好运行且框345检测到没有任务正在处理时,计算系统可在框335中进入休眠状态。在休眠状态期间,主机处理器闲置且可减少或停用其功率消耗。自由运行计数器225将在休眠状态期间继续计数。在接收到中断后,处理器的休眠状态即刻中断365,因此从休眠状态中唤醒并增加其功率消耗。任务调度器340调度任何准备好执行的任务,且处理所述任务345。
图4时间线400、405和410是应用任务的处理期间实时计算系统内可发生的各种定时情况的说明。在这些说明中,时间在图4中从Tx增加到TY。
术语“参考间隔”可定义为时间周期或描述为对应数目的循环,如自由运行计数器225所测量。参考间隔可由变量X和Y描述,其中X表示参考间隔的起点,且Y表示一周期内参考间隔420的终点。
参考间隔=TY-Tx (等式1)
图4元件400说明测量在计算系统上运行的任务负载的示范性方法。在执行所调度任务之前,计算系统将从自由运行计数器225读取值;所述值定义为Tstart。接着执行所调度任务直到其被暂停为止。在任务的执行完成后或在所述任务被另一任务抢先后即刻暂停所述任务。一旦任务被暂停,实时计算系统就将从自由运行计数器读取值,所述值定义为Tend。Tstart和Tend的实例展示于元件400中。术语“任务执行循环”通过取Tend与Tstart之间的差而定义且展示于等式2中。所属领域的一般技术人员可经由软件或经由硬件执行取此差。
任务执行循环=Tend-Tstart (等式2)
任务执行循环可在先前在间隔X、Y420上定义的参考间隔内累加,如等式3所示。累加任务执行循环的示范性实施例是使用硬件或软件累加器元件,其具有足够的位以避免参考间隔期间的溢出。此硬件或软件累加器在本文中称为“累加器”。作为另一示范性实施例,累加器可实施于计算系统中或可为计算系统外部的累加器。
每一任务的负载可通过将经累加任务执行循环除以参考间隔来确定,如等式4中所示。所属领域的一般技术人员将了解,此计算可应用于任何任务以计算其负载。
图8是说明确定任务负载的方法的流程图。配置和存储810参考间隔。如先前所论述,配置的示范性说明是经由软件配置参考间隔并将值存储在存储器中,或经由硬件配置进行。在任务执行之前,从自由运行计数器读取第一计数值820。在任务停止运行之后,从自由运行计数器读取第二计数值830。处理器可实时取得第一计数值与第二计数值之间的差840。实时取得第一计数值与第二计数值之间的差的示范性说明见等式2中,其中可经由硬件或软件方法取得差。累加器可在所配置的参考间隔内累加第一计数值与第二计数值之间的差850。累加计数值之间的差的示范性说明见等式3中,其中累加器可在硬件或软件中实施。可通过将经累加的差除以参考间隔来计算860任务负载。计算任务负载的示范性说明见等式4中,其中计算可在硬件或软件中发生。
所属领域的一般技术人员将理解,所确定的任务负载可应用于选自由以下各项组成的群组的电子装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元和计算机,确定任务负载的方法集成到所述电子装置中。
所属领域的一般技术人员可将任务负载用于各种目的,例如系统设计考虑或作为输入到可利用任务负载信息的其它应用的参数。举例来说,当正执行高优先级任务时,另一应用可使用任务负载信息来限制计算系统的负载。将在本文献中稍后论述用于利用任务负载的示范性实施例。
可配置和存储参考间隔。参考间隔可经配置使得有足够的分辨率以准确地在参考间隔内累加任务执行循环。作为一说明,参考间隔可配置为小于以下值的值:自由运行计数器的周期乘以累加器的最大计数值。可配置的参考间隔可经由软件或硬件配置。举例来说,参考间隔可由软件配置,且参考间隔可存储在由处理器读取的存储器中。或者,参考间隔可在硬件中配置。硬件配置的示范性说明是设定具有参考间隔的值的锁存器或触发器。
另外,如225处所示的自由运行计数器可由所属领域的一般技术人员设定为足够大以准确地俘获任务执行循环的频率。
图5是多处理器系统的示范性实施例。多处理器系统可连接到个别或共享自由运行计数器。可如所论述且通过利用等式1到4计算个别任务负载。作为一实例,在图5中的处理器的任一者上运行的任何任务均可计算任务负载。
图6是音频装置600的示范性说明。音频装置可以是能够处理任何类型的音频或视频文件(例如,语音或乐器数字接口(MIDI)文件)的装置。音频装置600可包含存储MIDI文件和其它类型的数据的音频存储单元605。音频存储单元605可包括耦合到处理器610的任何类型的易失性或非易失性存储器或存储装置。
音频装置600还包含第一处理器610和第二处理器630,其一起操作以处理音频文件以便为最终用户产生音频信息。图6说明在第一处理器610与第二处理器630之间分离音频任务的架构。所属领域的一般技术人员可了解其它替代实施方案,例如将元件610和630组合为单一单元,使得一个处理器执行元件610和630的功能性。作为一实例,第一处理器610可为ARM处理器且第二处理器630可为数字信令处理器(DSP)。作为另一实例,在单一处理器执行610和630的组合功能性的情况下,单一处理器可执行处理和数字信号处理两者。
在示范性实施例中。第一处理器610与第二处理器630在参考间隔内处理音频任务。如本文所使用,短语“音频帧”指代时间块或对应数目的时钟或计数器循环。音频帧可为在其间处理音频任务的参考间隔。
参考间隔可选择为等于10毫秒(ms)间隔。参考间隔针对以取样速率48KHz操作的装置可具有480个样本。所属领域的一般技术人员将认识到,音频波形可以不同速率取样,一个此取样速率可为48Khz。处理器处理一个音频任务的所需最大循环数目将在本文中称为最大循环。最大循环实质上为参考间隔时间,其转换为循环。此值在以下等式5中计算。
最大循环=(时钟频率)x(参考间隔)(等式5)
其中时钟频率=19.2MHz的样本计算给出:
最大循环=(19.2MHz)x(10毫秒)=192,000个循环
处理器610可从音频存储装置605读取数据并向音频存储装置605写入数据。另外,处理器610可从存储器单元615读取数据并向存储器单元615写入数据。作为一实例,处理器610可从音频存储装置605读取MIDI文件并向存储器单元615写入MIDI文件。针对每一音频帧,处理器610可检索MIDI文件中的一者或一者以上并解析MIDI文件以提取一个或一个以上MIDI指令。MIDI指令包括包含需要处理的MIDI语音的各种参数。MIDI指令参数可指令特定MIDI语音开始或停止,涉及触后效应、呼吸控制效应、程序改变、音高折曲效应、控制消息(例如镜头左转或右转)、延音踏板效应、主音量控制、系统消息(例如,定时参数)、照明效应提示和/或其它声音影响。“语音”或“MIDI语音”可为任何特定声音。
基于MIDI指令的定时,第一处理器610调度MIDI指令以由第二处理器630处理。第一处理器610可将MIDI指令的调度提供到存储器单元615以由第二处理器630存取,使得第二处理器630可处理MIDI指令。或者,第一处理器610可通过以时间同步方式将MIDI指令直接分派到第二处理器630而执行调度。在示范性模型中,第一处理器610处理合成脉冲代码调制(PCM)的音频样本并将其存储在存储器单元650中。数/模转换器(DAC)625从650取得PCM样本并将样本播出到扬声器640。
第二处理器630根据第一处理器610创建的调度而处理MIDI指令。然而,第二处理器630还可具有可需要在执行MIDI指令之前处理的其它较高优先级任务,且因此音频任务的处理花费的时间可比最大循环或参考间隔长。这些类型的中断可致使将来音频任务也超过最大循环或参考间隔。第一处理器610可利用调度下一或将来音频任务的方法使得将来音频任务的处理花费的时间不会比最大循环或参考间隔长。作为一说明,这可通过减少所处理的语音数目来实现。减少的语音数目与当处理先前音频任务时所超过的循环数目成比例。这在等式12的上下文中进一步论述。
图7说明音频任务710的示范性处理,以及当例如任务N 700或任务N+1705等较高优先级任务中断当前正执行的音频任务时中断音频处理。音频任务710可在下文论述的计算中利用任务负载(等式4),以辅助调度下一帧中音频任务的处理。
为了合成较高数目的MIDI语音以获得丰富的声音质量,需要单一音频任务的处理在一个参考间隔420内完成。在音频处理中断以处理其它较高优先级任务的周期期间,音频任务的处理可能不会在最大循环或参考间隔内完成,而可继续经处理进入后续参考间隔。为了使此额外时间偏移,可从待处理的下一音频任务中减少语音数目,使得下一音频任务较可能在参考间隔内完成处理。所属领域的一般技术人员将了解,在不脱离此示范性实施例的精神和范围的情况下,此实施例可用于从任何将来音频任务中减少语音数目。
可建立针对将来音频任务的调度参数。即,如果当前音频任务的处理超过参考间隔或最大循环,即如果存在进入下一参考间隔的处理“遗留”(carry-over),那么下一音频任务或将来音频任务中处理的语音数目可减少。本文中,术语“遗留”用于指示音频任务已超过最大循环的循环数目。然而,本文中,“遗留”还可指示当音频任务在到达最大循环之前完成处理时可用的循环数目。在其它时间,“遗留”值可为零,例如在采用此方法的装置通电后。通电通常意味着音频应用可能花费一些时间到达稳定状态。“遗留”值在音频任务在与最大循环周期相同数目的循环内经处理时也可为零。
为了确定遗留循环,可从如等式6所示音频任务处理所花费的实际循环数目减去最大循环,其中可使用等式5计算最大循环值。实际循环是完成处理音频任务所花费的循环总数(包含中断时间)。所属领域的一般技术人员将了解,可通过将时间单位乘以计数器或时钟频率而将时间单位转换为循环,且可通过将循环数目乘以计数器或时钟频率的倒数而将循环单位转换为时间单位。因此,中断时间是音频任务的处理被中断同时处理器处理其它任务的时间或等效循环数目。所属领域的一般技术人员还将了解,在不脱离此示范性实施例的精神的情况下,可通过其它方法确定遗留循环。举例来说,还可通过修改等式6来计算遗留循环,即通过从最大循环中减去实际循环。出于清晰的目的,本文献中将使用等式6。
遗留循环=实际循环-最大循环(等式6)
作为一实例,可通过利用自由运行计数器225来测量给定音频任务的处理起点和终点并通过取其间的差来确定实际循环。此概念在等式7中说明。所属领域的一般技术人员将了解其它在不脱离此示范性实施例的精神的情况下测量实际循环的方法。
实际循环=Tprocesssing_end-Tprocessing_start (等式7)
其中最大循环=192,000个循环且音频任务的实际循环为249,600个循环或13毫秒的样本计算给出:
遗留循环=249,600个循环-192,000个循环=57,600个循环
在等式6的上下文中,当遗留循环值为零或小于零时,音频任务的处理尚未超过最大循环,且因此可处理下一音频任务或将来音频任务,而不减少用于处理的语音或可减少用于处理的语音。当遗留循环值大于零时,用于处理音频任务的循环数目已超过参考间隔420或对应的最大循环,且可从下一或将来音频处理中减少语音,使得所述音频任务的处理较可能在其参考间隔或最大循环内完成。
如果遗留大于零,即如果当前任务花费比由参考间隔420或最大循环界定的周期长的时间来执行,那么当处理下一或将来音频任务时将减少的语音数目可使用来自当前任务的参数计算或调度。为了确定可用于处理下一或将来音频任务的循环数目,来自当前音频任务的某些参数可被减去或加到下一或将来音频任务的最大循环的值。这些参数包含处理器处理比音频任务高的优先级的任务所花费的时间或循环数目,以及遗留循环。本文中,处理器处理除音频任务以外的任务所花费的循环数目将称为“其它任务”。等式8说明可用于处理下一音频任务或将来音频任务的循环数目。
可用循环数目=最大循环-其它任务-遗留循环(等式8)
计算其它任务的示范性说明是从实际循环中减去如等式7中给出的遗留循环,以及如等式3中给出的经累加任务执行循环。所属领域的一般技术人员将认识到在不脱离此示范性实施例的精神的情况下确定其它任务的其它方法。
其它任务=实际循环-遗留循环-经累加任务执行循环(等式9)
所属领域的一般技术人员将了解,等式8和9可简化为等式10。
可用循环数目=最大循环-实际循环+经累加任务执行循环(等式10)
针对下一或将来音频任务可支持的语音数目(本文称为“最大语音计数”)等于下一或将来音频任务的可用循环数目乘以语音计数除以处理器合成或解码先前音频任务所花费的循环数目的商。此概念在等式11中说明。参数“语音计数”可包含在音频任务中。参数“tsynth”可由任何计数器针对给定音频任务从语音合成开始的时间到语音合成完成的时间测量。
最大语音计数=可用循环数目x(语音计数/tsynth)等式11
如先前所论述,可计算从处理负载减少的语音数目。减少的语音数目与当处理前一音频任务时超过的循环数目成比例。举例来说,为了计算减少的语音数目,可将遗留循环乘以语音计数除以tsynth的商。一般技术人员将了解,可将上文提及的计算的结果上舍入,使得语音的总数减少。
减少的语音数目=遗留循环x(语音计数/tsynth)等式12
图9是说明调度音频任务的方法的流程图。检索910参考间隔。如先前所论述,参考间隔可经由软件或硬件来存储和配置。并且,参考间隔可经配置为提供准确累加任务执行循环的分辨率的值。计算920用以处理音频任务的实际循环数目与参考间隔中的循环数目之间的差。计算用以处理音频任务的实际循环数目与参考间隔中的循环数目之间的差的示范性说明见等式6中,其中计算遗留循环。所计算的差(例如,遗留循环)可用于确定将来音频任务的调度参数930。举例来说,如果用以处理当前帧中的音频任务的实际循环数目大于在参考间隔中的循环数目,那么待在将来音频任务中处理的语音数目可减少。
所属领域的一般技术人员将了解,用于调度音频任务的方法可应用于选自由以下各项组成的群组的电子装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元和计算机,调度音频任务的方法集成到所述电子装置中。
本文揭示的方法、方案和技术的实施方案还可作为可由包含逻辑元件(例如,处理器、微处理器、微控制器,或其它有限状态机)的阵列的机器读取和/或执行的一个或一个以上指令集而有形地体现(例如,在如本文列举的一个或一个以上计算机可读媒体中)。在一个或一个以上示范性实施例中,本文描述的操作可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么此类操作可作为一个或一个以上指令或代码而存储在计算机可读媒体上或经由计算机可读媒体发射。术语“计算机可读媒体”包含计算机存储媒体和通信媒体两者,所述通信媒体包含促进将计算机程序从一个位置传送到另一位置的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。以实例而非限制的方式,此类计算机可读媒体可包括存储元件的阵列,例如半导体存储器(其可包含而不限于动态或静态RAM、ROM、EEPROM和/或快闪RAM),或铁电、磁阻、双向开关半导体、聚合物或相变存储器;CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或任何其它可用于存储呈指令或数据结构的形式的所需程序代码且可通过计算机存取的媒体。如本文所使用的磁盘与光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘TM(蓝光光盘协会,加州环球影城),其中磁盘通常以磁性方式再生数据,而光盘以光学方式用激光再生数据。上述各项的组合也应包含于计算机可读媒体的范围内。
Claims (33)
1.一种确定任务负载的方法,其包括:
在任务执行之前从自由运行计数器读取第一计数值;
在所述任务停止运行之后从所述自由运行计数器读取第二计数值;
实时取得所述第一计数值与所述第二计数值之间的差;
使用累加器在参考间隔内累加所述第一计数值与所述第二计数值之间的差;以及
将所述经累加的差除以所述参考间隔。
2.根据权利要求1所述的方法,其中将所述参考间隔配置为等于或小于所述自由运行计数器的周期乘以所述累加器的最大计数值的值。
3.根据权利要求1所述的方法,其中将所述确定的任务负载应用于选自由以下各项组成的群组的电子装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元和计算机,所述确定所述任务负载的方法集成到所述电子装置中。
4.一种用于调度音频任务的方法,其包括:
检索在其间处理音频任务的参考间隔;
计算用以处理所述音频任务的实际循环数目与所述参考间隔中的循环数目之间的差;以及
调度针对将来音频任务的参数。
5.根据权利要求4所述的方法,其进一步包括:
基于所述音频任务的任务负载且基于用以处理所述音频任务的所述实际循环数目来计算可用于处理所述将来音频任务的循环数目。
6.根据权利要求4所述的方法,其进一步包括通过可用循环数目计算可用于处理所述将来音频任务的循环数目。
7.根据权利要求4所述的方法,其中所述调度参数是音频帧中的合成语音参数。
8.根据权利要求4所述的方法,其中所述参考间隔可经由硬件或软件配置。
9.根据权利要求4所述的方法,其中所述调度包括与当前音频任务中所处理的相比处理所述将来音频任务的较少音频任务循环。
10.根据权利要求4所述的方法,其中所述调度包括相对于所述当前音频任务处理所述将来音频任务的相等或较大数目的音频任务循环。
11.根据权利要求4所述的方法,其中所述用于调度音频任务的方法应用于选自由以下各项组成的群组的电子装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元和计算机,所述调度音频任务的方法集成到所述电子装置中。
12.一种设备,其包括:
处理器,其用于计算用以处理音频任务的实际时间与参考间隔中的循环数目之间的差并基于所述计算的差调度将来音频任务;
存储器,其用于存储调度参数;以及
自由运行计数器,其用以将至少两个计数值提供到所述处理器以计算所述音频任务的所述实际时间。
13.根据权利要求12所述的设备,其中所述处理器经配置以运行实时计算系统。
14.根据权利要求12所述的设备,其中所述用以处理所述音频任务的实际时间基于一个或一个以上任务执行时间和处理一个或一个以上其它任务所花费的时间。
15.根据权利要求12所述的设备,其中所述调度的音频任务循环相对于当前音频任务针对将来音频任务较少。
16.根据权利要求12所述的设备,其中所述调度的音频任务循环相对于所述当前音频任务针对所述将来音频任务为相等或较大数目的循环。
17.根据权利要求12所述的设备,其并入到选自由以下各项组成的群组的装置中:音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元和计算机。
18.一种设备,其包括:
用于在任务执行之前从自由运行计数器读取第一计数值的装置;
用于在所述任务停止运行之后从所述自由运行计数器读取第二计数值的装置;
用于实时取得所述第一计数值与所述第二计数值之间的差的装置;
用于使用累加在参考间隔内累加所述第一计数值与所述第二计数值之间的差的装置;以及
用于将所述经累加的差除以所述参考间隔的装置。
19.根据权利要求18所述的设备,其中所述参考间隔配置为等于或小于所述自由运行计数器的周期乘以累加器的最大计数值的值。
20.一种设备,其包括:
用于检索在其间处理当前帧中的音频任务的参考间隔的装置;
用于计算用以处理所述音频任务的实际循环数目与所述参考间隔中的循环数目之间的差的装置;以及
用于调度针对将来音频任务的参数的装置。
21.根据权利要求20所述的设备,其进一步包括:
用于基于所述音频任务的任务负载且基于用以处理所述音频任务的所述实际循环数目来计算可用于处理所述将来音频任务的循环数目的装置。
22.根据权利要求20所述的设备,其进一步包括:
用于通过可用循环数目计算可用于处理所述将来音频任务的循环数目的装置。
23.根据权利要求20所述的设备,其中所述调度参数是音频帧中的合成语音参数。
24.根据权利要求20所述的设备,其中所述参考间隔可经由硬件或软件配置。
25.根据权利要求20所述的设备,其中所述调度包括用于与当前音频任务中所处理的相比处理所述将来音频任务的较少循环的装置。
26.根据权利要求20所述的设备,其中所述调度包括用于相对于所述当前任务处理所述将来音频任务的较大数目的音频任务循环的装置。
27.一种计算机可读媒体,其体现可由一个或一个以上处理器执行的指令集,所述计算机可读媒体包括:
用于检索在其间处理音频任务的参考间隔的代码;
用于计算用以处理所述音频任务的实际循环数目与所述参考间隔中的循环数目之间的差的代码;以及
用于调度针对将来音频任务的参数的代码。
28.根据权利要求27所述的计算机可读媒体,其进一步包括:
用于基于所述音频任务的任务负载且基于用以处理所述音频任务的所述实际循环数目来计算可用于处理所述将来音频任务的循环数目的代码。
29.根据权利要求27所述的计算机可读媒体,其进一步包括通过可用循环数目计算可用于处理所述将来音频任务的循环数目。
30.根据权利要求27所述的计算机可读媒体,其中所述调度参数是音频帧中的合成语音参数。
31.根据权利要求27所述的计算机可读媒体,其进一步包括:
用于将所述参考间隔配置为等于或小于自由运行计数器的周期乘以累加器的最大计数值的值的代码。
32.根据权利要求27所述的计算机可读媒体,其中所述调度包括与当前音频任务中所处理的相比处理所述将来音频任务的较少音频任务循环。
33.根据权利要求27所述的计算机可读媒体,其中所述调度包括相对于所述当前音频任务处理所述将来音频任务的相等或较大数目的音频任务循环。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6053208P | 2008-06-11 | 2008-06-11 | |
US61/060,532 | 2008-06-11 | ||
PCT/US2009/047005 WO2009152305A1 (en) | 2008-06-11 | 2009-06-11 | Method and system for measuring task load |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102057356A true CN102057356A (zh) | 2011-05-11 |
Family
ID=41415495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801217107A Pending CN102057356A (zh) | 2008-06-11 | 2009-06-11 | 用于测量任务负载的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8594816B2 (zh) |
EP (1) | EP2313827B1 (zh) |
JP (1) | JP5275457B2 (zh) |
KR (1) | KR101264195B1 (zh) |
CN (1) | CN102057356A (zh) |
WO (1) | WO2009152305A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176836A (zh) * | 2011-12-21 | 2013-06-26 | 富士通株式会社 | 计算设备、计算方法及计算程序的记录介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8453146B2 (en) * | 2009-12-23 | 2013-05-28 | Intel Corporation | Apportioning a counted value to a task executed on a multi-core processor |
JP4905597B1 (ja) * | 2011-03-15 | 2012-03-28 | オムロン株式会社 | コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体 |
KR102237373B1 (ko) * | 2014-07-02 | 2021-04-07 | 삼성전자 주식회사 | 전자 장치의 태스크 스케줄링 방법 및 이를 사용하는 전자 장치 |
US9785473B2 (en) | 2014-07-14 | 2017-10-10 | Nxp Usa, Inc. | Configurable per-task state counters for processing cores in multi-tasking processing systems |
KR102356702B1 (ko) * | 2015-11-24 | 2022-01-27 | 삼성전자주식회사 | 호스트 cpu 지원형 오디오 프로세싱 방법 및 이를 수행하는 컴퓨팅 시스템 |
CN106095558B (zh) * | 2016-06-16 | 2019-05-10 | Oppo广东移动通信有限公司 | 一种音效处理的方法及终端 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4937780A (en) | 1986-05-30 | 1990-06-26 | Bull Nh Information Systems, Inc. | Single instruction updating of processing time field using software invisible working registers |
JP3169597B2 (ja) | 1990-05-16 | 2001-05-28 | エヌイーシーソフト株式会社 | マルチタスク実行時間アカウント方法とその機構 |
JPH05181688A (ja) * | 1991-05-24 | 1993-07-23 | Internatl Business Mach Corp <Ibm> | タスクの進行を予測する方法、プログラム製品及びワークステーシヨン |
JPH0512040A (ja) | 1991-07-04 | 1993-01-22 | Mitsubishi Electric Corp | タスクの実行制御方式 |
JP2671690B2 (ja) | 1992-01-08 | 1997-10-29 | ヤマハ株式会社 | 電子楽器 |
US5628013A (en) * | 1992-09-30 | 1997-05-06 | Apple Computer, Inc. | Apparatus and method for allocating processing time in a frame-based computer system |
JP2969138B2 (ja) | 1992-12-21 | 1999-11-02 | ヤマハ株式会社 | ピッチ検出装置 |
JP3285986B2 (ja) | 1993-01-12 | 2002-05-27 | ローランド株式会社 | 電子楽器のアサイン装置 |
US5596159A (en) | 1995-11-22 | 1997-01-21 | Invision Interactive, Inc. | Software sound synthesis system |
SG67993A1 (en) | 1996-08-30 | 1999-10-19 | Yamaha Corp | Sound source system based on computer software and method of generating acoustic waveform data |
US6470376B1 (en) * | 1997-03-04 | 2002-10-22 | Matsushita Electric Industrial Co., Ltd | Processor capable of efficiently executing many asynchronous event tasks |
US6301603B1 (en) * | 1998-02-17 | 2001-10-09 | Euphonics Incorporated | Scalable audio processing on a heterogeneous processor array |
JP3873160B2 (ja) | 1998-11-20 | 2007-01-24 | カシオ計算機株式会社 | 楽音発生装置及び楽音発生処理のプログラムを記録した記録 媒体 |
WO2002015564A1 (en) | 2000-08-16 | 2002-02-21 | Koninklijke Philips Electronics N.V. | Method of playing multimedia applications |
US6782350B1 (en) | 2001-04-27 | 2004-08-24 | Blazent, Inc. | Method and apparatus for managing resources |
EP1459549A2 (en) | 2001-12-12 | 2004-09-22 | Koninklijke Philips Electronics N.V. | Processing a media signal on a media system |
DE10238575A1 (de) * | 2002-08-22 | 2004-03-04 | Siemens Ag | Verfahren zur Messung der Nettolaufzeit eines Datenverarbeitungsprogramms |
JP4146375B2 (ja) | 2004-03-19 | 2008-09-10 | 日本電信電話株式会社 | 処理制御装置、処理制御方法及び処理制御プログラム |
US20060155543A1 (en) * | 2005-01-13 | 2006-07-13 | Korg, Inc. | Dynamic voice allocation in a vector processor based audio processor |
KR101207325B1 (ko) * | 2005-02-10 | 2012-12-03 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 음성 합성 장치 및 방법 |
US7877752B2 (en) * | 2005-12-14 | 2011-01-25 | Broadcom Corp. | Method and system for efficient audio scheduling for dual-decode digital signal processor (DSP) |
GB2440216A (en) * | 2006-05-19 | 2008-01-23 | Ibm | Computer program for calculating the (accumulated) processing time for tasks |
CN100504808C (zh) | 2006-09-11 | 2009-06-24 | 中兴通讯股份有限公司 | 一种测量多任务操作系统任务cpu占用率的方法 |
-
2009
- 2009-06-11 WO PCT/US2009/047005 patent/WO2009152305A1/en active Application Filing
- 2009-06-11 US US12/482,524 patent/US8594816B2/en not_active Expired - Fee Related
- 2009-06-11 KR KR1020117000565A patent/KR101264195B1/ko not_active IP Right Cessation
- 2009-06-11 CN CN2009801217107A patent/CN102057356A/zh active Pending
- 2009-06-11 EP EP09763595.7A patent/EP2313827B1/en active Active
- 2009-06-11 JP JP2011513682A patent/JP5275457B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176836A (zh) * | 2011-12-21 | 2013-06-26 | 富士通株式会社 | 计算设备、计算方法及计算程序的记录介质 |
US9323642B2 (en) | 2011-12-21 | 2016-04-26 | Fujitsu Limited | Calculation apparatus, calculation method, and recording medium for calculation program |
CN103176836B (zh) * | 2011-12-21 | 2016-10-05 | 富士通株式会社 | 计算设备、计算方法及计算程序的记录介质 |
Also Published As
Publication number | Publication date |
---|---|
US8594816B2 (en) | 2013-11-26 |
EP2313827B1 (en) | 2019-07-24 |
KR20110030550A (ko) | 2011-03-23 |
WO2009152305A1 (en) | 2009-12-17 |
EP2313827A1 (en) | 2011-04-27 |
US20090312856A1 (en) | 2009-12-17 |
KR101264195B1 (ko) | 2013-05-14 |
JP5275457B2 (ja) | 2013-08-28 |
JP2011524574A (ja) | 2011-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102057356A (zh) | 用于测量任务负载的方法和系统 | |
CN105706050B (zh) | 能量高效的多模式指令发布 | |
US8166194B2 (en) | Lock-free shared audio buffer | |
US20090165007A1 (en) | Task-level thread scheduling and resource allocation | |
US20080104610A1 (en) | Hardware threads processor core utilization | |
JP2007317171A (ja) | マルチスレッド計算機システム、マルチスレッド実行制御方法 | |
US9336055B2 (en) | Apparatus and method for predicting processing performance | |
US9164769B2 (en) | Analyzing data flow graph to detect data for copying from central register file to local register file used in different execution modes in reconfigurable processing array | |
CN106575220B (zh) | 多个经集群极长指令字处理核心 | |
CN101185057A (zh) | 处理数字媒体流 | |
CN115858175B (zh) | 异步i/o请求优先级的调度方法、装置、介质及控制设备 | |
KR101276340B1 (ko) | 병렬 처리 시스템 및 그 방법 | |
CN110837415B (zh) | 一种基于risc-v多核处理器的线程调度方法和装置 | |
US9229788B2 (en) | Performing a wait operation to wait for one or more tasks to complete | |
CN102981593A (zh) | 数据处理装置 | |
EP3591518B1 (en) | Processor and instruction scheduling method | |
US9195490B2 (en) | Differential voltage and frequency scaling (DVFS) switch reduction | |
JP2012173755A (ja) | 情報処理装置及び情報処理方法 | |
WO2022206227A1 (zh) | 系统启动方法、设备、系统及存储介质 | |
CN113312167B (zh) | 业务控制方法和装置、电子设备、计算机可读介质 | |
CN111209079A (zh) | 一种基于鲲鹏处理器的调度方法、装置及介质 | |
CN110083495A (zh) | 一种基于mips分析线程占用cpu的方法 | |
CN101727897B (zh) | 一种语音合成装置和方法及其所应用的监护仪 | |
CN102081949A (zh) | 一种嵌入式多媒体播放系统 | |
US8788793B2 (en) | Instruction issue to plural computing units from plural stream buffers based on priority in instruction order table |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110511 |