skip to content
Contribution à l'élaboration d'ordonnanceurs de processus légers performants et portables pour architectures multiprocesseurs Preview this item
ClosePreview this item
Checking...

Contribution à l'élaboration d'ordonnanceurs de processus légers performants et portables pour architectures multiprocesseurs

Author: Vincent Danjean; Raymond Namyst; École normale supérieure (Lyon).
Publisher: [S.l.] : [s.n.], 2004.
Dissertation: Thèse de doctorat : Informatique : Lyon, École normale supérieure (sciences) : 2004.
Edition/Format:   Thesis/dissertation : Thesis/dissertation : French
Database:WorldCat
Summary:
En informatique, la notion de processus léger ou thread est désormais omniprésente. En effet, les threads permettent à un programme d'une part d'exploiter pleinement les ordinateurs multiprocesseurs et d'autre part d'exprimer son parallélisme intrinsèque. Dans le domaine du calcul hautes performances, les threads permettent de recouvrir des communications ou plus généralement des entrées/sorties avec du
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

 

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Material Type: Thesis/dissertation, Internet resource
Document Type: Book, Internet Resource
All Authors / Contributors: Vincent Danjean; Raymond Namyst; École normale supérieure (Lyon).
OCLC Number: 493433451
Description: 1 vol. (158 p.) ; 30 cm.
Responsibility: Vincent Danjean ; sous la direction de Raymond Namyst.

Abstract:

En informatique, la notion de processus léger ou thread est désormais omniprésente. En effet, les threads permettent à un programme d'une part d'exploiter pleinement les ordinateurs multiprocesseurs et d'autre part d'exprimer son parallélisme intrinsèque. Dans le domaine du calcul hautes performances, les threads permettent de recouvrir des communications ou plus généralement des entrées/sorties avec du calcul. Ils permettent aussi aux divers composants de l'application de progresser indépendamment les uns des autres, ce qui est nécessaire avec l'utilisation d'environnements de programmation toujours plus complexes comme MPI ou Corba. Mes travaux avaient pour objectif principal d'aboutir à la conception d'une bibliothèque de threads performante sur une vaste gamme d'architectures (machines mono ou multiprocesseurs, technologie "multithreading simultané", ...) et capable d'offrir les fonctionnalités demandées par les programmes de calcul hautes performances. Dans un premier temps, j'ai proposé une extension du modèle des Scheduler Activations pour le noyau Linux permettant d'être réactif aux interruptions dans une bibliothèque de threads utilisateurs. J'ai ensuite étendu ce mécanisme de manière à unifier la gestion des interruptions et des scrutations dans un environnement multithreadé. Enfin, j'ai proposé un mécanisme de prise de traces permettant de reconstituer précisément le déroulement d'un programme multithreadé, y compris lorsque l'ordonnancement est à deux niveaux. Ces travaux ont été implémentés au sein du logiciel PM2. La bibliothèque Marcel offre des threads performants sur une vaste gamme de processeurs et de systèmes en restant suffisamment flexible pour permettre aux applications qui le nécessitent de diriger précisément l'ordonnancement de leurs threads. Les applications peuvent être tracées de manière à pouvoir reconstituer et observer leur comportement précis. La trace obtenue peut être convertie au format du logiciel Pajé qui permet alors de visualiser graphiquement le déroulement de l'application.

Nowadays, threads are widely spread in computer science. Indeed, multithreading allows applications not only to fully exploit multiprocessor computers, but also to reveal its intrinsic parallelism. In the context of high performance computing, threads are commonly used to overlap computation with communication. They also allow various execution flows within the application to progress independently one from another. This is a mandatory functionality regarding the implementation of complex middleware such as MPI or CORBA. My work aims at providing an efficient threads library targeting a wide range of architectures (mono or multiprocessor computers, SMT technology, ...) and able to fulfil the requirements of high performance computing programs. First, I have extended and implemented the Scheduler Activation model within the Linux kernel, so that user threads can be extremely reactive to hardware interruptions. Then, I did expend this mechanism to unify the management of interrupts and polling in multithreaded environments. Finally, I have designed new tracing mechanisms allowing to precisely rebuild the execution of multithreaded programs, even with a two-level scheduling. All these works have been implemented within the PM2 software suite. The Marcel library provides efficient multithreading on a large range of processors and systems. Marcel is flexible enough to allow an application to precisely manage its threads scheduling when needed. Applications can be traced in order to observe their precise behavior. The generated traces can be converted to the Pajé software format, so that application behavior can be graphically observed.

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


<http://www.worldcat.org/oclc/493433451>
library:oclcnum"493433451"
library:placeOfPublication
library:placeOfPublication
owl:sameAs<info:oclcnum/493433451>
rdf:typej.0:Thesis
rdf:typej.2:Thesis
rdfs:seeAlso
schema:about
rdf:typeschema:Intangible
schema:name"Calcul intensif (informatique)--Thèses et écrits académiques."
schema:author
schema:contributor
schema:contributor
schema:datePublished"2004"
schema:description"Nowadays, threads are widely spread in computer science. Indeed, multithreading allows applications not only to fully exploit multiprocessor computers, but also to reveal its intrinsic parallelism. In the context of high performance computing, threads are commonly used to overlap computation with communication. They also allow various execution flows within the application to progress independently one from another. This is a mandatory functionality regarding the implementation of complex middleware such as MPI or CORBA. My work aims at providing an efficient threads library targeting a wide range of architectures (mono or multiprocessor computers, SMT technology, ...) and able to fulfil the requirements of high performance computing programs. First, I have extended and implemented the Scheduler Activation model within the Linux kernel, so that user threads can be extremely reactive to hardware interruptions. Then, I did expend this mechanism to unify the management of interrupts and polling in multithreaded environments. Finally, I have designed new tracing mechanisms allowing to precisely rebuild the execution of multithreaded programs, even with a two-level scheduling. All these works have been implemented within the PM2 software suite. The Marcel library provides efficient multithreading on a large range of processors and systems. Marcel is flexible enough to allow an application to precisely manage its threads scheduling when needed. Applications can be traced in order to observe their precise behavior. The generated traces can be converted to the Pajé software format, so that application behavior can be graphically observed."
schema:description"En informatique, la notion de processus léger ou thread est désormais omniprésente. En effet, les threads permettent à un programme d'une part d'exploiter pleinement les ordinateurs multiprocesseurs et d'autre part d'exprimer son parallélisme intrinsèque. Dans le domaine du calcul hautes performances, les threads permettent de recouvrir des communications ou plus généralement des entrées/sorties avec du calcul. Ils permettent aussi aux divers composants de l'application de progresser indépendamment les uns des autres, ce qui est nécessaire avec l'utilisation d'environnements de programmation toujours plus complexes comme MPI ou Corba. Mes travaux avaient pour objectif principal d'aboutir à la conception d'une bibliothèque de threads performante sur une vaste gamme d'architectures (machines mono ou multiprocesseurs, technologie "multithreading simultané", ...) et capable d'offrir les fonctionnalités demandées par les programmes de calcul hautes performances. Dans un premier temps, j'ai proposé une extension du modèle des Scheduler Activations pour le noyau Linux permettant d'être réactif aux interruptions dans une bibliothèque de threads utilisateurs. J'ai ensuite étendu ce mécanisme de manière à unifier la gestion des interruptions et des scrutations dans un environnement multithreadé. Enfin, j'ai proposé un mécanisme de prise de traces permettant de reconstituer précisément le déroulement d'un programme multithreadé, y compris lorsque l'ordonnancement est à deux niveaux. Ces travaux ont été implémentés au sein du logiciel PM2. La bibliothèque Marcel offre des threads performants sur une vaste gamme de processeurs et de systèmes en restant suffisamment flexible pour permettre aux applications qui le nécessitent de diriger précisément l'ordonnancement de leurs threads. Les applications peuvent être tracées de manière à pouvoir reconstituer et observer leur comportement précis. La trace obtenue peut être convertie au format du logiciel Pajé qui permet alors de visualiser graphiquement le déroulement de l'application."
schema:exampleOfWork<http://worldcat.org/entity/work/id/1811243356>
schema:name"Contribution à l'élaboration d'ordonnanceurs de processus légers performants et portables pour architectures multiprocesseurs"
schema:publisher

Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.