Skip to content

v0.3.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@grondo grondo released this 26 Apr 22:39
· 14674 commits to master since this release
  • Add support for launching Intel MPI, OpenMPI using PMIv1.
    Use the broker circular log buffer for PMI tracing.
  • Add flux wreck timing subcommand which prints time from
    STARTING: reserved->starting
    RUNNING: starting->running
    COMPLETE: running->complete
    TOTAL: starting->complete
  • Add three "run levels" for Flux jobs:
    1: run rc1 script on rank 0 to load modules, etc.
    2: run the user's initial program
    3: run rc3 script on rank 0 to unload modules, etc.
  • Add module status reporting via keepalive messages.
    "flux module list" now reports live module status:
    I = intializing S = sleeping X = exited
    R = running F = finalizing
  • Conform to RFC 3 change that requires all JSON payloads to use
    objects as the outermost JSON type (no bare arrays for example).
  • Add flux nodeset utility so scripts can manipulate nodesets.
  • Make flux env output suitable for use in bash/zsh eval.
  • Drop flux module --direct option. Module load/unload/list is
    now always direct between flux-module and broker(s).
    Drop the "modctl" module for distributed module control.
  • When a module fails before entering its reactor loop, propagate
    the error back to "flux module load" so the user knows the
    load was not successful.
  • Address memory leaks and adjust KVS usage to ameliorate increasing
    broker memory footprint and degrading job throughput when running
    many small jobs back to back. Active jobs are now stored under
    "lwj-active" to avoid creating excessive versions of the larger lwj
    directory as job state is accumulated.
  • Bug fixes to "live" (TBON self-healing) module. The module is no
    longer loaded by default, pending additional work. flux up will
    always report all ranks up when live is not loaded.
  • Send keepalives on the ring network and log idle peers on TBON
    and ring at LOG_CRIT level, where "idle" means no messages in >= 3
    heartbeats.
  • Compress large content-sqlite blobs with lzo to reduce disk
    utilization.
  • KVS improvements:
    • kvs_put() follows intermediate symlinks
    • KVS operations bundled within one commit are applied in order
    • add kvs_copy() and kvs_move() utility functions.
  • Configuration is loaded into broker attribute "config" namespace
    rather than KVS, and is no longer inherited from the enclosing instance.
  • Flux command driver usability improvements.
  • Flux API improvements including dropping deprecated functions
    and fine tuning some function signatures (users should recompile).
  • Build system allows --with-tcmalloc, --with-jemalloc, and tcmalloc
    heap profiling.
  • Fine tuning of log levels and messages.
  • Documentation improvements.
  • Test suite improvements/fixes.