D�ploiement d'ordonnanceurs de processus sp�cifiques dans un syst�me d'exploitation\\g�n�raliste
Herv� Duchesne \andauthor Christophe Augier \andauthor Richard Urunuela
Bossa is a framework to develop new processes schedulers in commodity operating systems. Although Bossa enables fine-grained management of the processor through new scheduling policies, deploying an application with its own scheduler raises some problems. In this paper we study the problems caused when deploying an application and its scheduler and to adresse these, we propose to establish Quality of Service contracts and mechanisms to reconfigure the scheduler hierarchy.
BOSSA.tex
\section{L'environnement Bossa}

%****************************** VERSION CORRECTE *******************************%
L'environnement Bossa se situe dans le domaine des extensions de syst�mes d'exploitation o� l'on trouve des travaux comme SPIN~\cite{SPIN} ou Flux OSKit~\cite{FLUX}. Aussi, Bossa permet de d�velopper et d'int�grer facilement et de fa�on s�re des ordonnanceurs de processus dans un syst�me d'exploitation.


L'environnement Bossa est organis� autour d'un langage d�di� (\textit{domain specific language} DSL) et d'un support d'ex�cution, comme le montre la Figure~\ref{fig:EnvBossa}. Le DSL offre au programmeur des abstractions de haut niveau d�di�es au domaine de l'ordonnancement et facilite ainsi l'impl�mentation de nouvelles politiques d'ordonnancement. Le support d'ex�cution fournit au syst�me d'exploitation une interface facilitant l'int�gration de composants d'ordonnancement. D�s lors, chaque classe d'applications ex�cut�es sur une m�me machine peut disposer de son ordonnanceur sp�cifique.
%L'environnement Bossa permet d'associer un ordonnanceur sp�cifique � une application ou un ensemble d'applications partageants les m�me besoins. Ainsi,
% r�sum� sous le terme de classe d'applications.
\label{bossa}


Toutefois, l'ex�cution simultan�e d'ordonnanceurs au sein d'un m�me syst�me soul�ve des probl�mes de multiplexage de la ressource processeur. Aussi, pour g�rer l'acc�s des diff�rents ordonnanceurs � la ressource processeur, il peut s'av�rer n�cessaire de d�ployer une entit� de r�gulation. Dans l'environnement Bossa, cette entit� de r�gulation est impl�ment�e sous la forme d'un ordonnanceur virtuel qui peut �tre vu comme un ordonnanceur d'ordonnanceurs~\cite{PEPM}. L'association d'un ordonnanceur virtuel et d'un ou plusieurs ordonnanceurs constitue une hi�rarchie d'ordonnanceurs comme le montre la Figure \ref{fig:HieBossa}. La construction d'une hi�rarchie, dans l'environnement Bossa, se fait de fa�on explicite. Aussi, une application est en mesure de d�ployer son propre ordonnanceur via l'utilisation d'une biblioth�que de fonctions ad-hoc, comme le montre la Figure \ref{fig:HieBossa}.
%Le d�ploiement d'une application avec son ordonnanceur est possible dans l'environennement Bossa. En effet, une biblioth�que de fonctions ad-hoc permet � une application de charger son ordonnanceur comme le montre la figure \ref{fig:HieBossa}. La fonction \verb?mount_root()? charge l'ordonnanceur virtuel servant � multiplexer la ressource processeur avec l'ordonnanceur existant et la fonction \verb?mount()? charge l'ordonnanceur de l'application.


% peut �tre mont�e directement par le lecteur vid�o via une biblioth�que de fonctions distribu�e avec l'environnement bossa. Ainsi pour d�ployer un ordonnanceur une application doit contenir deux fonctions, \verb?mount()? et \verb?mount_root()? qui permettent respectivement le chargement de l'ordonnanceur et celui de l'ordonnanceur virtuel.
%qui permet de multiplexer la ressource processeur comme le montre la figure \ref{fig:HieBossa}. Le d�ploiement de l'ordonnanceur Earliest Deadline First [] est fait par l'application elle m�me via l'utilisation d'une biblioth�que de fonctions dont \verb?mount()? et \verb?mount_root()? sont les plus utilis�es...

\begin{figure}[tb]
%\begin{center}
\includegraphics[angle=0, scale=0.35]{./dia/RTSbossa.eps}
\caption{Environnement Bossa}
\label{fig:EnvBossa}
%\end{center}
\end{figure}

\begin{figure}[htb]
%\begin{center}
\includegraphics[angle=0, scale=0.35]{./dia/hierarchie.eps}
\caption{Exemple du d�ploiement actuelle d'une application et son ordonnanceur dans l'environnement Bossa}
\label{fig:HieBossa}
%\end{center}
\end{figure}
%\vspace*{-0,5cm}
%*******************************************************************************%





%L'environnement Bossa permet %entre autre aux programmeurs d'application de d�velopper facilement et de fa�on s�r des ordonnanceurs de processus\cite{barreto-muller.rts2002} \cite{PLOS04} \cite{GPCE04}. La figure \ref{fig:EnvBossa} pr�sente cet environnement qui fournit un langage d�di� (DSL) pour programmer des politiques et un syst�me d'�x�cution �v�nementiel permettant l'int�gration de composants d'ordonnancement modulaire dans un syst�me d'exploitation g�n�raliste.

%L'int�gration d'un composant d'ordonnancement au sein du syst�me d'exploitation ne peut se faire
%Les composant d'ordonnancement g�n�r� � partir du
%Pour introduire un composant d'ordonnancement au sein du syst�me d'exploitation nous devons d�ployer une hi�rarchie d'ordonnanceur\cite{Regehr01}.

% Pour cela,  cet environnement dispose d'un langage d�di� (DSL) et d'un support d'ex�cution%�v�nementiel

% Le support d'ex�cution facilite l'int�gration d'ordonnanceurs dans le noyau d'un syst�me d'exploitation et permet l'interfa�age entre un composant d'ordonnancement et un syst�me d'exploitation g�n�raliste.

%Le support d'ex�cution �tend le syst�me d'exploitation en lui fournissant une interface...
% Le support d'ex�cution facilite �galement l'int�gration d'ordonnanceurs dans le noyau d'un syst�me d'exploitation. Cette int�gration induit une cohabitation entre les diff�rents ordonnanceurs sp�cifiques. Or, de cette cohabitation nait des probl�mes de synchronisation entre la ressource processeur et les ordonnanceurs.
% La figure \ pr�sente les liens de composition entre ces entit�s.
%Dans le cadre de cet article, nous nous interressons plus particuli�rement au d�ploiement d'un ordonnanceur dans un syst�me d'exploitation g�n�raliste "Bossa-ifi�".

%La cohabitation entre ordonnanceurs induite par l'int�gration de composants d'ordonnancement %sp�cifiques
%au sein d'un m�me syst�me, soul�ve des probl�mes de synchronisation.
% entre les diff�rents ordonnanceurs.
%Le chargement de multiples ordonnanceurs sp�cifiques au sein d'un m�me syst�me induit une cohabitation. entre ordonnanceurs induite  soul�ve des probl�mes de synchronisation.
%En effet, il est n�cessaire de g�rer l'acc�s des diff�rents ordonnanceurs � la ressource processeur. Pour cela, il est indispensable

% La mise en place d'un ordonnanceur virtuel et la constitution d'une hi�rarchie permettent de r�soudre les probl�mes de synchronisation entre les ordonnanceurs% pour la ressource processeur
%. Toutefois, de nouveaux probl�mes restent en suspend, notamment ceux occasionn�s par le d�ploiement d'un ordonnanceur sp�cifique
%les protocoles d'int�gration d'un ordonnanceur au sein d'une hi�rachie.



 %Si une hi�rarchie d'ordonnanceurs permet de r�soudre le probl�me de synchronisation entre composants d'ordonnancement, elle en cr�e �galement, notemment en ce qui concerne l'int�gration d'un ordonnanceur au sein d'une hi�rarchie.
% Cette gestion orborescente de composant d'ordonnancement  .

CONCLUSION.tex
\section{Conclusion}
Dans cet article nous avons pr�sent� le principe du d�ploiement d'une application avec son ordonnanceur dans un syst�me d'exploitation g�n�raliste et d�crit les probl�mes engendr�s. Pour les probl�mes non encore adress�s par l'utilisation de l'environnement Bossa nous avons propos� i) de valider la pertinence du chargement d'un nouvel ordonnanceur et ii) de v�rifier le maintien des contraintes d'ordonnancement lors du chargement d'un nouvel ordonnanceur dans la hi�rarchie.

Nous souhaitons maintenant impl�menter ces solutions dans l'environnement Bossa. De plus, nous nous proposons d'�tudier les possibilit�s d'adaptabilit� de l'application, afin qu'elle puisse revoir ses besoins d'ordonnancement si ceux-ci ne peuvent �tre satisfaits.

DECOR04.tex
% Documentation du style Latex pour les articles de revues ou de conf�rences Hermes
% Les consignes aux auteurs sont en annexe de ce document.

\documentclass[french]{article-hermes}
%pour inclure des eps
\usepackage{graphicx}

%%% Commandes sp�cifiques � l'article
\newcommand{\cfsect}[1]{(\textit{cf.} section~\ref{#1})}
\newcommand{\cfsectpage}[1]{(\textit{cf.} section~\ref{#1}, page~\pageref{#1})}
\providecommand{\figureref}[1]{\figname~\ref{#1}}
\providecommand{\cftab}[1]{(\textit{cf.} tableau~\ref{#1})}
\newcommand{\cmd}[1]{{\upshape\texttt{\symbol{"5C}#1}}}

%definition du style de la biblio
\bibstyle{biblio-hermes}


\begin{document}
%\maketitle % Exemple de 1ere page sans les valeurs de champs
            % pour afficher les commandes � utiliser
%\journal[Mode d'emploi]{Signature de l'article~: nom de la revue}%
%   {10}{5}{1999}{1}{15}% Exemple avec num�ros de page
%\journal{DECOR}{}{}{2004}{1}{2}

\title[D�ploiement d'ordonnanceurs]{D�ploiement d'ordonnanceurs de processus sp�cifiques dans un syst�me d'exploitation\\g�n�raliste}

\author{Herv� Duchesne \andauthor Christophe Augier \andauthor Richard Urunuela }

\address{
\'Equipe OBASCO\\
\'Ecole des Mines de Nantes \\
D�partement informatique\\
4 rue Alfred Kastler\\
F- 44307 Nantes cedex 3\\[3pt]
\{hduchesne,caugier,rurunuel\}@emn.fr}

\resume{L'environnement Bossa permet la conception d'ordonnanceurs sp�cifiques offrant ainsi une gestion pr�cise de la ressource processeur au sein d'un syst�me d'exploitation g�n�raliste. Toutefois, le d�ploiement conjoint d'une application et de son ordonnanceur suscite des probl�mes li�s � la r�servation de la ressource processeur. Dans cet article, nous �tudions les probl�mes dus � ce type de d�ploiement et proposons quelques solutions. En particulier, nous proposons d'�tablir des contrats de qualit� de service et des m�canismes de reconfiguration de la hi�rarchie d'ordonnanceurs.
}
\abstract{Bossa is a framework to develop new processes schedulers in commodity
operating systems. Although Bossa enables fine-grained management of the
processor through new scheduling policies, deploying an
application with its own scheduler raises some problems. In this paper we
study the problems caused when deploying an application and its
scheduler and to adresse these, we propose to establish Quality of Service contracts and mechanisms to reconfigure the scheduler hierarchy.
}

\motscles{d�ploiement d'ordonnanceurs, gestion de ressources}

\keywords{scheduler deployment, resource management}

\proceedings{DECOR'04, D�ploiement et (Re)Configuration de Logiciels}{193}

\maketitlepage
%--------------------------------------------%
%INTRO
\input{./INTRO.tex}
%--------------------------------------------%
%BOSSA
\input{./BOSSA.tex}
%--------------------------------------------%
%ETUDE des PROBLEMES
\input{./pb.tex}
%--------------------------------------------%
%SOLUTIONS
\input{./solution5RVR.tex}
%\input{./solution3.tex}
%--------------------------------------------%
%CONCLUSION
\input{./CONCLUSION.tex}
%\section{Conclusion}
%--------------------------------------------%
%BIBLIOGRAPHIE
\bibliography{DECOR04}

\end{document}

INTRO.tex
\section{Introduction}

%*************************** VERSION CORRECTE ********************************%
%Les r�cents progr�s survenus dans le secteur du mat�riel informatique permettent aux machines actuelles d'ex�cuter simultan�ment plusieurs applications de classes h�t�rog�nes telles que des applications serveurs et des applications multim�dia.
%Les applications multim�dia comme celles permettant le visionnage de vid�os ou la d�compressions synchrone de fichiers audios sont de plus en plus pris�es par des utilisateurs qui les ex�cutent sur des syst�mes d'exploitations g�n�ralistes. Or les applications multim�dia doivent r�pondre � des contraintes de qualit�s de service.
Les applications multim�dia sont de plus en plus pris�es par les utilisateurs. Ces applications sont le plus souvent ex�cut�es sur des syst�mes d'exploitations g�n�ralistes et ont la particularit� de devoir r�pondre � de fortes contraintes de qualit� de service. Le respect de ces contraintes dans un syst�me d'exploitation n�cessite une gestion efficace de la ressource processeur par l'ordonnancement de processus. Cependant, dans les syst�mes d'exploitation g�n�ralistes, les ordonnanceurs natifs ne sont pas en mesure de garantir, par exemple, le respect des contraintes temporelles n�c�ssaires � la bonne ex�cution de certaines applications multim�dia~\cite{KG00,HDR}. %\cite[].
%Afin de garantir le respect de ces contraintes temporelles
Une solution � ce probl�me est de d�velopper des ordonnanceurs sp�cifiques pour cette classe d'applications. Toutefois, le d�veloppement d'un nouvel ordonnanceur requiert une bonne connaissance des noyaux de syst�mes d'exploitation et des langages de programmation bas niveau tels que le C ou l'assembleur. Peu de programmeurs poss�dent ces deux expertises.
%Or acqu�rir ce type de comp�tence n'est pas facile.

%Une approche par langage d�di� (DSL) permet de d�passer ces difficult�s an facilitant la conception d'ordonnanceurs sp�cifiques � une application ou un ensemble d'applications partageant les m�me besoins.

L'environnement Bossa a �t� d�velopp� pour faciliter la conception et l'int�gration de nouveaux ordonnanceurs au sein d'un syst�me d'exploitation g�n�raliste~\cite{RTS02,GPCE04}. Bossa permet d'associer un ordonnanceur sp�cifique � chaque application ou ensemble d'applications partageant les m�mes besoins~\cite{PEPM}. Cependant, le d�ploiement conjoint d'une application et de son ordonnanceur suscite des probl�mes li�s � l'expression des besoins d'ordonnancement de l'application et du multiplexage de la ressource processeur entre les diff�rents ordonnanceurs charg�s. Pour adresser ces probl�mes, nous proposons de mettre en place un protocole de d�ploiement d'ordonnanceurs. \`A cette fin,  nous �tudions sous quelles conditions l'int�gration d'un ordonnanceur sp�cifique est requise et quelle est l'influence du d�ploiement d'un ordonnanceur sur le syst�me.


%Cependant, la coexistance de plusieurs ordonnanceurs au sein d'un m�me syst�me pose le probl�me du partage de la ressource processeur entre ces diff�rents composants d'ordonnancement. En effet, la ressource processeur n'�tant pas extensible,

%l'int�ret de
%En effet, la ressource processeur n'�tant pas extensible, il faut dans un premier temps valider la pertinance du chargement d'un ordonnanceur et dans un second temps, �tudier l'influence de l'int�gration d'un ordonnanceur au sein du syst�me. Cette probl�matique a �t� assez peu �tudi�e.
% ce d�ploiement conjoint d'une application et de son ordonnanceur du fait que nous disposions pas d'environnement comme Bossa permettant  .

La section 2 est une br�ve introduction aux concepts de l'environnement Bossa. La section 3 pr�sente les probl�mes engendr�s par le d�ploiement d'une application avec son ordonnanceur. Quelques solutions � ces probl�mes sont pr�sent�es en section 4. La section 5 conclut cet article et pr�sente quelques perspectives.

%*******************************************************************************%
%suscite des probl�mes li�s � l'expression des besoins de l'application et le mutliplexage de la ressource processeur.

%comme l'isolation d'application
%%comme la garantie d'ex�cution d'une application dans des conditions favorables


%. L'environnement Bossa offre, en effet, la possibilit� d'�tablir une ad�quation entre les applications et leur ordonnanceur de processus.
%lors du d�ploiement d'applications avec leurs ordonnanceurs de processus.  offre l'architecture n�cessaire au  Ce d�ploiement soul�ve n�anmoins des probl�matiques de s�curit�, de reconfiguration dynamique de l'architecture et de qualit� de service.
%}
%\resume{Les applications multim�dia sont soumises � des contraintes temporelles non prises en compte par l'ordonnanceur d'un syst�me d'exploitation g�n�raliste.
%L'environnement Bossa r�pond partiellement au d�ploiment d'une application avec son ordonnanceur en permettant le chargement dynamique d'ordonnanceur dans les syst�mes g�n�ralistes. Le chargement de plusieurs ordonnanceurs soul�ve le probl�me de la cohabitation entre plusieurs composant d'ordonnancement. }


%Le d�veloppement conjoint du stockage, de la puissance de calcul des processeur, la bande passante des r�seaux et la compression des donn�es ont permis aux ordinateur d'ex�cuter simultan�ment de nouveau types d'applications et celles pr�existantes. Ainsi un ordinateur moderne peut simultan�ment jouer une vid�o, encoder un flux audio en temps r�el et effectuer de la reconnaissance vocale; tout ceci n'aurait pas �t� possible il y a encore quelques ann�es, sur une machine bon march�. Ainsi la pression du march� a encourag� les vendeurs � migrer des fonctionnalit�s pr�c�demment ex�cut�es sur du mat�riel d�di� vers le processeur central.
%Bien sur, Un syst�me d'exploitation doit effectivement g�rer les ressources syst�mes tel que le processeur, la capacit� de stockage, la bande passante r�seau. Fournir chaque ressource a chaque tache en quantit� suffisante et au bon degr� de finesse n'est pas une tache facile. Offrir un degr� trop important induit un manque d'efficacit� et offrir un degr� trop faible peut restreindre les capacit� de l'application. L'ordonnancement est particuli�rement difficile quand la demande pour une ou plusieurs ressources d�passe l'offre--une situation qui est tr�s commune.
%Dans cet article nous nous focaliseront sur les probl�mes engendr� par le d�ploiement d'une application avec son ordonnanceur. Notre travail est motiv� par deux observation fondemmental. Premi�rement, les application temps r�el

%L'av�nement des r�seaux haut d�bit renforce le d�veloppement du t�l�chargement d'application multim�dia.
%Dans le cadre du visionnage d'une vid�o, ces contraintes sont d'une part d'ordre temporelles; respect de la p�riodicit� de d�compression et synchronisation des flux vid�o et audio et d'autre part d'ordre s�curitaire; le visionnage d'une vid�o ne doit pas monopoliser la ressource processeur entrainant ainsi le g�le du syst�me d'exploitation.
%Le respect de ces contraintes ne saurait �tre pris en charge uniquement par le mat�riel, m�me si les r�cents progr�s survenus dans ce secteur permettent aux machines actuelles d'ex�cuter simultan�ment de nouveaux types d'application et celles pr�existantes.

%  Or la gestion de cette ressource mat�rialis�e par l'ordonnancement des processus est particuli�rement d�licate. En effet, elle requi�re une bonne connaissance des noyaux de syst�me d'exploitation et des langages de programmation bas niveau tel que le C ou l'assembleur.
%M�me si , ils ne sont pas suffisant pour permettre � eux seul l'ex�cution d'une combinaison d'applications temps r�el dans le respect des contraintes de s�curit� et de qualit� de service.
%Ainsi, la puissance processeur seule n'est pas suffisante pour ex�cuter de fa�on fiable une combinaison d'applications temps r�el d�velopp�es de mani�re ind�pendante. En effet,
%la gestion de la ressource processeur
%les services
% n�cessaires � la bonne ex�cution de ces applications temps r�els
% sont fournis
 %est faite uniquement au niveau du syst�me d'exploitation.
%Un syst�me d'exploitation g�re
 %doit, en effet, g�rer
% les ressources mat�rielles tels que le processeur, la capacit� de stockage et la bande passante r�seau.
%La gestion de la ressource processeur mat�rialis�e par l'ordonnancement des processus est particuli�rement difficile.
%Dans les syt�mes d'exploitation, la gestion de la ressource processeur est mat�rialis�e par l'ordonnancement des processus.
% sourtout lorsque la demande pour cette ressource d�passe l'offre---une situation qui est tr�s commune.
%La gestion de la ressource processeur mat�rialis�e par l'ordonnancement des processus permet de r�pondre � ce type de contrainte.
%Toutefois, l'environnement Bossa permet de g�rer plus facilement et plus pr�cis�ment cette ressource processeur. L'environnement Bossa facilite en effet la conception et l'int�gration d'ordonnanceur sp�cifique au sein d'un syst�me d'exploitation g�n�raliste.

%permet la conception d'ordonnanceurs sp�cifiques offrant ainsi une gestion pr�cise de la ressource processeur au sein d'un syst�me d'exploitation g�n�raliste. D�s lors, un programmeur d'application est en mesure de r�diger un ordonnanceur de processus sp�cifique r�pondant aux besoins de l'application qu'il developpe.Toutefois,


%La strucuration de cet article est la suivante.


%Notre travail est motiv� par deux observations fondemmentales.


% proposons quelques solutions. En particulier, nous proposons d'�tablir des contrats de qualit� de services et des proc�dures de gestion dynamique de la hi�rarchie d'ordonnanceurs.

%Parral�ement � une �volution de performance du mat�riel, les syst�mes d'exploitation
%Les syst�mes d'exploitation g�n�raliste ne sont pas en mesure de r�pondre � ce type de contraintes car ils ne permettent pas une gestion pr�cise de la ressource processeur.

%La mise en place de machine virtuelle permet d'adresser ce type de contraintes, mais leur mise en place et leur gestion se r�v�le assez lourde par , ou plus simplement par le contr�le de la ressource processeur.

%, permet d'adresser ces probl�mes. Toutefois, les syst�mes d'exploitation g�n�ralistes ne permettent pas d'effectuer un tel contr�le. L'environnement Bossa rend possible le contr�le de la ressource processeur par le d�ploiement simultan� d'une application et de son ordonnanceur. Ce d�ploiment implique de maitriser l'int�gration et la persistance des ordonnanceurs au sein d'une hi�rarchie \cite{Regehr01}. Pour adresser ces probl�matiques, nous proposons d'�tablir des contrats de qualit� de services et des proc�dures de reconfiguration dynamique de la hi�rarchie d'ordonnanceurs.



%fourni ces mechanismes en s'appuyant sur la notion de hierarchie d'ordonnanceur. Ce concept permet de d�di� l'ex�cution de classe application sur un ordonnanceur sp�cifique




%Bien que l'ordonnancement de processus soit un probl�me ancien, il n'existe pas encore d'ordonnanceur universel. En effet, toutes les applications ex�cut�es sur les syst�mes d'exploitation g�n�ralistes %(Windows, Linux)
% n'ont pas les m�me contraintes en mati�re d'ordonnancement. Ainsi les applications multim�dia sont soumises � des contraintes temps r�el et requi�rent comme les applications serveurs une forte disponibilit� %au sein des machines
%  de la ressource processeur.

pb.tex
\section{Probl�mes engendr�s par le d�ploiement d'une application et de son ordonnanceur}

%******************************** VERSION CORRECTE **************************%
%Le d�ploiement d'une application avec son ordonnanceur se d�roule g�n�ralement en deux �tapes. Dans un premier temps, l'application sp�cifie l'ordonnanceur qu'elle souhaite utiliser. Dans un second temps, l'ordonnanceur est charg� par le syst�me d'exploitation et l'application lui est attach�e.
Le mod�le de d�ploiement d'une application et de son ordonnanceur dans l'environnement Bossa %tel que pr�sent� en section \ref{bossa}
 exhibe les limitations suivantes :
\begin{itemize}
 % Statique
 \item les conditions d'ex�cution de l'application sont
 % passage de param�tres est
 d�finies � priori par le programmeur sans tenir compte de l'environnement d'ex�cution,
 % De plus le d�ploiement est local car:

\item le syst�me ne v�rifie pas la pertinence du chargement d'un nouvel ordonnanceur, c'est-�-dire s'il n'existe pas d�j� un ordonnanceur sur lequel l'application est en mesure de s'ex�cuter,
\item le syst�me ne v�rifie pas lors du chargement d'un ordonnanceur que les garanties offertes initialement aux applications existantes sont encore respect�es. En effet, l'ex�cution simultan�e de plusieurs ordonnanceurs sur la m�me ressource processeur entra�ne irr�m�diablement des probl�mes de partage.
\end{itemize}
Pour garantir le d�ploiement coh�rent d'une application et son ordonnanceur avec l'environnement existant, le syst�me doit offrir des m�canismes pour r�pondre aux limitations actuelles.

%Or pour que le d�ploiement d'une application avec son ordonnanceur se fasse dans de bonnes conditions, l'application doit tenir compte de son environnement et s'y adapter dans la mesure du possible.
%L'environnement Bossa facilite le chargement dynamique d'ordonnanceurs,  et permet l'attachement d'une application
%Le model de d�ploiement d'une application et de son ordonnanceur tel qu'il existe dans l'environnement Bossa ne permet pas de valider la pertinence du chargement d'un nouvel ordonnanceur, c'est a dire s'assurer qu'il n'existe pas d�j� un ordonnanceur sur lequel l'application est en mesure de s'ex�cuter. D'autre part nous ne sommes pas en mesure d'assurer que les garanties offertes initialement aux applications peuvent encore �tre respect�es. En effet, l'ex�cution simultan�e de plusieurs ordonnanceurs sur la m�me ressource processeur entra�ne irr�m�diablement des probl�mes de partage.
%Le model de d�ploiement pr�sent dans l'environnement Bossa n'est pas viable pour un d�ploiement a grande �chelle. En effet, il ne se situe pas au niveau de classe d'application et ne prend pas en compte l'�tat existant de la hi�rarchie. Pour que le passage � l'�chelle soit possible, il faut adresser deux principaux besoins :
%\begin{itemize}
%\item Valider la pertinence du chargement d'un nouvel ordonnanceur, c'est � dire s'assurer qu'il n'existe pas d�j� un ordonnanceur sur lequel l'application est en mesure de s'ex�cuter.
%\item V�rifier lors du chargement d'un nouvel ordonnanceur que les garanties offertes initialement aux applications peuvent encore �tre respect�es. En effet, l'ex�cution simultan�e de plusieurs ordonnanceurs sur la m�me ressource processeur entra�ne irr�m�diablement des probl�mes de partage.
%\end{itemize}




%******************************************************************************%


%pour cela elle doit �tre en mesure
%Cependant, l'ex�cution simultan�e de plusieurs ordonnanceurs sur la m�me ressource processeur entra�nant irr�m�diablement des probl�mes de concurrences, les garanties offertes initialement aux applications ne sont peut-�tre plus respect�es apr�s le chargement d'un nouvel ordonnanceur ou � l'ex�cution d'un nouveau programme.
%Ainsi, pour valider la premi�re �tape, une application doit �tre en mesure d'exprimer ses besoins d'ordonnancement. qui sont n�cessaire � sa bonne ex�cution. respecte certaines propri�t�s qui sont n�cessaires � son bon fonctionnement.
% notamment sur le choix des propri�t�s servant � d�crire un ordonnanceur. De plus,
%en d�crivant le type d'ordonnancement dont elle a besoin, l'application s'attend � ce que le syst�me d'exploitation, par l'interm�diaire de l'ordonnanceur, respecte certaines propri�t�s qui sont n�cessaires � son bon fonctionnement.
%Or le chargement de plusieurs ordonnanceurs en parall�le sur la m�me ressource processeur entra�ne irr�m�diablement des probl�mes de concurrence. La ressource �tant disput�e entre les ordonnanceurs, les garanties offertes aux applications � un moment ne sont peut-�tre plus respect�es lors du chargement d'un nouvel ordonnanceur ou lors de l'ex�cution d'un nouveau programme.
%En r�sum�, la probl�matique est comment d�crire le type de service n�cessaire � l'application (les propri�t�s d'ordonnancement) puis comment v�rifier que ce service n'entre pas en conflit avec les services d�j� pr�sents.


%L'algorithme d�crit figure XX illustre les �tapes et les conditions n�cessaires � l'ex�cution d'une application sous un ordonnaceur qui lui est sp�cifique. Bossa permettant le chargement dynamique d'ordonnanceurs et l'attachement d'un processus � un ordonnanceur il ne reste donc que deux besoins � adresser : une application doit pouvoir sp�cifier son ordonnancement et l'ordonnancement global du syst�me doit rester coh�rent.

%using commodity hardware and operating systems to run combinations of real-time and non-real-time tasks. We propose an architecture that will allow a general-purpose operating system to schedule conventional and real-time tasks with diverse requirements to provide flexible load isolation between applications, users, and accounting domains, and to enfoce high-level policies about the allocation of CPU time. this is accomplished by implementing a dynamic, hierarchical scheduling infrastructure.

%La premi�re �tape, quand l'application sp�cifie un ordonnanceur, soul�ve plusieurs probl�mes. Premi�rement, lorsque plusieurs applications demandent l'utilisation du m�me ordonnanceur, le syst�me doit-il cr�er plusieurs instance de l'ordonnanceur ou ordonnancer tous les processus sous le m�me ordonnanceur ? Ensuite, une application ne fournit pas toujours un ordonnanceur sp�cifique � ses besoins mais elle peut n�cessiter que le syst�me lui offre certaines propri�t�s d'ordonnancement. En r�sum� L'application doit donc pouvoir d�ployer son ordonnanceur sp�cifique ou d�crire quel type d'ordonnancement lui convient le mieux, le choix de l'ordonnanceur le plus adapt� restant � faire par un tiers.

%Le premier besoin intervient lorsque l'application sp�cifie l'ordonnanceur qu'elle d�sire. En effet plut�t que de toujours d�ployer un ordonnanceur sp�cifique � chaque application, plusieurs applications peuvent partager le m�me ordonnanceur. L'application doit donc pouvoir d�ployer son ordonnanceur sp�cifique ou d�crire quel type d'ordonnancement lui convient le mieux, le choix de l'ordonnanceur le plus adapt� restant � faire par un tiers.

%Un syst�me moderne fait tourner diff�rentes combinaisons d'applications ayant des besoins tous diff�rents en ressource processeur (partage de charge, r�servation de ressources, temps r�el, ...). L'utilisation de syst�mes d'exploitation g�n�ralistes ne permet pas de satisfaire au mieux ces diff�rentes combinaisons. Pour r�soudre ce probl�me le syst�me d'exploitation peut �tre �tendu en y ajoutant de nouveaux ordonnanceurs qui permettrait de r�pondre � plusieurs besoins. Nous proposons de pousser le concept plus loin en associant au d�ploiement d'une application, le d�ploiement d'un ordonnanceur qui lui est sp�cifique.


% Le deuxi�me probl�me d�coule directement de l'utilisation qui est faite actuellement des syst�mes informatiques. En effet les syst�mes d'exploitation sont maintenant multi-t�ches et peuvent donc faire tourner en parall�le plusieurs applications. En suivant notre id�e de d�ployer un ordonnanceur sp�cifique � chaque classe d'applications, il deviendra fr�quent d'avoir plusieurs ordonnanceurs pour g�rer la m�me ressource processeur. La pr�sence de plusieurs ordonnanceurs n'est pas un probl�me en elle m�me puisqu'elle est permise par l'utilisation d'ordonnanceur d'ordonnanceurs. Le probl�me est plut�t un probl�me de qualit� de service qui est g�n�r� par la concurrence entre les diff�rentes applications et donc les diff�rents ordonnanceurs.

% L'utilisation m�me d'ordonnanceurs sp�cifiques est de permettre au syst�me d'exploitation d'offrir certaines garanties sur la ressource processeur aux applications. Or plus l'utilisateur lance d'applications et plus d'ordonnanceur seront n�cessaires au fonctionnement du syst�me. La ressource processeur n'�tant pas infini, il y aura t�t ou tard un tarissement de la ressource processeur. Parall�lement, le syst�me doit permettre une bonne cohabitation des ordonnanceurs pour �viter qu'un ordonnanceur ne prennent toute la ressource processeur au d�triment des autres ordonnanceurs/classes d'applications.


% L'id�e de d�ployer une application et son ordonnanceur s'explique par le fait que les syst�mes d'exploitation g�n�ralistes sont construits autour d'un unique ordonnanceur qui se doit de r�agir le mieux possible aux diff�rentes op�rations de l'utilisateur. Or il est prouv� qu'un algorithme d'ordonnancement favorisant une classe d'applications, le fait au d�triment des autres.
% Le principal probl�me de l'ordonnancement de processus sur un syst�me d'exploitation est le manque d'informations. En effet, plusieurs processus sont lanc�s mais le syst�me d'exploitation ne connait pas les d�tails de l'ex�cution de ces processus et donc les algorithmes d'ordonnancement sont tr�s limit�s.
% Pour obtenir une gestion plus fine de la ressource processeur, certains m�canismes dits de \emph{r�servation} permettent aux processus de r�server une partie du temps processeur. En donnant plus ou moins de d�tails sur leur ex�cution, ces processus facilitent la t�che de l'ordonnanceur qui est plus � m�me de s�lectionner l'ordre optimal d'ex�cution.

% pouvoir �tendre l'OS en chargeant dynamiquement un ordonnanceur, c'est pour d'augmenter l'interface de comm entre l'OS (par l'ordo) et l'appli et permettre de faire de la QOS, r�servation de ressources, ...

% I/ description des ordonnanceurs

% Id�allement une application devrait se voir allouer du temps processeur par un ordonnanceur qui lui est sp�cifique. N�anmoins, cette approche n'est pas tr�s flexible et nous pensons qu'il serait pr�f�rable de regrouper les applications en classe auxquelles correspondraient un ou plusieurs ordonnanceurs. Une application pourrait d�ployer son ordonnanceur sp�cifique ou un ordonnanceur d�j� existant sur le syst�me et qui satisfait ses exigences.
%Le probl�me est donc de pouvoir #lier# une application � un ordonnanceur ou en d'autres termes de permettre � l'application de d�crire quel type d'ordonnancement elle n�cessite.

% II/ cohabitation de plusieurs ordonnanceurs

% Le deuxi�me probl�me d�coule directement de l'utilisation qui est faite actuellement des syst�mes informatiques. En effet les syst�mes d'exploitation sont maintenant multi-t�ches et peuvent donc faire tourner en parall�le plusieurs applications. En suivant notre id�e de d�ployer un ordonnanceur sp�cifique � chaque classe d'applications, il deviendra fr�quent d'avoir plusieurs ordonnanceurs pour g�rer la m�me ressource processeur. La pr�sence de plusieurs ordonnanceurs n'est pas un probl�me en elle m�me puisqu'elle est permise par l'utilisation d'ordonnanceur d'ordonnanceurs. Le probl�me est plut�t un probl�me de qualit� de service qui est g�n�r� par la concurrence entre les diff�rentes applications et donc les diff�rents ordonnanceurs.

% L'utilisation m�me d'ordonnanceurs sp�cifiques est de permettre au syst�me d'exploitation d'offrir certaines garanties sur la ressource processeur aux applications. Or plus l'utilisateur lance d'applications et plus d'ordonnanceur seront n�cessaires au fonctionnement du syst�me. La ressource processeur n'�tant pas infini, il y aura t�t ou tard un tarissement de la ressource processeur. Parall�lement, le syst�me doit permettre une bonne cohabitation des ordonnanceurs pour �viter qu'un ordonnanceur ne prennent toute la ressource processeur au d�triment des autres ordonnanceurs/classes d'applications.


solution5RVR.tex
\vspace*{-0,25cm}
\section{Solutions aux probl�mes de d�ploiement}
%************************* CHANGER DE PLACE *****************************%
%Pour r�pondre aux probl�mes du d�ploiement d'une application avec son ordonnanceur, le syst�me doit, lors de chaque ex�cution de l'application, n�gocier l'int�gration de l'ordonnanceur sp�cifique dans la hi�rarchie et le cas �ch�ant, valider l'ad�quation entre les besoins de l'application et la disponibilit� de la ressource processeur.
%************************************************************************%

%****************************** NOUVELLE INTRO **************************%
Nous introduisons les notions de classe d'applications et de services d'ordonnancements. Aussi, pour valider la pertinence du chargement d'un nouvel ordonnanceur, nous proposons de mettre en place un protocole de communication %entre une application et la hi�rarchie d'ordonnanceurs
~\cite{HDR}. %Ce protocole permet � une application de
Dans ce protocole, une application peut sp�cifier la classe � laquelle elle appartient, ses besoins en mati�re d'ordonnancement ainsi que  %offrant ainsi la possibilit�
 v�rifier l'existance d'un service d'ordonnancement compatible dans la hi�rarchie d'ordonnanceurs.
 Pour pr�server les garanties d'ordonnancement lors du chargement d'un nouvel ordonnanceur dans une hi�rarchie, nous proposons d'utiliser un algorithme de construction de hi�rarchies. Pour expliciter ces solutions, nous d�crivons tout d'abord une approche introduite par Regehr et Stankovic et proposons ensuite quelques extensions � ce mod�le~\cite{Regehr01}.

\vspace*{-0,35cm}
%*************************************************************************%

%Cette partie pr�sente une premi�re approche r�alis�e par Regehr et Stankovic Dans l'article \cite{Regehr01} pour r�pondre aux probl�mes de d�ploiement non encore r�solus. Par la suite, nous montrons les limites de cette approche et proposons quelques extensions afin de mieux r�pondre � notre probl�matique.
%comment et selon quel protocole une application sp�cifie t'elle l'ordonnanceur qu'elle souhaite utiliser et ii) comment garantir la coh�rense globale d'une hi�rarchie d'ordonnancement lorsque l'on y int�gre un nouvel ordonnanceur.
%Toutefois, il faut, lors de ce d�ploiement, valider la pertinence du chargement d'un nouvel ordonnanceur et
%il faut v�rifier, lors du chargement d'un nouvel ordonnanceur, que len exprimant et communiquant ses besoins d'ordonnancement si l'ordonnanceur demand� n'est pas pr�sent il



%La n�gociation pour l'int�gration d'un ordonnanceur consiste � v�rifier, dans la hi�rarchie d'ordonnanceur, l'existance  d'un service d'ordonnancement compatible avec les besoins de l'applications.
%Si aucun service n'est trouv�, le syst�me charge l'ordonnanceur sp�cifique fourni avec l'application.

%\subsection{Caract�risation des services d'ordonnancement}
\subsection{Approche de Regehr et Stankovic}
%***************************** VERSION ENVOYEE A JULIA *******************%
%Pour v�rifier la compatiblit� entre un service d'ordonnancement et une application, le syst�me doit discriminer les ordonnanceurs en fonction des caract�ristiques qu'ils pr�sentent. Dans l'article \cite{Regehr01}, Regehr et Stankovic exposent leur travaux sur la caract�risation des services d'ordonnancement. Ainsi, les auteurs proposent qu'un ordonnanceur �tablisse un contrat de qualit� de service avec l'entit� qu'il ordonnance (Thread ou ordonnanceur) selon la syntaxe \verb?TYPE[param]? o� \verb?TYPE? caract�rise le service d'ordonnancement (ordonnanceur temps r�el, � proportion...) et \verb?[param]? repr�sente le quota de ressource processeur garanti par le contrat. L'expression de ce quota et donc le nombre de param�tre, d�pend du type du service d'ordonnancement. Ainsi un contrat garantissant localement 40\% de la ressource processeur, pass� entre une entit� � ordonnancer et un ordonnanceur � proportion s'exprime \verb?PS[40]?.
%*******************************************************************************%


%****************************** NOUVELLE VERSION *******************************%
%Pour v�rifier la compatiblit� entre un service d'ordonnancement et une application, le syst�me doit discriminer les ordonnanceurs en fonction des caract�ristiques qu'ils pr�sentent. Pour cela, il est n�cessaire de d�finir une syntaxe permettant l'expression des besoins d'ordonnancement et  de classifier les ordonnanceurs en fonctions des services qu'ils proposent.
Regehr et Stankovic ont mis en place une caract�risation des services d'ordonnancement qui  permet d'�valuer et de valider l'utilisation de la ressource processeur au sein d'une hi�rarche d'ordonnanceurs. %~\cite{Regehr01}.
 Aussi, Regehr et Stankovic proposent qu'un ordonnanceur �tablisse un contrat de qualit� de service avec l'entit� qu'il ordonnance (application ou ordonnanceur). Un contrat de service s'exprime selon la syntaxe \verb?TYPE[param]?, o� \verb?TYPE? repr�sente le service d'ordonnancement (ordonnanceurs temps r�el, � proportion...) et \verb?[param]? repr�sente le quota de ressource processeur garanti par le contrat. La combinaison des diff�rents contrats �bauche le squelette d'une hi�rarchie, qui est ensuite construite par un algorithme sp�cifique.

Ce mod�le de d�ploiement permet de r�soudre partiellement i) le probl�me de n�gociation de l'int�gration d'un ordonnanceur en offrant une classification des ordonnanceurs par type de service d'ordonnancement et ii) le probl�me de reconfiguration dynamique de la hi�rarchie en proposant un algorithme de composition de hi�rarchie d'ordonnanceurs.

%propose des pistes int�ressantes,


% Toutefois, la ressource processeur concern�e par ce contrat est limit�e � la ressource disponible localement au niveau de l'ordonnanceur. Ainsi une application demandant � s'ex�cuter 10ms toutes les 20ms sur un ordonnancement de type Earliest Deadline First (EDF) lui m�me ordonnanc� par un ordonnanceur � proportion lui fournissant 40\% de la ressource processeur, n'utilise non pas $\frac{10}{20}$ mais $\frac{40}{100}$x$\frac{10}{20}$ soit 20\% de la ressource processeur. En utilisant la syntaxe de Regehr et Stankovic, ces besoins d'ordonnancement s'expriment \verb?PS[40]? et \verb?RSBS[10,20]?.

%La combinaison des diff�rents contrats �bauche le squelette d'une hi�rarchie, qui est ensuite construite par un algorithme sp�cifique qui interompt la construction de la hi�rarchie en cas de non respect d'un des contrats.

%une entit� nouvellement charg�e  dans la hi�rarchie dispose au mieux de la ressource processeur fournie par son ordonnanceur.

%L'expression de ce quota et donc le nombre de param�tres, d�pend du type du service d'ordonnancement.




% Ainsi un contrat garantissant 40\% de la ressource processeur locale, pass� entre une entit� � ordonnancer (Thread ou ordonnanceur) et un ordonnanceur � proportion s'exprime \verb?PS[40]?.


%*******************************************************************************%




%Pour v�rifier l'existance  d'un service d'ordonnancement compatible avec l'application, le syst�me doit discriminer les ordonnanceurs en fonction des %fonctionnalit�s
%caract�ristiques qu'ils pr�sentent.
%Les travaux de J. Regehr et J. A. Stankovic \cite{Regehr01} sur la caract�risation des services d'ordonnancement, permettent d'�valuer et de valider l'utilisation de la ressource processeur au sein d'une hi�rarche d'ordonnanceur.

%Le papier \cite{Regehr01} pr�sente les travaux de J. Regehr et J. A. Stankovic sur la caract�risation des services d'ordonnancement. Ces travaux permettent d'�valuer l'utilisation de la ressource processeur au sein d'une hi�rarche d'ordonnanceur.
% Pour ce faire, J. Regehr et J. A. Stankovic propose qu'un ordonnanceur �tablisse un contrat de qualit� de service avec %son ordonnanceur virtuel
% l'entit� qu'il ordonnance (Thread ou ordonnanceur). La ressource processeur concern�e par ce contrat est limit�e � la ressource disponible localement au niveau de l'ordonnanceur,
 %Ce contrat prend en compte la disponibilite de la ressource processeur au niveau de l'ordonnanceur virtuel. %d�pend de la disponibilit� de le ressource processeur  au vue de ses contraintes sp�cifiques.
%ainsi une entit� nouvellement charg�e  dans la hi�rarchie dispose au mieux de la ressource processeur fourni par son ordonnanceur.

%Un contrat de service s'exprime selon la syntaxe \verb?TYPE[param]?, ou \verb?TYPE? repr�sente le service d'ordonnancement (ordonnanceur temps r�el, � proportion...) et \verb?[param]? repr�sente le quota
%la quantit�
% de ressource processeur garanti par le contrat. L'expression de ce quota et donc le nombre de param�tre, d�pend du type du service d'ordonnancement. Ainsi un contrat garantissant 40\% de la ressource processeur locale, pass� entre une entit� � ordonnancer et un ordonnanceur � proportion s'exprime \verb?PS[40]?.


%les valeurs garantie par �tablient du contrat. Ainsi la demande d'int�gration d'un ordonnanceur EDF demandant 40\% de la ressource processeur au sein d'une hi�rarchie ayant pour ordonnanceur virtuel un proportion s'�crit:
%\verb?PS[40]?
%*******************************************************************************%
\vspace*{-0,4cm}
\subsection{Extension des travaux de Regehr et Stankovic}

%Dans le cadre du d�ploiement d'une application avec son ordonnanceur, les travaux  de Regehr et Stankovic permettent, d'adresser partiellement i) le probl�me de n�gociation de l'int�gration d'un ordonnanceur en offrant une classification des ordonnanceurs par type de service d'ordonnancement et ii) le probl�me de reconfiguration dynamique de la hi�rarchie en proposant un algorithme de composition de hi�rarchie d'ordonnanceurs.
Le mod�le de d�ploiement d'ordonnanceurs propos� par Regehr et Stankovic
%propose quelques solutions int�ressantes. Toutefois, il
 ne permet pas d'�tablir une demande de ressources au niveau global comme le montre la figure \ref{fig:local}.
\begin{figure}[h!]
%\begin{center}
\includegraphics[scale=0.35]{./dia/deflocal.eps}
\caption{Limitation de la ressource processeur au niveau local}
\label{fig:local}
%\end{center}
\end{figure}
 Aussi, la ressource processeur concern�e par ce contrat est limit�e � la ressource disponible localement au niveau de l'ordonnanceur.
 De plus, ce mod�le ne r�pond pas aux probl�mes de n�gociation de l'int�gration d'un ordonnanceur sp�cifique. %Pour cela, nous proposons un protocole pr�cis d'interaction entre les diff�rents services d'ordonnancement et une application.
  Enfin, l'algorithme de construction interrompt la r�alisation de la hi�rarchie s'il est impossible de respecter l'un des contrats. Par cons�quent, nous proposons:

%ces travaux ne r�pondent pas aux probl�mes de n�gociation de l'int�gration d'un ordonnanceur sp�cifique en proposant un protocole pr�cis d'int�raction entre les diff�rents services d'ordonnancement et une application.
%De plus, la composition d'une hi�rarchie d'ordonnanceurs ne g�re pas d'un point de vue global l'harmonisation des besoins en ressource processeur. Par cons�quent, nous proposons:
\begin{itemize}
\item de mettre en place un protocole pour autoriser ou non une application � charger son ordonnanceur. Ce protocole est le suivant : une application souhaitant s'ex�cuter doit exprimer ses besoins d'ordonnancement en utilisant le mod�le s�mantique d�fini par Regehr et Stankovic. Cette expression de besoins est alors utilis�e par le syst�me pour rechercher dans la hi�rarchie s'il existe un service d'ordonnancement compatible. Dans le cas contraire, le syst�me charge le composant d'ordonnancement sp�cifique � l'application,
\item d'�tendre l'algorithme de composition d'une hi�rarchie d'ordonnanceurs utilis� par Regehr et Stankovic en rempla�ant la condition d'arr�t de l'algorithme par une tentative de r�allocation de la ressource processeur entre tous les ordonnanceurs pr�sents. Cette extension permet au syst�me d'essayer de r�pondre aux besoins exprim�s par l'application.
\end{itemize}
Ces deux �tapes du d�ploiement sont illustr�es par la Figure \ref{schm1}.
\vspace*{-3,4cm}
\begin{center}
\begin{figure}[h!]
\begin{center}
\includegraphics[scale=0.30]{./dia/algo1.eps}
\caption{\label{schm1} \footnotesize Algorithme de d�ploiement d'un ordonnanceur}
\end{center}
\end{figure}
\end{center}
%\vspace{-1}
%pour autoriser ou non l'int�gration d'un ordonnanceur dans une hi�rarchie. Enfin, l'algorithme de %construction



%d�finir le mode op�ratoire d'ex�cution

%lors de son ex�cution, une application exprime ses besoins d'ordonnancement en utilisant le mod�le s�mantique d�fini par Regehr. , le syst�me recherche dans la hi�rarchie s'il existe un service d'ordonnancement compatible. Dans le cas contraire, le syst�me charge le composant d'ordonnancement sp�cifiques � l'application.

% temps le syst�me tente de r�pondre aux besoins de l'application.
%Pour ce faire, nous �tendons l'algorithme de composition de hi�rarchie d'ordonnanceur en rempla�ant la condition d'arr�t par une tentative de r�allocation de la ressource processeur entre tous les ordonnanceurs pr�sents.




DECOR04.bbl
\begin{thebibliography}{}

\bibitem[BAR~02]{RTS02}
\textsc{Barreto L.~P.}\andname{}\textsc{Muller G.}, \guilo{}Bossa: a
  Language-based Approach to the Design of Real-time Schedulers\guilf{},
\newblock \Inname{} \textit{Proceedings of the 10th International Conference on
  Real-Time Systems (RTS'2002)}, Paris, France, March 2002,  \pagesname{}
  19-31.

\bibitem[BER~95]{SPIN}
\textsc{Bershad B.~N.}, \textsc{Savage S.}, \textsc{Pardyak P.}, \textsc{Sirer
  E.~G.}, \textsc{Fiuczynski M.~E.}, \textsc{becker D.}, \textsc{Chambers
  C.}\andname{}\textsc{Eggers S.}, \guilo{}Extensibility, Safety and
  Performance in the SPIN Operating System\guilf{},
\newblock \Inname{} \textit{Proceedings of the 15th ACM Symposium on Operating
  Systems Principles}, Copper Mountain Resort, CO, USA, december 1995,
  \pagesname{} 267-283.

\bibitem[DEM~02]{HDR}
\textsc{Demeure I.}, \guilo{}Une contribution � la conception et � la mise en
  oeuvre d'application sous contraintes de QoS temporelle, r�parties,
  adaptables\guilf{},
\newblock \Inname{} \textit{Habilitation � Diriger des Recherches}, Lille,
  France, december 2002.

\bibitem[FOR~97]{FLUX}
\textsc{Ford B.}, \textsc{Back G.}, \textsc{Benson G.}, \textsc{Lepreau J.},
  \textsc{Lin A.}\andname{}\textsc{Shivers O.}, \guilo{}The Flux {OSKit}: A
  Substrate for Kernel and Language Research\guilf{},
\newblock \Inname{} \textit{Symposium on Operating Systems Principles}, 1997,
  \pagesname{} 38-51.

\bibitem[JEF~00]{KG00}
\textsc{Jeffay K.}\andname{}\textsc{Lamastra G.}, \guilo{}A Comparative Study
  of the Realization of Rate-Based Computing Services in General Operating
  Systems\guilf{},
\newblock \Inname{} \textit{Proceedings of the seventh IEEE International
  Conference on Real-Time Computing Systems and Application}, December 2000,
  \pagesname{} 81-90.

\bibitem[LAW~04a]{PEPM}
\textsc{Lawall J.~L.}, \textsc{Muller G.}\andname{}\textsc{Duchesne H.},
  \guilo{}Language Design for Implementing Process Scheduling
  Hierarchies\guilf{},
\newblock \Inname{} \textit{ACM SIGPLAN 2004 Symposium on Partial Evaluation
  and Program Manipulation - PEPM'04}, Verone, Italie, August 2004,
  \pagesname{} 24-25.

\bibitem[LAW~04b]{GPCE04}
\textsc{Lawall J.}, \textsc{Le~Meur A.-F.}\andname{}\textsc{Muller G.},
  \guilo{}On Designing a Target-Independent DSL for Safe OS Process-Scheduling
  Components\guilf{},
\newblock \Inname{} \textit{To appear in the Proceedings of the Third
  International Conference on Generative Programming and Component Engineering
  (GPCE'04)}, Vancouver, Canada, October 2004.

\bibitem[REG~01]{Regehr01}
\textsc{Regehr J.}\andname{}\textsc{Stankovic J.~A.}, \guilo{}A {Framework} for
  {Composing} {Soft} {Real}-{Time} {Schedulers}\guilf{},
\newblock \Inname{} \textit{Proceedings of the 22nd IEEE Real-Time Systems
  Symposium (RTSS 2001)}, December 2001,  \pagesname{} 3-14.

\end{thebibliography}
