Skip to content

General refactoring and updates (Bad) - #187

Merged
nmcglo merged 39 commits into
developfrom
general-refactoring
Nov 8, 2019
Merged

nmcglo merged 39 commits into
developfrom
general-refactoring

Conversation

@nmcglo

@nmcglo nmcglo commented Oct 11, 2019

Copy link
Copy Markdown
Member

This pull request contains commits relating to cleanup of the repository and models. This will be the step to CODES 1.2 once it's merged.

@nmcglo nmcglo added this to the CODES 1.2/2.0 milestone Oct 11, 2019
@nmcglo nmcglo self-assigned this Oct 11, 2019
@nmcglo
nmcglo force-pushed the general-refactoring branch from e78dcb1 to e9d00bb Compare October 21, 2019 16:52
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.
@nmcglo nmcglo mentioned this pull request Nov 5, 2019
@nmcglo nmcglo changed the title WIP: General refactoring and updates General refactoring and updates Nov 8, 2019
@nmcglo
nmcglo changed the base branch from master to develop November 8, 2019 21:21
@nmcglo
nmcglo merged commit 545445c into develop Nov 8, 2019
@nmcglo nmcglo changed the title General refactoring and updates General refactoring and updates (Bad) Nov 8, 2019
@nmcglo

nmcglo commented Nov 8, 2019

Copy link
Copy Markdown
Member Author

This was hard reset'd on the develop branch because I wasn't thinking when I merged it. It's such a drastic change that it would affect how easy it is to understand flow of changes between the authors of the three other merge requests that are open. See #194 for the status of the correct merging.

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