Nowadays, highly parallel and distributed computing systems (i.e., Cloud and HPC systems) are growing in capability at an extraordinary rate, incorporating modern RISC-V architectures interconnected through multiple networks. One of the main problems the designers of such systems face is the lack of simulation tools that can offer realistic insights beyond simple functional testing, such as the actual performance of the nodes, accurate overall system timing, power/energy estimations, and network deployment issues.
In order to address all the aforementioned limitations, we extened within eProcessor the open-source COSSIM Simulation Framework. The proposed solution efficiently integrates a series of sub-tools that model the computing devices of the processing nodes as well as the network(s) utilized in the interconnections. It provides cycle accurate results throughout the system by simulating together: (a) the actual application and system software executed on each node; (b) the networks that are employed. Finally, COSSIM employs a standardized interconnection protocol between its sub-components (i.e., IEEE 1516.x HLA[1]); thus, it can be seamlessly connected to additional similar tools.
The main research challenges that have been addressed so as to create COSSIM, are the following: (a) Develop a novel synchronization scheme so as to support the notion of cycle accuracy throughout the sub-simulators; (b) add to the synchronization scheme the ability to tradeoff the simulation time against the required timing accuracy; (c) adapt the sub-simulators so as to be able to fully handle real network packets; (d) adapt the sub-simulators as well as the synchronization scheme so as to implement a novel fully distributed system where no critical task and/or sub-simulator is centralized so as to be able to efficiently handle the simulation of processing nodes interconnected with any available network technology.

Specifically, COSSIM is built on top of several well-established simulators:
- GEM5, a state of the art full-system simulator, to simulate the digital components of each processing node in the simulated system
- OMNET++, which is an established network simulator, to simulate the networking infrastructure
- McPAT to provide energy and power consumption estimations
To bind the whole framework together, COSSIM employs the HLA architecture
through the open-source CERTI package.
Framework Features
Support of Multiple Architectures: The current version of COSSIM can support both ARM and X86 multicore CPUs in a Full System mode (simulating full Ubuntu-based OS), while in the context of eProcessor, COSSIM framework is extended to simulate modern RISC-V systems.
Extended Functionality of Components: Each component of the framework has been extended to provide advanced synchronization mechanisms and establish a common notion of time between all simulated systems.
Usability: A unified Eclipse-based GUI has been developed to provide easy simulation set-up, execution and visualization of results.
Connectivity & Expansion: Through HLA and proper modifications to the basic components, COSSIM framework can be connected to other tools.
[1] IEEE 1516.x: Standard for Modeling and Simulation High Level Architecture (HLA).