论文解析——一种多核处理器直连接口QoS的设计与验证

news2024/11/20 0:39:05

作者

罗莉,周宏伟,周理,潘国腾,周海亮(@ 国防科技大学)
刘彬 (@ 武警贵州省总队)

摘要

多核处理器直接互连构建多路并行系统,一直是提高高性能计算机并行性的主要方式。主要研究多核处理器直连接口的QoS设计,通过直连接口完成跨芯片的cache一致性报文有效、可靠传输,实现共享主存的SMP系统。详细阐述了直连接口各个协议层的QoS设计的关键技术,基于UVM方法学构建了可重用验证平台,模拟验证了QoS设计的正确性,移植到FPGA原型验证平台,顺利通过了测试。深入研究和实现处理器芯片直连技术,是提升高性能多路服务器的主流方向,具有良好的应用和研究前景。

正文

引言

多核处理器支持直连接口实现共享主存的对称多处理器SMP(Symmetric MultiProcessing)系统已经成为主流。
处理器直流接口提供的QoS(Quality of Service)保障,能够实现可靠、试试、完整和顺序到达的数据传输。

市场上多处理器互连案例

  1. Intel的高速、点到点的处理器互连总线QPI (Quick Path Interconnect)
  2. IBM 在P系列处理器中采用处理器智联通道互连,最大支持32路处理器
  3. AMD 的超传输HT(HyperTransport)总线,高速、双向、低延时、点对点的直连接口
  4. NVIDIA的NVlink支持多个GPU互连

本文的QoS设计

QoS指网络在传输数据流时要满足一系列服务请求,有如下设计要求:

  1. 提高数据的吞吐率
  2. 提供保障服务,避免死锁和拥塞,保证数据的完整性和到达的顺序性

主要设计包括:

  1. 信用机制设计
  2. 虚通道技术、优先级的仲裁调度策略:避免死锁
  3. 滑动窗口重传协议:维护了数据传输的顺序性和正确性

四种协议层次及相关的QoS设计

接口的协议分为应用层、传输层、数据链路层和物理层。
在这里插入图片描述

应用层划分事务类型并传输

与NoC部件接口,传输与NoC相接的报文,包括请求、响应、监听和应答。

传输层报文的虚通道传输和仲裁调度避免死锁

接收应用层的报文,并对这些报文仲裁,转换成链路层的数据序列,发送给链路层;接收链路层的数据并转换为应用层的报文格式也会发送给应用层。传输层的设计包括报文缓冲、四选一仲裁、数据序列格式转换和信用控制等部件。

应用层传递下来的各种事务会不可避免地排队处理,为避免死锁,传输层和应用层间采用虚通道方式。定义四个虚通道(REQ\RSP\SNP\ACK),若一个虚通道被堵塞,则其他的虚通道还可以继续通向输出端口,减少了由于事务相互依赖导致的死锁。

由于分时共享链路层传输,本文设计了固定优先级的仲裁调度,根据优先级调度哪个通道占用链路层传输。

仲裁调度的饥饿现象

当出现连续不断、稳定的监听响响应传输时,可能会导致监听请求或者请求通道得不到仲裁调度,出现“饥饿”现象。
本设计通过设置监听通道和请求通道的等待计时器,若等待时间大于门限时间,二者请求将被调整为最高。

链路层采用滑动窗口重传协议实现无差别的微包传输

接收传输层数据序列,转换成微包,并根据链路状态发送给物理层;设计结构包括:微包打/解包、微包管理、链路管理、重传缓冲。

链路层通信遇到数据传输或接受错误是,需要通过滑动窗口重传协议实现重传。在发送和接收端维护两个窗口,维护重传缓冲区的读写控制和发送/接受的序列号,任何序列号不等于窗口序列号的报文都会被丢弃。

微包的类型和管理

链路层传输的信息最小单位就是微包,微包分为报文微包和管理微包

物理层通过频率偏斜校准机制将频率补偿和延迟修正二合一

将微包转换成串行的码流,通过serdes传输

QoS信用机制设计

信用机制设计

基于信用的流控设计能精确判断流量,可避免传输数据拥塞

在协议层次的输入端口和输出端口设置了报文缓冲区,如图左侧是Sender,右侧是Receiver。
在数据的源端维护一个信用计数器,初始值设置为接收方缓冲区深度,当数据源发出一个微包信号Send,信用减1;当缓冲区中放出1个微包时,释放1个信用,当信用释放信号Release到达数据源端时,源端信用计数器加1。
即,发送方通过信用计数器(Credit Counter)监测接收方的微包存储状况从而判断是否继续向接收方发送packet。
在这里插入图片描述

信用机制作用于四个层次间的三类接口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Hello Algorithm】暴力递归到动态规划(三)

暴力递归到动态规划(三) 最长公共子序列递归版本动态规划 最长回文串子序列方法一方法二递归版本动态规划 象棋问题递归版本动态规划 咖啡机问题递归版本动态规划 最长公共子序列 这是leetcode上的一道原题 题目连接如下 最长公共子序列 题目描述如下…

三种对象注入的区别以及@Autowired和@Resource的区别

文章目录 1. 对象注入1.2 属性注入1.2.1 属性注入的优缺点 1.3 Setter方法注入1.3.1 Setter注入的优缺点 1.4 构造方法注入(官方推荐)1.4.1 构造方法的优缺点 1.5 Resource与Autowired区别 1. 对象注入 获取Bean对象也称为对象注入/对象装配&#xff0c…

Linux:Termius连接本地虚拟机与虚拟机快照

Termius连接本地虚拟机与虚拟机快照 1. Termius连接本地虚拟机2. 虚拟机快照与还原2.1 设置快照以及恢复 附录 1. Termius连接本地虚拟机 ifconfig -a 查看配置 连接成功 2. 虚拟机快照与还原 在学习阶段我们无法避免的可能损坏Linux操作系统。 如果损坏的话,重新…

FPGA复习(功耗)

减小功耗 就得减小电流 电流和CF有关( C: 电容(被门数目和布线长度影响) F:时钟频率) 方法大纲 减小功耗:1 时钟控制 2输入控制 3减小供电电压 4双沿触发器 5修改终端 同步数字电路降低动态功耗:动态禁止…

零食百货经营商城小程序的作用是什么

零食可以只指某款单品,也可以是一堆各品牌食品,其行业涵盖人群广泛,主要以零售和批发为主,不受限制,各地从业商家也非常多,但随着线上电商崛起,零食经营痛点也逐渐凸显。 通过【雨科】平台搭建零…

Elasticsearch实现检索词自动补全(检索词补全,自动纠错,拼音补全,繁简转换) 包含demo

Elasticsearch实现检索词自动补全 自动补全定义映射字段建立索引测试自动补全 自动纠错查询语句查询结果 拼音补全与繁简转换安装 elasticsearch-analysis-pinyin 插件定义索引与映射建立拼音自动补全索引测试拼音自动补全测试繁简转换自动补全 代码实现demo结构demo获取 自动补…

C# 图解教程 第5版 —— 第5章 类的基本概念

文章目录 5.1 类的概述5.2 程序和类:一个简单的示例(*)5.3 声明类(*)5.4 类成员(*)5.4.1 字段(*)5.4.2 方法 5.5 创建变量和类的实例(*)5.6 为数据…

解析找不到msvcp140.dll的5个解决方法,快速修复dll丢失问题

​在使用计算机过程中,我们也会遇到各种各样的问题。其中,找不到msvcp140.dll修复方法是一个非常普遍的问题。msvcp140.dll是一个动态链接库文件,它是Microsoft Visual C 2015 Redistributable的一部分。这个文件包含了许多用于运行C程序的函…

计算机网络基础(三):IPv4编址方式、子网划分、IPv4通信的建立与验证及ICMP协议

**IPv4地址是一个32位长的二进制数。**而这个32位二进制数又通常会表示为4个用点隔开的十进制数。那么,这个32位二进制数要如何通过4个十进制数表示出来呢? 我们在配置IPv4地址时,同时配置的“掩码”又有何用途? 1.IPv4编址方式…

MySQL 约束,视图,索引及常见函数

​​​​​​ ​​​​​​​ 2-MySQL 约束,视图,索引及常见函 1 SQL约束 SQL 约束用于规定表中的数据规则。实际上就是表中数据的限制条件。是为了保证数据的完整性而实现的一套机制。 MySQL的约束种类如下: 非空约束:NOT NULL NOT NULL约束强制…

汉堡炸鸡快餐店商城小程序的作用是什么

汉堡炸鸡等快餐店是不少年轻人常去的餐饮店,市场中除了头部品牌外,还有不少中小品牌,消费者选择度高,然而在实际经营中,面对线下流量匮乏、互联网电商发展,快餐店经营痛点不少。 对炸鸡汉堡店来说&#xf…

全球产业链:脑机接口产业链

本心、输入输出、结果 文章目录 全球产业链:脑机接口产业链前言马斯克旗下的脑机接口公司`Neuralink`宣布概念:什么是脑机接口脑机接口技术有哪几种路线脑机接口未来在各行业的应用脑机接口产业链上游脑机接口芯片脑电采集设备系统软件手术耗材脑机接口产业链中游脑机接口产业…

扩散模型的系统性学习(一):DDPM的学习

文章目录 一、学习的资料1.1 对于扩散模型的发展过程的综述1.2对论文中涉及的公式以及公式对应的代码的解读1.3github中对于各模型实现的代码1.4相关基础知识的学习 二、DDPM的学习2.1 DDPM总体知识的梳理2.2相关代码的解读2.2.1unet 代码块2.2.2高斯扩散代码块2.2.3 实验流程代…

【环境搭建】linux docker-compose安装seata1.6.1,使用nacos注册、db模式

新建目录,挂载用 mkdir -p /data/docker/seata/resources mkdir -p /data/docker/seata/logs 给权限 chmod -R 777 /data/docker/seata 先在/data/docker/seata目录编写一个使用file启动的docker-compose.yml文件(seata包目录的script文件夹有&#…

常见的网络攻击手段

网络攻击对个人、组织和整个社会都带来了严重的威胁,因此必须采取有效的安全措施来保护网络系统和用户的信息安全。网站是攻击者经常瞄准的目标,以下是一些常见的攻击方式: 1. DDoS攻击(分布式拒绝服务攻击)&#xff1…

Unity引擎:收费模式和服务升级,为游戏开发带来更多可能性

Unity 引擎的收费模式和配套服务升级已经引起了广泛的关注和讨论。自 2024 年 1 月 1 日起,Unity 将根据游戏的安装量对开发者进行收费。这将会影响到很多游戏开发者和玩家。本文将探讨 Unity 引擎的收费模式和配套服务更新,以及对游戏开发者和玩家的影响…

数据结构 - 6(优先级队列(堆)13000字详解)

一:堆 1.1 堆的基本概念 堆分为两种:大堆和小堆。它们之间的区别在于元素在堆中的排列顺序和访问方式。 大堆(Max Heap): 在大堆中,父节点的值比它的子节点的值要大。也就是说,堆的根节点是堆…

四川竹哲电子商务有限公司怎么样?可靠吗?

随着抖音等短视频平台的火热发展,越来越多的人开始关注如何在抖音上获得更多的关注和粉丝。而四川竹哲电子商务有限公司作为一家专业的抖音培训服务公司,正是帮助这些人实现梦想的地方。 首先,四川竹哲电子商务有限公司的抖音培训服务有着丰…

【软考】14.1 面向对象基本概念/分析设计测试

《面向对象开发》 对象 现实生活中实际存在的一个实体;构成系统的一个基本单位由对象名、属性和方法组成 类 实体的形式化描述;对象是类的实例,类是对象的模板可分为:实体类:现实世界中真实的实体接口类(边…

msvcp120.dll丢失的解决方法总结,快速解决dll丢失问题

在计算机系统中,DLL(动态链接库)是一个重要的组成部分,它负责程序之间的相互调用和数据共享。然而,有时候我们可能会遇到“MSVCP120.dll丢失”的问题,这可能会导致一些应用程序无法正常运行。本文将详细介绍…