Back to Search
Start Over
DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical Systems
- Source :
- IEEE Access, Vol 6, Pp 21991-22010 (2018)
- Publication Year :
- 2018
- Publisher :
- IEEE, 2018.
-
Abstract
- Simulation and performance evaluation of concurrent Java program execution have been difficult due to the lack of proper model and tools. Previous modeling and simulation approaches cannot simultaneously achieve three tasks: (1) support the direct simulation of unmodified multi-thread Java programs; (2) guarantee deterministic simulation results; and (3) offer low-overhead and scalable simulation. This paper first presents a novel simulation model based on the Java memory model. The model axiomatically defines action ordering, relationships, and constraints to ensure the well-formedness and determinism of a simulated execution. Then, based on the model, we implement the DecompositionJ simulation framework (deterministic, concurrent multi-processsing simulation for Java programs) which enables the direct-execution simulation of target program by using compiler-based source-to-source transformation and a purposely designed runtime library. The framework is compatible with any JVM that complies with the Java specifications, and does not require manual modifications on the target program code. The performance of the framework has been evaluated with the Grande Java concurrency benchmark suite, results have shown a geometric mean of 98.9% overhead over all cases, which significantly outperforms full-system simulation techniques.
- Subjects :
- General Computer Science
Java
Computer science
Java Memory Model
Runtime library
02 engineering and technology
modeling and simulation of concurrent execution
computer.software_genre
cyber-physical systems
Direct execution simulation
Modeling and simulation
memory models
Synchronization (computer science)
Deterministic simulation
0202 electrical engineering, electronic engineering, information engineering
General Materials Science
computer.programming_language
020203 distributed computing
Programming language
General Engineering
020207 software engineering
Java concurrency
Scalability
Benchmark (computing)
Compiler
lcsh:Electrical engineering. Electronics. Nuclear engineering
computer
lcsh:TK1-9971
Subjects
Details
- Language :
- English
- ISSN :
- 21693536
- Volume :
- 6
- Database :
- OpenAIRE
- Journal :
- IEEE Access
- Accession number :
- edsair.doi.dedup.....b06ef2b8337334c5460c750c97d3c758