130 likes | 382 Views
NoC Benchmarks Part 1:. Application Modeling and Hardware Description. OCP-IP NoC Benchmarking Workgroup. March, 2008. NoC benchmarking questions:. How good is this NoC? How good is this NoC at transporting data? How good is this NoC at transporting this application’s data?
E N D
NoC Benchmarks Part 1: Application Modeling and Hardware Description OCP-IP NoC Benchmarking Workgroup March, 2008
NoC benchmarking questions: • How good is this NoC? • How good is this NoC at transporting data? • How good is this NoC at transporting this application’s data? • How good is this NoC at transporting these applications’ data? • How good is this NoC compared to this other NoC? • Can a NoC be (formally) described without exposing proprietary data?
How good is this NoC? • Define set of parameters of interest • Measure and report systematically • Refine NoC design based on reproducible data • Improve NoC CAD tools
How good is this NoC at transporting data? • Separate computing elements from NoC infrastructure • Model NoC data flow and interaction with processing elements • Define common formats for describing: • Application • Mapping • NoC platform
Benchmarks modeling principles • Separation: task graphs model computation/communication • Orthogonality: application task graph, mapped tasks/PE set and network fabric are interchangeable • Modularity: each hierarchical component can be used independently
XML model • - XML/schema description • tags for each component/set of components
Data flow model • Data is generated by task graphs nodes • Trigger conditions defined for each task • AND: all task’s inputs received triggering data • OR: any one input received triggering data • Each triggering defines: • Operation count • Data amount to be sent • Output port(s) to send data
Triggering events • Set of events defines the “testbench” • Events represented as non-mapped nodes in task graph • Periodic or “one-shot” • At least one event needed to start an application
Mapping • Relates tasks to processing elements • Two-step mapping: • Tasks into groups • Groups onto processing elements • Can model OS threads
Platform model • Resources • Type • NoC terminal to connect • DMA if present • Communication overhead • Other parameters: operating frequency, # of operations per cycle, power, aspect ratio
Network model • Terminals • Topology (routers, links) • arbitrary level of design details • default parameters provided • additional parameters can be provided as name-value pairs
Measurements • Amount of data injected/ejected • Number of tasks processed • Number of time a task is processed • Number of communication phases executed • Deadline violations
Ongoing work • Call for benchmarks • Collect & make available NoC benchmarks • Testcases examples • More updates to come