Communicating sequential processes
Communicating sequential processes
Optimistic recovery in distributed systems
ACM Transactions on Computer Systems (TOCS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Real-time Euclid: a language for reliable real-time systems
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
Morphological methods in image and signal processing
Morphological methods in image and signal processing
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Incremental computation via function caching
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Real-time software for control: program examples in C
Real-time software for control: program examples in C
Symbolic finite differencing, part I (invited lecture)
Proceedings of the third European symposium on programming on ESOP '90
Temporal proof methodologies for real-time systems
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
IEEE Transactions on Computers
Loop distribution with arbitrary control flow
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
Automatic generation of global optimizers
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Optimistic algorithms for distributed transparent process replication
Optimistic algorithms for distributed transparent process replication
Analyzing Hard-Real-Time Programs for Guaranteed Schedulability
IEEE Transactions on Software Engineering
A safe approximate algorithm for interprocedural aliasing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A partial evaluator for the Maruti hard real-time system
Real-Time Systems - Special issue: Real-time languages and language-level timing tools and analysis
Predicting program execution times by analyzing static and dynamic program paths
Real-Time Systems - Special issue: Real-time languages and language-level timing tools and analysis
Improving semi-static branch prediction by code replication
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
SUPRA-RPC: SUbprogram PaRAmeters in remote procedure calls
Software—Practice & Experience
Scheduling with compiler transformations: the TCEL approach
RTOSS '93 Proceedings of the tenth IEEE workshop on Real-time operating systems and software
Application of compiler-assisted rollback recovery to speculative execution repair
Papers of the workshop on Hardware and software architectures for fault tolerance : experiences and perspectives: experiences and perspectives
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Language constructs and transformation for hard real-time systems
LCTES '95 Proceedings of the ACM SIGPLAN 1995 workshop on Languages, compilers, & tools for real-time systems
A Development Environment for Complex Distributed Real-Time Applications
IEEE Transactions on Software Engineering
Finite Differencing of Computable Expressions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Optimizing Supercompilers for Supercomputers
Optimizing Supercompilers for Supercomputers
Principles of Database Systems
Principles of Database Systems
Compiling Real-Time Programs With Timing Constraint Refinement and Structural Code Motion
IEEE Transactions on Software Engineering
Value-cognizant Speculative Concurrency Control
VLDB '95 Proceedings of the 21th International Conference on Very Large Data Bases
Logics and Models of Real Time: A Survey
Proceedings of the Real-Time: Theory in Practice, REX Workshop
Proving real-time properties of programs with temporal logic
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
Optimizing Interprocess Communication for Embedded Real-Time Systems
RTSS '96 Proceedings of the 17th IEEE Real-Time Systems Symposium
Using speculative execution for fault tolerance in a real-time system
ICECCS '95 Proceedings of the 1st International Conference on Engineering of Complex Computer Systems
Toward Compiler Optimization of Distributed Real-Time Processes
ICECCS '96 Proceedings of the 2nd IEEE International Conference on Engineering of Complex Computer Systems
Formal Verification of Compiler Transformations for Speculative Real-Time Execution
Automatica (Journal of IFAC)
Hi-index | 0.00 |
Deterministic worst-case execution for satisfying hard-real-time constraints, and speculative execution with rollback for improving average-case throughput, appear to lie on opposite ends of a spectrum of performance requirements and strategies. Nonetheless, we show that there are situations in which speculative execution can improve the performance of a hard real-time system, either by enhancing average performance while not affecting the worst-case, or by actually decreasing the worst-case execution time. The paper proposes a set of compiler transformation rules to identify opportunities for speculative execution and transform the code. Moreover, we have conducted an extensive experiment using simulation of randomly generated real-time programs to evaluate applicability and profitability of speculative execution. The simulation results indicate that speculative execution improves average execution time and program timeliness. Finally, a prototype implementation is described in which these transformations have been evaluated for realistic applications.