Scheduling Independent Tasks with Voltage Overscaling
Ordonnancement de tâches indépendantes avec réduction drastique du voltage
Résumé
In this paper, we discuss several scheduling algorithms to execute independent tasks
with voltage overscaling. Given a frequency to execute the tasks,
operating at a voltage below threshold leads to significant energy savings but also induces
timing errors. A verification mechanism must be enforced to detect these errors.
Contrarily to fail-stop or silent errors, timing errors are deterministic (but unpredictable).
For each task, the general strategy is to select a voltage for execution, to check the result,
and to select a higher voltage for re-execution if a timing error has occurred, and so on until
a correct result is obtained. Switching from one voltage to another incurs a given cost,
so it might be efficient to try and execute several tasks at the current voltage
before switching to another one. Determining the optimal solution turns out to be unexpectedly difficult.
However, we provide the optimal algorithm for a single task, the
optimal algorithm when there are only two voltages, and the optimal level algorithm
for a set of independent tasks, where a level algorithm is defined as an algorithm
that executes all remaining tasks when switching to a given voltage.
Furthermore,
we show that the optimal level algorithm is in fact globally optimal (among all possible algorithms)
when voltage switching costs are linear.
Finally, we report a comprehensive set of simulations to assess the potential gain of
voltage overscaling algorithms.
Dans cet article, nous présentons plusieurs algorithmes d'ordonnancement pour exécuter des tâches indépendantes avec réduction drastique du voltage. Etant donné une fréquence pour exécuter les tâches, opérer à un voltage en dessous du seuil limite entraîne des économies d'énergie significatives, mais induit également des erreurs de synchronisation. Un mécanisme de vérification doit être utilisé pour détecter ces erreurs. Contrairement aux pannes ou aux erreurs silencieuses, les erreurs de synchronisation sont déterministes (mais imprévisible). Pour chaque tâche, la stratégie générale consiste à sélectionner un voltage pour l'exécution, à vérifier le résultat, à sélectionner un voltage plus élevée pour ré-exécution si une erreur de synchronisation a eu lieu et ainsi de suite jusqu'à ce qu'un résultat correct soit obtenu. Passer d'un voltage à un autre entraîne un coût donné, de sorte qu'il pourrait être efficace d'exécuter plusieurs tâches au voltage courant avant d'en changer. Déterminer la solution optimale se révèle étonnamment difficile. Cependant, nous fournissons l'algorithme optimal pour une seule tâche, l'algorithme optimal lorsqu'il n'y a que deux voltages, et l'algorithme à niveaux optimal pour plusieurs tâches, où un algorithme à niveaux est défini comme étant un algorithme qui exécute toutes les tâches restantes lors du passage à un voltage donnée.
En Outre, nous montrons que l'algorithme à niveaux optimal est en fait globalement optimal (parmi tous les algorithmes possibles) lorsque les coûts de changement de voltage sont linéaires. Enfin, nous présentons un ensemble exhaustif de simulations afin d'évaluer le gain potentiel de chaque algorithme avec réduction drastique du voltage.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...