X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/55edd688c0eb35ed65c2b9bb5c9c3333c2913ed7..101a12d8c86fa6cc12bdc76e609639a492086142:/ChangeLog diff --git a/ChangeLog b/ChangeLog index ac45cc6956..fda4d808ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,51 +1,172 @@ -SimGrid (3.19) NOT RELEASED YET (target: March 20 2018, 16:15:27 UTC) +SimGrid (3.20) NOT RELEASED YET (Release target: June 21. 2018 10:07 UTC) + +TRACE + - Change --cfg=tracing/msg/vm to --cfg=tracing/vm as virtual machine + behavior tracing is no longer limited to MSG + +MSG + - The deprecation of MSG is ongoing. A lot of functions are now simple + wrappers on the C API of S4U. All these wrappers (and their S4U counterparts + can be found in src/msg/msg_legacy.cpp). + +S4U: + - Introduced new function simgrid::s4u::Host::get_actor_count. This function + returns the number of actors running on a specific host. + +Plugins: + - Allow to run the Link energy plugin from the command line with + --cfg=plugin:link_energy + - Rename Energy plugin into host_energy + - Rename Load plugin into host_load + +simix: + - Add parameter --cfg=simix/breakpoint to raise a SIGTRAP at given time. + - kill simix::onDeadlock() that was somewhat dupplicating s4u::on_deadlock() + - Improve performance when handling timeouts of simix synchros. + +SMPI: + - SMPI is now tested with ~45 proxy apps from various sources, with none or + only minor patching needed : check github.com/simgrid/SMPI-proxy-apps + - Replay: The replay file has been re-written in C++. + - Replay: Tags used for messages sent via MPI_Send / MPI_Recv are now + supported. They are stored in the trace and used when replayed. + - Basic support of MPI_Cancel. Robustness not guaranteed. + - Support of MPI_Win_allocate_shared, MPI_Win_shared_query, MPI_Comm_split_type + (only for MPI_COMM_TYPE_SHARED). + - New option : smpi/privatize-libs, to add external shared libs to be privatized + by SMPI. They will be copied locally and loaded separately by each process. + Example --cfg=smpi/privatize-libs:"libgfortran.so.3;libscalapack.so". + - Tracing : add tracing for MPI_Start, Startall, Testall, Testany + - Interception of getopt, getopt_long and getopt_long_only calls to avoid issues + with internal index optind with multiple processes. Only works if MPI_Init has + already been called. + - Fortran : SMPI builds a mpi.mod file which should allow use of "use mpi" + syntax without preprocessing tricks. + +XBT: + - Config: the C API is now deprecated (will be removed in 3.23), and + the C++ API has been slightly improved. + - Fix several build issues on OSX. + +Other: + - Move simgrid_config.h to simgrid/config.h (old header still working) + +Fixed bugs: + - #143: Setting a breakpoint at a given time + - #150: Inconsistent event names in SMPI replay + - #258: daemonized actors hang after all non-daemonized actors have completed + - #267: Linker error on unit_tmgr + - #269: SMPI : tracing of MPI_Wait/all/any broken + - SMPI : Fix various crashes with combined use of MPI_PROC_NULL and MPI_IGNORE_STATUS - MSG - - Fix MSG_task_get_remaining_work_ratio() to return 1.0 for tasks that have - not started. - - Remove parameter of MSG_process_killall(). - Resetting the PID was bogus anyway (several actors could have the same PID). +---------------------------------------------------------------------------- + +SimGrid (3.19.1) Released March 22 2018 + + The Fixed ABI Release. + + As you may know, we are currently refactoring SimGrid in deep. + Upcoming SimGrid4 will be really different from SimGrid3: modular, + standard and extensible vs. layered, homegrown and rigid. C++ vs. C. + + Our goal is to smooth this transition, with backward compatibility + and automatic update paths, while still progressing toward SimGrid4. + + SimGrid remains open during works: The last pure SimGrid3 release was + v3.12 while all subsequent versions are usable alpha versions of + SimGrid4: Existing interfaces remain unchanged, but the new S4U + interface is budding and the internals are deeply reorganized. + + Since 2015, we work hard to reduce the changes to public APIs. When + we need to rename a public library symbol in S4U, we let your + compiler issue an explicative warning when you use the deprecated + function. These messages remain for four releases, i.e. for one full + year, before turning into an error. Starting with v3.15, your can + also adapt to API changes with the SIMGRID_VERSION macro, that is + defined to 31500 for v3.15, to 31901 for v3.19.1 and so on. + + Starting with this v3.19.1, our commitment to reduce the changes to + the public interfaces is extended from the API to the ABI: a program + using only MSG or SimDag and compiled against a given version of + simgrid can probably be used with a later version of SimGrid without + recompilation. We will do our best... but don't expect too much of + it, that's a really difficult goal during such profund refactoring. + + The difference between v3.19 and v3.19.1 is that the former was + accidentally breaking the ABI of MSG, while the later is restoring + the previous ABI. + + S4U and kernel APIs will still evolve until SimGrid4, with one-year + deprecation warnings as currently. In fact, cleaning up these + interfaces and converting them to snake_case() is one release goal of + v3.20. But don't worry, we are working to smooth this upgrade path. + + In summary, new projects should start with S4U to benefit of the + future, but old MSG projects should still be usable with no change. + +---------------------------------------------------------------------------- + +SimGrid (3.19) Released March 20 2018 + + The Moscovitly-cold Spring release. + + SMPI user-visible improvements: + - Support of MPI_Type_create_subarray + - Unimplemented MPI calls now abort (instead of issuing a warning) + Some harmless calls around errhandlers still only issue a warning. + - MPI_Sendrecv was behaving badly when MPI_PROC_NULL was sender or receiver. + - Starting MPI ranks (or even MSG/S4U actors) once the simulation started + is now possible (mmap privatization was refactored to this end). + Adding new SMPI instances should also be technically doable now. + + SMPI internal cleanups: + - Removed index notion from SMPI -- no more "getPid() - 1"! + In tracing files, actors are called rank- but these are + NOT the real ranks (tracing several communicators is not supported yet). + - Deprecate smpi_process_index() (will be removed in 3.22) + - Better testing on classical proxy apps, through an external project: + https://github.com/simgrid/SMPI-proxy-apps/ Documentation - Use a graphical TOC to make it easier to find the documentation you need - Revamp the MSG tutorial + MSG + - Fix MSG_task_get_remaining_work_ratio(): return 1.0 for unstarted tasks. + - Remove parameter of MSG_process_killall(). + Resetting the PID was bogus anyway (several actors could have the same PID). + S4U - - Execution->setHost() can be called after start() to migrate it. + - Execution->setHost() can be called after start(), to migrate it. - Comm::test_any() is now implemented. - s4u::Actor now has onCreation() and onDestruction() signals. - - XBT - - Remove XBT_LOG_CONNECT, it should be useless nowadays. + - Install some kernel header files for the users' plugins and more. + Warning, their API is really not stable yet. + include/simgrid/kernel/resource/{Action,Resource,Model}.hpp + include/simgrid/kernel/routing/*Zone.hpp SimDag - SD_task_dependency_add(): remove unused parameters 'name' and 'data'. - SMPI - - The privatization of global variables via mmap() is now significantly more - flexible and allows the use of daemons with SMPI and to add new processes - while the simulation is running. (Adding new SMPI instances after the - simulation has already started should also be technically doable now.) - - Removed index notion from SMPI -- no more "getPid() - 1"! - This also means that the trace files - now contain actors called rank-. These are NOT the real - ranks, because tracing several communicators right now is not supported. - - Because of this, smpi_process_index() has now been deprecated and will - be removed in 3.21 - - Fixed bugs: - - #245: migrating an actor does not migrate its execution - - #256: Modernize FindSimGrid.cmake - - #257: Fix (ab)use of CMake install + Build System and other cleanups: + - Remove unused run-time parameter "tracing/onelink-only". + - SimGrid now works with intel compilers (MC still buggy) + - Remove XBT_LOG_CONNECT, it should be useless nowadays. + - tesh kills subprocesses on timeout (but not on windows) PLATFORM: - Rename FULLDUPLEX into SPLITDUPLEX (old name still accepted) - TRACING - - Remove unused run-time parameter "tracing/onelink-only". - Fixed bugs: + - #194: Feature request: simgrid::s4u::Comm::test_any() + - #245: migrating an actor does not migrate its execution + - #253: Feature Request: expose clusters as objects - #254: Something seems wrong with s4u::Actor::kill(aid_t) + - #255: Tesh broken on Windows + - #256: Modernize FindSimGrid.cmake + - #257: Fix (ab)use of CMake install + +---------------------------------------------------------------------------- SimGrid (3.18) Released December 24 2017 @@ -139,6 +260,8 @@ SimGrid (3.18) Released December 24 2017 - #221: odd LMM warning when killing an actor - #120: Memory leak when the processes are forcefully killed +---------------------------------------------------------------------------- + SimGrid (3.17) Released October 8 2017 The Drained Leaks release: (almost) no known leaks despite the tests.