100 likes | 311 Views
Virtual-Channel Flow Control. William J. Dally Presented by John Calandrino. Motivation. Two types of resources in interconnection networks Buffers: hold flits Channels: transport flits Typically, these resources are coupled Single buffer associated with single channel
E N D
Virtual-Channel Flow Control William J. Dally Presented by John Calandrino
Motivation • Two types of resources in interconnection networks • Buffers: hold flits • Channels: transport flits • Typically, these resources are coupled • Single buffer associated with single channel • If buffer is allocated to packet A, no packet except A can use associated channel • A can block others needing same channel
Virtual Channels • Consist of a flit buffer + other state • Multiple virtual channels per physical channel • Or, multiple buffers per channel • Decouples allocation of buffers and channels • Highway metaphor • Virtual channels are “lanes” • Multiple virtual channels allow for blocked packets to be “passed” • Very compatible with wormhole routing
Example • 1 lane • 2 lanes
Benefits • Increased network throughput • Greater utilization of network capacity • More freedom in allocation of resources • Extra dimension: which VC do we service? • Minimal hardware changes • FIFO buffers replaced with “multilane” buffers • Minimal additional hardware complexity
Operation Overview • Virtual channels allocated to packets • Can be reassigned when last flit of packet exits • If no virtual channel available, packet blocks • Flits travel across physical channel • Physical channel shared by multiple packets from different virtual channels • Physical channel allocated according to some scheduling policy (FIFO, round-robin, packet priorities, packet age, etc.)
Analytical Model Latency Throughput (2-ary n-cube) Claim: “4 to 8 lanes per physical channel is adequate for most networks.” Why is 60+% of capacity adequate?
Random vs. Deadline Scheduling Priority Traffic
Questions • Can we use the analytical model to make guarantees about the time a packet will take to reach a destination? • Probably not in the general case – assumptions of model may be too simplistic • What if packets needing such guarantees are given highest priority? • Are there applications where the benefits of virtual channels will not be realized? • What if multiple packets on the same path can frequently become blocked?