Synchronization in Simics is implemented by the central module. It defines two classes, the central-server class and the central-client class.
One Simics process is assigned the role of server for the distributed simulation. In this process, a central-server object is added, and in every Simics process that takes part in the distributed simulation, a central-client object is added.
The client objects are connected to the server object, and then makes sure that the Simics processes they belong to are kept synchronized with each other.
If the Simics process that contains the server will run any simulation, it too needs a central-client object. An alternative is to place the server in a completely dedicated Simics process without any target machine configuration. In that case it does not need a client object.
All inter-process communication that is part of the simulation is handled by link objects, typically Ethernet links, as described in chapter 10.