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.

Η παρούσα εφεύρεση παρέχει ότι ο προβλέψιμος σχεδιασμός των προγραμμάτων που χρησιμοποιούν μια επανάληψη το πρόγραμμα. Σε μια προτιμημένη ενσωμάτωση, ένας χρονοπρογραμματιστής έχει πρόσβαση σε μια δραστηριότητα σχεδιάζοντας τη γραφική παράσταση. Η δραστηριότητα που σχεδιάζει τη γραφική παράσταση αποτελείται από τους κόμβους κάθε μια που αντιπροσωπεύει ένα επαναλαμβανόμενο διάστημα εκτέλεσης, και έχει μια ρίζα, ένα ή περισσότερα φύλλα, και τουλάχιστον μια πορεία από τη ρίζα σε κάθε φύλλο. Κάθε κόμβος είναι τουλάχιστον σε μια πορεία από τη ρίζα σε ένα φύλλο, και ο αριθμός χρόνων που το διάστημα εκτέλεσης που αντιπροσωπεύεται από κάθε κόμβο εμφανίζεται κατά τη διάρκεια του traversal της γραφικής παράστασης είναι ίσος με τον αριθμό πορειών από τη ρίζα σε ένα φύλλο ότι ο κόμβος είναι ανοικτός. Κάθε κόμβος έχει συνδέσει με τον ένα μήκος διαστήματος εκτέλεσης, και προσαρμόζεται στην αφιέρωση στην εκτέλεση των νημάτων μιας ενιαίας δραστηριότητας. Ο χρονοπρογραμματιστής επιλέγει αρχικά έναν τρέχοντα κόμβο μέσα στην προσεγγισμένη γραφική παράσταση σχεδιασμού. Όταν ο επεξεργαστής διατίθεται για να εκτελέσει τα νήματα, ο χρονοπρογραμματιστής προωθεί από τον τρέχοντα κόμβο σε έναν νέο τρέχοντα κόμβο σύμφωνα με ένα ρίζα-$$$-ΦΎΛΛΟ traversal της γραφικής παράστασης σχεδιασμού. Μετά από να προωθήσει στο νέο τρέχοντα κόμβο, ο χρονοπρογραμματιστής εκτελεί ένα ή περισσότερα νήματα της δραστηριότητας στην οποία ο νέος τρέχων κόμβος αφιερώνεται για το μήκος διαστήματος εκτέλεσης που συνδέεται με το νέο τρέχοντα κόμβο. Σε μια περαιτέρω προτιμημένη ενσωμάτωση, ο χρονοπρογραμματιστής διαθέτει τις συγκεκριμένες επαναλήψεις μέσω των συγκεκριμένων κόμβων για να ικανοποιήσει τους περιορισμούς που υποβάλλονται από τα νήματα.

 
Web www.patentalert.com

< Method and apparatus for analyzing performance of data processing system

< ACPI name space validation

> Method and system for using a keyboard overlay with a touch-sensitive display screen

> Fast data decoder that operates with reduced output buffer bounds checking

~ 00107