浅谈高端通信系统中一些分布式理论基础(4)
系列目录 浅谈高端通信系统中一些分布式理论基础
- 浅谈高端通信系统中一些分布式理论基础-前言
- 浅谈高端通信系统中一些分布式理论基础(1)
- 浅谈高端通信系统中一些分布式理论基础(2)
- 浅谈高端通信系统中一些分布式理论基础(3)
- 浅谈高端通信系统中一些分布式理论基础(4)
基于分布式队列(Distributed Queue)的数据结构和在这些队列之上的操作就是一切通信系统的基础。所谓高中低端系统,其实从很大的程度上而言,最后能映射到队列的多,中和少;和基于这些队列操作的复杂,中等和简单。
下面我们来看看工业界一些相应的通讯设备公开的分布式体系结构,并体会一下其中的队列。
Cisco CRS高端路由器:
Cisco ASR 9000, Aggregate Router:
Cisco ASR1000, Edge Router:
Cisco Nexus 7000,Data Center Switch:
Juniper T1600, Core Router:
Juniper MX960, Edge/Aggregate Router:
Huawei NE5000E, Core Router:
Huawei NE80, and Edge Router:
从上述的所有通信设备的体系结构图中,我们可以看到,对于高端系统,基本上就是多个线卡 + 多个内部交换卡 + 多个控制卡的组合。每个卡上都存在1个或者多个队列。每个队列上有计算控制能力;这个所谓的计算或者控制能力可以是ASIC,FPGA,或者NPU,或者CPU。
这里有一个很重要的信息,希望读者能体察:
通常一谈队列,想到的都是Data Queue,或者有时叫做Through Traffic。
这是不够的。
要把队列从概念上分为两大类:
*控制队列
*数据队列
控制队列是为了数据队列而设计的。是为了让数据队列更好的通过设备而存在的。
* 一个分布式通信系统设计的成功与否,在某种程度上,其实最重要的是控制队列的设计。。。
从实时系统(Real Time System)的角度,控制队列与数据队列的重大区别在于:
* 控制队列的调度通常是事件触发控制(Even Driving Control)
*数据队列的调度通常是时间触发控制(Time Driving Control)
![](http://www1.feedsky.com/t1/562351352/tektalk/feedsky/s.gif?r=http://www.tektalk.org/2011/10/01/%e6%b5%85%e8%b0%88%e9%ab%98%e7%ab%af%e9%80%9a%e4%bf%a1%e7%b3%bb%e7%bb%9f%e4%b8%ad%e4%b8%80%e4%ba%9b%e5%88%86%e5%b8%83%e5%bc%8f%e7%90%86%e8%ae%ba%e5%9f%ba%e7%a1%80%ef%bc%884%ef%bc%89/)