Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General refactoring and updates (Bad) #187

Merged
merged 39 commits into from
Nov 8, 2019
Merged

General refactoring and updates (Bad) #187

merged 39 commits into from
Nov 8, 2019

Conversation

nmcglo
Copy link
Member

@nmcglo nmcglo commented Oct 11, 2019

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
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
Copy link
Member Author

nmcglo commented Nov 8, 2019

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