from the book principles and practices of interconnection networks 

the chapter router architecture

These blocks of the router can be partitioned broadly into two groups based on functionality: the datapath and control plane.

The datapath of the router handles the storage and movement of a packet’s payload and consists of a set of input buffers, a switch, and a set of output buffers.

The remaining blocks implement the control plane of the router and are responsible for coordinating the movement of packets through the resources of the datapath.

The 21364’s crossbar is implemented as a mux for each output port, as shown.

To meet its aggressive timing requirements, the switch allocator is divided into two distinct units: a local arbiter and a global arbiter.

The local arbiters in each input unit choose a packet among all waiting packets that are ready.

A packet is considered ready when its output port is available and its downstream router has a free packet buffer.

Local arbitration takes one pipeline cycle (SA1) and, during the following cycle, the header information for each packet selected by a local arbiter is read and transported to the correct output (RE).

This header information is enough to begin the global arbitration cycle (SA2).

Since the local arbitration decisions are not coordinated, its quite possible that multiple packets have been selected for a single output.

The global arbiters resolve this conflict by choosing one packet for each output.

background:

While the augmenting path method always finds the maximum matching, it is difficult to parallelize or pipeline and is too slow for applications in which latency is important.

Therefore, the heuristic allocators based on a basic separable alloctor are proposed.

Most heuristic allocators are based on a basic separable allocator.

In a separable allocator, we perform allocation as two sets of arbitration: one across the inputs and one across the outputs.

In an input first separable allocator, an arbitration is first performed to select a single request at each input port.

Then, the outputs of these input arbiters are input to a set of output arbiters to select a single request for each output port.

The result is a legal matching, since there is at most one grant asserted for each input and for each output.

consequence:

It is possible for an input request to win the input arbitration, locking out the only request for a different output, and then lose the output arbitration.

This leaves an input and an output, which could have been trivially connected, both idle.

A 4 × 3 input-first separable allocator. A separable allocator performs allocation using two ranks of arbiters.

With an input-first allocator, the first rank picks one request from each input.

The second rank picks one of these selected input requests for each output.

An input-first separable allocator takes a request matrix and performs arbitration across the rows first and then down the columns.

Assume each arbiter selects the first asserted input.

Thus, the intermediate request matrix X after the input arbiters is

Note that X has eliminated input conflicts and thus has at most one non-zero entry in each row.

The output arbiters then eliminate output conflicts, giving a final grant matrix G with at most one non-zero in each column as well:

 

Basic Router Architecture的更多相关文章

  1. Basic Printing Architecture

    https://blogs.technet.microsoft.com/askperf/2007/06/19/basic-printing-architecture/ Printer sharing, ...

  2. Struts 2 Tutorial Basic MVC Architecture

    Model View Controller or MVC as it is popularly called, is a software design pattern for developing ...

  3. Chromium Graphics: Compositor Thread Architecture

    Compositor Thread Architecture <jamesr, enne, vangelis, nduca> @chromium.org Goals The main re ...

  4. Nginx Tutorial #1: Basic Concepts(转)

    add by zhj: 文章写的很好,适合初学者 原文:https://www.netguru.com/codestories/nginx-tutorial-basics-concepts Intro ...

  5. The Brain as a Universal Learning Machine

    The Brain as a Universal Learning Machine This article presents an emerging architectural hypothesis ...

  6. Command and Query Responsibility Segregation (CQRS) Pattern 命令和查询职责分离(CQRS)模式

    Segregate operations that read data from operations that update data by using separate interfaces. T ...

  7. RNN 入门教程 Part 4 – 实现 RNN-LSTM 和 GRU 模型

    转载 - Recurrent Neural Network Tutorial, Part 4 – Implementing a GRU/LSTM RNN with Python and Theano ...

  8. Detecting diabetic retinopathy in eye images

    Detecting diabetic retinopathy in eye images The past almost four months I have been competing in a  ...

  9. 6.00.1x Introduction to computation

    6.00 Introduction to Computer Science                  and  Programming • Goal: –Become skillful at ...

随机推荐

  1. 第五章 Inheritance继承

    [继承] Java不支持多重继承 - 每个子类只有一个超类. 不是将成员变量声明为静态,更好的做法是将University实例化为对象,然后使用该对象访问其成员,如下所示: [抽象类] 可以包含或者不 ...

  2. shell脚本计算斐波那契数列

    计算斐波那契数列 [1,1,2,3,5,8,,,,,] #!/bin/bash n=$ num=( ) i= while [[ $i -lt $n ]] do let num[$i]=num[$i-] ...

  3. first H5

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. .netcore webapi 在startup中读取配置字符串

    参考微软官方说明:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration 具体为: 读取方法见下图中标红的格式, ...

  5. L1-030 一帮一(15)(代码)

    L1-030 一帮一(15 分) "一帮一学习小组"是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组.本题就请你编写程序帮助老师自动完成这个分配工 ...

  6. 线性表(java)

    线性表 概念:零个或者多个数据元素的有限序列. 特点:除了第一个元素没有前驱结点,最后一个元素没有后继结点外,其它元素有且仅有一个直接前驱和一个直接后继结点.元素的个数必定为有限个. 实现: 定义一个 ...

  7. maven 单元测试 ( http://www.cnblogs.com/qinpengming/p/5225380.html )

     对junit单元测试的报告:类似这样的结果 ------------------------------------------------------- T E S T S ----------- ...

  8. UISwitch开关控件属性介绍以及获取开关状态并做出响应

    (1)UISwitch的大小也是固定的,不随我们frame设置的大小改变:也是裁剪成圆角的,设置背景就露马脚发现背景是矩形. (2)UISwitch的背景图片设置无效,即我们只能设置颜色,不能用图片当 ...

  9. 生成器(generator)

    1. 什么是生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且, 创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元 ...

  10. 利用gulp搭建less编译环境

       什么是less? 一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, ...