Signalisieren, Ordnen und Ausführung von dynamisch erzeugten Aufgaben in einem Verarbeitungs-System

Verfahren zum Benachrichtigen eines Aufgabe-Managers (300) in einem Parallelverarbeitungs-Subsystem (112), das mehrere Parallelverarbeitungseinheiten, PPUs (202) aufweist, die jeweils mehrere Verarbeitungscluster (208) aufweisen, dass Daten zur Verarbeitung verfügbar sind, wobei das Verfahren aufwei...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Duluk jr., Jerome F, Abdalla, Karim M, Treichler, Sean J, Pharris, Brian, Shah, Lacky V, Purcell, Timothy John, Cuadra, Philip Alexander
Format: Patent
Sprache:ger
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Verfahren zum Benachrichtigen eines Aufgabe-Managers (300) in einem Parallelverarbeitungs-Subsystem (112), das mehrere Parallelverarbeitungseinheiten, PPUs (202) aufweist, die jeweils mehrere Verarbeitungscluster (208) aufweisen, dass Daten zur Verarbeitung verfügbar sind, wobei das Verfahren aufweist:Erzeugen, in einer Speicher-Management-Einheit (328) von einem der Verarbeitungscluster (208), eines ersten Benachrichtigungs-Signals, welches zu dem Aufgabe-Manager übermittelt wird, wobei das Benachrichtigungs-Signal einen ersten Versatz für eine Start- Eintragsstelle in einer Queue (375) und einen ersten Delta-Wert, der eine Anzahl von Einträgen in der Queue spezifiziert, wobei die Queue Daten für Verarbeitungsaufgaben enthält;Speichern von ersten Daten, welche mit dem ersten Versatz und dem ersten Delta-Wert assoziiert sind, in der Queue, welche einer ersten Verarbeitungs-Aufgabe entspricht;Erzeugen, in der Speicher-Management-Einheit (328), eines zweiten Benachrichtigungs-Signals, welches an den Aufgabe-Manager (300) übermittelt wird, wobei das Benachrichtigungs-Signal einen zweiten Versatz für die Start-Eintragsstelle und einen zweiten Delta-Wert, der die Anzahl von Einträgen in der Queue spezifiziert, aufweist;Speichern von zweiten Daten, welche mit dem zweiten Versatz und dem zweiten Delta-Wert assoziiert sind, in der Queue, welche der ersten Verarbeitungs-Aufgabe entspricht;Empfangen, durch einen Aufgabe Manager (300) von dem einem Verarbeitungscluster (208), des ersten Benachrichtigungs-Signals und des zweiten Benachrichtigungs-Signals;Bestimmen, ob der erste Versatz und der erste Delta-Wert mit dem zweiten Versatz und dem zweiten Delta-Wert zusammengeführt werden können, und wenn dies möglich ist, einen zusammengeführten Versatz und einen zusammengeführten Delta-Wert zu erzeugen;Plazieren, mittels des Aufgabe-Managers, für ein Verarbeiten von zumindest einem der ersten Daten und der zweiten Daten für die erste Verarbeitungs-Aufgabe in einer Aufgabentabelle des einen Verarbeitungsclusters für eine Verarbeitung von einem der ersten oder zweiten Daten durch den einen Verarbeitungscluster; undVerarbeiten von zumindest eine der ersten und zweiten Daten durch den einen Verarbeitungscluster. One embodiment of the present invention sets forth a technique for enabling the insertion of generated tasks into a scheduling pipeline of a multiple processor system allows a compute task that is being executed to dynamically generate a dynamic task and notify a sche