-SimGrid (3.15) UNRELEASED; urgency=low
+SimGrid (3.17) UNRELEASED (release target: September 22 2017)
+
+ S4U
+ - Comm.detach(): start and forget about asynchronous emission
+ - this_actor::send(mailbox) is now mailbox->put()
+
+ SURF
+ - Unused option network/sender-gap is removed.
+
+ MSG
+ - Deprecate MSG_task_isend_with_matching(): This unused feature
+ really complicates our internals. Will be removed in v3.20.
+
+SimGrid (3.16) Released June 22. 2017.
+
+ The Blooming Spring Release: developments are budding.
+
+ Portability status:
+ - FreeBSD: Disable SMPI mmap privatization, switch automatically to dlopen.
+ - Mac, BSD: dlopen+thread broken, switch automatically to raw contexts.
+ - Java JAR file should be finally fully working on Mac OSX too.
+
+ XML platforms: Switch to platform v4.1 format.
+ * This is (mainly) a backward compatible change: v4 are valid v4.1 files
+ - <zone> can be used as a synonym for the now deprecated <as>
+ - <zoneRoute> can be used as a synonym for the now deprecated <asroute>
+ - <bypassZoneRoute> an be used as a synonym for the now deprecated <bypassAsRoute>
+ - <actor> can be used as a synonym for the now deprecated <process>
+ - state_file and avail_file periodicity is now easier to express
+ (check the documentation) the old behavior should still work.
+ * Storage: not backward compatible, but it seems that nobody ever used it
+ - Remove attribute 'content_type' of <storage_type>: was never used
+ - Make attribute 'model' of <storage_type> optional: for future usage
+ - Remove Bconnection model property: was never (in)validated. Replaced by
+ the maximum of the read and write bandwidth as a resource constraint.
+
+ SimDag
+ - New and Backwards Compatibility break:
+ SD_simulate_with_update (double how_long, xbt_dynar_t changed_tasks_dynar)
+ When one wants to get the list of tasks whose states have changed during a
+ simulation round, s/he has to allocate and free a dynar and use it as
+ argument to this function. The former SD_simulate (double how_long)
+ now returns void.
+
+ Virtual Machines
+ - Allow multicore VMs, with the correct sharing (unless you overcommit)
+ BUG: vCPU overcommitting still leads to buggy sharing, though. WIP.
+
+ Energy
+ - New function to update the consumption of all hosts at once.
+ - Fix the model for multi-core hosts, linear in the amount of busy
+ cores with an abnormality for pIdle (see paper).
+ BUG: Still not satisfactory for ptask on mono-cores.
+
+ MSG
+ - The netzone are now available from the MSG API.
+ The old names still work, but are now deprecated.
+
+ SMPI
+ - New algorithm to privatize globals: dlopen, with dynamic loading tricks
+ - New option: smpi/keep-temps to not cleanup temp files
+ - New option : smpi/shared-malloc-blocksize . Relevant only when global shared
+ mallocs mode is used, allows to change the size of the fake file used
+ (default 1MB), to potentially limit the number of mappings for large runs.
+ - Support for sparse privatized malloc with SMPI_PARTIAL_SHARED_MALLOC()
+ - Fortran ifort and flang compilers support
+ - New RMA calls supported (experimental) :
+ - MPI_Win_allocate, MPI_Win_create_dynamic, MPI_Win_attach
+ - MPI_Win_detach, MPI_Win_set_info, MPI_Win_get_info
+ - MPI_Win_lock_all, MPI_Win_unlock_all, MPI_Win_flush
+ - MPI_Win_flush_local, MPI_Win_flush_all, MPI_Win_flush_local_all
+ - MPI_Op_commutative, MPI_Fetch_and_Op, MPI_Compare_and_swap
+ - MPI_Rput, MPI_Rget, MPI_Raccumulate, MPI_Rget_accumulate
+
+ S4U
+ - New: this_actor::isMaestro() returns whether we are in kernel mode.
+ - Behind the scene, ActivityImpl are now automatically refcounted.
+ Removing this nasty bottleneck will greatly simplify our internals.
+
+ XBT
+ - Replay: New function xbt_replay_action_get():
+ Retrieve the function previously associated to an event type.
+ - DROPPED FUNCTION: xbt_str_varsubst()
+ - DROPPED MODULE: strbuff. We don't need it anymore.
+ - DROPPED MODULE: matrix. We don't need it anymore.
+ - DROPPED MODULE: lib. We don't need it anymore.
+
+ -- Thu Jun 22 22:48:12 CEST 2017 -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.15) Released March 22. 2017
+
+ The Spring Release: continuous integration servers become green
+ We fixed even the transient bugs on all target architectures:
+ Linux (CentOS, Debian, Ubuntu, Fedora), Mac OSX (Mavericks, El Capitan)
+ Windows, FreeBSD, NetBSD.
- Rename NetCards to NetPoints.
This was intended to help NS3 users, but that's not a netcard.
- That's a point in the routing algorithm, let's avoid do wrong simplifications.
+ That's a point in the routing algorithm, let's avoid wrong simplifications.
- -- target_date=March 20 2017 -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ MSG
+ - New: MSG_process_yield(). Stop and yield to other processes.
+ - New: MSG_process_daemon(). Daemon processes are automatically killed
+ when the last non-daemon process terminates
+ - New: MSG_process_ref/unref(). Fiddle with the process refcounting.
+ - Renamed MSG_energy_plugin_init() -> MSG_host_energy_plugin_init()
+ to make room for the upcoming network energy plugin.
+ - Drop MSG_host_get_current_power_peak: duplicates MSG_host_get_speed
+
+ Java
+ - Ensure that an actor can kill itself with Process::exit()
+ - Kill the obscure NativeException. Nobody want to survive the issues
+ it denotes, so use JniException that is a RuntimeException (not to
+ be caught explicitly).
+ - Partial bug fix in initialization. SimGrid flags on command line were
+ consumed at C level but stayed in the original Java String[] args.
+ This could mess users' args[i] if SG flags were not put at the end of
+ the command line.
+ The SimGrid flags are now removed from the Java arguments. However,
+ the number of arguments REMAINS UNCHANGED. It is then UNSAFE to test
+ if args.length is greater than the number of YOUR OWN ARGUMENTS.
+ It might be if you have --log or --cfg flags in the command line.
+ - Fix numerous memleaks all around the place. In particular, around VMs.
-SimGrid (3.14.159) stable; urgency=low
+ S4U
+ - New callbacks:
+ - s4u::onPlatformCreated: right before the simulation starts
+ - s4u::onSimulationEnd: right after the main simulation loop
+ - s4u::onTimeAdvance: right after a clock change (time is discrete)
+ - s4u::Host::onSpeedChange: when the pstate is changed, or when an
+ event from the availability_file changes the avail speed.
+ - Links are now usable from s4u
+ - New: Engine::hostList() and Engine::hostCount(). Still clumsy.
+ - New: Actor::suspend(), Actor::resume(), and Actor::migrate(new_host)
+ - New examples: The conversion of MSG examples to S4U has begun
+ - Actors: create, kill, migration, and suspend
+ - Applications: master-worker and token-ring
+ - Action replay: communications and storage
+ - Drop Host::getPstateSpeedCurrent() which duplicates Host::speed()
+
+ SimDag
+ - Backwards Compatibility breaks
+ - The SD_route_get_list and SD_route_get_size functions have been removed.
+ They are replaced by the unique
+ void sg_host_route(sg_host_t src, sg_host_t dst, xbt_dynar_t links)
+ The route from src to dst is built in the links dynar whose size can
+ be obtained with xbt_dynar_length.
+ - The SD_route_bandwidth and SD_route_latency functions have been replaced by
+ sg_host_route_bandwidth and sg_host_route_latency.
+ Macros ensure the backwards compatibility, but you should fix your code
+
+ SMPI
+ - Major C++ rewrite ongoing (SMPI used to be C compiled in C++).
+ This can break codes using SMPI internals (from private.h instead of the public smpi.h).
+ - Bump our claim of support from MPI 1.1 to MPI 2.2.
+ We don't support 100% of it, but it should be enough. Contact us if not.
+ - MPI_Win_lock/unlock, MPI_Get_accumulate support added (as for all RMA, implementation is
+ naive and probably inaccurate)
+ - New algorithm for SMPI_SHARED_MALLOC: global, where all blocks are
+ mapped onto a unique small file using some system magic.
+ - Bugfix: smpirun was sometimes misusing hostfile when wrongly terminated
+ - Fortran: cleanups, fixes, support of user-added operations
+ - RMA: MPI_Accumulate are applied in correct order.
+ - RMA: MPI_Win_{complete/post} shouldn't miss messages anymore.
+ - Better support for MPI_IN_PLACE
+ - Support for MPI_Win attrs and keyvals.
+ - Support MPI_Comm_group_create, MPI_Type_size_x
+ - MPI ops should be properly applied to all allowed types
+ - Replace implementation of MPI_Bcast "scatter followed by rdb allgather"
+ algorithm by a non failing one from mpich.
+
+ XBT
+ - Kill the fifo data container: we don't use it anymore.
+
+ XML
+ - A <cluster> can now be created with different speed values to represent pstates.
+ see examples/platforms/energy_cluster.xml for an example.
+
+SimGrid (3.14.159) Released December 28. 2016
The previous release was only a crude approximation of a Pi release;
this one should be a bit better.
- Improve the documentation, in particular of the routing module.
- Integrate some patches flying around in Debian.
- -- Wed Dec 28 17:14:49 CET 2016 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
-
-SimGrid (3.14) stable; urgency=low
+SimGrid (3.14) Released December 24. 2016
Documentation
* The whole documentation was reworked and reorganized. There is
* We now need python3 for our testing infrastructure.
* Model checking needs libevent
+ MC
+ * Now works on FreeBSD
+
SMPI
+ * Privatization now works on FreeBSD
+
* Privatization is now activated by default in smpirun
You can turn it off with -no-privatize if something goes wrong.
* Call-location tracing for SMPI.
- You can add the exact location (filename / linenumber) of an MPI call to
- your trace files and slow down or speed up the simulation between two
+ You can add the exact location (filename / linenumber) of an MPI call to
+ your trace files and slow down or speed up the simulation between two
consecutive calls by using an adjustment file (see the documentation).
* Fixed computation of timings for MPI_Send, MPI_Recv & possibly also others
* smpi/cpu-threshold:-1 should become smpi/simulate-computation:no
smpi/running-power is renamed to smpi/host-speed
- * smpi/grow-injected-times option to enable or disable multiplication of the
- timings injected in MPI_Iprobe, or MPI_Test. Enabled by default, which can
+ * smpi/grow-injected-times option to enable or disable multiplication of the
+ timings injected in MPI_Iprobe, or MPI_Test. Enabled by default, which can
make simulation less precise (but also much faster).
* smpirun script should be (much) faster for large deployments.
- Ignored parameter of vm_create: core_nb, disk_path and disk_size.
- Unimplemented save/restore methods
* MSG_as_router_get_property_value() was redundent with
- MSG_environment_as_get_property_value().
+ MSG_environment_as_get_property_value().
- Removed MSG_as_router_*propert*() functions
- Added MSG_environment_as_set_property_value() for consistency
- * xbt heterogeneous dictionnaries (created with xbt_dict_new()).
- Well, they are still there for now, but deprecated with a warning.
+ * xbt heterogeneous dictionnaries (created with xbt_dict_new()).
+ Well, they are still there for now, but deprecated with a warning.
Please switch to xbt_dict_new_homogeneous() before this is removed
for real.
* Task affinity. Its intended behavior (that was very badly tested
would have hoped here.
* xbt_os_sem_get_value: unused internally, deprecated on OS X El Capitan
* Option network/coordinates is now useless and should be dropped.
-
- Storage:
+
+ Storage:
* Added option storage/max_file_descriptors to allow more than 1024 files opened
SURF:
XML:
* Add Exa- and Peta- units such as EiB, EB, Eib, Eb for size, and
- EiBps, EBps, Eibps, Ebps for bandwidth.
+ EiBps, EBps, Eibps, Ebps for bandwidth.
They may become useful to some lucky ones.
-
+
Java:
* New functions: msg.Comm.waitAll() and msg.Comm.waitAny()
* ex/app_tokenring: new example, very similar to the MSG Token Ring
* ex/async_waitAll: new example, on asynchronous communications
MSG:
- * Memory usage should be decreased for simulations with a large number
- of processes. This also helps for SMPI.
-
- -- Sat Dec 24 22:34:26 CET 2016 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ * Memory usage should be decreased for simulations with a large number
+ of processes. This also helps for SMPI.
SimGrid (3.13) stable; urgency=low
The Half Release, a.k.a. the Zealous Easter Trim.
-
+
- We removed half of the lines, that were mostly experimental cruft.
v3.12 lasted 286000 lines of code, v3.13 is only 142000 lines
(not counting blanks and comments -- according to openhub.net)
- The internals are now compiled in C++ (and will soon be clean C++)
- - We removed 75 klines of XML, 12 klines of Java, 5 klines of cmake,
+ - We removed 75 klines of XML, 12 klines of Java, 5 klines of cmake,
59 klines of C, etc. We added only 29 klines of C++ in replacement.
-
+
* Backwards Compatibility breaks
- Removed Lua simulation bindings (switch to C or Java for that).
Lua can still be used to describe platforms
way, with filter function.
- MSG_task_listen_from_host
- MSG_mailbox_get_count_host_waiting_tasks
- - MSG_mailbox_put_with_timeout was removed.
+ - MSG_mailbox_put_with_timeout was removed.
Please use MSG_task_send_with_timeout instead.
- - In SimDag
- - the SD_application_reinit function was removed. It has been a noop for a while.
- - The ACCESS_MODE of SD_workstation has been removed. This feature was not really usable and should soon be
+ - In SimDag
+ - the SD_application_reinit function was removed. It has been a noop for a while.
+ - The ACCESS_MODE of SD_workstation has been removed. This feature was not really usable and should soon be
replaced by a more flexible mechanism.
- The following functions thus do not exist anymore
- SD_workstation_get_access_mode
- SD_route_get_communication_time => SG_route_get_latency() + amount / SD_route_get_bandwidth()
- SD_workstation_get_computation_time => amount / sg_host_speed()
- In Java
- - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics.
+ - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics.
Use VM.getSpeed()*load/100 for the legacy behavior.
- In CMake
- option enable_tracing was removed. It was not doing anything for a while.
And the same in bits: 'Tibps', 'Gibps', 'Mibps', 'Kibps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
- latency. Default: 's' second. Also defined:
'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
-
+
* bin/simgrid_update_xml can upgrade your files automatically (won't convert unit-less values)
tools/sg_xml_unit_converter.py may help (but it's just a warning and will probably ever be).
MSG
* The examples were completely reorganized (in C and Java), for your browsing pleasure.
- * Kill all deprecated functions (the ones you had when declaring MSG_DEPRECATED).
+ * Kill all deprecated functions (the ones you had when declaring MSG_DEPRECATED).
They were deprecated since a few years, and probably did not even compile anymore.
SimDag
- * The API has been profoundly modified to directly use the core objects instead of redefining its own.
+ * The API has been profoundly modified to directly use the core objects instead of redefining its own.
SD_Workstation_t and SD_link_t are now sg_host_t and sg_link_t respectively.
- Some functions have also been renamed for consistency. Backward compatibility is maintained, but users are
- encouraged to update their codes. A list of the modified functions can be found at the end of
+ Some functions have also been renamed for consistency. Backward compatibility is maintained, but users are
+ encouraged to update their codes. A list of the modified functions can be found at the end of
include/simgrid/simdag.h
Simix
* refactoring and cleanup of the code;
* ongoing process to cleanly separate the model-checking algorithms
from the code model-checking support.
-
+
-- Wed Apr 27 21:00:53 CEST 2016 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
SimGrid (3.12) stable; urgency=low