an introduction to interconnection networks & xmulator

24
McGill University 1 An Introduction to Interconnection Networks & Xmulator Sina Meraji March 2008

Upload: others

Post on 08-Nov-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Introduction to Interconnection Networks & Xmulator

McGill University 1

An Introduction to Interconnection Networks & Xmulator

Sina Meraji

March 2008

Page 2: An Introduction to Interconnection Networks & Xmulator

McGill University 2

OutlineIntroduction

Interconnection networksTopologySwitchingRouting

XmulatorMulti-Layer ArchitectureListener-Based Integration

Conclusions and future work

Page 3: An Introduction to Interconnection Networks & Xmulator

McGill University 3

Interconnection Network (IN)

A set of processors with local memories which communicate through a network

Duato J., Yalamanchili C. and Ni L., Interconnection Networks: An Engineering Approach”, IEEE computer society press, 1997.

Page 4: An Introduction to Interconnection Networks & Xmulator

McGill University 4

Terminology

Topology: The way nodes are interconnectedRouting Algorithm: Determines the path from source to destinationSwitching Method: Specifies when input channel is connected to the output channel selected by the routing algorithm

Page 5: An Introduction to Interconnection Networks & Xmulator

McGill University 5

Topology

Direct: Each node directly connects to its neighbor nodes

Indirect: Nodes are connected through a set of switches

Page 6: An Introduction to Interconnection Networks & Xmulator

McGill University 6

Indirect IN

Example: A butterfly constructed from 2x2 switches

Processing Element

Processing Element

Switching Element

Page 7: An Introduction to Interconnection Networks & Xmulator

McGill University 7

Direct INExample: Hypercube

1H

2H 3H

Page 8: An Introduction to Interconnection Networks & Xmulator

McGill University 8

Topology

Ring

Torus

K-ary N-cube

Hypercube

Page 9: An Introduction to Interconnection Networks & Xmulator

McGill University 9

Switching MethodsStore & Forward (Packet Switching)

Sending the message after receiving whole of the messageDisadvantagesLarge buffer space, Increasing time to transmit a message in network

Wormhole SwitchingMessages are divided into flits (= a few bytes)Each node has buffer for only one flit of a messageAdvantagesLatency is almost insensitive to distanceFast and simple routersDisadvantagesProne to deadlockA blocked message remains in the network. Hence, a bottleneck in a single point can increase the traffic of neighboring area

www.wikipedia.org

Page 10: An Introduction to Interconnection Networks & Xmulator

Switching Methods

Store & Forward

Wormhole

Source Destinationend node

Source Destinationend node

Buffers for datapackets

Requirement:buffers must be sizedto hold entire packet

Buffers for flits:packets can be larger

than buffers

Page 11: An Introduction to Interconnection Networks & Xmulator

Switching Methods

Wormhole

Source Destinationend node

Source Destinationend node

BusyLink

Packet storedalong the path

BusyLink

Packet completelystored atthe switch

Buffers for datapackets

Requirement:buffers must be sizedto hold entire packet

Buffers for flits:packets can be larger

than buffers

Store & Forward

Page 12: An Introduction to Interconnection Networks & Xmulator

McGill University 12

Routing AlgorithmsTopologies are simple and regularVery low delay and extra high bandwidth are neededSimple routing algorithms are developed for INs (deadlock is an important concern)Example: e-cube routing in hypercube networksMessages are routed along first dimension, thenrouting continues in other dimensions.

Page 13: An Introduction to Interconnection Networks & Xmulator

McGill University 13

e-CubeSource

Destination

Page 14: An Introduction to Interconnection Networks & Xmulator

McGill University 14

Xmulator: An Object Oriented Listener-based Network Simulator

XML + SimulatorDesigned in HPCAN lab. of SharifUniversity of Technology in 2006

Nayebi A., Meraji S. ,Shamaei A. and Sarbazi-Azad H., Xmulator: A listener-Based Integrated Simulation Platform for Interconnection Networks, Asian Modeling and Simulation (AMS), Pucket, Thailand, 2007

Page 15: An Introduction to Interconnection Networks & Xmulator

McGill University 15

Xmulator: An Object Oriented Listener-based Network Simulator

MotivationsDeveloping a simulator for simulating interconnection networks:

Possibility of defining details of hardware and algorithms with performance considerationsApplying wormhole, store & forward, and other switching techniques

Using new software architecture paradigms (Object Oriented and Multi-Layered Architecture)Using new programming languages (C# , java , XML)

Xmulator=XML+Simulator

Page 16: An Introduction to Interconnection Networks & Xmulator

McGill University 16

Xmulator: An Object Oriented Listener-based Network Simulator

MotivationsUsing XML format for defining topologies, parameters, and outputsNo need to learn a new programming or scripting languages and using the previous abilities of users in java and C# languages Ease of developing new packages, new tools for existing packages, or defining routing algorithmsPossibility of debugging even into the core of simulator Logging capabilities

Page 17: An Introduction to Interconnection Networks & Xmulator

McGill University 17

Simulator EngineManaging the events list:

Eliminating the event with less timeCall the ProcessXEvent of the component which the event belongs to it The above method can produce other events and register them in simulator engine

Xmulator use Red-Black tree to keep the concurrent event queues

Save the balanced tree during the workEliminate the smallest element with O(log N)Insert the element with O(log N)

Page 18: An Introduction to Interconnection Networks & Xmulator

Xmulator Multi-Layer Architecture

Page 19: An Introduction to Interconnection Networks & Xmulator

McGill University 19

Layers

First Layer: Util – Common – Log4net

Second Layer: BaseComponents-Distributions

Third Layer: InterconnectionNetwork - QueuingNetwork

Forth Layer: Presentation

Page 20: An Introduction to Interconnection Networks & Xmulator

McGill University 20

Listener Based IntegratingIncrease the ExtensibilityExample: Assume a queue and a server

The server must know the queue’s signature When an element enters the queue, server must serve itServer can’t check the queue at all the times

SolutionsQueue knows the server behavior (min extensibility)Simulator’s engine keeps track the way (min extensibility)

Page 21: An Introduction to Interconnection Networks & Xmulator

McGill University 21

Listener Based Integrating

Using the listener: Queue defines an event and server listens to it

The listener is called every time a new object is received by queue

Page 22: An Introduction to Interconnection Networks & Xmulator

McGill University 22

Conclusions & Future workDesign a user interface for Xmulator using AToM3

Using model transformation to generate the input XML file for Xmulator

Developing some routing protocols for interconnection networks

User can change input parameters to see their effects on performance

Page 23: An Introduction to Interconnection Networks & Xmulator

McGill University 23

ReferencesDuato J., Yalamanchili C. and Ni L., Interconnection Networks: an engineering approach”, IEEE computer society press, 1997. Monemizadeh M. and Sarbazi-Azad, H., The necklace-hypercube: a well scalable hypercube-based interconnection network for multiprocessors, ACM SAC 2005, pp.729-733, 2005.Nayebi A., Meraji S. ,Shamaei A. and Sarbazi-Azad H., Xmulator: A listener-Based Integrated Simulation Platform for Interconnection Networks, Submitted at Asian Modeling and Simulation (AMS’07). Dally W. J., and Seitz C., Deadlock-free message routing in multiprocessor interconnection networks, IEEE Trans. Computers, vol. C-36, no. 5, pp. 547-553, 1987.http://www.cm.cf.ac.uk/Parallel/Year2/section5.html

www.wikipedia.org

Page 24: An Introduction to Interconnection Networks & Xmulator

McGill University 24

Questions