Providing predictable scheduling of programs using a repeating precomputed schedule

   
   

The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph. When the processor becomes available to execute threads, the scheduler advances from the current node to a new current node in accordance with a root-to-leaf traversal of the scheduling graph. After advancing to the new current node, the scheduler executes one or more threads of the activity to which the new current node is dedicated for the execution interval length associated with the new current node. In a further preferred embodiment, the scheduler allocates specific iterations through specific nodes to satisfy the constraints submitted by threads.

La presente invenzione fornisce la programmazione prevedibile dei programmi che usando ripetere precomputed il programma. In un metodo di realizzazione preferito, un programmatore accede ad un grafico di programmazione di attività. Il grafico di programmazione di attività è contenuto i nodi ciascuno che rappresenta un intervallo di ricorso di esecuzione ed ha una radice, uno o più fogli ed almeno un percorso dalla radice ad ogni foglio. Ogni nodo è almeno su un percorso dalla radice ad un foglio ed il numero di volte che l'intervallo di esecuzione rappresentato da ogni nodo si presenta durante il traversal del grafico è uguale al numero di percorsi dalla radice ad un foglio che il nodo è sopra. Ogni nodo ha associato con esso una lunghezza di intervallo di esecuzione ed è adattato alla dedicazione ad eseguire i filetti di singola attività. Il programmatore in primo luogo seleziona un nodo corrente all'interno del grafico di programmazione raggiunto. Quando il processor diventa disponibile per eseguire i filetti, il programmatore avanza dal nodo corrente ad un nuovo nodo corrente in conformità con un radice-$$$-FOGLIO traversal del grafico di programmazione. Dopo avere avanzato al nuovo nodo corrente, il programmatore esegue uno o più filetti dell'attività a cui il nuovo nodo corrente è dedicato per la lunghezza di intervallo di esecuzione connessa con il nuovo nodo corrente. In un metodo di realizzazione preferito più ancora, il programmatore assegna le ripetizioni specifiche con i nodi specifici per soddisfare i vincoli presentati dai filetti.

 
Web www.patentalert.com

< System and method for performing sparse transformed template matching using 3D rasterization

< System and method for face detection through geometric distribution of a non-intensity image property

> Threaded text discussion system

> Queued component interface passing for results outflow from queued method invocations

~ 00132