Spelling suggestions: "subject:"ordonnancement een ligne"" "subject:"ordonnancement enn ligne""
1 |
Design and Evaluation of Algorithms for Online Machine Scheduling ProblemsLiu, Ming 24 September 2009 (has links) (PDF)
Dans cette thèse, nous proposons et évaluons des algorithmes pour résoudre des problèmes d'ordonnancement en ligne. Pendant des décennies, les études en ordonnancement considèrent des modèles déterministes où toutes les informations nécessaires pour la définition du problème sont supposées connues à l'avance. Cette hypothèse n'est généralement pas réaliste. Ceci a motivé les études sur l'ordonnancement en ligne. Dans un problème d'ordonnancement en ligne, un algorithme doit prendre des décisions sans connaissance du futur. L'analyse compétitive est généralement la méthode utilisée pour évaluer les performances de tels algorithmes. Dans cette analyse, la performance d'un algorithme en ligne est mesurée par le ratio compétitif qui est le ratio dans le pire cas entre la performance de la solution obtenue et celle d'une solution optimale hors ligne. Nous considérons principalement deux paradigmes en ligne: celui où les tâches se présentent dans la liste et celui où les tâches arrivent au fur et à mesure. Sur la base de ces deux paradigmes, nous considérons différents modèles : une seule machine, deux machines identiques parallèles, deux machines uniformes parallèles, batch machines et open shop. Pour chacun des problèmes, nous démontrons une borne inférieure de ratios compétitifs et proposons des algorithmes en ligne. Ensuite, nous évaluons la performance de ces algorithmes à l'aide de l'analyse compétitive. Pour certains problèmes, nous montrons que les algorithmes proposés sont optimaux dans le sens où le ratio compétitif est égal à la borne inférieure.
|
2 |
Mise en oeuvre applicative de séquences d'ordonnancement hors-ligne / Implementation of periodic task sets for off-line schedulingBikienga, Moustapha 16 October 2014 (has links)
Nous nous intéressons à la mise en oeuvre effective d'applications temps réel dans une approche d'ordonnancementhors-ligne de systèmes de tâches périodiques. L'ordonnancement hors-ligne consiste à rechercher avantl'exécution de l'application une séquence pire cas, c'est-à-dire une suite de blocs indiquant une date de débutet de fin d'exécution d'une instance de tâche. Mettre en oeuvre une séquence suppose de spécifier ce qui doit sepasser quand les durées d'exécution réelles sont inférieures aux durées pire cas prévues par la séquence. Notrepremière contribution consiste en la proposition de deux politiques de mise en oeuvre : une politique inflexiblequi respecte strictement les dates de début des blocs ; et une politique flexible qui permet de les avancer. Nousprouvons que ces politiques préservent la validité des séquences. Nous proposons ensuite un modèle de coûtspour l'évaluation et la comparaison de techniques respectant les politiques proposées. La seconde contributionconcerne la proposition de techniques de mise en oeuvre. Dans un premier temps, nous proposons sept techniquesde mise en oeuvre dans un contexte de tâches indépendantes et séquences sans préemption. Nous étendonsensuite l'utilisation de ces techniques aux séquences avec préemption, et aux tâches partageant des ressourcescritiques ou soumises à des contraintes de précédence. La troisième contribution concerne la mise en oeuvresous Posix. Nous présentons des outils de génération de code issus de l'ingénierie dirigée par les modèles. Nousproposons également un outil d'observation de séquences effectives. Enfin, une étude de cas présente l'utilisationpratique de notre approche. / We address the implementation of periodic task sets for off-line scheduling. Off-line scheduling approach consistsin computing a worst-case schedule before runtime. Implementing a schedule requires to specify what must happenwhen the actual execution times of tasks are lower than the planned execution times. The first contributionconsist of the formalization of implementation policies. These policies consider the date by which a task maystart execution, which may or not occur before the planned start time. The inflexible policy does not allowa task to run before its planned start time, the flexible policy does. Since many implementations can complywith these two policies, we also propose a cost model which enables to perform some comparisons betweenthese implementations. The second contribution is the proposition and the presentation of a set of algorithmswhich implement the pre-computed schedules. We first deal with independent task sets in a non preemptivecontext. These algorithms are then adapted to be used in the context of preemptive scheduling, with sharedcritical ressources and precedence constraints. Using the model driven engeneering, we next provide a Posixcode generation tool. We also present a schedule observation tool. Finally, our work has been tested through apratical case study.
|
3 |
Design and Evaluation of Algorithms for Online Machine Scheduling Problems / Design and Evaluation of Algorithms for Online Machine Scheduling ProblemsLiu, Ming 24 September 2009 (has links)
Dans cette thèse, nous proposons et évaluons des algorithmes pour résoudre des problèmes d’ordonnancement en ligne. Pendant des décennies, les études en ordonnancement considèrent des modèles déterministes où toutes les informations nécessaires pour la définition du problème sont supposées connues à l’avance. Cette hypothèse n'est généralement pas réaliste. Ceci a motivé les études sur l’ordonnancement en ligne. Dans un problème d’ordonnancement en ligne, un algorithme doit prendre des décisions sans connaissance du futur. L’analyse compétitive est généralement la méthode utilisée pour évaluer les performances de tels algorithmes. Dans cette analyse, la performance d'un algorithme en ligne est mesurée par le ratio compétitif qui est le ratio dans le pire cas entre la performance de la solution obtenue et celle d’une solution optimale hors ligne. Nous considérons principalement deux paradigmes en ligne: celui où les tâches se présentent dans la liste et celui où les tâches arrivent au fur et à mesure. Sur la base de ces deux paradigmes, nous considérons différents modèles : une seule machine, deux machines identiques parallèles, deux machines uniformes parallèles, batch machines et open shop. Pour chacun des problèmes, nous démontrons une borne inférieure de ratios compétitifs et proposons des algorithmes en ligne. Ensuite, nous évaluons la performance de ces algorithmes à l’aide de l’analyse compétitive. Pour certains problèmes, nous montrons que les algorithmes proposés sont optimaux dans le sens où le ratio compétitif est égal à la borne inférieure. / This thesis proposes and evaluates some online algorithms for machine scheduling problems. Deterministic scheduling models have been extensively studied in the literature. One of the basic assumptions of these models is that all the information is known in advance. However, this assumption is usually not realistic. This observation promotes the emergence of online scheduling. In online scheduling problems, an online algorithm has to make decisions without future information. Competitive analysis is a method invented for analyzing online algorithms, in which the performance of an online algorithm (which must satisfy an unpredictable sequence of requests, completing each request without being able to see the future) is compared with the performance of an a posteriori optimal solution where the sequence of requests is known. In the framework of competitive analysis, the performance of an online algorithm is measured by its competitive ratio. We mainly deal with two online paradigms: the one where jobs arrive over list and the one where jobs arrive over time. Based on these two paradigms, we consider different models: single machine, two identical parallel machines, two uniform parallel machines, batch processing machine and open shop. For each of the problems, we prove a lower bound of competitive ratios and propose online algorithms. Then we further measure the worst case performance of these algorithms. For some problems, we can show that the algorithms we proposed are optimal in the sense that their competitive ratios match the lower bounds.
|
4 |
Ordonnancement temps réel préemptif multiprocesseur avec prise en compte du coût du système d'exploitationNdoye, Falou 03 April 2014 (has links) (PDF)
Dans cette thèse nous étudions le problème d'ordonnancement temps réel multiprocesseur préemptif avec prise en compte du coût exact du système d'exploitation. Ce coût est formé de deux parties : une partie facile à déterminer, correspondant au coût de l'ordonnanceur et une partie difficile à déterminer, correspondant au coût de la préemption. Cette difficulté est due au fait qu'une préemption peut en engendrer une autre, pouvant ainsi créer un phénomène d'avalanche. Dans un premier temps, nous avons étudié l'ordonnancement hors ligne multiprocesseur de tâches indépendantes avec prise en compte du coût exact de la préemption et proposé une analyse d'ordonnançabilité fondée sur une heuristique d'ordonnancement multiprocesseur. Cette heuristique utilise la stratégie d'ordonnancement multiprocesseur par partitionnement. Pour prendre en compte le coût exact de la préemption sur chaque processeur nous avons utilisé la condition d'ordonnançabilité proposée par Meumeu et Sorel. Cette condition d'ordonnançabilité pour des tâches à priorités fixes, est basée sur une opération binaire d'ordonnancement qui permet de compter le nombre exact de préemption et d'ajouter leur coût dans l'analyse d'ordonnançabilité des tâches. L'heuristique proposée permet de maximiser le facteur d'utilisation restant afin de répartir équitablement les tâches sur les processeurs et de réduire leur temps de réponse. Elle produit une table d'ordonnancement hors ligne. Dans un second temps, nous avons étudié l'ordonnancement hors ligne multiprocesseur de tâches dépendantes avec prise en compte du coût exact de la préemption. Puisque la condition d'ordonnançabilité utilisée pour ordonnancer les tâches indépendantes ne s'applique qu'à des tâches à priorités fixes, elle ne permet pas de gérer les inversions de priorités que peuvent entraîner les tâches dépendantes. Nous avons donc proposé une nouvelle condition d'ordonnançabilité pour des tâches à priorités dynamiques. Elle prend en compte le coût exact de la préemption et les dépendances sans aucune perte de données. Ensuite en utilisant toujours la stratégie d'ordonnancement par partitionnement, nous avons proposé pour des tâches dépendantes une heuristique d'ordonnancement multiprocesseur qui réutilise cette nouvelle condition d'ordonnançabilité au niveau de chaque processeur. Cette heuristique d'ordonnancement prend en compte les coûts de communication inter-processeurs. Elle permet aussi de minimiser sur chaque processeur le makespan (temps total d'exécution) des tâches. Cette heuristique produit pour chaque processeur une table d'ordonnancement hors ligne contenant les dates de début et de fin de chaque tâches et de chaque commmunication inter-processeur. En supposant que nous avons une architecture multiprocesseur de type dirigée par le temps (Time-Triggered) pour laquelle tous les processeurs ont une référence de temps unique, nous avons proposé pour chacun des processeurs un ordonnanceur en ligne qui utilise la table d'ordonnancement produite lors de l'ordonnancement hors ligne. Cet ordonnanceur en ligne a l'avantage d'avoir un coût constant qui de plus est facile à déterminer de manière exacte. En effet il correspond uniquement au temps de lecture dans la table d'ordonnancement pour obtenir la tâche sélectionnée lors de l'analyse d'ordonnançabilité hors ligne, alors que dans les ordonnanceurs classiques en ligne ce coût correspond à mettre à jour la liste des tâches qui sont dans l'état prêt à l'exécution puis à sélectionner une tâche selon un algorithme, par exemple RM, DM, EDF, etc. Il varie donc avec le nombre de tâches prêtes à s'exécuter qui change d'une invocation à l'autre de l'ordonnanceur. C'est ce coût qui est utilisé dans les analyses d'ordonnançabilités évoquées ci-dessus. Un autre avantage est qu'il n'est pas nécessaire de synchroniser l'accès aux mémoires de données partagées par plusieurs tâches, car cette synchronisation a été déjà effectuée lors de l'analyse d'ordonnançabilité hors ligne.
|
5 |
Ordonnancement temps réel préemptif multiprocesseur avec prise en compte du coût du système d’exploitation / Multiprocessor preemptive real-time scheduling taking into account the operating system costNdoye, Falou 03 April 2014 (has links)
Dans cette thèse nous étudions le problème d'ordonnancement temps réel multiprocesseur préemptif avec prise en compte du coût exact du système d'exploitation. Ce coût est formé de deux parties : une partie facile à déterminer, correspondant au coût de l'ordonnanceur et une partie difficile à déterminer, correspondant au coût de la préemption. Cette difficulté est due au fait qu'une préemption peut en engendrer une autre, pouvant ainsi créer un phénomène d'avalanche. Dans un premier temps, nous avons étudié l'ordonnancement hors ligne multiprocesseur de tâches indépendantes avec prise en compte du coût exact de la préemption et proposé une analyse d'ordonnançabilité fondée sur une heuristique d'ordonnancement multiprocesseur. Cette heuristique utilise la stratégie d'ordonnancement multiprocesseur par partitionnement. Pour prendre en compte le coût exact de la préemption sur chaque processeur nous avons utilisé la condition d'ordonnançabilité proposée par Meumeu et Sorel. Cette condition d'ordonnançabilité pour des tâches à priorités fixes, est basée sur une opération binaire d'ordonnancement qui permet de compter le nombre exact de préemption et d'ajouter leur coût dans l'analyse d'ordonnançabilité des tâches. L'heuristique proposée permet de maximiser le facteur d'utilisation restant afin de répartir équitablement les tâches sur les processeurs et de réduire leur temps de réponse. Elle produit une table d'ordonnancement hors ligne. Dans un second temps, nous avons étudié l'ordonnancement hors ligne multiprocesseur de tâches dépendantes avec prise en compte du coût exact de la préemption. Puisque la condition d'ordonnançabilité utilisée pour ordonnancer les tâches indépendantes ne s'applique qu'à des tâches à priorités fixes, elle ne permet pas de gérer les inversions de priorités que peuvent entraîner les tâches dépendantes. Nous avons donc proposé une nouvelle condition d'ordonnançabilité pour des tâches à priorités dynamiques. Elle prend en compte le coût exact de la préemption et les dépendances sans aucune perte de données. Ensuite en utilisant toujours la stratégie d'ordonnancement par partitionnement, nous avons proposé pour des tâches dépendantes une heuristique d'ordonnancement multiprocesseur qui réutilise cette nouvelle condition d'ordonnançabilité au niveau de chaque processeur. Cette heuristique d'ordonnancement prend en compte les coûts de communication inter-processeurs. Elle permet aussi de minimiser sur chaque processeur le makespan (temps total d'exécution) des tâches. Cette heuristique produit pour chaque processeur une table d'ordonnancement hors ligne contenant les dates de début et de fin de chaque tâches et de chaque commmunication inter-processeur. En supposant que nous avons une architecture multiprocesseur de type dirigée par le temps (Time-Triggered) pour laquelle tous les processeurs ont une référence de temps unique, nous avons proposé pour chacun des processeurs un ordonnanceur en ligne qui utilise la table d'ordonnancement produite lors de l'ordonnancement hors ligne. Cet ordonnanceur en ligne a l'avantage d'avoir un coût constant qui de plus est facile à déterminer de manière exacte. En effet il correspond uniquement au temps de lecture dans la table d'ordonnancement pour obtenir la tâche sélectionnée lors de l'analyse d'ordonnançabilité hors ligne, alors que dans les ordonnanceurs classiques en ligne ce coût correspond à mettre à jour la liste des tâches qui sont dans l'état prêt à l'exécution puis à sélectionner une tâche selon un algorithme, par exemple RM, DM, EDF, etc. Il varie donc avec le nombre de tâches prêtes à s'exécuter qui change d'une invocation à l'autre de l'ordonnanceur. C'est ce coût qui est utilisé dans les analyses d'ordonnançabilités évoquées ci-dessus. Un autre avantage est qu'il n'est pas nécessaire de synchroniser l'accès aux mémoires de données partagées par plusieurs tâches, car cette synchronisation a été déjà effectuée lors de l'analyse d'ordonnançabilité hors ligne. / In this thesis we studied the problem of multiprocessor preemptive real-time scheduling taking into account the exact cost of the operating system (OS). This cost is composed of two parts: a part easy to determine, corresponding to the scheduler cost and another part difficult to determine, corresponding to the preemption cost. This difficulty is due to the fact that a preemption can involve another one, being able to so create an avalanche phenomenon. First, we studied the off-line multiprocessor real-time scheduling of independent tasks taking into account the exact preemption cost. We proposed a schedulability analysis based on a multiprocessor scheduling heuristic. This heuristic uses the partitioned multiprocessor scheduling approach. In order to take into account the exact preemption cost on every processor we use the schedulability condition proposed by Meumeu and Sorel. This schedulability condition for fixed priorities tasks, is based on a binary scheduling operation which counts the exact number of preemptions and add their cost in the schedulability analysis. The proposed heuristic maximizes the remaining utilization factor to fairly distribute the tasks on processors and to reduce their response time. It produces an off-line scheduling table. Secondly, we studied the off-line multiprocessor real-time scheduling of dependent tasks taking into account the exact preemption cost. Because the schedulability condition used for scheduling independent tasks can be applied only to fixed priorities tasks, it does not allow to manage priorities inversions that are involved by dependent tasks. We proposed a new schedulability condition for dependent tasks which enables fixed and dynamic priorities. This schedulability condition takes into account the exact preemption cost and dependences between tasks without any loss of data. Always with the partitioned scheduling approach, we proposed for dependent tasks a multiprocessor scheduling heuristic which reuses, on every processor, the schedulability condition proposed previously. In addition, this scheduling heuristic takes into account the interprocessors communication costs. It also minimizes on every processor the makespan (total execution time of the tasks on all the processors). This heuristic produces for every processor an off-line scheduling table. Supposing that we have a time-triggered multiprocessor architecture such that all the processors have a unique time reference, we proposed for every processor an on-line scheduler which uses the scheduling table produced during the off-line schedulability analysis. This on-line scheduler has the advantage to have a constant cost that is easy to determine exactly.Indeed, this cost corresponds only to the time necessary to read in the scheduling table the task selected for execution. In the on-line classical scheduler, this cost corresponds to the time necessary to update the list of ready tasks in order to select a task, according to a given scheduling algorithm, for example RM, DM, EDF, etc. In this case, the cost for selecting a task varies with the number of ready tasks which changes from an invocation of the scheduler to another one. Another advantage of the proposed on-line scheduler is that it is not necessary to synchronize the access to the data shared by several tasks, because this synchronization was already done during the off-line schedulability analysis.
|
6 |
Partitionnement en ligne d'applications flots de données pour des architectures temps réel auto-adaptativesGhaffari, Fakhreddine 30 November 2006 (has links) (PDF)
Les défis actuels du développement des systèmes embarqués<br />complexes tels que les systèmes intégrés de traitement d'image,<br />consistent à réaliser avec succès des produits fiables,<br />performants, efficaces quelles que soient les conditions d'utilisation et peu<br />coûteux. Relever ces défis passe par un bon choix d'architecture, de méthodes<br />et outils adaptés aux applications visées et aux technologies cibles. Pour de<br />nombreuses applications, en particulier en télécommunication et multimédia,<br />des réalisations temps réel souple sont souvent suffisantes, c'est-à-dire des<br />implémentations visant à obtenir une qualité de service adaptée aux besoins.<br />Au lieu de s'appuyer sur des temps d'exécutions pire cas ou des séquences de<br />test souvent peu représentatives pour concevoir ces systèmes, notre approche<br />vise une plate-forme auto-adaptative capable de s'auto-configurer au cours de<br />l'exécution de l'application (donc en ligne). On peut citer comme exemples<br />d'applications le cas d'une caméra fixe de télésurveillance qui adapte ses<br />traitements en fonction de la nature des images acquises ou un terminal mobile<br />multimodal qui change de norme de transmission si la qualité du canal de<br />communication l'exige.<br />Les composants reconfigurables ont des niveaux de performances et une<br />flexibilité qui les rendent très attractifs dans un nombre croissant de<br />développements. La reconfiguration dynamique (partielle ou complète) offre la<br />possibilité de réutiliser les mêmes ressources matérielles pour une succession<br />de traitements, et ce de façon analogue à une réalisation logicielle. Nous<br />proposons une approche permettant d'allouer et d'ordonnancer dynamiquement<br />les tâches d'une application flot de données en fonction d'une estimation de<br />leurs temps d'exécution afin de respecter au mieux les contraintes de temps.<br />Cette reconfiguration en ligne nécessite des recherches de compromis<br />complexité/efficacité de l'allocation et de l'ordonnancement afin d'optimiser la<br />qualité de service et de réduire leurs coûts de réalisation.
|
7 |
Réconcilier performance et prédictibilité sur un many-coeur en utilisant des techniques d'ordonnancement hors-ligne / Reconciling performance and predictability on a noc-based mpsoc using off-line scheduling techniquesFakhfakh, Manel 27 June 2014 (has links)
Les réseaux-sur-puces (NoCs) utilisés dans les architectures multiprocesseurs-sur-puces posent des défis importants aux approches d'ordonnancement temps réel en ligne (dynamique) et hors-ligne (statique). Un NoC contient un grand nombre de points de contention potentiels, a une capacité de bufferisation limitée et le contrôle réseau fonctionne à l'échelle de petits paquets de données. Par conséquent, l'allocation efficace de ressources nécessite l'utilisation des algorithmes da faible complexité sur des modèles de matériel avec un niveau de détail sans précédent dans l'ordonnancement temps réel. Nous considérons dans cette thèse une approche d'ordonnancement statique sur des architectures massivement parallèles (Massively parallel processor arrays ou MPPAs) caractérisées par un grand nombre (quelques centaines) de c¿urs de calculs. Nous identifions les mécanismes matériels facilitant l'analyse temporelle et l'allocation efficace de ressources dans les MPPAs existants. Nous déterminons que le NoC devrait permettre l'ordonnancement hors-ligne de communications, d'une manière synchronisée avec l'ordonnancement de calculs sur les processeurs. Au niveau logiciel, nous proposons une nouvelle méthode d'allocation et d'ordonnancement capable de synthétiser des ordonnancements globaux de calculs et de communications couvrants toutes les ressources d'exécution, de communication et de la mémoire d'un MPPA. Afin de permettre une utilisation efficace de ressources du matériel, notre méthode prend en compte les spécificités architecturales d'un MPPA et implémente des techniques d'ordonnancement avancées comme la préemption pré-calculée de transmissions de données. Nous avons évalué n / On-chip networks (NoCs) used in multiprocessor systems-on-chips (MPSoCs) pose significant challenges to both on-line (dynamic) and off-line (static) real-time scheduling approaches. They have large numbers of potential contention points, have limited internal buffering capabilities, and network control operates at the scale of small data packets. Therefore, efficient resource allocation requires scalable algorithms working on hardware models with a level of detail that is unprecedented in real-time scheduling. We consider in this thesis a static scheduling approach, and we target massively parallel processor arrays (MPPAs), which are MPSoCs with large numbers (hundreds) of processing cores. We first identify and compare the hardware mechanisms supporting precise timing analysis and efficient resource allocation in existing MPPA platforms. We determine that the NoC should ideally provide the means of enforcing a global communications schedule that is computed off-line (before execution) and which is synchronized with the scheduling of computations on processors. On the software side, we propose a novel allocation and scheduling method capable of synthesizing such global computation and communication schedules covering all the execution, communication, and memory resources in an MPPA. To allow an efficient use of the hardware resources, our method takes into account the specificities of MPPA hardware and implements advanced scheduling techniques such as pre-computed preemption of data transmissions. We evaluate our technique by mapping two signal processing applications, for which we obtain good latency, throughput, and resource use figures.
|
Page generated in 0.11 seconds