1 |
Ordonnancement de tâches sous contraintes sur des métiers à tisserMercier-Aubin, Alexandre 10 February 2024 (has links)
Dans une usine de production de textile, il y a des métiers à tisser. Ces métiers à tisser peuvent être configurés de différentes façons. Des tâches doivent être exécutées sur ces métiers à tisser et le temps d’exécution d’une tâche est fonction du métier sur lequel elle est effectuée. De plus, chaque tâche est seulement compatible avec les métiers à tisser étant configurés de certaines façons. Un temps de mise en course peut permettre de configurer ou préparer un métier à tisser pour l’exécution d’une tâche. Le temps de mise en course est dépendant de la tâche qui précède et de celle qui suit. Nous souhaitons alors créer un horaire pour minimiser les temps de fabrication et les retards. Toutefois, certaines contraintes doivent être respectées. Lorsque des préparations surviennent sur des métiers différents en même temps, le nombre d’employés doit être suffisant. Un métier ne peut faire qu’une seule action à la fois. L’ordonnancement d’une seule machine est un problème NP-Difficile. Dans ce projet, il faut ordonnancer environ 800 tâches sur 90 machines dans un horizon de deux semaines, tout en respectant les contraintes de personnel. Des évènements stochastiques doivent être pris en compte pour obtenir un meilleur horaire. Le bris d’un fil n’étant pas un évènement rare, l’occurrence des bris est donnée sous la forme d’une loi de Poisson. Nous proposons alors une approche de résolution utilisant une heuristique de branchement basée sur le problème du commis voyageur. Cette approche permet d’obtenir de bonnes solutions pour le problème d’ordonnancement exploré. Les solutions trouvées sont 5 à 30% meilleures en termes de fonction objectif qu’une heuristique semblable à celle utilisée par l’équipe de planification de notre partenaire industriel. Nous présentons aussi un algorithme pour garantir la robustesse d’un horaire. Notre algorithme permet de générer des horaires plus réalistes et qui résistent bien aux évènements imprévus. La combinaison de ces deux pratiques mène à l’intégration et l’utilisation du produit final par notre partenaire industriel. / In a textile factory, there are looms. Workers can configure the looms to weave different pieces of textiles. A loom can only weave a piece of textiles if the piece of textiles is compatible with its loom configuration. To change its configuration, a loom requires a setup. The setups are performed manually by workers. There are also sequence-dependent setups to prepare a loom for the upcoming piece of textiles. We wish to minimize the setups duration and the lateness. A solution must satisfy some constraints. The problem is subject to cumulative resources. The quantity of workers simultaneously configuring machines can’t exceed the total number of employees. A loom can only weave a piece of textiles at a time. Scheduling tasks on a single loom is an NP-Hard problem. In this project, we must schedule tasks an average of 800 tasks on 90 looms with a two-week horizon. Stochastic events might occur and must be accounted for. We must design an algorithm to create robust schedules under uncertainty. As a thread breaking during the weaving process isn’t a rare occurrence, a better schedule could greatly impact the performances of a company when applying the schedule to a real situation. We formulate that the number of breaks per task follows a Poisson distribution. First, we propose a branching heuristic based on the traveling salesperson problem in order to leverage computation times. The solutions found are 5 to 30% better according to their objective function than the ones of a greedy heuristic similar to what our industrial partner uses. We also present a filtering algorithm to guarantee robustness of solutions in respect to a confidence level. This algorithm improves robustness and creates more realist schedules. The algorithm is also efficient in computation time by achieving bound consistency in linear time. Combining both these techniques leads to the integration of our research in the decision system of our industrial partner.
|
2 |
Resources allocation in high mobility scenarios of LTE networks / Allocation de ressources radio dans les réseaux LTE à forte mobilitéAvocanh, Jean-Thierry Stephen 16 October 2015 (has links)
Cette étude porte sur l’allocation de ressources radio dans les réseaux LTE à forte mobilité. En particulier, il s’agit de concevoir des stratégies d’allocation de ressources capables d’améliorer la qualité de service des flux multimédia dans un contexte de forte mobilité des terminaux. Pour atteindre ces objectifs, l’étude a été menée en deux étapes. Dans un premier temps les travaux se sont déroulés dans un contexte où l’aspect forte mobilité n’a pas été pris en compte. Cela a permis de bien maitriser tous les aspects liés à l’allocation de ressources dans le LTE tout en proposant de nouvelles méthodes meilleures que celles existantes. Une fois cette tâche accomplie, l’aspect forte mobilité a été ajouté au problème et des stratégies adaptées à ce contexte ont été proposées. Néanmoins, dû aux différences entre les liens montants et descendants, l’étude a été menée dans les deux directions. Comme première contribution, nous avons conçu deux stratégies pour améliorer l’allocation de ressources sur la liaison descendante dans un contexte où la forte mobilité n’a pas été prise en compte. La première méthode est un mécanisme qui améliore cette allocation en particulier dans les scénarios d’overbooking en faisant un compromis entre l’équité, le débit global du système et les exigences de qualité de service des applications. La seconde stratégie permet non seulement de satisfaire aux contraintes de délais mais également de garantir un très faible taux de perte de paquets aux services de type multimédias. Les performances des systèmes proposés ont été évaluées par des simulations en les comparant à d’autres mécanismes dans la littérature. Les analyses ont démontré leur efficacité et révélé qu’elles obtenaient les meilleures performances. Notre deuxième contribution a permis d’améliorer l’allocation de ressources toujours dans un contexte de non prise en compte de la forte mobilité, mais cette fois ci sur le lien montant et pour des flux de type vidéo téléphonie. Nous avons conçu un nouveau protocole qui réduit de façon considérable les retards causés par l’allocation dynamique des ressources. L’idée consiste à allouer des ressources à ces trafics en utilisant une stratégie semi-persistante associée à un processus de pré-allocation. Les performances de notre méthode ont été évaluées par simulations et les résultats ont montré qu’elle fournissait le meilleur support en qualité de service. La dernière partie de nos travaux s’est intéressée au problème d’allocation de ressources dans les scénarios de fortes mobilités des terminaux. Dans cette partie, nous avons élaboré deux stratégies efficaces convenant aux scénarios véhiculaires. La première méthode est une technique permettant de maintenir le niveau de qualité de service nécessaire pour le bon fonctionnement des applications vidéo des utilisateurs ayant les vitesses les plus élevées. Elle consiste à déterminer en fonction des différentes vitesses des utilisateurs, le taux minimum de rapports CQI à envoyer à la station de base. Quant à la seconde stratégie, c’est un procédé d’ordonnancement opportuniste qui améliore la qualité de service des applications vidéo des utilisateurs ayant les vitesses les plus élevées. Avec cette stratégie, ces utilisateurs obtiennent une plus grande priorité et acquièrent ainsi beaucoup plus de ressources. / Abstract Our thesis focuses on issues related to resources allocation in LTE Networks. In particular the purpose of this study is to design efficient scheduling algorithms to improve the QoS of real time flows in a context of high mobility of the users. To reach this goal, the study has been carried out in two steps. At first, in order to have an expert knowledge of the key facets of LTE scheduling, we conducted the study in a context where the high mobility aspect of the node was not taken into account. This helped not only to critically analyze the literature but also to propose new schemes to improve QoS of real time applications. After that, the high mobility parameter has been added and innovative methods dealing with this context have been designed. Nevertheless due to the existing differences between the downlink and the uplink, the issue was tackled in each of the aforementioned directions. We firstly addressed the problem of improving the scheduling of downlink communications in a context where the high mobility was not taken into account. Two major methods have been designed for this purpose. The first one is an innovative scheme which improves resources assignment in overbooking scenarios by doing a trade-off between fairness, overall system through put and QoS requirements. The second one is an enhanced scheduling scheme which provides strict delay bounds and guarantees very low packet loss rate to multimedia flows. The performance of the proposed schemes have been evaluated by simulations and compared to other schemes in the literature. The analyses demonstrated their effectiveness and showed that they outperformed the existing ones. The second contribution concerned the problem of improving the scheduling of uplink communications in a context where the high mobility was not taken into account. We designed a novel scheduling protocol which improves resources allocation for videotelephony flows and reduces the delay caused by dynamic scheduling. It consists in scheduling such traffics using a semi-persistent strategy associated with a provisioning process. The performance of our proposed method have been evaluated by simulations and results demonstrated its effectiveness by showing that it improved videotelephony flows performance and provided the best QoS support compared to the dynamic scheduling.The last contribution addressed the problem of resources allocation in high mobility scenarios. In this part, the high mobility aspect was taken into account for designing suitable schemes for vehicular scenarios. We proposed in this way two efficient strategies. The first one is a technique which maintains the required level of QoS for supporting video users at high velocities. It consists in identifying depending on the UEs velocity, the minimum CQI reports rate in order to maintain the required QoS. The second proposed strategy is an opportunistic method which improves the performance of high speed video users. With this strategy, more priority are given to the UEs having the highest velocity. Simulations results demonstrated its effectiveness and showed that it improved the QoS support of video users having the highest velocity.
|
3 |
Le filtrage des bornes pour les contraintes cumulative et multi-inter-distanceOuellet, Pierre 20 April 2018 (has links)
Ce mémoire traite de la résolution de problèmes d’ordonnancement à l’aide de la programmation par contraintes. Il s’intéresse principalement aux contraintes globales et particulièrement à la contrainte cumulative. Il passe en revue les règles permettant de la filtrer et les principaux algorithmes qui les appliquent. Il explique le Edge-Finder de Vilím et son arbre cumulatif. Il propose un algorithme plus performant et plus général pour appliquer les règles découlant du raisonnement énergétique. Le mémoire traite du cas particulier où toutes les tâches sont de durée identique. Pour modéliser efficacement ce type de problèmes, on y conçoit la contrainte multi-inter-distance. L’algorithme d’ordonnancement de López-Ortiz et Quimper est adapté pour réaliser un algorithme qui applique la cohérence de bornes. La contrainte multi-inter-distance s’avère efficace à résoudre le problème de séquençage des atterrissages d’avions du banc d’essai d’Artiouchine et Baptiste. / This thesis discusses how to solve scheduling problems using constraint programming. We study global constraints and particularly the Cumulative constraint. We survey its main filtering rules and their state-of-the-art filtering algorithms. We explain the Vilím’s Edge-Finder and its cumulative tree.We introduce a more efficient and more general algorithm that enforces the filtering rules from the energetic reasoning. We study the special case where all tasks have identical processing times. To efficiently model such problems, we introduce the Multi-Inter-Distance constraint. The scheduling algorithm by López-Ortiz and Quimper is adapted to produce a filtering algorithm enforcing bounds consistency. The constraint Multi-Inter-Distance is proved efficient to solve the runway scheduling problem on the benchmark by Artiouchine and Baptiste.
|
4 |
Intégration d'une fonction de coût à la contrainte Disjunctive utilisée en ordonnancementMartel, Vincent 22 October 2019 (has links)
La programmation par contraintes est une technique accélérant la recherche de solutions pour des problèmes d’optimisation combinatoire. Ce mémoire porte sur l’application de cette technique en ordonnancement. Le but est d’intégrer une fonction de coût convexe à la contrainte Disjunctive qui régit l’ordre d’exécution d’un ensemble de tâches ne pouvant pas se chevaucher dans le temps. Dans ce contexte, le coût est perçu comme un retard déterminé par une échéance préférable indiquée pour chaque tâche. La contribution se traduit en l’introduction de la contrainte DisjunctiveTardiness qui tisse de nouveaux liens entre l’ordre d’exécution des tâches et la somme des retards engendrés. La cohérence de la contrainte est assurée par un algorithme de filtrage. L’algorithme raisonne à partir de la construction d’un réseau de flot pondéré basé sur la fenêtre d’exécution des tâches et leur échéance préférable. Il est implémenté dans un solveur et comparé à une alternative compétitive. Tel qu’observé, le nouvel algorithme amène un filtrage tangible, mais sa complexité trop élevée empêche d’aboutir à un nouvel état de l’art en pratique. En revanche, plusieurs pistes de solution pour réduire le temps d’exécution sont proposées. / Constraint programming is a technology originating from artificial intelligence that explores a search space to solve combinatorial problems. It uses filtering algorithms to filter the search space and speedup the search of a solution. This master thesis covers an application of this method in scheduling. The goal is to integrate a convex cost function to the Disjunctive constraint that governs the execution order of tasks unable to overlap each other on a time line. In this context, the cost is treated as a delay (tardiness) computed from a due date specified for each task. The contribution translates in a new constraint named DisjunctiveTardiness that brings a stronger relation between the order in a schedule and the sum of tardinesses. Consistency of the constraint is achieved by a filtering algorithm. The algorithm builds a weighted network flow from the allowed time window of the tasks and their due date. The solution is implemented in a solver. The experimental results show that the new algorithm applies stronger filtering, but its time complexity is too high to recommend it in practice. To conclude, several potential upgrades are proposed to reduce the execution time.
|
5 |
Efficient algorithms to solve scheduling problems with a variety of optimization criteriaFahimi, Hamed 24 April 2018 (has links)
La programmation par contraintes est une technique puissante pour résoudre, entre autres, des problèmes d'ordonnancement de grande envergure. L'ordonnancement vise à allouer dans le temps des tâches à des ressources. Lors de son exécution, une tâche consomme une ressource à un taux constant. Généralement, on cherche à optimiser une fonction objectif telle la durée totale d'un ordonnancement. Résoudre un problème d'ordonnancement signifie trouver quand chaque tâche doit débuter et quelle ressource doit l'exécuter. La plupart des problèmes d'ordonnancement sont NP-Difficiles. Conséquemment, il n'existe aucun algorithme connu capable de les résoudre en temps polynomial. Cependant, il existe des spécialisations aux problèmes d'ordonnancement qui ne sont pas NP-Complet. Ces problèmes peuvent être résolus en temps polynomial en utilisant des algorithmes qui leur sont propres. Notre objectif est d'explorer ces algorithmes d'ordonnancement dans plusieurs contextes variés. Les techniques de filtrage ont beaucoup évolué dans les dernières années en ordonnancement basé sur les contraintes. La proéminence des algorithmes de filtrage repose sur leur habilité à réduire l'arbre de recherche en excluant les valeurs des domaines qui ne participent pas à des solutions au problème. Nous proposons des améliorations et présentons des algorithmes de filtrage plus efficaces pour résoudre des problèmes classiques d'ordonnancement. De plus, nous présentons des adaptations de techniques de filtrage pour le cas où les tâches peuvent être retardées. Nous considérons aussi différentes propriétés de problèmes industriels et résolvons plus efficacement des problèmes où le critère d'optimisation n'est pas nécessairement le moment où la dernière tâche se termine. Par exemple, nous présentons des algorithmes à temps polynomial pour le cas où la quantité de ressources fluctue dans le temps, ou quand le coût d'exécuter une tâche au temps t dépend de t. / Constraint programming is a powerful methodology to solve large scale and practical scheduling problems. Resource-constrained scheduling deals with temporal allocation of a variety of tasks to a set of resources, where the tasks consume a certain amount of resource during their execution. Ordinarily, a desired objective function such as the total length of a feasible schedule, called the makespan, is optimized in scheduling problems. Solving the scheduling problem is equivalent to finding out when each task starts and which resource executes it. In general, the scheduling problems are NP-Hard. Consequently, there exists no known algorithm that can solve the problem by executing a polynomial number of instructions. Nonetheless, there exist specializations for scheduling problems that are not NP-Complete. Such problems can be solved in polynomial time using dedicated algorithms. We tackle such algorithms for scheduling problems in a variety of contexts. Filtering techniques are being developed and improved over the past years in constraint-based scheduling. The prominency of filtering algorithms lies on their power to shrink the search tree by excluding values from the domains which do not yield a feasible solution. We propose improvements and present faster filtering algorithms for classical scheduling problems. Furthermore, we establish the adaptions of filtering techniques to the case that the tasks can be delayed. We also consider distinct properties of industrial scheduling problems and solve more efficiently the scheduling problems whose optimization criteria is not necessarily the makespan. For instance, we present polynomial time algorithms for the case that the amount of available resources fluctuates over time, or when the cost of executing a task at time t is dependent on t.
|
6 |
Minimisation des perturbations et parallélisation pour la planification et l'ordonnancementMoisan, Thierry 23 April 2018 (has links)
Nous étudions dans cette thèse deux approches réduisant le temps de traitement nécessaire pour résoudre des problèmes de planification et d'ordonnancement dans un contexte de programmation par contraintes. Nous avons expérimenté avec plusieurs milliers de processeurs afin de résoudre le problème de planification et d'ordonnancement des opérations de rabotage du bois d'oeuvre. Ces problèmes sont d'une grande importance pour les entreprises, car ils permettent de mieux gérer leur production et d'économiser des coûts reliés à leurs opérations. La première approche consiste à effectuer une parallélisation de l'algorithme de résolution du problème. Nous proposons une nouvelle technique de parallélisation (nommée PDS) des stratégies de recherche atteignant quatre buts : le respect de l'ordre de visite des noeuds de l'arbre de recherche tel que défini par l'algorithme séquentiel, l'équilibre de la charge de travail entre les processeurs, la robustesse aux défaillances matérielles et l'absence de communications entre les processeurs durant le traitement. Nous appliquons cette technique pour paralléliser la stratégie de recherche Limited Discrepancy-based Search (LDS) pour ainsi obtenir Parallel Limited Discrepancy-Based Search (PLDS). Par la suite, nous démontrons qu'il est possible de généraliser cette technique en l'appliquant à deux autres stratégies de recherche : Depth-Bounded discrepancy Search (DDS) et Depth-First Search (DFS). Nous obtenons, respectivement, les stratégies Parallel Discrepancy-based Search (PDDS) et Parallel Depth-First Search (PDFS). Les algorithmes parallèles ainsi obtenus créent un partage intrinsèque de la charge de travail : la différence de charge de travail entre les processeurs est bornée lorsqu'une branche de l'arbre de recherche est coupée. En utilisant des jeux de données de partenaires industriels, nous avons pu améliorer les meilleures solutions connues. Avec la deuxième approche, nous avons élaboré une méthode pour minimiser les changements effectués à un plan de production existant lorsque de nouvelles informations, telles que des commandes additionnelles, sont prises en compte. Replanifier entièrement les activités de production peut mener à l'obtention d'un plan de production très différent qui mène à des coûts additionnels et des pertes de temps pour les entreprises. Nous étudions les perturbations causéees par la replanification à l'aide de trois métriques de distances entre deux plans de production : la distance de Hamming, la distance d'édition et la distance de Damerau-Levenshtein. Nous proposons trois modèles mathématiques permettant de minimiser ces perturbations en incluant chacune de ces métriques comme fonction objectif au moment de la replanification. Nous appliquons cette approche au problème de planification et ordonnancement des opérations de finition du bois d'oeuvre et nous démontrons que cette approche est plus rapide qu'une replanification à l'aide du modèle d'origine. / We study in this thesis two approaches that reduce the processing time needed to solve planning and ordering problems in a constraint programming context. We experiment with multiple thousands of processors on the planning and scheduling problem of wood-finish operations. These issues are of a great importance for businesses, because they can better manage their production and save costs related to their operations. The first approach consists in a parallelization of the problem solving algorithm. We propose a new parallelization technique (named PDS) of the search strategies, that reaches four goals: conservation of the nodes visit order in the search tree as defined by the sequential algorithm, balancing of the workload between the processors, robustness against hardware failures, and absence of communication between processors during the treatment. We apply this technique to parallelize the Limited Discrepancy-based (LDS) search strategy to obtain Parallel Limited Discrepancy-Based Search (PLDS). We then show that this technique can be generalized by parallelizing two other search strategies: Depth-Bounded discrepancy Search (DDS) and Depth-First Search (DFS). We obtain, respectively, Parallel Discrepancy-based Search (PDDS) and Parallel Depth-First Search (PDFS). The algorithms obtained this way create an intrinsic workload balance: the imbalance of the workload among the processors is bounded when a branch of the search tree is pruned. By using datasets coming from industrial partners, we are able to improve the best known solutions. With the second approach, we elaborated a method to minimize the changes done to an existing production plan when new information, such as additional orders, are taken into account. Completely re-planning the production activities can lead to a very different production plan which create additional costs and loss of time for businesses. We study the perturbations caused by the re-planification with three distance metrics: Hamming distance, Edit distance, and Damerau-Levenshtein Distance. We propose three mathematical models that allow to minimize these perturbations by including these metrics in the objective function when replanning. We apply this approach to the planning and scheduling problem of wood-finish operations and we demonstrate that this approach outperforms the use of the original model.
|
7 |
Efficacité énergétique dans le calcul très haute performance : application à la tolérance aux pannes et à la diffusion de donnéesDiouri, Mohammed El Mehdi 27 September 2013 (has links) (PDF)
Les infrastructures de calcul très haute performance ont connu une croissance rapide en particulier ces dernières années. Cette croissance a toujours été motivée par les besoins accrus en puissance de calcul qu'expriment les scientifiques dans divers domaines. Cependant, ces systèmes devenus de plus en plus larges constituent de gros consommateurs d'électricité et consomment déjà plusieurs mégawatts. Afin de consommer ''moins'' et ''mieux'', nous avons proposé un environnement logiciel qui d'une part, permet de choisir avant de pré-exécuter l'application, les versions de services applicatifs consommant le moins d'énergie, et qui d'autre part, repose sur une grille électrique intelligente pour planifier les réservations des ressources de calcul de ces infrastructures. Cet environnement, appelé SESAMES, a été adapté à deux services applicatifs indispensables au calcul très haute performance : la tolérance aux pannes et la diffusion de données. Des validations expérimentales ont montré que l'on peut réduire la consommation énergétique de chacun des deux services étudiés en s'appuyant sur les estimations énergétiques précises fournies par SESAMES pour n'importe quel contexte d'exécution et pour n'importe quelle plate-forme dotée de wattmètres. Notre méthodologie d'estimation repose sur une description du contexte d'exécution et sur une calibration de la plate-forme d'exécution basée sur la collecte de mesures énergétiques. Des simulations ont démontré que l'ordonnanceur multi-critères des réservations de ressources proposé dans SESAMES, permet de réduire à la fois la consommation énergétique, le coût financier et l'impact environnemental de ces réservations, tout en respectant les contraintes imposées par l'utilisateur et le fournisseur d'énergie.
|
8 |
Efficacité énergétique dans le calcul très haute performance : application à la tolérance aux pannes et à la diffusion de données / Energy efficiency in very high-performance computing : application to fault tolerance and data broadcastingDiouri, Mohammed El Mehdi 27 September 2013 (has links)
Les infrastructures de calcul très haute performance ont connu une croissance rapide en particulier ces dernières années. Cette croissance a toujours été motivée par les besoins accrus en puissance de calcul qu'expriment les scientifiques dans divers domaines. Cependant, ces systèmes devenus de plus en plus larges constituent de gros consommateurs d'électricité et consomment déjà plusieurs mégawatts. Afin de consommer ''moins'' et ''mieux'', nous avons proposé un environnement logiciel qui d'une part, permet de choisir avant de pré-exécuter l'application, les versions de services applicatifs consommant le moins d'énergie, et qui d'autre part, repose sur une grille électrique intelligente pour planifier les réservations des ressources de calcul de ces infrastructures. Cet environnement, appelé SESAMES, a été adapté à deux services applicatifs indispensables au calcul très haute performance : la tolérance aux pannes et la diffusion de données. Des validations expérimentales ont montré que l'on peut réduire la consommation énergétique de chacun des deux services étudiés en s'appuyant sur les estimations énergétiques précises fournies par SESAMES pour n'importe quel contexte d'exécution et pour n'importe quelle plate-forme dotée de wattmètres. Notre méthodologie d'estimation repose sur une description du contexte d'exécution et sur une calibration de la plate-forme d'exécution basée sur la collecte de mesures énergétiques. Des simulations ont démontré que l'ordonnanceur multi-critères des réservations de ressources proposé dans SESAMES, permet de réduire à la fois la consommation énergétique, le coût financier et l'impact environnemental de ces réservations, tout en respectant les contraintes imposées par l'utilisateur et le fournisseur d'énergie. / High performance computing (HPC) infrastructures have experienced a rapid growth, particularly these last years. This growth has been driven by the increased need in terms of computational power expressed by scientists in various fields. However, their increasing size makes them important electricity consumers since they already consume several megawatts. In order to consume "less" and better", we proposed a framework which permits to choose the less consuming versions of the services before pre-executing the application. In addition, our framework relies on a smart grid in order to schedule resource reservations on these computing infrastructures. This framework, called SESAMES, is adapted to two services required in high performance computing: fault tolerance and data broadcasting. Experimental validations have shown that we can reduce the energy consumption of both services by relying on accurate energy estimations provided by SESAMES for any execution context and for any platform equipped with wattmeters. Our estimation methodology is based on a description of the execution context and on a platform calibration that consists of gathering energy measurements. Simulations have shown that the multi-criteria reservation scheduler proposed in SESAMES, simultaneously reduces the energy consumption, the financial cost and the environmental impact of these reservations, while respecting the constraints imposed by the user and the energy supplier.
|
9 |
Real-time scheduling of dataflow graphs / Ordonnancement temps-réel des graphes flots de donnéesBouakaz, Adnan 27 November 2013 (has links)
Les systèmes temps-réel critiques sont de plus en plus complexes, et les exigences fonctionnelles et non-fonctionnelles ne cessent plus de croître. Le flot de conception de tels systèmes doit assurer, parmi d’autres propriétés, le déterminisme fonctionnel et la prévisibilité temporelle. Le déterminisme fonctionnel est inhérent aux modèles de calcul flot de données (ex. KPN, SDF, etc.) ; c’est pour cela qu’ils sont largement utilisés pour modéliser les systèmes embarqués de traitement de flux. Un effort considérable a été accompli pour résoudre le problème d’ordonnancement statique périodique et à mémoire de communication bornée des graphes flot de données. Cependant, les systèmes embarqués temps-réel optent de plus en plus pour l’utilisation de systèmes d’exploitation temps-réel et de stratégies d’ordonnancement dynamique pour gérer les tâches et les ressources critiques. Cette thèse aborde le problème d’ordonnancement temps-réel dynamique des graphes flot de données ; ce problème consiste à assigner chaque acteur dans un graphe à une tâche temps-réel périodique (i.e. calcul des périodes, des phases, etc.) de façon à : (1) assurer l’ordonnançabilité des tâches sur une architecture et pour une stratégie d’ordonnancement (ex. RM, EDF) données ; (2) exclure statiquement les exceptions d’overflow et d’underflow sur les buffers de communication ; et (3) optimiser les performances du système (ex. maximisation du débit, minimisation des tailles des buffers). / The ever-increasing functional and nonfunctional requirements in real-time safety-critical embedded systems call for new design flows that solve the specification, validation, and synthesis problems. Ensuring key properties, such as functional determinism and temporal predictability, has been the main objective of many embedded system design models. Dataflow models of computation (such as KPN, SDF, CSDF, etc.) are widely used to model stream-based embedded systems due to their inherent functional determinism. Since the introduction of the (C)SDF model, a considerable effort has been made to solve the static-periodic scheduling problem. Ensuring boundedness and liveness is the essence of the proposed algorithms in addition to optimizing some nonfunctional performance metrics (e.g. buffer minimization, throughput maximization, etc.). However, nowadays real-time embedded systems are so complex that real-time operating systems are used to manage hardware resources and host real-time tasks. Most of real-time operating systems rely on priority-driven scheduling algorithms (e.g. RM, EDF, etc.) instead of static schedules which are inflexible and difficult to maintain. This thesis addresses the real-time scheduling problem of dataflow graph specifications; i.e. transformation of the dataflow specification to a set of independent real-time tasks w.r.t. a given priority-driven scheduling policy such that the following properties are satisfied: (1) channels are bounded and overflow/underflow-free; (2) the task set is schedulable on a given uniprocessor (or multiprocessor) architecture. This problem requires the synthesis of scheduling parameters (e.g. periods, priorities, processor allocation, etc.) and channel capacities. Furthermore, the thesis considers two performance optimization problems: buffer minimization and throughput maximization.
|
10 |
Energy-aware real-time scheduling in embedded multiprocessor systems / Ordonnancement temps réel dans les systèmes embarqués multiprocesseurs contraints par l'énergieNélis, Vincent 18 October 2010 (has links)
Nowadays, computer systems are everywhere. From simple portable devices such as watches and MP3 players to large stationary installations that control nuclear power plants, computer systems are now present in all aspects of our modern and every-day life. In about only 70 years, they have completely perturbed our way of life and they reached a so high degree of sophistication that they will be soon capable of driving our cars and cleaning our houses without any human intervention. As computer systems gain in responsibilities, it becomes essential that they provide both safety and reliability. Indeed, a failure in systems such as the anti-lock braking system (ABS) in cars could threaten human lives and generate catastrophic and irreversible consequences. Hence, for many years, researchers have addressed these emerging problems of system safety and reliability which come along with this fulgurant evolution. <p><p>This thesis provides a general overview of embedded real-time computer systems, i.e. a particular kind of computer system whose number grows daily. We provide the reader with some preliminary knowledge and a good understanding of the concepts that underlie this emerging technology. We focus especially on the theoretical problems related to the real-time issue and briefly summarizes the main solutions, together with their advantages and drawbacks. This brings the reader through all the conceptual layers constituting a computer system, from the software level---the logical part---that specifies both the system behavior and requirements to the hardware level---the physical part---that actually performs the expected treatments and reacts to the environment. In the meanwhile, we introduce the theoretical models that allow researchers for theoretical analyses which ensure that all the system requirements are fulfilled. Finally, we address the energy consumption problem in embedded systems. We describe the various factors of power dissipation in modern technologies and we introduce different solutions to reduce this consumption./Cette thèse se focalise sur un type de systèmes informatiques bien précis appelés “systèmes embarqués temps réel”. Un système est dit “embarqué” lorsqu’il est développé afin de servir un but bien précis. Un téléphone portable est un parfait exemple de système embarqué étant donné que toutes ses fonctionnalités sont rigoureusement définies avant même sa conception. Au contraire, un ordinateur personnel n’est généralement pas considéré comme un système embarqué, les concepteurs ne sachant pas à l’avance à quelles fins il sera utilisé. Une grande partie de ces systèmes embarqués ont des contraintes temporelles très fortes, ce qui les distingue encore plus des ordinateurs grand public. A titre d’exemple, lorsqu’un conducteur de voiture freine brusquement, l’ordinateur de bord déclenche l’application ABS et il est primordial que cette application soit traitée endéans une courte échéance. Autrement dit, cette fonctionnalité ABS doit être traitée prioritairement par rapport aux autres fonctionnalités du véhicule. Ce type de système embarqué est alors dit “temps réel”, dû à ces notions de temps et de priorités entre les applications. La problèmatique posée par les systèmes temps réel est la suivante. Comment déterminer, à tout moment, un ordre d’exécution des différentes fonctionnalités de telle sorte qu’elles soient toutes exécutées entièrement endéans leur échéance ?De plus, avec l’apparition récente des systèmes multiprocesseurs, cette problématique s’est fortement complexifiée, vu que le système doit à présent déterminer quelle fonctionnalité s’exécute à quel moment sur quel processeur afin que toutes les contraintes temporelles soient respectées. Pour finir, ces systèmes embarqués temp réel multiprocesseurs se sont rapidement retrouvés confrontés à un problème de consommation d’énergie. Leur demande en terme de performance (et donc en terme d’énergie) à évolué beaucoup plus rapidement que la capacité des batteries qui les alimentent. Ce problème est actuellement rencontré par de nombreux systèmes, tels que les téléphones portables par exemple. L’objectif de cette thèse est de parcourir les différents composants de tels système embarqués et de proposer des solutions afin de réduire leur consommation d’énergie. / Doctorat en Sciences / info:eu-repo/semantics/nonPublished
|
Page generated in 0.1589 seconds