CODES 0.4.0 released!

CODES 0.4.0 has been released! You can find the release here.
Notable in this release include a large cleanup/refactoring of the codebase, improvements to error handling, numerous bugfixes, and improved documentation. Additionally, the workload generator API for IO and networking has been merged, though the overall implementation is still in experimental phase.
Full changelog (can also be found at doc/RELEASE_NOTES in the codes-base/codes-net tarballs):


significant source reorganization / refactoring
refactor some private headers out of the public eye
dead code removal
improved example_heterogeneous example program
added configuration to example_heterogeneous showing two torus networks
reorganized files to prevent name collisions on OSX. Top-level docs other than
copyright now in doc directory
additions to best practice document
more stable file format for configurator output
ignore unrelated parameters passed into filter_configs
handle empty cfields in configurator
combined network and IO workload APIs into a single one
adding dumpi workload support in codes-workload-dump utility
workload dump utility option cleanup
renamed “bgp” workload generator to “iolang”, significant cleanups
put network workload ops in workload dump util
removing one of the dumpi libraries from the build. It was generating some unwanted dumpi files.
network workload API more fleshed out
configuration bug fixes for larger LP type counts
resource LP annotation mapping hooks
local storage model API switch to use annotations
better configuration error handling
hedge against precision loss in codes_local_latency (see codes.h)
use a different RNG than default for codes_local_latency
– prevents addition/removal of codes_local_latency calls from poisoning RNG
stream of calling model
added simple GVT-aware stack with garbage collection (see rc-stack.h)


cleanup of much of the code base
more informative error for failure to find modelnet lps
removed redundant include directory on install (was ‘install/codes/codes/*.h’)
reorganized files to prevent name collisions on OSX. Top-level docs other than
copyright now in doc directory
updated code documentation
fix linker error in certain cases with codes-base
tweaked config error handling
fix to loggp latency calculation when using “receive queue”
made torus lps agnostic to groups and aware of annotations
miscellaneous fixes to dragonfly model
updates to simplep2p: support for having different latency/bw at sender &
receiver end. See src/models/networks/model-net/doc/README.simplep2p.txt
minor fixes to usage of quickhash in replay tool
fixed RNG reverse computation bug in loggp
fixed swapped arguments in round-robin scheduler causing short circuit
minor changes to dumpi trace config files
resolving minor bug with reverse computation in dumpi traces
Updating network trace code to use the combined workload API
Adding synthetic traffic patterns (currently with dragonfly model)
Adding network workload test program for debugging
Updating MPI wait/wait_all code in replay tool

This entry was posted in Uncategorized. Bookmark the permalink.