Dragonfly Plus and Related Work
The main commits of this merge are as follows:
Commit Authors: Neil McGlohon and Misbah Mubarak
This mega commit contains several additions on the topic of Dragonfly Plus and related work. This includes the new Dragonfly Plus model that is based around the Dragonfly Custom model.
A helper header file has been introduced: connection-manager.h. This header file contains a C++ class and related structs to help organize connections between routers in a network. It was originally designed specifically for Dragonfly Plus but there is no reason that it could not be adjusted to be generally used for any model-net network. Documentation has been included within the header file but the file is still a work in progress and some recent optimizations may not be reflected in the docs.
Current work on this model utilizes an online workload generator and the build process has been modified to allow this but not require it. Similarly, the Boost CXX library is currently required to build and run the online workload generator, the autotools m4 files that help facilitate this have also been included.
Additionally there are related scripts within. These additions are scripts that help with the generation of Dragonfly and Dragonfly Plus topology files and helper scripts that can parse topology and config files to produce an output file for topology visualization purposes.
This commit also includes many patches that originated from Mainline CODES.
This commit does NOT include any changes to Dragonfly Custom that were not already introduced into Mainline CODES.