DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical Systems

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;...

Full description

Bibliographic Details
Main Authors: Chong Shum, Wing-Hong Lau, Tian Mao, Henry Shu-Hung Chung, Norman Chung-Fai Tse, Kim-Fung Tsang, Loi Lei Lai
Format: Article
Language:English
Published: IEEE 2018-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8334524/
_version_ 1818911680057311232
author Chong Shum
Wing-Hong Lau
Tian Mao
Henry Shu-Hung Chung
Norman Chung-Fai Tse
Kim-Fung Tsang
Loi Lei Lai
author_facet Chong Shum
Wing-Hong Lau
Tian Mao
Henry Shu-Hung Chung
Norman Chung-Fai Tse
Kim-Fung Tsang
Loi Lei Lai
author_sort Chong Shum
collection DOAJ
description 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.
first_indexed 2024-12-19T23:02:33Z
format Article
id doaj.art-2ef4011fb7474db5aa56e4ce4fe99948
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-19T23:02:33Z
publishDate 2018-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-2ef4011fb7474db5aa56e4ce4fe999482022-12-21T20:02:27ZengIEEEIEEE Access2169-35362018-01-016219912201010.1109/ACCESS.2018.28252548334524DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical SystemsChong Shum0https://orcid.org/0000-0001-9273-4025Wing-Hong Lau1Tian Mao2https://orcid.org/0000-0001-9313-4427Henry Shu-Hung Chung3Norman Chung-Fai Tse4Kim-Fung Tsang5Loi Lei Lai6Center for Smart Energy Conversion and Utilization, City University of Hong Kong, Hong KongCenter for Smart Energy Conversion and Utilization, City University of Hong Kong, Hong KongElectric Power Research Institute, China Southern Power Grid, Guangzhou, ChinaCenter for Smart Energy Conversion and Utilization, City University of Hong Kong, Hong KongCenter for Smart Energy Conversion and Utilization, City University of Hong Kong, Hong KongCenter for Smart Energy Conversion and Utilization, City University of Hong Kong, Hong KongSch. of Autom., Guangdong Univ. of Technol., Guangzhou, ChinaSimulation 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.https://ieeexplore.ieee.org/document/8334524/Direct execution simulationmodeling and simulation of concurrent executionmemory modelscyber-physical systems
spellingShingle Chong Shum
Wing-Hong Lau
Tian Mao
Henry Shu-Hung Chung
Norman Chung-Fai Tse
Kim-Fung Tsang
Loi Lei Lai
DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical Systems
IEEE Access
Direct execution simulation
modeling and simulation of concurrent execution
memory models
cyber-physical systems
title DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical Systems
title_full DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical Systems
title_fullStr DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical Systems
title_full_unstemmed DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical Systems
title_short DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-Physical Systems
title_sort decompositionj parallel and deterministic simulation of concurrent java executions in cyber physical systems
topic Direct execution simulation
modeling and simulation of concurrent execution
memory models
cyber-physical systems
url https://ieeexplore.ieee.org/document/8334524/
work_keys_str_mv AT chongshum decompositionjparallelanddeterministicsimulationofconcurrentjavaexecutionsincyberphysicalsystems
AT winghonglau decompositionjparallelanddeterministicsimulationofconcurrentjavaexecutionsincyberphysicalsystems
AT tianmao decompositionjparallelanddeterministicsimulationofconcurrentjavaexecutionsincyberphysicalsystems
AT henryshuhungchung decompositionjparallelanddeterministicsimulationofconcurrentjavaexecutionsincyberphysicalsystems
AT normanchungfaitse decompositionjparallelanddeterministicsimulationofconcurrentjavaexecutionsincyberphysicalsystems
AT kimfungtsang decompositionjparallelanddeterministicsimulationofconcurrentjavaexecutionsincyberphysicalsystems
AT loileilai decompositionjparallelanddeterministicsimulationofconcurrentjavaexecutionsincyberphysicalsystems