SlideShare a Scribd company logo
CS 6290
Many-core & Interconnect
Milos Prvulovic
Fall 2007
Interconnection Networks
• Classification: Shared Medium or Switched
Shared Media Networks
• Need arbitration to decide who gets to talk
• Arbitration can be centralized or distributed
• Centralized not used much for networks
– Special arbiter device (or must elect arbiter)
– Good performance if arbiter far away? Nah.
• Distributed arbitration
– Check if media already used (carrier sensing)
– If media not used now, start sending
– Check if another also sending (collision detection)
– If collision, wait for a while and retry
• “For a while” is random (otherwise collisions repeat forever)
• Exponential back-off to avoid wasting bandwidth on collisions
Switched Networks
• Need switches
– Introduces switching overheads
• No time wasted on arbitration and collisions
• Multiple transfers can be in progress
– If they use different links, of course
• Circuit or Packet Switching
– Circuit switching: end-to-end connections
• Reserves links for a connection (e.g. phone network)
– Packet switching: each packet routed separately
• Links used only when data transferred (e.g. Internet Protocol)
Routing
• Shared media has trivial routing (broadcast)
• In switched media we can have
– Source-based (source specifies route)
– Virtual circuits (end-to-end route created)
• When connection made, set up route
• Switches forward packets along the route
– Destination-based (source specifies destination)
• Switches must route packet toward destination
• Also can be classified into
– Deterministic (one route from a source to a destination)
– Adaptive (different routes can be used)
Routing Methods for Switches
• Store-and-Forward
– Switch receives entire packet, then forwards it
– If error occurs when forwarding, switch can re-send
• Wormhole routing
– Packet consists of flits (a few bytes each)
– First flit contains header w/ destination address
– Switch gets header, decides where to forward
– Other flits forwarded as they arrive
– Looks like packet worming through network
– If an error occurs along the way, sender must re-send
• No switch has the entire packet to re-send it
Cut-Through Routing
• What happens when link busy?
– Header arrives to switch, but outgoing link busy
– What do we do with the other flits of the packet?
• Wormhole routing: stop the tail when head stops
– Now each flit along the way blocks the a link
– One busy link creates other busy links => traffic jam
• Cut-Through Routing
– If outgoing link busy, receive and buffer incoming flits
– The buffered flits stay there until link becomes free
– When link free, the flits start worming out of the switch
– Need packet-sized buffer space in each switch
• Wormhole Routing switch needs to buffer only one flit
Routing: Network Latency
• Switch Delay
– Time from incoming to outgoing link in a switch
• Switches
– Number of switches along the way
• Transfer time
– Time to send the packet through a link
• Store-and-Forward end-to-end transfer time
– (Switches*SwitchDelay)+(TransferTime*(Switches+1))
• Wormhole or Cut-Through end-to-end transfer time
– (Switches*SwitchDelay) + TransferTime
– Much better if there are many switches along the way
– See the example on page 811
Switch Technology
• What do we want in a switch
– Many input and output links
• Usually number of input and output links the same
– Low contention inside the switch
• Best if there is none (only external links cause contention)
– Short switching delay
• Crossbar
– Very low switching delay, no internal contention
– Complexity grows as square of number of links
• Can not have too many links (e.g. up to 64 in and 64 out)
Switch Technology
• What do we want in a switch
– Many input and output links
• Usually number of input and output links the same
– Low contention inside the switch
• Best if there is none (only external links cause contention)
– Short switching delay
• Crossbar
– Very low switching delay, no internal contention
– Complexity grows as square of number of links
• Can not have too many links (e.g. up to 64 in and 64 out)
• Omega Network
– Build switches with more ports using small crossbars
– Lower complexity per link, but longer delay and more contention
Switch Technology
Network Topology
Network Topology
• What do we want in a network topology
– Many nodes, high bandwidth, low contention, low
latency
– Low latency: few switches along any route
• For each (src, dest) pair, we choose shortest route
• Longest such route over all (src,dst) pairs: network diameter
• We want networks with small diameter!
– Low contention: high aggregate bandwidth
• Divide network into two groups, each with half the nodes
• Total bandwidth between groups is bisection bandwidth
• Actually, we use the minimum over all such bisections
On-Chip Networks
• We’ll have many cores on-chip
– Need switched network to provide bandwidth
• Need to map well onto chip surface
– E.g. hypercube is not great
• Mesh or grid should work well, torus OK too
– Limited ports per switch (CPU & 4 neighbors)
– All links short (going to neighbors)
– Many parallel algorithms map well onto grids
• Matrices, grids, etc.
Trouble with shared caches
• Private caches OK
– Each placed with its own processor
• We want a shared cache, too
– Fits more data than if broken into private
caches
• Private caches replicate data
– Dynamically shared
• Threads that need more space get more space
• But how do we make a shared cache fast
Trouble with shared caches
• Private caches OK
– Each placed with its own processor
• We want a shared cache, too
– Fits more data than if broken into private
caches
• Private caches replicate data
– Dynamically shared
• Threads that need more space get more space
• But how do we make a shared cache fast
Non-uniform Cache Arch. (NUCA)
Bank
Switch
CPU
Request 0x….3
Request 0x….C
S-NUCA Perormance
• Fast access to nearby banks
• Slow access to far-away banks
• Average better than worst-case
CPU
D-NUCA Solution
A B
D-NUCA Perormance
• Fast access to nearby banks
• Slow access to far-away banks
• Average much better than worst-case
• But we keep moving blocks
– Lots of power-hungry activity
• Need smart policies for block migration
– Move blocks less frequently
– But get most of the benefit of being able to
move
D-NUCA Issues
• Blocks keep moving, how do we find them?
• One solution: Use an on-chip directory!
– Use direct mapping to assign a home bank
– If we don’t know where the block is,
ask the home bank
– If we move the block, tell the home bank
– If we think we know where the block is,
look there. If it’s been moved, ask home bank

More Related Content

Similar to unit1.ppt (20)

PPTX
Unit 3_Network Layer_Part II.pptx
HODElex
 
PPT
Circuit and Packet Switching Methods Presentation
NiharikaDubey17
 
PPT
24-ad-hoc.ppt
sumadi26
 
PPTX
Unit 4_Network Layer_Part II.pptx
HODElex
 
PPTX
Routing algorithm
Bushra M
 
PPT
Chapter 2 Switches in network.ppt
monikarawat57
 
PDF
Computer Network notes L2 - Introduction.pdf
workbdevraj
 
PDF
ITFT_Switching
Swati Aggarwal
 
PPT
layer2-network-design.ppt
Patrick Theuri
 
PPTX
Topology,Switching and Routing
Anushiya Ram
 
PPT
chapter4-processes nd processors in DS.ppt
aakarshsiwani1
 
PPTX
Module 1 Introduction to Computer Networks.pptx
AASTHAJAJOO
 
PPT
Overlaynetworks-SDN-COMPUTER NETWORKS.ppt
MARIAMICHAELVISUWASA
 
PPT
Switching
Shankar Gangaju
 
PPTX
Network protocol structure scope
Sanat Maharjan
 
PPTX
Networkprotocolstructurescope 130719081246-phpapp01
Gaurav Goyal
 
PPT
Chapter 4
ushabarad142
 
PPT
12 ipt 0303 transmitting and receiving
ctedds
 
PPT
10Switchesjjkbkjbkbkjbkjbjkbjkbjkbjkhkhkjhjk
ergurleendhillon28
 
PPT
Lecture of network education 10Switches.ppt
shelgohary
 
Unit 3_Network Layer_Part II.pptx
HODElex
 
Circuit and Packet Switching Methods Presentation
NiharikaDubey17
 
24-ad-hoc.ppt
sumadi26
 
Unit 4_Network Layer_Part II.pptx
HODElex
 
Routing algorithm
Bushra M
 
Chapter 2 Switches in network.ppt
monikarawat57
 
Computer Network notes L2 - Introduction.pdf
workbdevraj
 
ITFT_Switching
Swati Aggarwal
 
layer2-network-design.ppt
Patrick Theuri
 
Topology,Switching and Routing
Anushiya Ram
 
chapter4-processes nd processors in DS.ppt
aakarshsiwani1
 
Module 1 Introduction to Computer Networks.pptx
AASTHAJAJOO
 
Overlaynetworks-SDN-COMPUTER NETWORKS.ppt
MARIAMICHAELVISUWASA
 
Switching
Shankar Gangaju
 
Network protocol structure scope
Sanat Maharjan
 
Networkprotocolstructurescope 130719081246-phpapp01
Gaurav Goyal
 
Chapter 4
ushabarad142
 
12 ipt 0303 transmitting and receiving
ctedds
 
10Switchesjjkbkjbkbkjbkjbjkbjkbjkbjkhkhkjhjk
ergurleendhillon28
 
Lecture of network education 10Switches.ppt
shelgohary
 

More from MsRAMYACSE (8)

PPTX
plant ppt.pptx
MsRAMYACSE
 
PPT
Unit 2-Design Patterns.ppt
MsRAMYACSE
 
PPT
Unit 2.ppt
MsRAMYACSE
 
PPT
unit-4.ppt
MsRAMYACSE
 
PPT
Unit 1.ppt
MsRAMYACSE
 
PPTX
garden.pptx
MsRAMYACSE
 
PPTX
organ.pptx
MsRAMYACSE
 
PPTX
xen.pptx
MsRAMYACSE
 
plant ppt.pptx
MsRAMYACSE
 
Unit 2-Design Patterns.ppt
MsRAMYACSE
 
Unit 2.ppt
MsRAMYACSE
 
unit-4.ppt
MsRAMYACSE
 
Unit 1.ppt
MsRAMYACSE
 
garden.pptx
MsRAMYACSE
 
organ.pptx
MsRAMYACSE
 
xen.pptx
MsRAMYACSE
 

Recently uploaded (20)

PDF
07.15.2025 - Managing Your Members Using a Membership Portal.pdf
TechSoup
 
PPTX
national medicinal plants board mpharm.pptx
SHAHEEN SHABBIR
 
PPTX
Mrs Mhondiwa Introduction to Algebra class
sabinaschimanga
 
PPTX
LEGAL ASPECTS OF PSYCHIATRUC NURSING.pptx
PoojaSen20
 
PPTX
Constitutional Design Civics Class 9.pptx
bikesh692
 
PPTX
ENGLISH LEARNING ACTIVITY SHE W5Q1.pptxY
CHERIEANNAPRILSULIT1
 
PPTX
Maternal and Child Tracking system & RCH portal
Ms Usha Vadhel
 
PPTX
quizbeenutirtion-230726075512-0387d08e.pptx
domingoriahlyne
 
PPTX
Modern analytical techniques used to characterize organic compounds. Birbhum ...
AyanHossain
 
PPTX
How to Manage Resupply Subcontracting in Odoo 18
Celine George
 
PPTX
10CLA Term 3 Week 4 Study Techniques.pptx
mansk2
 
PDF
water conservation .pdf by Nandni Kumari XI C
Directorate of Education Delhi
 
PPTX
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
PDF
Right to Information.pdf by Sapna Maurya XI D
Directorate of Education Delhi
 
PPTX
GENERAL METHODS OF ISOLATION AND PURIFICATION OF MARINE__MPHARM.pptx
SHAHEEN SHABBIR
 
PPTX
ANORECTAL MALFORMATIONS: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PDF
Ziehl-Neelsen Stain: Principle, Procedu.
PRASHANT YADAV
 
PDF
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
PPTX
IDEAS AND EARLY STATES Social science pptx
NIRANJANASSURESH
 
PDF
FULL DOCUMENT: Read the full Deloitte and Touche audit report on the National...
Kweku Zurek
 
07.15.2025 - Managing Your Members Using a Membership Portal.pdf
TechSoup
 
national medicinal plants board mpharm.pptx
SHAHEEN SHABBIR
 
Mrs Mhondiwa Introduction to Algebra class
sabinaschimanga
 
LEGAL ASPECTS OF PSYCHIATRUC NURSING.pptx
PoojaSen20
 
Constitutional Design Civics Class 9.pptx
bikesh692
 
ENGLISH LEARNING ACTIVITY SHE W5Q1.pptxY
CHERIEANNAPRILSULIT1
 
Maternal and Child Tracking system & RCH portal
Ms Usha Vadhel
 
quizbeenutirtion-230726075512-0387d08e.pptx
domingoriahlyne
 
Modern analytical techniques used to characterize organic compounds. Birbhum ...
AyanHossain
 
How to Manage Resupply Subcontracting in Odoo 18
Celine George
 
10CLA Term 3 Week 4 Study Techniques.pptx
mansk2
 
water conservation .pdf by Nandni Kumari XI C
Directorate of Education Delhi
 
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
Right to Information.pdf by Sapna Maurya XI D
Directorate of Education Delhi
 
GENERAL METHODS OF ISOLATION AND PURIFICATION OF MARINE__MPHARM.pptx
SHAHEEN SHABBIR
 
ANORECTAL MALFORMATIONS: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
Ziehl-Neelsen Stain: Principle, Procedu.
PRASHANT YADAV
 
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
IDEAS AND EARLY STATES Social science pptx
NIRANJANASSURESH
 
FULL DOCUMENT: Read the full Deloitte and Touche audit report on the National...
Kweku Zurek
 

unit1.ppt

  • 1. CS 6290 Many-core & Interconnect Milos Prvulovic Fall 2007
  • 3. Shared Media Networks • Need arbitration to decide who gets to talk • Arbitration can be centralized or distributed • Centralized not used much for networks – Special arbiter device (or must elect arbiter) – Good performance if arbiter far away? Nah. • Distributed arbitration – Check if media already used (carrier sensing) – If media not used now, start sending – Check if another also sending (collision detection) – If collision, wait for a while and retry • “For a while” is random (otherwise collisions repeat forever) • Exponential back-off to avoid wasting bandwidth on collisions
  • 4. Switched Networks • Need switches – Introduces switching overheads • No time wasted on arbitration and collisions • Multiple transfers can be in progress – If they use different links, of course • Circuit or Packet Switching – Circuit switching: end-to-end connections • Reserves links for a connection (e.g. phone network) – Packet switching: each packet routed separately • Links used only when data transferred (e.g. Internet Protocol)
  • 5. Routing • Shared media has trivial routing (broadcast) • In switched media we can have – Source-based (source specifies route) – Virtual circuits (end-to-end route created) • When connection made, set up route • Switches forward packets along the route – Destination-based (source specifies destination) • Switches must route packet toward destination • Also can be classified into – Deterministic (one route from a source to a destination) – Adaptive (different routes can be used)
  • 6. Routing Methods for Switches • Store-and-Forward – Switch receives entire packet, then forwards it – If error occurs when forwarding, switch can re-send • Wormhole routing – Packet consists of flits (a few bytes each) – First flit contains header w/ destination address – Switch gets header, decides where to forward – Other flits forwarded as they arrive – Looks like packet worming through network – If an error occurs along the way, sender must re-send • No switch has the entire packet to re-send it
  • 7. Cut-Through Routing • What happens when link busy? – Header arrives to switch, but outgoing link busy – What do we do with the other flits of the packet? • Wormhole routing: stop the tail when head stops – Now each flit along the way blocks the a link – One busy link creates other busy links => traffic jam • Cut-Through Routing – If outgoing link busy, receive and buffer incoming flits – The buffered flits stay there until link becomes free – When link free, the flits start worming out of the switch – Need packet-sized buffer space in each switch • Wormhole Routing switch needs to buffer only one flit
  • 8. Routing: Network Latency • Switch Delay – Time from incoming to outgoing link in a switch • Switches – Number of switches along the way • Transfer time – Time to send the packet through a link • Store-and-Forward end-to-end transfer time – (Switches*SwitchDelay)+(TransferTime*(Switches+1)) • Wormhole or Cut-Through end-to-end transfer time – (Switches*SwitchDelay) + TransferTime – Much better if there are many switches along the way – See the example on page 811
  • 9. Switch Technology • What do we want in a switch – Many input and output links • Usually number of input and output links the same – Low contention inside the switch • Best if there is none (only external links cause contention) – Short switching delay • Crossbar – Very low switching delay, no internal contention – Complexity grows as square of number of links • Can not have too many links (e.g. up to 64 in and 64 out)
  • 10. Switch Technology • What do we want in a switch – Many input and output links • Usually number of input and output links the same – Low contention inside the switch • Best if there is none (only external links cause contention) – Short switching delay • Crossbar – Very low switching delay, no internal contention – Complexity grows as square of number of links • Can not have too many links (e.g. up to 64 in and 64 out) • Omega Network – Build switches with more ports using small crossbars – Lower complexity per link, but longer delay and more contention
  • 13. Network Topology • What do we want in a network topology – Many nodes, high bandwidth, low contention, low latency – Low latency: few switches along any route • For each (src, dest) pair, we choose shortest route • Longest such route over all (src,dst) pairs: network diameter • We want networks with small diameter! – Low contention: high aggregate bandwidth • Divide network into two groups, each with half the nodes • Total bandwidth between groups is bisection bandwidth • Actually, we use the minimum over all such bisections
  • 14. On-Chip Networks • We’ll have many cores on-chip – Need switched network to provide bandwidth • Need to map well onto chip surface – E.g. hypercube is not great • Mesh or grid should work well, torus OK too – Limited ports per switch (CPU & 4 neighbors) – All links short (going to neighbors) – Many parallel algorithms map well onto grids • Matrices, grids, etc.
  • 15. Trouble with shared caches • Private caches OK – Each placed with its own processor • We want a shared cache, too – Fits more data than if broken into private caches • Private caches replicate data – Dynamically shared • Threads that need more space get more space • But how do we make a shared cache fast
  • 16. Trouble with shared caches • Private caches OK – Each placed with its own processor • We want a shared cache, too – Fits more data than if broken into private caches • Private caches replicate data – Dynamically shared • Threads that need more space get more space • But how do we make a shared cache fast
  • 17. Non-uniform Cache Arch. (NUCA) Bank Switch CPU Request 0x….3 Request 0x….C
  • 18. S-NUCA Perormance • Fast access to nearby banks • Slow access to far-away banks • Average better than worst-case
  • 20. D-NUCA Perormance • Fast access to nearby banks • Slow access to far-away banks • Average much better than worst-case • But we keep moving blocks – Lots of power-hungry activity • Need smart policies for block migration – Move blocks less frequently – But get most of the benefit of being able to move
  • 21. D-NUCA Issues • Blocks keep moving, how do we find them? • One solution: Use an on-chip directory! – Use direct mapping to assign a home bank – If we don’t know where the block is, ask the home bank – If we move the block, tell the home bank – If we think we know where the block is, look there. If it’s been moved, ask home bank