95 resultados para Time-sharing computer systems
Resumo:
The correctness of a hard real-time system depends its ability to meet all its deadlines. Existing real-time systems use either a pure real-time scheduler or a real-time scheduler embedded as a real-time scheduling class in the scheduler of an operating system (OS). Existing implementations of schedulers in multicore systems that support real-time and non-real-time tasks, permit the execution of non-real-time tasks in all the cores with priorities lower than those of real-time tasks, but interrupts and softirqs associated with these non-real-time tasks can execute in any core with priorities higher than those of real-time tasks. As a result, the execution overhead of real-time tasks is quite large in these systems, which, in turn, affects their runtime. In order that the hard real-time tasks can be executed in such systems with minimal interference from other Linux tasks, we propose, in this paper, an integrated scheduler architecture, called SchedISA, which aims to considerably reduce the execution overhead of real-time tasks in these systems. In order to test the efficacy of the proposed scheduler, we implemented partitioned earliest deadline first (P-EDF) scheduling algorithm in SchedISA on Linux kernel, version 3.8, and conducted experiments on Intel core i7 processor with eight logical cores. We compared the execution overhead of real-time tasks in the above implementation of SchedISA with that in SCHED_DEADLINE's P-EDF implementation, which concurrently executes real-time and non-real-time tasks in Linux OS in all the cores. The experimental results show that the execution overhead of real-time tasks in the above implementation of SchedISA is considerably less than that in SCHED_DEADLINE. We believe that, with further refinement of SchedISA, the execution overhead of real-time tasks in SchedISA can be reduced to a predictable maximum, making it suitable for scheduling hard real-time tasks without affecting the CPU share of Linux tasks.
Resumo:
Exascale systems of the future are predicted to have mean time between failures (MTBF) of less than one hour. At such low MTBFs, employing periodic checkpointing alone will result in low efficiency because of the high number of application failures resulting in large amount of lost work due to rollbacks. In such scenarios, it is highly necessary to have proactive fault tolerance mechanisms that can help avoid significant number of failures. In this work, we have developed a mechanism for proactive fault tolerance using partial replication of a set of application processes. Our fault tolerance framework adaptively changes the set of replicated processes periodically based on failure predictions to avoid failures. We have developed an MPI prototype implementation, PAREP-MPI that allows changing the replica set. We have shown that our strategy involving adaptive process replication significantly outperforms existing mechanisms providing up to 20 percent improvement in application efficiency even for exascale systems.
Resumo:
Graph algorithms have been shown to possess enough parallelism to keep several computing resources busy-even hundreds of cores on a GPU. Unfortunately, tuning their implementation for efficient execution on a particular hardware configuration of heterogeneous systems consisting of multicore CPUs and GPUs is challenging, time consuming, and error prone. To address these issues, we propose a domain-specific language (DSL), Falcon, for implementing graph algorithms that (i) abstracts the hardware, (ii) provides constructs to write explicitly parallel programs at a higher level, and (iii) can work with general algorithms that may change the graph structure (morph algorithms). We illustrate the usage of our DSL to implement local computation algorithms (that do not change the graph structure) and morph algorithms such as Delaunay mesh refinement, survey propagation, and dynamic SSSP on GPU and multicore CPUs. Using a set of benchmark graphs, we illustrate that the generated code performs close to the state-of-the-art hand-tuned implementations.
Resumo:
Schemes that can be proven to be unconditionally stable in the linear context can yield unstable solutions when used to solve nonlinear dynamical problems. Hence, the formulation of numerical strategies for nonlinear dynamical problems can be particularly challenging. In this work, we show that time finite element methods because of their inherent energy momentum conserving property (in the case of linear and nonlinear elastodynamics), provide a robust time-stepping method for nonlinear dynamic equations (including chaotic systems). We also show that most of the existing schemes that are known to be robust for parabolic or hyperbolic problems can be derived within the time finite element framework; thus, the time finite element provides a unification of time-stepping schemes used in diverse disciplines. We demonstrate the robust performance of the time finite element method on several challenging examples from the literature where the solution behavior is known to be chaotic. (C) 2015 Elsevier Inc. All rights reserved.
Resumo:
Schemes that can be proven to be unconditionally stable in the linear context can yield unstable solutions when used to solve nonlinear dynamical problems. Hence, the formulation of numerical strategies for nonlinear dynamical problems can be particularly challenging. In this work, we show that time finite element methods because of their inherent energy momentum conserving property (in the case of linear and nonlinear elastodynamics), provide a robust time-stepping method for nonlinear dynamic equations (including chaotic systems). We also show that most of the existing schemes that are known to be robust for parabolic or hyperbolic problems can be derived within the time finite element framework; thus, the time finite element provides a unification of time-stepping schemes used in diverse disciplines. We demonstrate the robust performance of the time finite element method on several challenging examples from the literature where the solution behavior is known to be chaotic. (C) 2015 Elsevier Inc. All rights reserved.