Co-scheduling Amdahl applications on cache-partitioned systems
Résumé
Cache-partitioned architectures allow subsections of the
shared last-level cache (LLC) to be exclusively reserved for some
applications. This technique dramatically limits interactions between applications
that are concurrently executing on a multi-core machine.
Consider n applications that execute concurrently, with the objective to minimize the makespan,
defined as the maximum completion time of the n applications.
Key scheduling questions are: (i)
which proportion
of cache and (ii) how many processors should be given to each application?
In this paper, we provide answers to (i) and (ii) for Amdahl applications.
Even though the problem is shown to be NP-complete, we give key elements to determine
the subset of applications that should share the LLC
(while remaining ones only use their smaller private cache). Building upon these results,
we design efficient heuristics for Amdahl applications.
Extensive simulations demonstrate the usefulness of co-scheduling
when our efficient cache partitioning strategies are deployed.
Les architectures à partitionnement de cache permettent d'allouer des portions du
dernier niveau de cache (LLC) exclusivement réservées à certaines applications. Cette technique
permet de réduire drastiquement les interactions entre applications qui sont exécutées simultanément sur un machine multi-coeurs. Considérons n applications exécutées simultanément
avec l'objectif de minimiser le makespan, défini comme le maximum des temps de complétions
parmi les n applications. Les problèmes d'ordonnancement sont les suivants: (i) quelle proportion
de cache et (ii) combien de processors doivent être alloués à chaque application. Ici, nous
assignons des nombres de processeurs rationnels pour chaque application, pour qu'ils puissent
être partagés parmi les applications grâce au multi-threading. Dans ce travail, nous fournissons
des réponses aux questions (i) et (ii) pour des applications parfaitement parallèles. Malgré cela,
le problème est prouvé être NP-complet, et nous donnons des éléments clés pour déterminer le
sous-ensemble des applications qui doivent partager le dernier niveau de cache (tandis que les
autres utilisent seulement leur petit cache privée). Basé sur ces résultats, nous développons des
heuristiques efficaces pour des profils d'applications généraux. Un ensemble complet de simulations
démontre l'utilité de l'ordonnancement concurrent quand les techniques de partitionnement
de cache sont mises en place
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...