-
Notifications
You must be signed in to change notification settings - Fork 8
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
Bus load analysis should take virtual buses into account #2205
Comments
Is there an example of any sort for bus load analysis? |
From @lwrage:
This is similar to the weight budgets. Note that a virtual bus A contained in another (virtual) bus B as a subcomponent is for this analysis equivalent to A being bound to B. (edited) |
Need test cases:
|
Whats the diff between Also are they made obsolete by |
Never mind, I see |
I'm confused about how or if feature groups are processed. I see code in |
There are currently "warnings" that appear in the report notes. Not all of these are reporting as warnings on the instance model. Should they be? In particular, there is not warning marker generated when a connection actual bandwidth is greater than the connection's budgeted bandwidth, but there is a note in the report. |
First set of test cases
I noticed that if the actual bandwidths of the connections exceeds the budgeted bandwidths for the connections, and their total exceeds the bus capacity, there is of course an error. But what is not checked in this case if whether the total budgets for the connections also exceeds the bus capacity. I suppose you could argue that it is irrelevant at this point, but it seems like it should also be reported. |
Going to create a simple virtual bus example at first so that I can the analysis going. |
Okay, feature group issue moves to #2246 |
Basic examples for virtual bus. He we have a single connection bound to a virtual bus, and the bus bound to an actual bus. There are two versions of each example, one with the virtual bus as a subcomponent of the bus and one with the virtual bus bound using a property association.
|
Checked in some changes on Friday. So far they seem to be working when checked with the above models. Need a more complicated example with
|
More complicated example:
|
I'm not really sure how to draw a picture for the above, but I'm going to give a hierarchical breakdown of it.
Results
Note
|
After discussion with @lwrage, we have decided that a more sophisticated implementation is required. In particular, analysis should consider the data overhead introduced by buses and virtual buses. This requires that the analysis have a more complete model of the bus and connection hierarchy. Once we have this, analysis can also produce more readable results. Other changes
Need to think more about how broadcast should be affected by virtual buses. Need to rewrite the help text and put it in a useful place. |
Okay, first step is to build a model of the bus–connection hierarchy. This should not be too hard. (Famous last words?) |
I'm just going to start the analysis from scratch and cut and paste as necessary. Right now I'm creating "New Bus Load Analysis" and we'll kill the old one and rename the new one when we are done. |
Also per @lwrage, now is a good time to update the analysis to use the analysis results objects. Basically this this analysis is getting a complete rewrite. |
Model building is done. Now to analyze based on the model. |
After discussion with @lwrage again, we have revised the above.
|
Revise the test models:
|
Basic analysis seems to be working. Just prints to the console right now. Going to test it more (see above). Then fix it to use |
Test case for data overhead
|
Testing connections
|
Testing just the capacity vs. budget properties on buses and virtual buses
|
(So far all the tests above have been good: I haven't need to change the analysis code.) |
Final set of tests
All seems good |
Added markers. |
I didn't do the markers correctly. Now that I'm looking at how to create the |
Format for the
|
Generation of Generation of CSV file is in.
Markers are generated from results and labeled with the SOM. Next step is to clean up the implementation:
|
Rewrote the handler to avoid using Analysis handler supports the selection of multiple instance models in the same was as the Reinstantiate command. Tries to set up the resource locking to maximize the amount of parallelism available to the independent analysis jobs. Remaining tasks:
|
I cannot get rid of the old |
Remaining tasks:
|
JUnit test are it. Had to create |
Still to do:
|
To make the tab-separated columns work in Excel (and work better in Numbers), I need to make the first line of the output file
Where |
Changed the output file to end with |
Switched the output file format again. Back to comma-separated, but using quoted data elements. This works in Excel, Numbers, and LibreOffice. |
Created a broadcast example:
We expect that
Problem, the results do not show the connections that are merged into the broadcast. |
A bigger example, three groups of connections that merged due to broadcast:
We expect that
Here we see even more the importance of marking the connections that are part of a broadcast. This needs to be incorporated into the model. Going to need to update |
Updated the analysis to group together broadcasts in the results. This affected the structure of the result tree in the output. I have updated the JavaDoc. I have added JUnit tests for this. TODO: Help docs |
Added help txt |
Summary
The bus load analysis ignores virtual bus components. They should be treated like buses to allow partitioning of a physical bus into channels with their own bandwidth capacities.
Environment
The text was updated successfully, but these errors were encountered: