下面是对采用当前开发工具和硬件直接实现多内核系统的三个简单模型的概述。这些多内核设计模式不是一个为了严格定义一个系统的刚性模型,而是针对思考和探讨关于系统实现宏伟蓝图的初始点,以及规定了一套通用术语以便软、硬件团队都能设计出一个多内核系统结构。
三种设计模式
1. 平面模式
第一种模式是平面模式(Planar Pattern),这个名称源于划分一个通信系统的处理任务的“控制平面”和“数据平面”。它是一个广泛的和不同类型的多内核设计实例,这种多内核设计统称为非对称多处理技术(简称“AMP”或“ASMP”)。
如果采用平面模式,系统需要划分成具有显著不同处理要求的多个自包含模块。在其标准的通信和媒体处理形式中,该模式的优点是在一个专用的DSP或网络处理器上运行需要进行大量数据处理的算法,同时在一个通用的CPU上保持其它系统软件的正常运行。这种特殊性意味着平面模式系统通常在专门构件的硬件上实现。由于许多平面硬件设备仅有一个通用CPU内核,因此传统的单内核工具、操作系统和设计方法都可用来设计和调试系统的通用部分。
2. 片上栅格模式
片上栅格(Grid-on-Chip,或简称“栅格”)模式是平面模式的演绎,包含由许多完全独立的和网络互连的节点组成的任意多处理器系统。栅格是办公计算机网络的片上版本,它是共享相邻物理链路但彼此独立的许多网络处理节点。一些文献将该类型系统称之为分布式多处理系统,且仍将其归类到AMP/ASMP系统总类别当中。
使用栅格模式的关键要求是首先要分割系统,然后找到一个合适的节点间通信系统。(尽管更高级的栅格系统能够在运行期间对其自身进行重新配置,但栅格模式系统的设计者需要认真思考系统功能到处理节点的分配问题。)除分割之外,栅格系统具有三种设计模式中最少的高级设计约束。一旦系统被分割,每个独立节点的设计与实现就会如同一个独立系统一样进行。栅格系统可在专用硬件上实现,但另一个普遍的选择是通过采用SMP硬件以及将共享的存储空间划分成针对每个内核的片段来建立栅格节点。
栅格模式系统与其它设计相比具有几个突出的优点。首先,它们可以很容易与过去的软件整合在一起,过去的系统甚至可以在栅格范围内它们自己的节点上继续完整地运行。此外,栅格系统在判决能力(determinism)和调试能力方面具有明显的优势。栅格模式系统设计的松散联结意味着在资源竞争方面不会有多少意外情况,由于熟悉的单内核调试方法可以用于每个孤立的系统节点,所以调试相对简单。栅格模式系统的分割特性使其更为强大,但这也是其缺陷的根源所在,因为分割使得它难于再分配资源,这将导致栅格系统在适应将来的和不可预期的要求方面缺乏灵活性。
<img id="aimg_aK5C4" class="zoom" file="http://www.21ic.com/d/file/201204/9cd2e0ac6a8e5ae565dd147aaab40c20.jpg" lazyloadthumb="1" border="0" alt="" /> |