Interconnect simulation. Different levels for Evaluating an architecture Numerical models – Mathematic formulations to obtain performance characteristics.

Slides:



Advertisements
Similar presentations
Prof. Natalie Enright Jerger
Advertisements

Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
Presentation of Designing Efficient Irregular Networks for Heterogeneous Systems-on-Chip by Christian Neeb and Norbert Wehn and Workload Driven Synthesis.
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
Jaringan Komputer Lanjut Packet Switching Network.
CS4550: Computer Networks II network layer basics 3 routing & congestion control.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
REAL-TIME COMMUNICATION ANALYSIS FOR NOCS WITH WORMHOLE SWITCHING Presented by Sina Gholamian, 1 09/11/2011.
Fundamentals of Python: From First Programs Through Data Structures
1 Message passing architectures and routing CEG 4131 Computer Architecture III Miodrag Bolic Material for these slides is taken from the book: W. Dally,
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
CS 408 Computer Networks Congestion Control (from Chapter 05)
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
Network based System on Chip Final Presentation Part B Performed by: Medvedev Alexey Supervisor: Walter Isaschar (Zigmond) Winter-Spring 2006.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Performance Modeling Computer Science Division Department of Electrical Engineering and Computer.
Congestion Control and Resource Allocation
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Introduction to Simulation Shiv Kalyanaraman Rensselaer Polytechnic Institute
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Rethinking Internet Traffic Management: From Multiple Decompositions to a Practical Protocol Jiayue He Princeton University Joint work with Martin Suchara,
Lecture 5: Congestion Control l Challenge: how do we efficiently share network resources among billions of hosts? n Last time: TCP n This time: Alternative.
Color Aware Switch algorithm implementation The Computer Communication Lab (236340) Spring 2008.
Layer-3 Routing Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
Performance and Power Efficient On-Chip Communication Using Adaptive Virtual Point-to-Point Connections M. Modarressi, H. Sarbazi-Azad, and A. Tavakkol.
COMPUTER NETWORK: MODELING AND SIMULATION -Abhaykumar Kumbhar Computer Science Department.
Connecting LANs, Backbone Networks, and Virtual LANs
Network Topologies.
Switching, routing, and flow control in interconnection networks.
High Performance Embedded Computing © 2007 Elsevier Lecture 16: Interconnection Networks Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Analysis of Simulation Results Andy Wang CIS Computer Systems Performance Analysis.
Distributed Quality-of-Service Routing of Best Constrained Shortest Paths. Abdelhamid MELLOUK, Said HOCEINI, Farid BAGUENINE, Mustapha CHEURFA Computers.
Routing Protocol Evaluation David Holmer
QoS Support in High-Speed, Wormhole Routing Networks Mario Gerla, B. Kannan, Bruce Kwan, Prasasth Palanti,Simon Walton.
High-Level Interconnect Architectures for FPGAs An investigation into network-based interconnect systems for existing and future FPGA architectures Nick.
Author : Jing Lin, Xiaola Lin, Liang Tang Publish Journal of parallel and Distributed Computing MAKING-A-STOP: A NEW BUFFERLESS ROUTING ALGORITHM FOR ON-CHIP.
High-Level Interconnect Architectures for FPGAs Nick Barrow-Williams.
1 Message passing architectures and routing CEG 4131 Computer Architecture III Miodrag Bolic Material for these slides is taken from the book: W. Dally,
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
1 Network Simulator Tutorial. 2 Network Simulation * Motivation: Learn fundamentals of evaluating network performance via simulation Overview: fundamentals.
CS 453 Computer Networks Lecture 18 Introduction to Layer 3 Network Layer.
1 Countering DoS Through Filtering Omar Bashir Communications Enabling Technologies
CS 8501 Networks-on-Chip (NoCs) Lukasz Szafaryn 15 FEB 10.
Simulation Tutorial By Bing Wang Assistant professor, CSE Department, University of Connecticut Web site.
Interconnect simulation. Different levels for Evaluating an architecture Numerical models – Mathematic formulations to obtain performance characteristics.
Routing and Routing Protocols
Network Simulation Motivation: r learn fundamentals of evaluating network performance via simulation Overview: r fundamentals of discrete event simulation.
Network Simulator Tutorial Wireless Networks. Acknowledgements Material is taken from the presentations by Jim Kurose, University of Massachusetts, Amherst.
An Efficient Gigabit Ethernet Switch Model for Large-Scale Simulation Dong (Kevin) Jin.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
An Efficient Gigabit Ethernet Switch Model for Large-Scale Simulation Dong (Kevin) Jin.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
5: DataLink Layer 5a-1 Bridges and spanning tree protocol Reference: Mainly Peterson-Davie.
Virtual-Channel Flow Control William J. Dally
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
SERENA: SchEduling RoutEr Nodes Activity in wireless ad hoc and sensor networks Pascale Minet and Saoucene Mahfoudh INRIA, Rocquencourt Le Chesnay.
Providing QoS in IP Networks
Ch 1: Simulation of Computer Networks. 1.1 Computer Networks and the Layering Concept Layering Concept Service Interface Protocol.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Traffic Simulation L2 – Introduction to simulation Ing. Ondřej Přibyl, Ph.D.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Chapter 3 Part 3 Switching and Bridging
Network Simulator Tutorial
Topics discussed in this section:
Introduction to Simulation
Chapter 3 Part 3 Switching and Bridging
Computer Simulation of Networks
Switching, routing, and flow control in interconnection networks
Chapter 3 Part 3 Switching and Bridging
QoS routing Finding a path that can satisfy the QoS requirement of a connection. Achieving high resource utilization.
Presentation transcript:

Interconnect simulation

Different levels for Evaluating an architecture Numerical models – Mathematic formulations to obtain performance characteristics (close form or non-close form) Simulation – Simulating the hardware in a program Emulation Prototype Operational system

Simulation *Jim Kurose, University of Massachusets, Amherst system under study (has deterministic rules governing its behavior) exogenous inputs to system (the environment) system boundary observer “real” life computer program simulates deterministic rules governing behavior psuedo random inputs to system (models environment) program boundary observer “simulated” life

Why simulation? real-system not available, is complex/costly or dangerous (eg: space simulations, flight simulations) quickly evaluate design alternatives (eg: different system configurations) evaluate complex functions for which closed form formulas or numerical techniques not available

Simulation advantages and limitations advantages: – sometimes cheaper – find bugs (in design) in advance – generality: over analytic/numerical techniques – detail: can simulate system details at arbitrary level drawbacks: – caution: does model reflect reality? – large scale systems: lots of resources to simulate (especially accurately simulate) – may be slow (computationally expensive – 1 min real time could be hours of simulated time) – art: determining right level of model complexity – statistical uncertainty in results

Types of simulators Time driven simulation – Cycle/instructor based simulation – Stop and observe the system after a fixed time interval (cycle, instruction, etc) – Events are assumed to happen at the time interval boundary Event driven simulation – Move from one event to another – Not at a fixed interval – Always simulate the first event in the future – this event may trigger new events before the second event.

Types of simulators For network simulation, it is more common to use event driven simulation technique. – Flow-level simulation (fluid model) How each flow is transmitted Topology and routing issues – Packet-level simulation How each packet is sent from the source to the destination More detailed packet level issues such as packet scheduling, congestion control, etc. – Flit-level simulation How each flit goes through the network E.g. examine the performance of wormhole routing

Programming an event driven interconnect simulator Define a set of events – E.g. Message arrival, message departure, etc Each event will trigger the change of the state in the system The simulator simulates the system activities for the events – Change system states E.g. when a message starts communicating, the throughput of other messages may be affected. – Adding future events if necessary.

Programming an event-driven simulator An event driven simulator must maintain the following: – simulated time: internal (to simulation program) variable that keeps track of simulated time – system “state”: variables maintained by simulation program define system “state” e.g., may track number (possibly order) of packets in queue, current value of retransmission timer – events: points in time when system changes state each event has associate event time – e.g., arrival of packet to queue, departure from queue – precisely at these points in time that simulation must take action (change state and may cause new future events) model for time between events (probabilistic) caused by external environment

Event driven simulator block diagram initialize event list get next (nearest future) event from event list time = event time update statistics done? n process event (change state values, add/delete future events from event list)

An example: a flow level network simulator Input: – a list of messages as well as their arrival time src_id, dst_id, msg_size, arrival_time Output – the finishing time for each message Assumption: The topology and the routing scheme is given. – Topology: Link between switches and its bandwidth – Routing: given a pair of src_id and dst_id, routing givens thelist of links along a path from source to destination.

An example flow level simulator Events – Message arrival and message departure Modeling network activities – Given a set of active flows, we must model the transmission rates for each active flow. Need to make assumptions One possible assumption: the flow rate is equal to the equal share of the link bandwidth for the most loaded link along its path. Another possible assumption: MAX-MIN fairness.

An example flow level simulator Assumption 1: the flow rate is equal to the equal share of the link bandwidth for the most loaded link along its path. Assumption 2: MAX-MIN fairness Active flows: 1->5, 2->3, 3->5, 4->5, link bandwidth 1Mbps – Assumption 1: 1->5, 3->5, 4->5 333Mbps, 2->3, 500Mbps – Assumption 2: 1->5, 3->5, 4->5 333Mbps, 2->3, 667Mbps

An example flow level simulator Network state: – Active messages, sizes of reminding active messages, rate for each active message, may be the finishing time for each active message based on the current data rate. – When a new message arrives, the number of active messages increases: the network state needs to be recomputed – When a message finishes, the number of active message decreases: the network state needs to be recomputed.

An example flow level simulator initialize event list get next (nearest future) event from event list time = event time update statistics done? n process event (change state values, add/delete future events from event list) put all messages in priority queue get next (nearest future) (first arrival time or finishing time) time = event time If message finish, output time/msg done? n Change the set of active flows Recompute the reminding message size, new rate, and new finishing time

An example flow level simulation Will write up a homework and prepare topology and routing files. How accurate if the simulator? – A lot of assumptions – this is common for all simulation type of work. – If the assumption or the model is off, simulation produces junk results.

Another example: a packet level simulator Objective: to investigate different packet scheduling algorithms used in routers. Input: – a list of messages as well as their arrival time src_id, dst_id, msg_size, arrival_time – The messages can be generated following some distribution – to evaluate the performance under different traffic conditions. Output – the finishing time for each message

An example packet level simulator Events: – Message arrives a compute node, packet at a compute node, packet arrives at a port, packet moves to an output port, etc. Model system activities – Modeling the compute node behavior – Model router behavior

An example packet level simulator Model system activities – Modeling the compute node behavior When a message arrives, packetize the message, insert packets into a host packet queue (with ready time) to be injected to the network. When a packet is received, if it is the last packet of a message, keep the statistics.

An example packet level simulator – Modeling router behavior Each input port can be modeled by an input queue Each output port can be modeled by an output queue Packet scheduling algorithm: when multiple packets are ready at the input queue, the algorithm determines which packet gets to be scheduled to the output queue. Modeling router latency: after a packet is removed from an input queue, insert the packet to the output queue with a time stamp equal to current_time + latency – Modeling link latency?

An example packet level simulator Network states: – Queues on routers and end hosts, message at end hosts The simulator basically figures out the next future event, and perform the event – A message arrives at end host: packetize the message – A packet is ready on end host: move the packet – A packet is ready on a queue: move the packet

An example packet level simulator initialize event list get next (nearest future) event from event list time = event time update statistics done? n process event (change state values, add/delete future events from event list)

Packet level.vs. flow level simulation Flow level simulation has higher level of abstraction – more details are lost. Is flow level simulation always more efficient?

Network simulation packages For network simulation, the driver is quite standard. – Difference in the modeling techniques Quite some network simulators are available: – NS2, OpNet, Mininet, etc – Provide many common library funcationality – Allow build the network topology and routing schemes. When to use the existing simulators and when to write one from scratch?