424 research outputs found
Generalizing List Scheduling for Stochastic Soft Real-time Parallel Applications
Advanced architecture processors provide features such as caches and branch prediction that result in improved, but variable, execution time of software. Hard real-time systems require tasks to complete within timing constraints. Consequently, hard real-time systems are typically designed conservatively through the use of tasks? worst-case execution times (WCET) in order to compute deterministic schedules that guarantee task?s execution within giving time constraints. This use of pessimistic execution time assumptions provides real-time guarantees at the cost of decreased performance and resource utilization. In soft real-time systems, however, meeting deadlines is not an absolute requirement (i.e., missing a few deadlines does not severely degrade system performance or cause catastrophic failure). In such systems, a guaranteed minimum probability of completing by the deadline is sufficient. Therefore, there is considerable latitude in such systems for improving resource utilization and performance as compared with hard real-time systems, through the use of more realistic execution time assumptions. Given probability distribution functions (PDFs) representing tasks? execution time requirements, and tasks? communication and precedence requirements, represented as a directed acyclic graph (DAG), this dissertation proposes and investigates algorithms for constructing non-preemptive stochastic schedules. New PDF manipulation operators developed in this dissertation are used to compute tasks? start and completion time PDFs during schedule construction. PDFs of the schedules? completion times are also computed and used to systematically trade the probability of meeting end-to-end deadlines for schedule length and jitter in task completion times. Because of the NP-hard nature of the non-preemptive DAG scheduling problem, the new stochastic scheduling algorithms extend traditional heuristic list scheduling and genetic list scheduling algorithms for DAGs by using PDFs instead of fixed time values for task execution requirements. The stochastic scheduling algorithms also account for delays caused by communication contention, typically ignored in prior DAG scheduling research. Extensive experimental results are used to demonstrate the efficacy of the new algorithms in constructing stochastic schedules. Results also show that through the use of the techniques developed in this dissertation, the probability of meeting deadlines can be usefully traded for performance and jitter in soft real-time systems
Recommended from our members
Three Essays on Data-Driven Optimization for Scheduling in Manufacturing and Healthcare
This dissertation consists of three essays on data-driven optimization for scheduling in manufacturing and healthcare. In Chapter 1, we briefly introduce the optimization problems tackled in these essays. The first of these essays deals with machine scheduling problems. In Chapter 2, we compare the effectiveness of direct positional variables against relative positional variables computationally in a variety of machine scheduling problems and we present our results. The second essay deals with a scheduling problem in healthcare: the team primary care practice. In Chapter 3, we build upon the two-stage stochastic integer programming model introduced by Alvarez Oh (2015) to solve this challenging scheduling problem of determining patient appointment times to minimize a weighted combination of patient wait and provider idle times for the team practice. To overcome the computational complexity associated with solving the problem under the large set of scenarios required to accurately capture uncertainty in this setting, our approach relies on a lower bounding technique based on solving an exhaustive and mutually exclusive group of scenario subsets. Our computational results identify the structure of optimal schedules and quantify the impact of nurse flexibility, patient crossovers and no-shows. We conclude with practical scheduling guidelines for team primary care practices. The third essay deals with another scheduling problem observed in a manufacturing setting similar to first essay, this time in aerospace industry. In Chapter 4, we propose mathematical models to optimize scheduling at a tactical and operational level in a job shop at an aerospace parts manufacturer and implement our methods using real-life data collected from this company. We generalize the Multi-Level Capacitated Lot-Sizing Problem (MLCLSP) from the literature and use novel computational techniques that depend on the data structure observed to reduce the size of the problem and solve realistically-sized instances in this chapter. We also provide a sensitivity analysis of different modeling techniques and objective functions using key performance indicators (KPIs) important for the manufacturer. Chapter 5 proposes extensions of models and techniques that are introduced in Chapters 2, 3 and 4 and outlines future research directions. Chapter 6 summarizes our findings and concludes the dissertation
Parallélisation massive des algorithmes de branchement
Les problèmes d'optimisation et de recherche sont souvent NP-complets et des techniques de force brute doivent généralement être mises en œuvre pour trouver des solutions exactes. Des problèmes tels que le regroupement de gènes en bio-informatique ou la recherche de routes optimales dans les réseaux de distribution peuvent être résolus en temps exponentiel à l'aide de stratégies de branchement récursif. Néanmoins, ces algorithmes deviennent peu pratiques au-delà de certaines tailles d'instances en raison du grand nombre de scénarios à explorer, pour lesquels des techniques de parallélisation sont nécessaires pour améliorer les performances.
Dans des travaux antérieurs, des techniques centralisées et décentralisées ont été mises en œuvre afin d'augmenter le parallélisme des algorithmes de branchement tout en essayant de réduire les coûts de communication, qui jouent un rôle important dans les implémentations massivement parallèles en raison des messages passant entre les processus.
Ainsi, notre travail consiste à développer une bibliothèque entièrement générique en C++, nommée GemPBA, pour accélérer presque tous les algorithmes de branchement avec une parallélisation massive, ainsi que le développement d'un outil novateur et simpliste d'équilibrage de charge dynamique pour réduire le nombre de messages transmis en envoyant les tâches prioritaires en premier. Notre approche utilise une stratégie hybride centralisée-décentralisée, qui fait appel à un processus central chargé d'attribuer les rôles des travailleurs par des messages de quelques bits,
telles que les tâches n'ont pas besoin de passer par un processeur central.
De plus, un processeur en fonctionnement génère de nouvelles tâches si et seulement s'il y a des processeurs disponibles pour les recevoir, garantissant ainsi leur transfert, ce qui réduit considérablement les coûts de communication.
Nous avons réalisé nos expériences sur le problème de la couverture minimale de sommets, qui a montré des résultats remarquables, étant capable de résoudre même les graphes DIMACS les plus difficiles avec un simple algorithme MVC.Abstract: Optimization and search problems are often NP-complete, and brute-force techniques
must typically be implemented to find exact solutions. Problems such as clustering
genes in bioinformatics or finding optimal routes in delivery networks can be
solved in exponential-time using recursive branching strategies. Nevertheless, these
algorithms become impractical above certain instance sizes due to the large number of
scenarios that need to be explored, for which parallelization techniques are necessary
to improve the performance.
In previous works, centralized and decentralized techniques have been implemented
aiming to scale up parallelism on branching algorithms whilst attempting to
reduce communication overhead, which plays a significant role in massively parallel
implementations due to the messages passing across processes.
Thus, our work consists of the development of a fully generic library in C++,
named GemPBA, to speed up almost any branching algorithms with massive parallelization,
along with the development of a novel and simplistic Dynamic Load Balancing
tool to reduce the number of passed messages by sending high priority tasks
first. Our approach uses a hybrid centralized-decentralized strategy, which makes use
of a center process in charge of assigning worker roles by messages of a few bits of
size, such that tasks do not need to pass through a center processor.
Also, a working processor will spawn new tasks if and only if there are available
processors to receive them, thus, guaranteeing its transfer, and thereby the communication
overhead is notably decreased.
We performed our experiments on the Minimum Vertex Cover problem, which showed
remarkable results, being capable of solving even the toughest DIMACS graphs
with a simple MVC algorithm
Production Scheduling
Generally speaking, scheduling is the procedure of mapping a set of tasks or jobs (studied objects) to a set of target resources efficiently. More specifically, as a part of a larger planning and scheduling process, production scheduling is essential for the proper functioning of a manufacturing enterprise. This book presents ten chapters divided into five sections. Section 1 discusses rescheduling strategies, policies, and methods for production scheduling. Section 2 presents two chapters about flow shop scheduling. Section 3 describes heuristic and metaheuristic methods for treating the scheduling problem in an efficient manner. In addition, two test cases are presented in Section 4. The first uses simulation, while the second shows a real implementation of a production scheduling system. Finally, Section 5 presents some modeling strategies for building production scheduling systems. This book will be of interest to those working in the decision-making branches of production, in various operational research areas, as well as computational methods design. People from a diverse background ranging from academia and research to those working in industry, can take advantage of this volume
Scratchpad Memory Management For Multicore Real-Time Embedded Systems
Multicore systems will continue to spread in the domain of real-time embedded systems due to the increasing need for high-performance applications. This research discusses some of the challenges associated with employing multicore systems for safety-critical real-time applications. Mainly, this work is concerned with providing: 1) efficient inter-core timing isolation for independent tasks, and 2) predictable task communication for communicating tasks.
Principally, we introduce a new task execution model, based on the 3-phase execution model, that exploits the Direct Memory Access (DMA) controllers available in modern embedded platforms along with ScratchPad Memories (SPMs) to enforce strong timing isolation between tasks. The DMA and the SPMs are explicitly managed to pre-load tasks from main memory into the local (private) scratchpad memories. Tasks are then executed from the local SPMs without accessing main memory. This model allows CPU execution to be overlapped with DMA loading/unloading operations from and to main memory. We show that by co-scheduling task execution on CPUs and using DMA to access memory and I/O, we can efficiently hide access latency to physical resources. In turn, this leads to significant improvements in system schedulability, compared to both the case of unregulated contention for access to physical resources and to previous cache and SPM management techniques for real-time systems.
The presented SPM-centric scheduling algorithms and analyses cover single-core, partitioned, and global real-time systems. The proposed scheme is also extended to support large tasks that do not fit entirely into the local SPM. Moreover, the schedulability analysis considers the case of recovering from transient soft errors (bit flips caused by a single event upset) in several levels of memories, that cannot be automatically corrected in hardware by the ECC unit. The proposed SPM-centric scheduling is integrated at the OS level; thus it is transparent to applications. The proposed scheme is implemented and evaluated on an FPGA platform and a Commercial-Off-The-Shelf (COTS) platform.
In regards to real-time task communication, two types of communication are considered. 1) Asynchronous inter-task communication, between either sequential tasks (single-threaded) or parallel tasks (multi-threaded). 2) Intra-task communication, where parallel threads of the same application exchange data. A new task scheduling model for parallel tasks (Bundled Scheduling) is proposed to facilitate intra-task communication and reduce synchronization overheads. We show that the proposed bundled scheduling model can be applied to several parallel programming models, such as fork-join and DAG-based applications, leading to improved system schedulability. Finally, intra-task communication is governed by a predictable inter-core communication platform. Specifically, we propose HopliteRT, a lean and predictable Network-on-Chip that connects the private SPMs
- …