ADAPTIVE THREAD MANAGEMENT FOR HETEROGENOUS COMPUTING ARCHITECTURES

An apparatus and method for efficiently scheduling tasks in a dynamic manner to multiple cores that support a heterogeneous computing architecture. A computing system includes multiple cores with at least two cores being capable of executing instructions of a same instruction set architecture (ISA),...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: YI, Donny, HOLLA, Ashwini Chandrashekhara, PAUL, Indrani
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:An apparatus and method for efficiently scheduling tasks in a dynamic manner to multiple cores that support a heterogeneous computing architecture. A computing system includes multiple cores with at least two cores being capable of executing instructions of a same instruction set architecture (ISA), and therefore, are architecturally compatible. In an implementation, each of the at least two cores is a general-purpose central processing unit (CPU) core capable of executing instructions of a same ISA. However, the throughput and the power consumption greatly differ between the at least two cores based on their hardware designs. An operating system scheduler assigns a thread to a first core, and the first core measures thread dynamic behavior of the thread over a time interval. Based on the thread dynamic behavior, the scheduler reassigns the thread to a second core different from the first core. Appareil et procédé permettant de planifier efficacement des tâches d'une manière dynamique à de multiples cœurs qui prennent en charge une architecture informatique hétérogène. Un système informatique comprend de multiples cœurs avec au moins deux cœurs capables d'exécuter des instructions d'une même architecture d'ensemble d'instructions (ISA), et par conséquent, sont compatibles architecturalement. Dans une mise en œuvre, chacun des au moins deux cœurs est un cœur d'unité centrale de traitement universel (CPU) capable d'exécuter des instructions d'une même ISA. Cependant, le débit et la consommation d'énergie diffèrent considérablement entre les au moins deux cœurs sur la base de leurs conceptions matérielles. Un planificateur de système d'exploitation attribue un fil à un premier cœur, et le premier cœur mesure un comportement dynamique de fil du fil sur un intervalle de temps. Sur la base du comportement dynamique de fil, le planificateur réattribue le fil à un second cœur différent du premier cœur.