X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/35ae873aa3a5bab42f9c14d8d032d87abc5ea82b..47fa64212246f06d6f2606de23ccba9809765e59:/ChangeLog diff --git a/ChangeLog b/ChangeLog index e7cf51f97c..a7ca01b959 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,181 @@ -SimGrid (3.14) UNRELEASED; urgency=low +SimGrid (3.17) UNRELEASED (release target: September 22 2017) + +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 + - can be used as a synonym for the now deprecated + - can be used as a synonym for the now deprecated + - an be used as a synonym for the now deprecated + - can be used as a synonym for the now deprecated + - 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 : was never used + - Make attribute 'model' of 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 (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 wrong simplifications. + + 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. + + 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 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. + + - Revert a last minute change that broke on Mac OSX. + - Fix the changelog and NEWS files. + - Improve the documentation, in particular of the routing module. + - Integrate some patches flying around in Debian. + +SimGrid (3.14) Released December 24. 2016 Documentation * The whole documentation was reworked and reorganized. There is @@ -6,8 +183,14 @@ SimGrid (3.14) UNRELEASED; urgency=low Infrastructure * 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. @@ -25,6 +208,16 @@ SimGrid (3.14) UNRELEASED; urgency=low * 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 + make simulation less precise (but also much faster). + + * smpirun script should be (much) faster for large deployments. + + * SMPI tracing : fixed issue with poor matching of send/receives. + + * Replay : Fix broken waitall + New functions and features * MSG_parallel_task_execute_with_timeout, to timeout computations. @@ -42,8 +235,9 @@ SimGrid (3.14) UNRELEASED; urgency=low - MSG_storage_set_property_value() * VM properties. Since msg_vm_t are msg_host_t, just use MSG_host_get_property_value() and friends - * MSG_vm_create had ignored parameters, that are now dropped: - core_nb, disk_path and disk_size. + * VM I/O related things: + - 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(). - Removed MSG_as_router_*propert*() functions @@ -57,6 +251,13 @@ SimGrid (3.14) UNRELEASED; urgency=low 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: + * Added option storage/max_file_descriptors to allow more than 1024 files opened + + SURF: + * Added option maxmin/concurrency_limit to allow more than 100 processes per host + * Added Dragonfly topology support XML: * Add Exa- and Peta- units such as EiB, EB, Eib, Eb for size, and @@ -68,7 +269,9 @@ SimGrid (3.14) UNRELEASED; urgency=low * ex/app_tokenring: new example, very similar to the MSG Token Ring * ex/async_waitAll: new example, on asynchronous communications - -- $date Da SimGrid team + MSG: + * Memory usage should be decreased for simulations with a large number + of processes. This also helps for SMPI. SimGrid (3.13) stable; urgency=low