编者按:微软亚洲研究院在 GitHub 开源了基于 Direct Universal Access(DUA,直接通用访问架构)设计而实现的灵活框架 SiliconNet(硅网络)。该框架具有以 PCIe Gen3 x8 线速连接部署在数据中心中的各种计算资源的能力 。微软亚洲研究院网络研究组已使用 SiliconNet 参考设计开发了多个项目,经验证多种数据中心资源都可以与该设计很好地协同工作。欢迎大家使用、交流。
随着基于云的服务的快速增长,有效且灵活地大规模访问数据中心异构资源变得越来越重要。因此,需要通过改进的抽象通用访问原语、对全局命名空间的支持以及有效的路由机制来支持这些需求。
然而,目前最先进的数据中心仍在使用传统的资源访问方法,具体来看:
首先,资源的连接和访问方式不同(例如 PCIe,以太网),需要不同的通信堆栈,因此增加了编程复杂度。
其次,资源以服务器为中心进行组织, 每个资源都使用专用的命名空间,且命名空间只能从主机内部访问, 缺少资源的全局命名导致远程访问效率的水平较低。
最后,资源复用是将数据中心各类资源作为资源池共享的关键考虑因素。然而,当前堆栈多路复用还没有得到很好的支持,缺少通用的资源复用方案迫使开发人员需要针对每种情况手动定制解决方案。
Direct Universal Access / SiliconNet
Direct Universal Access(DUA,直接通用访问架构)的设计初衷是,将其作为下一代数据中心资源通信体系结构的关键组件,提供一组通用访问原语(SEND/RECEIVE,WRITE/READ),以及全局命名空间和路由。它是一个上层体系结构,既可以利用目前已有的接口实现和功能,同时支持快速开发新的接口实现和功能。
DUA 为每个资源都提供了一个数据中心规模的全局地址。DUA 将可用的资源命名方案组合到一个新的层次化结构命名规则中。由于采用了分层地址格式设计,因此本地访问和远程访问都可以高效进行。
DUA 控制层则管理所有资源,分配地址并计算到它们的路由路径,以及管理资源的多路复用。为了快速实现,在 DUA 设计中给出了一种通用的资源复用方案。
DUA 实现的通信体系结构
了解更多 DUA 的概念和设计的详细信息,可以点击阅读原文查看论文。
而 SiliconNet(硅网络)是一种高度可配置的无阻塞硬件交换机,提供了 DUA 上层中交换组件的示例实现。微软亚洲研究院的研究员们已将其以 Verilog / SystemVerilog 语言实现,并在 GitHub 中以代码名称 SiliconNet(https://github.com/microsoft/DUA)进行了开源发布。当前版本是用 Verilog / SystemVerilog 编写的参考设计。
DUA 实现框图及其在数据中心中的部署
在此次开源发布中,SiliconNet 提供了以下功能:
- 无阻塞硬件交换机,最多支持16个端口,每个端口的峰值带宽为8GB/sec。
- 可更换的填充层,最多支持4个虚拟通道共享1个全带宽端口。
- 可变的报文尺寸,从(256位×4个周期)到(512位×8个周期)。
- 可变的消息大小,从32字节到4千字节。
- 使用 Round robin 机制进行报文调度。
- 支持 Intel(Altera)的 FPGA 芯片/板卡及设计工具,目前尚未在其他厂家设备上进行部署,但代码中没有任何内容可以阻止移植到其他设备中。
微软亚洲研究院网络研究组已使用 SiliconNet 参考设计开发了多个项目,经验证,FPGA,SSD 和 GPU 等多个数据中心资源都可以很好地与该设计配合使用。
欢迎大家使用 SiliconNet!我们在GitHub页面(https://github.com/microsoft/DUA)提供了有关如何构建,如何将 SiliconNet 与其他项目集成,以及如何与社区进行协作的详细信息。欢迎大家使用,并且通过邮箱 dua@microsoft.com 与我们交流心得。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 阿里重磅开源!4000台服务器真实数据集,揭秘世界级数据中心
- 脸书开源数据中心灾备工具,可自动化执行部署,缩短恢复时间
- vsphere数据中心网络规划实践
- 浅谈数据中心VxLAN技术
- 如何做好数据中心机房运维?
- 数据中心基础架构 22 年演进
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
零基础学Minecraft编程
Martin O''Hanlon、David Whale / 中文Minecraft Wiki翻译团队 / 人民邮电出版社 / 2015-9-7 / 79
在你体验Minecraft冒险的同时,学习宝贵的编程技能! 如果你很喜欢玩Minecraft,却被游戏中的建造耗费大量时间而困扰,并且你想要对游戏添加一些改动,那么本书就是为你而设计的。在游戏中,你可以学习许多Python编程技能,在PC、Mac或树莓派上与游戏进行互动。这些冒险不仅局限在虚拟世界——你也将会学习如何将Minecraft与电子元件连接起来,这样你的Minecraft世界就能够......一起来看看 《零基础学Minecraft编程》 这本书的介绍吧!