Linux Activations : un support système performant pour les applications de calcul multithreads
Résumé
In this paper, we present LinuxActivation, an efficient system support for user level thread scheduling implemented within Linux. This work is an extension to the ``Scheduler Activations'' model (proposed by Anderson and al.) that better meets the needs of high performance applications. The aim is to allow a user level thread scheduler to handle correctly blocking system calls. After dealing with the limitations of original model, we show how we can efficiently handle all system calls with good performance if we suppose a dedicated machine. We describe the implementation of the mechanisms involved in this new approach within the Linux operating system and the modifications made to a user level thread scheduler to take profits of these mechanisms. The performance numbers we obtain validate our approach.
Cet article présente LinuxActivations, un support système efficace pour l'ordonnancement des processus légers (threads) de niveau utilisateur implanté dans Linux. Ces travaux sont une variante des "Scheduler Activations" (introduites par Anderson et al.) dans le contexte du calcul parallèle. L'objectif est de permettre à un ordonnanceur de threads de niveau utilisateur de fonctionner correctement en présence d'appels systèmes bloquants. Après avoir examiné les limitations du modèle originel, nous montrons comment il est possible de couvrir l'intégralité des appels systèmes tout en conservant de bonnes performances si l'on suppose l'exécution sur une machine ``dédiée''. Nous décrivons l'implantation des mécanismes découlant de cette nouvelle proposition dans le système d'exploitation Linux ainsi que les modifications apportées à un ordonnanceur de threads existant pour tirer parti de ces mécanismes. Les performances obtenues valident notre approche.
Origine | Fichiers produits par l'(les) auteur(s) |
---|