Skip to content

Latest commit

 

History

History
80 lines (68 loc) · 3.65 KB

CHANGELOG.md

File metadata and controls

80 lines (68 loc) · 3.65 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

As the project is currently unstable, Remote Simgrid's API is not defined yet.

Added

  • Support for condition variables, with the same API as in s4u.
  • Support for automatically increasing time between the RSG calls of an actor. This can either be done with a constant time increase for each call (which should keep deterministic results), or by injecting the time measured by the client (which leads to non-deterministic results). Default behavior remains the same as before, that is to say a constant time increase of 0.

Fixed

  • Comm::test() never transferred data to reception comms, which was invalid as clients can do Comm::test() + sleep loops to wait for the transfer completion.

0.3.0 - 2020-10-13

Changed (breaks everything)

  • Full reimplementation with different API and dependencies.
  • A single rsg program is used to start the RSG server, to add initial actors in the simulation, and to start/stop the simulation. Details in rsg --help.
  • librsg's API should now be very close to SimGrid's s4u API, with some changes:
    • Functions to send data (to put data in mailboxes) really transfer data here, so another argument is required (the data size).
    • Additional functions are provided for a smoother integration in studied apps — e.g., to wrap thread or process creation.
  • Dependencies are now:
    • protobuf to serialize messages between RSG processes.
    • docopt for CLI convenience.
    • boost lockfree, used for shared memory communication in the RSG server.
    • SimGrid (of course).

0.2.0 - 2018-07-20

Added

  • rsg_server can now be used with the --background flag, which executes the server in background and terminates immediately.
  • rsg_server can now be used with the --server-only flag, which prevents the automatic execution of the clients. In this case, the user is expected to execute the clients.
  • rsg_server's CLI now has options (and no longer has positional arguments).
  • Servers are now launched in parallel.
    Previously, clients needed to connect in a sequential fashion to rsg_server.
  • rsg_server now runs a status service, which notably allows to retrieve information about the current client connections.
    Requests are formatted in plain text and follow the common ZeroMQ request-reply pattern. Current supported requests are status all and status waiting_init.
    This service uses TCP, and is bound on port 4242 by default. Port can be changed via rsg_server's command-line option --status-port.

Changed

  • Dependencies :
    • Thrift: 0.11.0 is now required (previously, 0.9.3 or 0.10.0 was required).
    • Boost.Program_options is now required.

0.1.0 - 2018-03-12

Initial release.