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

Max throughput of Random traffic #60

Open
zliu2014 opened this issue Dec 11, 2023 · 4 comments
Open

Max throughput of Random traffic #60

zliu2014 opened this issue Dec 11, 2023 · 4 comments

Comments

@zliu2014
Copy link

Hi,

I got the max throughput of 2d 6x6 Mesh with Random traffic is about 0.07 flits/node/cycle for 1 VC (4 buffers).
Is this an expected result ? Thanks

---Z. Liu

@zliu2014
Copy link
Author

// This is the said test configuration:
class MyNoC6x6Config extends NoCTesterConfig(NoCTesterParams(NoCParams(
topology = Mesh2D(6, 6),
channelParamGen = (a, b) => UserChannelParams(Seq.fill(1) { UserVirtualChannelParams(4) }),
ingresses = (0 until 36).map { i => UserIngressParams(i) },
egresses = (0 until 36).map { i => UserEgressParams(i) },
flows = Seq.tabulate(36, 36) { (s, d) =>
if (s != d) Some(FlowParams(s, d, 0)) else None }.flatten.flatten,
routingRelation = Mesh2DDimensionOrderedRouting()
)))

@jerryz123
Copy link
Collaborator

How are you measuring throughput? When the offered traffic exceeds the capacity of the network, throughput will plummet. Here is an example result from PPIN:
image

@zliu2014
Copy link
Author

zliu2014 commented Dec 12, 2023

Hi, Jerry. Thanks for the valuable info. I increased the ROB entry size to 1024 in TestHarness.scala, and make sure each Node (Ingress node) can only allocated up to 16 entries (16 * 36 < 1024), and the packet size is 1 flit. Then I run the test with random traffic for 10^6 flits totally. I print the throughput using "total_flits/total_cycles/36", as "flits per cycle per node". Based your above graph, my test probably corresponds to the decreasing region ?
What is the definition of the "Offered traffic (fraction of capacity)" in the above figure ?

@jerryz123
Copy link
Collaborator

From PPIN:

The capacity is defined as the best possible throughput, assuming perfect routing and flow control, that could be achieved by the network under the given traffic pattern.

You may want to look at running the EvalHarness classes, those will throttle traffic and measure the throughput for you.

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

No branches or pull requests

2 participants