Skip to content

General refactoring and updates - #194

Merged
nmcglo merged 41 commits into
developfrom
general-refactoring
Nov 12, 2019
Merged

nmcglo merged 41 commits into
developfrom
general-refactoring

Conversation

@nmcglo

@nmcglo nmcglo commented Nov 8, 2019

Copy link
Copy Markdown
Member

This is a redo of the merge erroneously performed in #187. My bad.

nmcglo added 30 commits October 9, 2019 15:17
Addresses #161. On Mac however there are versions of Bison and Flex
shipped with the OS but don't work (but configure won't catch it).
Installing homebrew and calling `brew install bison flex` will resolve this.
This addresses issue #122. Moves base implementations to their
own folder in src/networks/model-net/ to make clear distinction
between actual network models and the base implementations required
to run those network models.

This also moves a header file out of the src directory and into the
codes/ header directory where it belongs.
Addresses issue #190. Previously, all dragonfly models used a static
value for the credit delay. It was calculated based on the local
bandwidth regardless of what type of link the credit was being
sent along. This was fine in networks where all links had the
same bandwidth but dragonfly models do not necessarily follow this
rule. This commmit adds features that allow for credit
delays to be set based on the type of link. They are also
configurable.

By default, the behavior remains the same as before. If the
configuration file supplied contains no credit delay specifications
then all credit delays will be based on the local bandwidth and the
credit size (default 8).

To make credit delays be set based on their respective bandwidths
(and credit size), then simply add `auto_credit_delay="1";` to
your config file.

If you'd like to set a single general credit delay for all, then
use `credit_delay="<float>";`. This is incompatible with the auto
credit delay functionality.

If you'd like to configure delays manually, then you can specify
`*_credit_delay="<float>";` for `cn`, `local`, and `global` in
place of the asterisk. If you set one of them but not others,
then the others will be auto calculated based on the bandwidth
and credit size.

The credit size is now also configurable via `credit_size="<int>";`
in bytes.

This commit also fixes the Dragonfly Plus/Dally print configuration
method to use fprintf so that the _IO_FILE* can be passed as a
parameter. This prevents issues where fprintf and printf were
overlapping during the initial parameter printout.
Re-address #186. Now directs to a file hosted by codes-org on github
instead of a personal webpage. It's just cleaner that way.
@nmcglo nmcglo added this to the CODES 1.2 milestone Nov 8, 2019
Addresses conflicts from develop base into gen-refactoring-merger
There was a previous fix that, if there were multiple 'best'
connections, it would try to pick randomly from them instead of just
picking the first one. This is a good idea but the implementation didn't
clear the vector of options when a better one was found.

As a result the vector that is randomly picked from will contain all
previous "best" options before a better one was found.

This fixes that.
@nmcglo
nmcglo merged commit 613d571 into develop Nov 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant