CN102057356A - Method and system for measuring task load - Google Patents

Method and system for measuring task load Download PDF

Info

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
Application number
CN2009801217107A
Other languages
Chinese (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN102057356A publication Critical patent/CN102057356A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3419Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Abstract

A method for determining the task load in real-time. The method takes a difference in real-time between a first count value from a free running counter prior to a task executing, and a second count value after the task stops running. The task load may then be determined by using an accumulator to accumulate the difference between the first count value and the second count value over a reference interval and dividing the sum by a configurable reference interval. The individual task load computed in realtime may be used in scheduling an audio task.

Description

The method and system that is used for the measuring task load
Related application
The 61/060th of the application's case and application on June 11st, 2008, No. 532 U.S. Provisional Patent Application cases " method and system (METHOD AND SYSTEM FOR MEASURING TASK LOAD) that is used for the measuring task load " are relevant and advocate its right of priority, and the full text of described temporary patent application case is incorporated herein by reference.
Technical field
Described embodiment relates generally to real-time calculating.More particularly, described embodiment relates to one or more task loads of measurement, and it can be used for adjusting the load in the system of being applied in.
Background technology
The prior art of the big volume description real time computation system of Fig. 1.The execution of real time computation system controlling application program and the interface that arrives system hardware and common program.Real time computation system 103 for example can be hosted on the electronic hardware such as processor or digital signal processor 101.As an example, hardware can be the hardware on the mobile phone or has hardware on any device of embedded software or firmware.Common program 105 is the program of auxiliary computing system control input/output device and management document normally.
In this type of is used, usefully consider or use 107 parameter and know on the real time computation system load from one or more individual task as being input to other that can utilize the task load information for system design.The art methods of the load that sets the tasks is to use the logic analyzer task of capturing to carry out data and the instruction of carrying out on the specific individual task is counted.The method is not real-time and does not therefore allow the task load with accomplishing the input that can effectively use the Another Application of described information.For instance, musical instrument digital interface (MIDI) is used and can be used the real-time task load to determine whether to reduce the MIDI voice that frame is handled at future.
Summary of the invention
The embodiment that discloses in the detailed description comprises the execution round-robin number that sets the tasks with the calculation task load.The execution round-robin number that sets the tasks comprises: read first count value from the free-running operation counter before task is carried out; After described task is out of service, read second count value from the free-running operation counter; And obtain poor between described first count value and described second count value in real time.Described task is carried out circulation and can added up at interval.Described with reference to can be configurable value at interval.Can by use totalizer with reference to add up at interval between described first count value and described second count value described difference and will be described and determine described task load divided by the reference interval.
Another embodiment comprises the schedule audio task.The schedule audio task comprises: be based upon the reference interval of handling the audio task in the present frame therebetween; And calculate in order to the actual cycle number of processing audio task with reference to the difference between the number of cycles at interval and dispatch parameter at the audio task in future.Can be used for handling in the future the number of cycles of audio task can calculate based on the task load of audio task and based on the actual cycle number in order to the processing audio task.Can be used for handling in the future the number of cycles of audio task can calculate in the following manner: get the number of cycles (largest loop) in the reference cycle, and deduct the number of cycles (actual cycle) that is used to handle current audio task, and add the number of cycles (task is carried out circulation through adding up) that is used in reference to the interval, handling the audio task of present frame.In an exemplary embodiment, scheduling parameter is the synthetic speech parameter in the audio frame.With reference to can being configurable at interval via hardware or software.The difference of being calculated is based on the conversion between time and the circulation.The one exemplary embodiment of scheduling comprises with respect to current audio task handles the less audio frame parameter of audio task in the future, or handles the audio frame parameter of equating of audio task in future or greater number with respect to current audio task.Can be used for handling in the future that the number of cycles of audio task can be zero when handling the audio frame parameter of maximum number, or during the processor energising, can be zero.
Another embodiment is a kind of equipment that comprises processor, and described processor is used for calculating in order to the real time of processing audio task and with reference to the difference between the number of cycles at interval and based on the difference scheduling audio task of being calculated in future.The memory stores scheduling parameter, and the free-running operation counter is provided to processor to calculate the real time of audio task with at least two count values.
Another embodiment is a kind of equipment with lower device that comprises: the reference device at interval that is used for retrieving the audio task of handling present frame betwixt; Be used for calculating in order to the actual cycle number of processing audio task and the device of the difference between the reference number of cycles at interval; And be used to dispatch the device of parameter at the audio task in future.
Another embodiment is a kind of computer-readable media, and its embodiment can be by the instruction set of one or more processors execution.Described computer-readable media comprises: be used to retrieve the reference code at interval of processing audio task betwixt; Be used for calculating in order to the actual cycle number of processing audio task and the code of the difference between the reference number of cycles at interval; And be used to dispatch the code of parameter at the audio task in future.
Description of drawings
Fig. 1 is the block diagram illustrations of real time computation system.
Fig. 2 is the block diagram one exemplary embodiment of the real time computation system of real-time measuring task load.
Fig. 3 is the process flow diagram that the method that can move on host-processor is described.
Fig. 4 is the picture specification of generable various timing situations in the real time computation system during the processing of application task.
Fig. 5 is the block diagram of the one exemplary embodiment of multicomputer system.
Fig. 6 is the block diagram of the exemplary illustrated of audio devices.
Fig. 7 is the picture specification of the timing in the one exemplary embodiment of audio task, and described audio task utilizes the task load to estimate to can be used for handling the time or the circulation of the audio task in the next frame in calculating.
Fig. 8 is the process flow diagram that the method for the load that sets the tasks is described.
Fig. 9 is the process flow diagram of the method for explanation schedule audio task.
Embodiment
The following description of this paper disclosed various embodiment in content and the correlative type.Can under the situation that does not depart from scope of the present invention, design alternate embodiment.In addition, well-known elements more of the present invention will not described in detail and maybe will be omitted in order to avoid obscure correlative detail of the present invention.
This paper uses word " exemplary " to represent " serving as example, example or explanation ".Any embodiment that this paper is described as " exemplary " needn't be interpreted as with respect to other embodiment it is preferred or favourable.Equally, term " embodiments of the invention " does not require that all embodiment of the present invention all comprise feature, advantage or the operator scheme of being discussed.
This paper uses term " real time computation system " to represent that (but being not limited to) use dispatching system to handle at least one task in real time.
Fig. 2 is the one exemplary embodiment of the host-processor 210 of operation real time computation system 230.Computing system 230 reads and stores with specific interval from the value of free-running operation counter 225 outputs.This paper uses term " free-running operation counter " to be illustrated in during the low-power mode and/or keep counter or other reference source of operation during the host-processor dormant state.Be understood by those skilled in the art that, can under the situation of the spirit and scope that do not depart from representative embodiment, use for example reference source such as software counter or hardware counter.Free-running operation counter 225 can be physically located at processor inside or processor outside.
The host-processor 210 of operation real time computation system 230 is handled application task 205.Task is handled by task dispatcher 215, and described task dispatcher 215 determines when when available processor 210 and task be ready for processing.Interrupt handling routine 220 can be used for interrupting the current task of just being carried out by processor 210 205.Interrupted task 205 is by the task scheduling management.
Fig. 3 is the process flow diagram that the exemplary method that can move on host-processor 210 is described.The scheduling 340 of task can be via numerous scheme implementations.This type of scheme can be including (but not limited to) scheme of trying to be the first and time sharing scheme.The scheme of trying to be the first allows at first to carry out has the highest task of assigning priority.Another lower priority task that the scheme of trying to be the first can interrupt just handling is so that carry out higher priority task.Time, shared design considerations clock interrupt schedule table was executed the task, and wherein the timeslice that will be used to handle is assigned to each task till all tasks are finished.
If there is any task (seeing frame 330) can be used for moving, dispatches 340 tasks so and for example send it to host-processor 210 to handle 345.When becoming, other task is ready to carry out and when host-processor just is being busy with carrying out current task simultaneously, task dispatcher 340 will determine whether to preempt current task 350.Can determine based on scheduling scheme or for other consideration to interrupt.
If do not interrupt current task, host-processor continue to be carried out current task 345 till task is finished 360 so.If being finished of task is not an audio task 358, host-processor begins to handle next task at frame 330 places so.If being finished of task is an audio task 358, can carry out 359 scheduling audio task in the future so.Finish frame 359 back or alternatively with the execution of frame 359 simultaneously, host-processor begins to handle next task at frame 330 places.Discuss the schedule audio task after a while.
Central broken hair was given birth to 350 o'clock, handled 355 described interruptions.One of ordinary skill in the art can (as an example) design system before interrupted task suspension, to preserve the state of just handling of task or to carry out other removing.Therefore, interrupted task is had no progeny in receiving and can or can not suspended processing at once.Task dispatcher 340 continues the task that execution is not finished in management as yet.In case current task is suspended and host-processor can be used, host-processor just begins to carry out next institute's scheduler task.
Do not have task to be ready to operation and frame 345 detects when not having task handling when frame 330 detects, computing system can enter dormant state in frame 335.During dormant state, host-processor leaves unused and can reduce or its power consumption of stopping using.Free-running operation counter 225 will continue counting during dormant state.Therefore have no progeny in receiving, the dormant state of processor interrupts 365 at once, wakes up from dormant state and increases its power consumption.Any task of being ready to carry out of task dispatcher 340 scheduling, and handle described task 345.
Fig. 4 timeline 400,405 and 410 is explanations of generable various timing situations in the real time computation system during the processing of application task.These the explanation in, the time in Fig. 4 from T xBe increased to T Y
Term " with reference at interval " may be defined as the time cycle or is described as the circulation of corresponding number, and is measured as free-running operation counter 225.With reference to being described by variable X and Y at interval, wherein X represents with reference to starting point at interval, and Y represents one-period internal reference 420 terminal point at interval.
With reference to interval=T Y-T x(equation 1)
The exemplary method of the task load that moves is measured in 400 explanations of Fig. 4 element on computing system.Before carrying out institute's scheduler task, computing system will be from free-running operation counter 225 read values; Described value defined is T StartThen carry out institute's scheduler task till it is suspended.Robbed by another task in the complete back of task or in described task and successively to suspend described task at once.In case task is suspended, real time computation system just will be from free-running operation counter read value, and described value defined is T EndT StartAnd T EndExamples show in element 400.Term " task is carried out circulation " is by getting T EndWith T StartBetween difference and define and be showed in the equation 2.One of ordinary skill in the art can carry out via software or via hardware and get that this is poor.
Task is carried out circulation=T End-T Start(equation 2)
Task is carried out in the reference at interval that can formerly define on interval X, Y420 that circulates and is added up, shown in equation 3.The task that adds up is carried out the round-robin one exemplary embodiment and is to use hardware or software accumulator elements, and it has enough positions to avoid overflowing with reference to interim.This hardware or software totalizer are referred to herein as " totalizer ".As another one exemplary embodiment, totalizer may be implemented in the computing system or can be the totalizer of computing system outside.
Figure BPA00001275882500051
(equation 3)
The load of each task can be by carrying out circulation divided by determining with reference to next at interval, as shown in equation 4 through the task that adds up.One of ordinary skill in the art will understand, and this calculating can be applicable to any task to calculate its load.
Figure BPA00001275882500052
(equation 4)
Fig. 8 is the process flow diagram that the method for the load that sets the tasks is described.Dispose and store 810 with reference to the interval.As discussed previously, the exemplary illustrated of configuration is to be stored in the storer with reference to the interval and with value via software arrangements, or carries out via hardware configuration.Before task is carried out, read first count value 820 from the free-running operation counter.After task is out of service, read second count value 830 from the free-running operation counter.Processor can be obtained in real time and differ from 840 between first count value and second count value.Obtain the exemplary illustrated of the difference between first count value and second count value in real time and see in the equation 2, it is poor wherein can to obtain via hardware or software approach.Totalizer can add up in the reference of being disposed at interval and differ from 850 between first count value and second count value.The exemplary illustrated of the difference between the accumulated counts value sees in the equation 3 that wherein totalizer can be implemented in hardware or software.Can be by the difference through adding up be calculated 860 task loads at interval divided by reference.The exemplary illustrated of calculation task load is seen in the equation 4, wherein calculates and can take place in hardware or software.
One of ordinary skill in the art will understand, determined task load can be applicable to be selected from the electronic installation of the group that is made up of the following: set-top box, music player, video player, amusement unit, guider, communicator, PDA(Personal Digital Assistant), fixed position data cell and computing machine, the method for the load that sets the tasks is integrated in the described electronic installation.
One of ordinary skill in the art can be used for the task load various purposes, and for example system design consideration or conduct are input to the parameter of other application that can utilize the task load information.For instance, when just carrying out high-priority task, Another Application can use the task load information to come the load of limit calculation system.To in this document, discuss the one exemplary embodiment that is used to utilize the task load after a while.
Configurable and stored reference at interval.Make have enough resolution to carry out circulation with reference to being configured at interval with the task that in reference to the interval, adds up exactly.As an explanation, reference can be configured to the value less than following value at interval: the cycle of free-running operation counter be multiply by the maximum count value of totalizer.Configurable reference at interval can be via software or hardware configuration.For instance, with reference at interval can be by software arrangements, and with reference to being stored in the storer that reads by processor at interval.Perhaps, with reference to can in hardware, disposing at interval.The exemplary illustrated of hardware configuration is to set latch or the trigger that has with reference to value at interval.
In addition, can be set at enough by one of ordinary skill in the art as the free-running operation counter shown in 225 and carry out the round-robin frequency to capture task exactly greatly.
Fig. 5 is the one exemplary embodiment of multicomputer system.Multicomputer system can be connected to indivedual or shared free-running operation counter.Can such as argumentation and by utilizing equation 1 to 4 to calculate the individual task load.As an example, but all calculation task loads of any task of moving on any one of the processor in Fig. 5.
Fig. 6 is the exemplary illustrated of audio devices 600.Audio devices can be the device of the audio or video file (for example, voice or musical instrument digital interface (MIDI) file) that can handle any kind.Audio devices 600 can comprise the Audio storage unit 605 of the data of store M IDI file and other type.Audio storage unit 605 can comprise volatibility or the nonvolatile memory or the memory storage of any kind that is coupled to processor 610.
Audio devices 600 also comprises the first processor 610 and second processor 630, and it is operated with audio file together so that be that the final user produces audio-frequency information.The framework of Fig. 6 explanation separating audio task between the first processor 610 and second processor 630.One of ordinary skill in the art can understand other alternate embodiment, for example element 610 and 630 are combined as single unit, make the functional of a processor executive component 610 and 630.As an example, first processor 610 can be arm processor and second processor 630 can be digital signal processor (DSP).As another example, to carry out at single-processor under the situation of 610 and 630 combination function, single-processor can be carried out and handle and digital signal processing.
In an exemplary embodiment.The first processor 610 and second processor 630 be the processing audio task in reference to the interval.As used herein, phrase " audio frame " refers to the clock or the counter circulation of time block or corresponding number.Audio frame can be the reference interval of processing audio task betwixt.
Equal 10 milliseconds (ms) at interval with reference to may be selected to be at interval.With reference to having 480 samples at device at interval with sampling rate 48KHz operation.One of ordinary skill in the art will recognize that audio volume control can be taken a sample by different rates, and this sampling rate can be 48Khz.The required largest loop number of an audio task of processor processing will be referred to herein as largest loop.Largest loop was essentially with reference to interval time, and it is converted to circulation.This value is calculated in following equation 5.
Largest loop=(clock frequency) x (with reference at interval) (equation 5)
Wherein the sample calculation of clock frequency=19.2MHz provides:
Largest loop=(19.2MHz) x (10 milliseconds)=192,000 circulations
Processor 610 can write data from audio memory means 605 reading of data and to audio memory means 605.In addition, processor 610 can write data from memory cell 615 reading of data and to memory cell 615.As an example, processor 610 can read the MIDI file and write the MIDI file to memory cell 615 from audio memory means 605.At each audio frame, the one or more and parsing MIDI file that processor 610 can be retrieved in the MIDI file instructs to extract one or more MIDI.The MIDI instruction comprises the various parameters of the MIDI voice that comprise the needs processing.The MIDI order parameter can instruct specific MIDI voice to begin or stop, relate to effect, control of breathing effect, routine change, pitch-bend effect, control messages (for example pan left or right-hand rotation), Sustain effect, master volume control, system message (for example, timing parameters), illuminating effect prompting and/or the influence of other sound after touch." voice " or " MIDI voice " can be any specific sound.
Based on the timing of MIDI instruction, first processor 610 scheduling MIDI instructions are to be handled by second processor 630.First processor 610 can be provided to the scheduling of MIDI instruction memory cell 615 with by 630 accesses of second processor, makes second processor 630 can handle the MIDI instruction.Perhaps, first processor 610 can be by being dispatched directly to second processor 630 and operation dispatching with time synchronizing method with the MIDI instruction.In exemplary model, first processor 610 is handled the audio samples of composite pulse code modulated (PCM) and it is stored in the memory cell 650.D/A (DAC) 625 is obtained the PCM sample and sample is broadcasted loudspeaker 640 from 650.
The MIDI instruction is handled in the scheduling that second processor 630 is created according to first processor 610.Yet second processor 630 also can have and can carry out other higher priority task of handling before the MIDI instruction, and the comparable largest loop of time of the therefore processing cost of audio task or with reference to long at interval.The interruption of these types can cause in the future, and audio task also surpasses largest loop or reference interval.First processor 610 can utilize scheduling next or in the future the method for audio task make that the time of the processing cost of audio task in the future can be than largest loop or with reference to long at interval.As an explanation, this can realize by reducing handled voice number.The voice number that reduces is proportional with the number of cycles that is surpassed when handling previous audio task.This further discusses in the context of equation 12.
Fig. 7 illustrates the exemplary processes of audio task 710, and interrupts Audio Processing when higher priority task such as task N 700 or task N+1705 is for example interrupted the current audio task of just carrying out.Utilize task load (equation 4) in the calculating that audio task 710 can be discussed hereinafter, with auxiliary dispatching next frame sound intermediate frequency task handling.
For the sound quality of MIDI voice to obtain to enrich of synthetic higher number, need the single audio frequency task handling in a reference interval 420, to finish.During Audio Processing was interrupted with the cycle of handling other higher priority task, the processing of audio task may not can be finished in largest loop or at interval, and can continue the treated subsequent reference interval that enters.In order to make this skew extra time, can from next pending audio task, reduce the voice number, make next audio task may at interval, finish processing.One of ordinary skill in the art will understand, and under the situation of the spirit and scope that do not break away from this one exemplary embodiment, this embodiment can be used for reducing the voice number from any future the audio task.
Can set up scheduling parameter at the audio task in future.That is, if the processing of current audio task " is left over " (carry-over) with reference to processing at interval if i.e. existence enters next above with reference to interval or largest loop, the voice number of handling in the audio task in next audio task or future can reduce so.Herein, term " is left over " and is used to indicate audio task to surpass the number of cycles of largest loop.Yet herein, " leaving over " also can indicate and finish the number of cycles that can use when handling before audio task arrives largest loop.At All Other Times, " leaving over " value can be zero, for example after the device energising of adopting the method.Energising means that usually voice applications may spend some times arrival steady state (SS)s." leave over " value audio task with the circulation of largest loop cycle similar number in also can be zero when treated.
In order to determine to leave over circulation, can handle the actual cycle number that is spent from audio task shown in equation 6 and deduct largest loop, wherein can use equation 5 to calculate the largest loop value.Actual cycle is to finish the circulation sum (comprising break period) that the processing audio task is spent.One of ordinary skill in the art will understand, can chronomere be converted to circulation by counter or clock frequency be multiply by in chronomere, and can circulating unit be converted to chronomere by number of cycles be multiply by the inverse of counter or clock frequency.Therefore, be that the processing of audio task is interrupted the time or the equivalent number of cycles of other task of processor processing simultaneously break period.One of ordinary skill in the art also will understand, and under the situation of the spirit that does not break away from this one exemplary embodiment, can determine to leave over circulation by other method.For instance, also can calculate and leave over circulation, promptly by from largest loop, deducting actual cycle by modification equation 6.For purpose clearly, will use equation 6 in this document.
Leave over circulation=actual cycle-largest loop (equation 6)
As an example, can be by utilizing free-running operation counter 225 to measure the processing starting point of given audio task and terminal point and determining actual cycle by the difference of getting therebetween.The explanation in equation 7 of this notion.One of ordinary skill in the art will understand other method of measuring actual cycle under the situation of the spirit that does not break away from this one exemplary embodiment.
Actual cycle=T Processsing_end-T Processing_start(equation 7)
Wherein the actual cycle of largest loop=192,000 circulation and audio task is that the sample calculation of 249,600 circulations or 13 milliseconds provides:
Leave over circulation=249 ,=57,600 circulations of-192,000 circulation of 600 circulations
In the context of equation 6, when leaving over cycle values is zero or less than zero the time, the processing of audio task surpasses largest loop as yet, and therefore can handle next audio task or audio task in the future, maybe can not reduce the voice that are used to handle and do not reduce the voice that are used to handle.When leaving over cycle values greater than zero the time, the number of cycles that is used for the processing audio task has surpassed with reference to interval 420 or corresponding largest loop, and can reduce voice the Audio Processing from next or future, make that the processing of described audio task may be at it with reference to finishing at interval or in the largest loop.
If leave over greater than zero, if i.e. current task cost than by with reference at interval 420 or long time in cycle of defining of largest loop carry out, so when handling next or the voice number of minimizing can being used during audio task calculation of parameter or scheduling in the future from current task.In order to determine to can be used for to handle next or the number of cycles of audio task in the future, can be deducted or be added to next or the value of the largest loop of audio task in the future from some parameter of current audio task.These parameters comprise the time that task spent or the number of cycles of the processor processing priority higher than audio task, and leave over circulation.Herein, the number of cycles that task spent of processor processing except that audio task will be called " other task ".Equation 8 explanation can be used for handling next audio task or the number of cycles of audio task in the future.
Available cycles number=largest loop-other task-leave over circulation (equation 8)
The exemplary illustrated of calculating other task is the circulation of leaving over that deducts from actual cycle as providing in the equation 7, and carries out circulation as what provide in the equation 3 through the task that adds up.One of ordinary skill in the art will recognize other method of determining other task under the situation of the spirit that does not break away from this one exemplary embodiment.
Other task=actual cycle-leave over circulation-task is carried out circulation (equation 9) through adding up
One of ordinary skill in the art will understand, and equation 8 and 9 can be reduced to equation 10.
Available cycles number=largest loop-actual cycle+task is carried out circulation (equation 10) through adding up
At next or in the future the supported voice number of audio task (this paper is called " maximum voice counting ") equal next or the available cycles number of the audio task merchant of multiply by voice counting or decode number of cycles that previous audio task spent synthetic in the future divided by processor.The explanation in equation 11 of this notion.Parameter " voice counting " can be included in the audio task.Parameter " t Synth" time measurement that can finish to phonetic synthesis from the time that phonetic synthesis begins at given audio task by any counter.
Maximum voice counting=available cycles number x (voice counting/t Synth) equation 11
As discussed previously, can calculate from handling the voice number that load reduces.The voice number that reduces is proportional with the number of cycles that surpasses when handling last audio task.For instance, in order to calculate the voice number of minimizing, can multiply by the merchant of voice counting with leaving over circulation divided by tsynth.Those skilled in the art will understand, and can make the sum of voice reduce result calculated round-up mentioned above.
The voice number that reduces=leave over circulation x (voice counting/t Synth) equation 12
Fig. 9 is the process flow diagram of the method for explanation schedule audio task.Retrieval 910 is with reference to the interval.As discussed previously, with reference to storing and dispose via software or hardware at interval.And, with reference to being configured at interval to providing the task that accurately adds up to carry out the value of round-robin resolution.Calculate 920 in order to poor with reference between the number of cycles in the interval of the actual cycle number of processing audio task.Calculating is seen in the equation 6 in order to the actual cycle number of processing audio task and with reference to the exemplary illustrated of the difference between the number of cycles in the interval, is wherein calculated and leave over circulation.Poor (for example, the leaving over circulation) of being calculated can be used for determining the scheduling parameter 930 of audio task in the future.For instance, if in order to the actual cycle number of handling the audio task in the present frame greater than with reference to the number of cycles at interval, treat that so the voice number of handling in the audio task in future can reduce.
One of ordinary skill in the art will understand, the method that is used for the schedule audio task can be applicable to be selected from the electronic installation of the group that is made up of the following: set-top box, music player, video player, amusement unit, guider, communicator, PDA(Personal Digital Assistant), fixed position data cell and computing machine, the method for schedule audio task is integrated in the described electronic installation.
The embodiment of method, scheme and technology that this paper discloses also can be used as can be by (for example comprising logic element, processor, microprocessor, microcontroller, one or more instruction set that the machine of array or other finite state machine) reads and/or carries out and visibly embody (for example, in one or more computer-readable medias of enumerating as this paper).In one or more one exemplary embodiment, operation described herein can hardware, software, firmware or its any combination are implemented.If with software implementation, this generic operation can be used as one or more instructions or code and is stored on the computer-readable media or via computer-readable media and launches so.Term " computer-readable media " comprises computer storage media may and communication medium, and described communication medium comprises promotion is sent to computer program the another location from a position any medium.Medium can be can be by any useable medium of computer access.The unrestricted mode with example, this type of computer-readable media can comprise the array of memory element, semiconductor memory (its can comprise and be not limited to dynamically or static RAM (SRAM), ROM, EEPROM and/or quickflashing RAM) for example, or ferroelectric, magnetic resistance, two-way switch semiconductor, polymkeric substance or phase transition storage; CD-ROM or other optical disk storage apparatus, disk storage device or other magnetic storage device, or any other can be used for storing the required program code that is the instruction or the form of data structure and can be by the medium of computer access.As used herein disk and CD comprise compact disk (CD), laser-optical disk, optics CD, digital versatile disc (DVD), floppy discs and Blu-ray Disc TM (Blu-ray Disc association, the universal studio, California), wherein disk is usually with the magnetic means playback of data, and CD is with optical mode laser regeneration data.Above-mentioned every combination also should be contained in the scope of computer-readable media.

Claims (33)

1. the method for the load that sets the tasks, it comprises:
Before carrying out, task reads first count value from the free-running operation counter;
After described task is out of service, read second count value from described free-running operation counter;
Obtain poor between described first count value and described second count value in real time;
Use totalizer with reference to adding up poor between described first count value and described second count value at interval; And
With described difference at interval divided by described reference through adding up.
2. method according to claim 1, wherein with described be the value that multiply by the maximum count value of described totalizer in cycle of being equal to or less than described free-running operation counter with reference to arranged spaced.
3. method according to claim 1, wherein with described definite task load applications in the electronic installation that is selected from the group that forms by the following: set-top box, music player, video player, amusement unit, guider, communicator, PDA(Personal Digital Assistant), fixed position data cell and computing machine, describedly determine that the method for described task load is integrated in the described electronic installation.
4. method that is used for the schedule audio task, it comprises:
Retrieve the reference interval of processing audio task betwixt;
Calculating is in order to the actual cycle number of handling described audio task and described poor with reference between the number of cycles at interval; And
Scheduling is at the parameter of audio task in future.
5. method according to claim 4, it further comprises:
Based on the task load of described audio task and based on calculate the number of cycles that can be used for handling audio task in described future in order to the described actual cycle number of handling described audio task.
6. method according to claim 4, it further comprises by the available cycles number and calculates the number of cycles can be used for handling audio task in described future.
7. method according to claim 4, wherein said scheduling parameter are the synthetic speech parameters in the audio frame.
8. method according to claim 4, wherein said reference at interval can be via hardware or software arrangements.
9. method according to claim 4, wherein said scheduling comprise with current audio task in handledly compare the less audio task circulation of handling audio task in described future.
10. method according to claim 4, wherein said scheduling comprise the audio task circulation of handling equating of audio task in described future or greater number with respect to described current audio task.
11. method according to claim 4, the wherein said method that is used for the schedule audio task is applied to be selected from the electronic installation of the group that is made up of the following: set-top box, music player, video player, amusement unit, guider, communicator, PDA(Personal Digital Assistant), fixed position data cell and computing machine, the method for described schedule audio task is integrated in the described electronic installation.
12. an equipment, it comprises:
Processor, it is used for calculating in order to the real time of processing audio task and with reference to the difference between the number of cycles at interval and based on the difference of described calculating dispatches audio task in the future;
Storer, it is used for the memory scheduling parameter; And
The free-running operation counter, it is in order to be provided to described processor to calculate the described real time of described audio task with at least two count values.
13. equipment according to claim 12, wherein said processor is configured to move real time computation system.
14. equipment according to claim 12, wherein said in order to real time of handling described audio task based on one or more task execution times with handle the time that one or more other tasks spent.
15. equipment according to claim 12, the circulation of the audio task of wherein said scheduling with respect to current audio task at future audio task less.
16. equipment according to claim 12, the circulation of the audio task of wherein said scheduling with respect to described current audio task at described future audio task for equating or the circulation of greater number.
17. equipment according to claim 12, it is incorporated in the device that is selected from the group that is made up of the following: music player, video player, amusement unit, guider, communicator, PDA(Personal Digital Assistant), fixed position data cell and computing machine.
18. an equipment, it comprises:
Be used for before task is carried out, reading the device of first count value from the free-running operation counter;
Be used for after described task is out of service, reading the device of second count value from described free-running operation counter;
Be used for obtaining in real time the device of the difference between described first count value and described second count value;
Be used to use the device that is accumulated in reference to the difference between described first count value and described second count value that adds up in the interval; And
Be used for described difference divided by described device with reference to the interval through adding up.
19. equipment according to claim 18, wherein said is the value that multiply by the maximum count value of totalizer in cycle of being equal to or less than described free-running operation counter with reference to arranged spaced.
20. an equipment, it comprises:
Be used for retrieving the reference device at interval of the audio task of handling present frame betwixt;
Be used for calculating actual cycle number and described device with reference to the difference between the number of cycles at interval in order to handle described audio task; And
Be used to dispatch the device of parameter at the audio task in future.
21. equipment according to claim 20, it further comprises:
Be used for based on the task load of described audio task and based on calculate the period destination device that can be used for handling audio task in described future in order to the described actual cycle number of handling described audio task.
22. equipment according to claim 20, it further comprises:
Be used for calculating the period destination device can be used for handling audio task in described future by the available cycles number.
23. equipment according to claim 20, wherein said scheduling parameter are the synthetic speech parameters in the audio frame.
24. equipment according to claim 20, wherein said reference at interval can be via hardware or software arrangements.
25. comprising, equipment according to claim 20, wherein said scheduling is used for and the handled less round-robin device of comparing processing audio task in described future of current audio task.
26. equipment according to claim 20, wherein said scheduling comprise the audio task round-robin device that is used for handling with respect to described current task the greater number of audio task in described future.
27. a computer-readable media, its embodiment can be by the instruction set of one or more processors execution, and described computer-readable media comprises:
Be used to retrieve the reference code at interval of processing audio task betwixt;
Be used for calculating actual cycle number and described code with reference to the difference between the number of cycles at interval in order to handle described audio task; And
Be used to dispatch the code of parameter at the audio task in future.
28. computer-readable media according to claim 27, it further comprises:
Be used for based on the task load of described audio task and based on calculate the period destination code that can be used for handling audio task in described future in order to the described actual cycle number of handling described audio task.
29. computer-readable media according to claim 27, it further comprises by the available cycles number and calculates the number of cycles can be used for handling audio task in described future.
30. computer-readable media according to claim 27, wherein said scheduling parameter are the synthetic speech parameters in the audio frame.
31. computer-readable media according to claim 27, it further comprises:
Be used for described be the code of value that multiply by the maximum count value of totalizer in cycle of being equal to or less than the free-running operation counter with reference to arranged spaced.
32. computer-readable media according to claim 27, wherein said scheduling comprise with current audio task in handledly compare the less audio task circulation of handling audio task in described future.
33. computer-readable media according to claim 27, wherein said scheduling comprise the audio task circulation of handling equating of audio task in described future or greater number with respect to described current audio task.
CN2009801217107A 2008-06-11 2009-06-11 Method and system for measuring task load Pending CN102057356A (en)

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 (en) 2011-05-11

Family

ID=41415495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801217107A Pending CN102057356A (en) 2008-06-11 2009-06-11 Method and system for measuring task load

Country Status (6)

Country Link
US (1) US8594816B2 (en)
EP (1) EP2313827B1 (en)
JP (1) JP5275457B2 (en)
KR (1) KR101264195B1 (en)
CN (1) CN102057356A (en)
WO (1) WO2009152305A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176836A (en) * 2011-12-21 2013-06-26 富士通株式会社 Calculation apparatus, calculation method and recording medium of calculation program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
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 (en) * 2011-03-15 2012-03-28 オムロン株式会社 Controller support device, controller support program to be executed in the device, and recording medium storing the program
KR102237373B1 (en) * 2014-07-02 2021-04-07 삼성전자 주식회사 Method for task scheduling and Electronic device using the same
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 (en) * 2015-11-24 2022-01-27 삼성전자주식회사 Host cpu assisted audio processing method and computing system performing the same
CN106095558B (en) * 2016-06-16 2019-05-10 Oppo广东移动通信有限公司 A kind of method and terminal of audio effect processing

Family Cites Families (23)

* Cited by examiner, † Cited by third party
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 (en) * 1990-05-16 2001-05-28 エヌイーシーソフト株式会社 Multitask execution time accounting method and its mechanism
JPH05181688A (en) * 1991-05-24 1993-07-23 Internatl Business Mach Corp <Ibm> Method for predicting progress of task, program product and workstation
JPH0512040A (en) 1991-07-04 1993-01-22 Mitsubishi Electric Corp Task execution control system
JP2671690B2 (en) 1992-01-08 1997-10-29 ヤマハ株式会社 Electronic musical instrument
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 (en) 1992-12-21 1999-11-02 ヤマハ株式会社 Pitch detection device
JP3285986B2 (en) 1993-01-12 2002-05-27 ローランド株式会社 Electronic musical instrument assignment device
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
DE69841526D1 (en) * 1997-03-04 2010-04-15 Panasonic Corp Processor suitable for efficient execution of many asynchronous event tasks
US6301603B1 (en) * 1998-02-17 2001-10-09 Euphonics Incorporated Scalable audio processing on a heterogeneous processor array
JP3873160B2 (en) 1998-11-20 2007-01-24 カシオ計算機株式会社 Music recording device and recording medium recording program for generating musical sound
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 (en) * 2002-08-22 2004-03-04 Siemens Ag Method for measuring the net runtime of a data processing program
JP4146375B2 (en) 2004-03-19 2008-09-10 日本電信電話株式会社 Process control device, process control method, and process control program
US20060155543A1 (en) * 2005-01-13 2006-07-13 Korg, Inc. Dynamic voice allocation in a vector processor based audio processor
CN101116135B (en) * 2005-02-10 2012-11-14 皇家飞利浦电子股份有限公司 Sound synthesis
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 (en) 2006-09-11 2009-06-24 中兴通讯股份有限公司 Method for measuring task CPU occupancy rate in multitasking operation system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176836A (en) * 2011-12-21 2013-06-26 富士通株式会社 Calculation apparatus, calculation method and recording medium of calculation program
US9323642B2 (en) 2011-12-21 2016-04-26 Fujitsu Limited Calculation apparatus, calculation method, and recording medium for calculation program
CN103176836B (en) * 2011-12-21 2016-10-05 富士通株式会社 The record medium of computing device, computational methods and calculation procedure

Also Published As

Publication number Publication date
JP2011524574A (en) 2011-09-01
EP2313827A1 (en) 2011-04-27
US20090312856A1 (en) 2009-12-17
KR20110030550A (en) 2011-03-23
EP2313827B1 (en) 2019-07-24
KR101264195B1 (en) 2013-05-14
WO2009152305A1 (en) 2009-12-17
JP5275457B2 (en) 2013-08-28
US8594816B2 (en) 2013-11-26

Similar Documents

Publication Publication Date Title
CN102057356A (en) Method and system for measuring task load
CN105706050A (en) Energy efficient multi-modal instruction issue
US8166194B2 (en) Lock-free shared audio buffer
US20090165007A1 (en) Task-level thread scheduling and resource allocation
US20080104610A1 (en) Hardware threads processor core utilization
JP2007317171A (en) Multi-thread computer system and multi-thread execution control method
US9336055B2 (en) Apparatus and method for predicting processing performance
CN101185057B (en) Processing digital media streams
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 (en) Multiple clustered VLIW processing cores
KR101276340B1 (en) System and method for parallel processing
CN115858175B (en) Asynchronous I/O request priority scheduling method, device, medium and control equipment
US9229788B2 (en) Performing a wait operation to wait for one or more tasks to complete
CN102981593A (en) Data processor
EP3591518B1 (en) Processor and instruction scheduling method
US9195490B2 (en) Differential voltage and frequency scaling (DVFS) switch reduction
CN110837415B (en) Thread scheduling method and device based on RISC-V multi-core processor
JP2012173755A (en) Information processor and information processing method
WO2022206227A1 (en) System startup method, device, and system, and storage medium
CN113312167B (en) Service control method and device, electronic equipment and computer readable medium
CN110083495A (en) A method of CPU is occupied based on MIPS analysis thread
CN101727897B (en) Speech synthesis device, method and monitor applied thereby
JP2010026583A (en) Processor
Kim et al. Fast music and audio processing using the Julia language
JPH07244588A (en) Data processor

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