From eb637bd7e0c8b1dc75b0d7cd1ec199b097134d34 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Thu, 23 Sep 2021 09:21:27 +0200 Subject: [PATCH] cosmetics in the changelog and NEWS file [skip-ci] --- ChangeLog | 46 ++++++++++++------------------------ NEWS | 6 +++++ include/simgrid/s4u/Disk.hpp | 5 ++-- include/simgrid/s4u/Host.hpp | 2 ++ include/simgrid/s4u/Link.hpp | 5 +++- 5 files changed, 30 insertions(+), 34 deletions(-) diff --git a/ChangeLog b/ChangeLog index 10bc26e32a..13e0736676 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,21 +2,13 @@ SimGrid (3.28.1) NOT RELEASED YET (v3.29 expected September 22. 2021, 19:21 UTC) -New features: - - Non-linear resource sharing: allows to dynamically change the resource - capacity. Users can change this capacity by setting a callback which will - be called when SimGrid is sharing the resource between the active - activities. An activity can be a task running, a read/write IO operation or a - communication flow. - - Callback signature: double (double capacity, int n_activities): given the - current resource's capacity and number of activities running on it, - returns the new capacity. - - Note that this callback is in the critical path of the system solve and - should not take long to execute. - - Examples: - - Disk: examples/cpp/io-degradation - - Link: examples/cpp/network-nonlinear - - CPU: examples/cpp/exec-cpu-nonlinear +New modeling features: + - Non-linear resource sharing for decay models: + - The total capacity may depend on the number of concurrent usages + - For that, resources can take a callback that computes the capacity + depending on the idle capacity and the number of concurrent usages + - Examples (both cpp and python): io-degradation, network-nonlinear, exec-cpu-nonlinear + - Dynamic factors for CPU and disk: similarly to dynamic network factors, allows the user to set a callback which can affect the progress of activities (multiplicative factor applied when updating the amount of work remaining). @@ -24,30 +16,22 @@ New features: Python: - Added support to programmatic platform creation in Python. - - Several new methods were added to Python interface. For more details, see - the corresponding documentation. - - New python examples: - - Clusters: examples/python/clusters-multicpu - - Disk: examples/python/io-degradation - - CPU: examples/python/exec-cpu-nonlienar - - Link: examples/python/network-nonlinear + Example: examples/python/clusters-multicpu S4U: - - New: s4u::Disk::set_sharing_policy() and s4u::Host::set_sharing_policy(). - Allows the configuration of non-linear resource sharing for hosts and - disks. + - Disk and Host now have a set_sharing_policy() too, for non-linear sharing. + This can only be set through the API, not through XML files. SMPI: - TI Tracing/Replay: - - Multiple fixes to ensure reproducibility of tracing - - scan/excan can now be replayed - - wait action now uses ranks and not pid, as the other ones. - - smpi/init and smpi/finalization-barrier are now valid for replays. + - Multiple fixes to ensure reproducibility of tracing + - scan/excan can now be replayed + - wait action now uses ranks and not pid, as the other ones. + - smpi/init and smpi/finalization-barrier are now valid for replays. Documentation: * New section "Release Notes" documenting recent and current developments. - * New section "Modeling I/O: the realistic way" presenting how to properly - model disks in SimGrid. + * New section "Modeling I/O: the realistic way" presenting how to properly model disks in SimGrid. * Improvements in API Reference for C++ and Python interfaces. ns-3 model: diff --git a/NEWS b/NEWS index cd4f2d4051..0379431a10 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,12 @@ __ _____ _ __ ___(_) ___ _ __ |___ / |___ \ / _ \ \ V / __/ | \__ \ | (_) | | | | ___) | / __/ \__, | \_/ \___|_| |___/_|\___/|_| |_| |____(_)_____| /_/ (unreleased) + +The "Give peace a chance" release (International Day of Peace) + + * Python bindings for the platform creation API + * Introduce non-linear ressource sharing, allowing decay models + * New documentation section on realistic I/O modeling _ _____ ____ ___ __ _____ _ __ ___(_) ___ _ __ |___ / |___ \( _ ) diff --git a/include/simgrid/s4u/Disk.hpp b/include/simgrid/s4u/Disk.hpp index 6d8e00dcae..68740d13e8 100644 --- a/include/simgrid/s4u/Disk.hpp +++ b/include/simgrid/s4u/Disk.hpp @@ -95,12 +95,13 @@ public: /** * @brief Describes how the disk is shared between activities for each operation * - * Disks have different bandwidths for read and write operations. This method - * allows you to set different sharing policies for each operation: + * Disks have different bandwidths for read and write operations, that can have different policies: * - Read: resource sharing for read operation * - Write: resource sharing for write * - ReadWrite: global sharing for read and write operations * + * Note that the NONLINEAR callback is in the critical path of the solver, so it should be fast. + * * @param op Operation type * @param policy Sharing policy * @param cb Callback for NONLINEAR policies diff --git a/include/simgrid/s4u/Host.hpp b/include/simgrid/s4u/Host.hpp index 88d7d361ee..d50d8f9650 100644 --- a/include/simgrid/s4u/Host.hpp +++ b/include/simgrid/s4u/Host.hpp @@ -174,6 +174,8 @@ public: /** * @brief Describes how the CPU is shared between concurrent tasks * + * Note that the NONLINEAR callback is in the critical path of the solver, so it should be fast. + * * @param policy Sharing policy * @param cb Callback for NONLINEAR policies */ diff --git a/include/simgrid/s4u/Link.hpp b/include/simgrid/s4u/Link.hpp index bcd91afbac..4eb8cf6616 100644 --- a/include/simgrid/s4u/Link.hpp +++ b/include/simgrid/s4u/Link.hpp @@ -78,7 +78,10 @@ public: */ Link* set_latency(const std::string& value); - /** @brief Describes how the link is shared between flows */ + /** @brief Describes how the link is shared between flows + * + * Note that the NONLINEAR callback is in the critical path of the solver, so it should be fast. + */ Link* set_sharing_policy(SharingPolicy policy, const NonLinearResourceCb& cb = {}); SharingPolicy get_sharing_policy() const; -- 2.20.1