数据流体系结构-孙志岗
- 格式:ppt
- 大小:192.50 KB
- 文档页数:39
系统结构数据表示与数据结构的区别与联系等系统结构数据表示与数据结构的区别与联系在计算机科学领域中,系统结构数据表示和数据结构是两个相关但又有区别的概念。
本文将介绍系统结构数据表示和数据结构的含义、特点、应用以及二者之间的区别与联系。
一、系统结构数据表示的含义系统结构数据表示是指将实际的物理系统或者概念系统通过某种方式进行抽象和表示的过程。
它可以包含各种组件、子系统、接口和数据流等元素,并通过图表、模型或者其他形式进行可视化展示。
系统结构数据表示旨在为人们了解和分析系统的功能和结构提供有效的工具。
它可以帮助人们理清系统内部各个组成部分之间的关系,以及它们与外部环境的交互方式。
通过系统结构数据表示,人们可以更好地理解系统的工作原理和设计理念,为系统的开发和维护提供指导。
二、数据结构的含义数据结构是计算机科学中研究数据组织、存储和操作的一门学科。
它关注的是将数据以特定的形式组织起来,以便于高效地访问和操作。
数据结构可以分为线性结构和非线性结构。
线性结构包括数组、链表、栈和队列等,而非线性结构包括树、图等。
不同的数据结构适用于不同的应用场景,能够提供不同程度的存储效率和操作效率。
三、系统结构数据表示与数据结构的联系系统结构数据表示和数据结构都是计算机科学中与数据相关的领域。
它们之间存在一些联系,包括以下几个方面:1. 数据抽象:系统结构数据表示和数据结构都是对现实世界中复杂的数据进行抽象和简化。
它们都通过规定数据的组织方式和操作方式,使得数据变得易于理解和处理。
2. 分层结构:系统结构数据表示和数据结构都可以采用分层结构的方式进行组织。
系统结构数据表示可以通过将系统分解为多个子系统和组件进行描述,而数据结构可以将数据进行多层次的组织和管理。
3. 数据流动:系统结构数据表示和数据结构都关注数据的流动和传输。
系统结构数据表示可以通过数据流图表示系统内部的数据传输和处理过程,而数据结构则通过数据的存储和操作实现数据的流动和传输。
DOI : 10.7544/issnl000-1239.2021.2019078458(1) : 153 163, 2021计算机研究与发展Journal of Computer Research and DevelopmentFlexTSN : 一种灵活的TSN 交换实现模型杨翔瑞严锦立陈波彭锦涛李军帅全巍孙志刚(国防科技大学计算机学院 长沙410072)(yangxiangrui11 @ nud 匚 edu. cn)FlexTSN : A Flexible TSN Switch Implementation ModelYang Xiangrui , Yan Jinli, Chen Bo , Peng Jintao , Li Junshuai, Quan Wei , and Sun Zhigang{College of Computer Science and Technology , National University of Defense Technology , Changsha 410072)Abstract TSN (time-sensitive networking) has gained increasing attention from both industry andacademia because of its ability to enable deterministic switching and best effort switching in the same network. Compared with traditional Ethernet , TSN provides quite different mechanisms ranging fromtime synchronization , gate control mechanism , to time-aware scheduling. This enables the Ethernet to provide the packet forwarding service with deterministic delay. Currently, IEEE 802.1 TSN Group isworking on over 17 standards and drafts about TSN. And academic researchers also put much effort into proposing novel mechanisms from frame preemption to flow scheduling. However, there are rare,if exist , general models that enable rapid prototyping of TSN system. And we find this is quite important for rapid design and validation of key technologies in TSN. In this paper , FlexTSN , aflexible TSN switch model with loose-coupling modular design for TSN evaluation, is proposed. The TSN switch pipeline is decoupled into general processing modules and time-aware modules forsupporting the rapid building of TSN switches. Moreover, FlexTSN provides a light -weight high- reliable network management mechanism by extending the PTP synchronization protocol for fine grained centralized network monitoring and configuration. Furthermore , a simplified CQF (cyclical queuing and forwarding) model is adapted based on the FlexTSN prototype. The evaluation resultshows that FlexTSN can provide clear abstractions for re-design and rapid evaluation of novelmechanisms in TSN.Key words FPGA ; time-sensitive networking (TSN ) ; model and implementation ; deterministicforwarding ; synchronization摘 要 时间敏感网络(time-sensitive networking , TSN)的核心是为标准以太网赋予关键流量的确定性转发服务,同时能够实现混合优先级业务流量的一体化传输,从而成为业界和学术界备受关注的新兴技术.相比于标准以太网交换,TSN 交换通过引入高精度的时间同步特性提供门控机制和时间感知的 分组调度等服务,使得以太网有能力提供确定性延迟的转发服务.目前IEEE 802.1 TSN 工作组从时间同步、流管理、流控制以及可靠性等方面对TSN 的设计实现提供较为完善的标准.而现有的工作难以加 快TSN 技术的实现和应用,其难点在于目前缺少一种面向TSN 的通用交换实现模型进行快速的原型收稿日期:2019-11-08;修回日期=2020-06-15基金项目:国家自然科学基金项目(61802417);之江实验室开放课题资助(2020LE0AB01)This work was supported by the National Natural Science Foundation of China (61802417) and the Open Project Funding ofZhejiang Lab (2020LE0AB01).通信作者:孙志刚(sunzhigang@ nudt. edu. cn)154计算机研究与发展2021,58(1)系统搭建和关键技术的验证.为此提出一种灵活的TSN交换的实现模型FlexTSN.FlexTSN基于模块化与功能松耦合的思想,将TSN交换节点解耦为通用处理模块和时间感知模块,支持TSN交换机的快速重构.此外,FlexTSN通过扩展PTP同步协议提供一种轻量级高可靠的网络管理机制用于进行细粒度集中式的状态收集和配置.然后基于该模型在可编程的FPGA平台上实现了一种支持简化的循环队列转发模型(cyclical queuing and forwarding,CQF)的TSN原型系统.通过从资源开销和服务质量等方面进行测试评估,实验结果证明FlexTSN能够实现敏捷的原型系统组网及TSN关键技术的快速验证.关键词现场可编程逻辑门阵列;时间敏感网络;模型与实现;确定性转发;同步中图法分类号TP391随着工业物联网(industrial Internet of things, IIoT)⑴需求与技术快速发展,通过一套标准化网络在工控网络中同时实现实时消息确定性转发和非实时消息尽力转发十分重要.2012年,IEEE802.1的音视频桥接技术工作组(audio/video bridging systems group,AVB)正式被时间敏感网络(time-sensitive networking,TSN)任务组所代替②,用于满足工业互联网的上述需要.TSN闪定义了确定性以太网中2层网桥(bridge)的调度与转发等策略.与传统以太网相比,TSN的最大特点是能保证数据交换确定性,在预知时间敏感数据流传输周期与数据量等特征后,进行端到端基于时间的调度控制.TSN能够保证在确定性延迟范围内(极小的数据抖动)将数据传输到接收方.这有助于将传统由现场总线通信(如IEEE1394⑷,PROFINET皈等)或专用工业以太网协议(女口Ethernet for Control Automation Technology®)分割的工控网络体系进行整合,打破不同技术路线形成的壁垒,利于工业互联网技术路线的推进.目前,IEEE TSN工作组制定了一系列草案对TSN中相关技术进行标准化.其中IEEE802.1AS⑺对TSN中精确的时钟同步方式进行了规范, 802.1Qcc ra定义了用于网桥状态周期性上报与CNC(central network controller)节点对网桥的配置方式,802.1Qav囚,802.1Qbv[],802.1Qbu[]等对TSN中的流控(整形、调度等)进行了规范等.同时, IEEE关于TSN的多数草案仍在快速迭代更新中.例如,TSN工作组的主页显示,目前已经发布的TSN 标准共有13个,有17个标准仍在讨论与设计中[0],涉及本地注册管理、服务质量(quality of service, QoS)配置、服务提供商网络的TSN配置说明等方面.上述标准的形成都需要新提出的技术方案在基于硬件的TSN原型系统中进行全面的功能与性能验证.然而,由于TSN技术刚起步,在时间同步、输入调度、输出调度、状态与资源管理等方面与传统以太网技术区别较大,目前还没有一种通用的模型用于TSN交换原型系统的快速实现.因此,一种便于研究人员进行敏捷、灵活开发的TSN交换模型对于推动TSN技术的实现和应用极为重要.这有利于为研究人员提供灵活的TSN关键技术敏捷验证. NetFPGA[11]与FAST[2]等网络交换原型的开源框架为基于可编程硬件的网络原型系统构建提供了平台,但是缺少对TSN在时间同步、资源与状态管理等方面的抽象支持,难以针对TSN领域特定关键技术进行敏捷验证.因此,我们提出一种灵活的TSN交换模型FlexTSN,用于为研究人员提供一种敏捷的TSN交换原型系统构建方式.FlexTSN基于FAST[2]开源框架进行设计开发,其实现了一种功能模块松耦合的TSN交换节点.FlexTSN具有的特点为:首先,将TSN转发节点的逻辑功能解耦为时间同步、输入调度、分组交换、输出调度、状态与资源管理5大功能模块(如图1所示),每个模块均支持用户基于新的机制进行重构,从而便于对TSN中新型关键技术进行快速验证;其次,我们为FlexTSN设计了一种基于扩展精确时钟同步协议(precision time protocol, PTP)的轻量级高可靠网络管理机制Beacon,用于对节点的状态信息进行周期性上报,便于用户进行Fig.1The functionalities of TSN switching node图1TSN交换节点功能示意图杨翔瑞等:FIcxTSN;一种灵活的TSN交换实现模型155远程遥测与调试;最后,FlexTSN借助FAST中metadata等数据结构进一步抽象出TSN相关核心数据结构,通过中间结果共享简化自定义模块开发.本文的贡献有3方面:1)提出了一种灵活的TSN交换模型FlexTSN 及其原型系统[13],便于研究人员对TSN关键技术进行快速验证;2)在基于FlexTSN构建的转发节点中,将时间同步、输入调度、输出调度、分组交换与状态、资源 管理进行解耦,便于研究人员对特定逻辑功能进行自定义的模块替换或重构;3)提出一种基于PTP协议5〕的Beacon机制,通过周期性上报本地状态与配置信息,为用户基于FlexTSN的开发过程提供一种高效的故障诊断与调试机制.1动机与方法本节对灵活的TSN交换模型的研究动机进行介绍,并且对FlexTSN设计中的核心方法进行介绍.1.1研究动机目前关于TSN的相关研究日益丰富,来自业界与学术界的研究人员针对TSN中时间同步、调度机制与资源管理机制等进行了越来越深入的探索.为了对提出的相关算法与机制进行验证,研究人员迫切需要对TSN交换系统进行快速原型设计与搭建.而目前还缺少一种能够灵活支持TSN交换的实现模型.FPGA为网络交换原型系统提供了良好的可编程性以及与软件相比更高的处理速度.作为主流的基于FPGA的网络实验平台如NetFPGA,FAST 等提供了针对以太网数据帧的抽象和易于使用的硬件元数据结构,适用于传统以太网实验环境搭建.然而针对TSN而言,仍然需要用户实现TSN交换节点中输入输出调度、交换、资源管理与时钟同步等功能.而多数研究人员仅针对TSN交换节点中的某一功能进行研究,为了对某一方面的机制或算法进行验证而搭建整个TSN交换原型系统无疑带来大量时间和工程开销.以时钟同步为例,IEEE802.1AS[7]规定了TSN 使用gPTP[13]协议进行全LAN的时钟同步.gPTP (generic PTP)协议包含基于最优主时钟(best master clock,BMC)算法的主时钟选取和时钟同步算法2部分,而基于FPGA的时钟同步协议的一种简化的典型实现[1,1]大约包含2100行verilog代码.而如图1所示,TSN交换节点(在IEEE802.中定义为bridge)至少包含时间同步、输入调度、分组交换、输出调度、状态与资源管理5种核心功能,这将为用户带来较多的额外开发和调试负担.1.2需求与方法通过1.1节的动机分析,目前迫切需要一种灵活的TSN交换实现模型对TSN中关键技术进行敏捷测试与验证,为此我们提出了FlexTSN,—种灵活的TSN交换实现模型,使研究人员能够基于所提出算法快速搭建TSN交换的原型系统,从而敏捷地进行算法和机制验证.为了使得FlexTSN满足该需求,我们对FlexTSN作出3条需求约束:1)FlexTSN首先应当实现一种典型的TSN交换原型系统,支持包含时间同步、输入调度、分组交换、输出调度、状态与资源管理5部分核心TSN交换功能,便于用户对多数功能模块进行重用;2)FlexTSN中各逻辑功能应当采用松耦合的设计模式,保证约束1中任何一种功能模块能够方便地被用户自定义逻辑替换;3)FlexTSN应当为用户提供一种灵活的状态信息上报机制,从而便于用户对基于FlexTSN的原型系统进行集中式的状态信息采集与调试.FlexTSN应当作为一种开源与可敏捷重构的TSN测试平台.为了能够满足上述目标,FlexTSN 包含了3种关键技术:1)基于模块化、松耦合的设计模式.FlexTSN 基于FAST的模块化框架设计实现,并对FAST架构进行扩展.通过定义各模块间交互的通用数据结构,保证不同模块间的功能解耦.2)基于扩展PTP报文的Beacon机制.FlexTSN 对PTP协议数据字段进行扩展,从而将本地状态和资源信息以及透明时钟封装在扩展的PTP报文中,并根据配置进行时钟同步场景下的状态信息周期性上报.3)定义了TSN metadata字段,根据时间敏感的调度机制需求将调度关键信息(时钟、流优先级等)圭寸装在TSN metadata中,方便用户对输入、输出等调度算法进行敏捷部署.2FlexTSN架构设计2.1整体架构FlexTSN整体流水线架构如图2所示.其中深色156计算机研究与发展2021,58(1)为FlexTSN开发模块,白色为通用模块.FlexTSN 为了保证全网时间同步的精度与TSN输出调度的精确性,主要有2点关键设计:1)将时间同步逻辑(如时钟同步与时间戳标记)部署在数据接口逻辑中,避免跨时钟域,从而保证透明时钟计算的准确性(详见2.2节);2)为了支持“确定性转发”的TSN调度机制,输出通道设计为n路(n为端口数量),保证分组在FlexTSN中完成调度后避免block-of-head拥塞,从而进行确定性转发.Fig.2The model of FlexTSN's pipeline 图2FlexTSN流水线模型总的来看,FlexTSN流水线包含FAST基本模块与TSN功能模块2类模块.在可重构的TSN功能模块中,PTP(时间同步模块)靠近接口逻辑,主要负责在网络中与各节点进行全网的时间同步,从而向交换、调度等模块提供同步的精确时间信息•其余模块依次部署在流水线中,便于用户根据自定义需求进行重构.其中,LCM为本地管理模块,负责本地节点的资源与状态管理,并负责周期性向CNC (central network controller)上报本地状态信息; ESW为解析与交换模块,主要负责解析分组并提取metadataC包含优先级、输入端口、流标识等信息),同时根据本地转发表对action字段进行标识;EOS 模块为FlexTSN的输出调度模块,是实现TSN调度的核心模块之一,可根据ESW模块提取的metadata 信息对分组进行输出调度.而FAST[2]基本模块中,Pkt Extract模块提取报文体,并将其暂存在Data Cache模块中,并保留metadata与报文头向量用于在EOS模块进行调度. Data Cache模块用于暂存报文体,并将报文暂存地址、报文长度等提供给Pkt Extract模块,用于填充metadata信息.Pkt Restore模块用于根据EOS模块输出进行报文拼装.GOE模块为FlexTSN的输出引擎,它根据报文metadata中action字段值对报文进行向特定端口转发、丢弃、计数等处理.2.2核心模块设计2.2.1时间同步模块TSN采用IEEE802.1AS(g PTP协议)进行TSN中全域的时间同步.因此,在FlexTSN中的PTP模块中也采用gPTP协议用于各节点的时间同步,实现全网各节点亚微秒级的同步,从而为TSN中实时调度提供精确的全局时间.2.2.2本地状态与资源管理模块本地状态与资源管理模块(LCM)负责接收CNC的配置命令并对各功能模块进行配置,另外还收集各功能模块的状态信息,周期性向CNC节点进行上报.该模块的架构如图3所示:Fig.3Architecture of local state and resourcemanagementmodule图3本地状态与资源管理模块(LCM)架构LCM模块分为LReport与LUpdate这2个子功能模块,以及一个本地控制模块LCM_Ctrl.其中LReport模块负责周期性构造包含本地计数器等状态信息的分组,并以组播方式将该分组发送至CNC 节点.LUpdate模块负责接收并解析来自CNC节点杨翔瑞等:FlexTSN:—种灵活的TSN交换实现模型157的控制分组,并根据控制分组中的字段对各模块中的控制寄存器进行配置•而LCM_Ctrl模块是LCM 的控制子模块,用于对上报分组的上报周期.Beacon 分组的目的MAC(media access control)地址等参数进行配置.为了能够提供高可扩展的状态信息上报与管理信息配置,我们通过对IEEE1588同步协议进行扩展设计了Beacon网络管理协议,将在3.1节中进行详细介绍•2.2.3解析与交换模块解析与交换模块(ESW)是FlexTSN的核心交换模块,主要用于对接收的分组类型进行解析、查找转发表、构造TSN输出调度所需的metadata(为了简化设计,也可将输入调度机制部署在ESW中).ESW的模块架构如图4所示,其主要包含3个子模块:PKE模块用于分组类型解析与转发表的key提取;PFW模块用于根据PKE生成的key字段进行转发表匹配,并根据查表结果生成对应的action 字段;PAC模块用于根据action字段生成TSN调度输出所需的metadata,并且根据流水线的数据缓存模块(IBM,即为模型图2中的Pkt Extract模块)的剩余存储空间大小决定对不同优先级的分组进行的操作(丢弃或继续处理).Fig.4Architecture of the parsing and switchingmodule图4解析与交换模块(ESW)架构根据文献[15],TSN使用IEEE802.3中VLAN (virtual local area network)头中的PCP字段(0〜7)标记特定流的优先级•在FlexTSN中,默认将所有数据流的优先级分为3类,如表1所示.PKE接收到输入分组后,提取查表所需的key(包含源、目的MAC地址等信息)并根据表1解析TSN的分组类型,之后将这2个字段以及分组送至PFW模块进行处理.PFW为FlexTSN中用于查找转发表的模块,其查表逻辑与传统以太网查表逻辑相同,因此该模块也可复用用于传统以太网的查表模块.然而,由于需要支持基于优先级的输出调度策略,在PFW模块查表生成的action字段中需要包含一个3b的分组协议类型域,用于对该分组属于TSN分组、预约带宽分组或者尽力转发分组进行标识•Table1Relation Between PCP Field and TSN Frame Type 表1PCP字段与TSN分组类型对应关系表PCP TSN帧类型02尽力转发帧35带宽保留帧67时间敏感帧None尽力转发帧PAC模块接收到来自PFW的分组及其携带的action字段后,将根据相关信息生成TSN metadata TSN metadata在FlexTSN中被用于进行输出调度的关键数据结构,其字段定义如图5所示:72321pkttype length outport buf^ID000:尽力转发帧O帧类型]001:带宽葆雷帧」010:时间敏感帧Fig.5TSN metadata data structure图5TSN metadata数据结构需要注意的是,TSN metadata字段的7〜0位为Buf_ID,代表该metadata所对应的分组在Data Cache中存储的位置.该字段与length字段相结合用于调度完成后从Data Cache读取对应的一个完整分组.另外,由于Data Cache中的存储空间有限, PAC也需要根据Data Cache中空闲ID的数量决定是否要丢弃当前分组,并且保证高优先级流(TSN 流)的无损处理.2.2.4输出调度模块TSN的另一个核心功能是根据分组优先级或类别进行时间敏感的输出调度,该功能在EOS模块中进行实现.EOS模块的设计充分考虑了TSN网络特点,并将门控、流量整形和输出调度的逻辑进行了解耦,分别由不同的子模块实现,便于用户对其中某一部分逻辑进行重构.EOS的整体架构如图6所示.图6中,队列选择模块(queue select)用于根据metadata中的分组类型字段以及输出端口号将不同类型分组的metadata(TSN分组、带宽预留分组以及尽力转发分组)送至MB模块中的不同队列中. MB中针对每个输出端口维护3个长度为N(N值与Data Cache中ID数相同)的FIFO(firs—in-firs--out158计算机研究与发展2021,58(1)Fig.6The architecture of the output scheduling module图6EOS模块整体架构buffer),用于接收并缓存来自Queue Select模块的metadata.EOS中用于门控的模块是Gate Ctrl模块,该模块接收来自PTP模块的精确时钟信息,并根据全局时间、MB中FIFO剩余空间等信息对发送队列进行门控•而Traffic Schedule模块接收来自Gate Ctrl模块的当前可调度队列选项,并依据内部的调度算法对metadata进行调度输出•在TSN的相关研究中,针对输出调度的研究相对丰富•我们将门控与调度的子功能分别解耦为Gate Ctrl模块与Traffic Schedule模块,并提供便于用户对新的门控与调度算法进行系统验证•在FlexTSN中,我们在EOS中实现了TSN规范中的—种典型调度算法CQF口6](cyclical queuing and forwarding)调度.3关键技术3.1基于扩展PTP协议的Beacon机制为了便于用户对FlexTSN进行调试或配置,同时支持远端CNC节点实时获取TSN交换节点的本地状态信息,我们为FlexTSN平台设计了一种基于扩展的PTP协议的遥测机制,也称为Beacon机制.该机制支持2种关键功能:1)TSN交换节点当前状态信息周期性上报. TSN节点周期性将本地状态信息填写到Beacon帧(扩展的PTP帧)中,并发送至CNC节点.其本地状态信息包括各队列当前利用率、各端口接收与发送的总分组数等.另外,通过周期性上报也可对各节点的同步精度进行验证.2)CNC节点对TSN交换节点进行远程配置. CNC节点可将TSN节点的配置信息(MAC地址表、CQF调度时间片大小等)写入Beacon帧中并通过数据通路(通过MAC地址与正常数据帧进行区分)发送到目的TSN节点.TSN节点收到该报文后对本地相关寄存器进行修改•算法1.全网当前时间同步精度time_precision().输入:int N,int ime_stamp[N];输出:int errrr_range.①while(V N)begin②cur_frame=Beacon_recv();③if(cu^rr_frame.seq==curr_sq)then④sent_time[门=ime_stamp[门——curr_frame.recover_ime;⑤else⑥continue;⑦endif⑧endwhile⑨sort_desc(sent_time[i]);⑩tmeprecision=sent_tme]0]——sent_time[N——1];⑪return time_precision.因此,Beacon在FlexTSN中支持2种CNC bridge的通信场景:周期性上报场景与写寄存器场景•周期性上报场景如图7(a)所示,Beacon协议支持TSN节点对本地参数(如规则表项、计数器等)向CNC集中控制节点以固定时间周期T进行上报.而写寄存器场景如图7(b)所示,支持CNC对TSN交换节点的流表规则、本地MAC地址进行写入或配置,并在下一个周期收到一个特定的响应帧,表明写入完成.需要注意的是?Beacon的写报文米用“完全覆盖”的方式对寄存器进行写操作,即当TSN节点收到CNC写报文时,使用报文中对应的寄存器值全部替换寄存器的当前值•该方式极大简化了控制协议的设计.由于Beacon帧基于PTP帧进行扩展,因此PTP 帧中的时间信息可便于在CNC节点根据上报的杨翔瑞等:FlexTSN:—种灵活的TSN交换实现模型159OpenTSN CNC OpenTSN CNC上报T(a)周期性上报场景(b)远程更新场景Fig.7Communication scenario of CNC-bridgeusing NMAC protocol图7CNC-bridge通过NMAC协议的通信场景Beacon帧计算当前PTP的同步精度.一种可行的方法是对CNC节点接收到的同一序列号的Beacon帧记录时间戳,并将每个Beacon帧的时间戳减去Beacon帧中的修复时间域中的值,获取实际发送时间.由于全网中的交换节点已通过PTP协议与CNC 节点进行对时,因此,取所有发送时间,得到最大的差值即为当前全网的时间同步精度.其伪代码如算法1所示•其中N为当前网络中交换节点数量, tme_stmp为接收Beacon报文时CNC的本地时间戳.Beacon帧基于PTP协议帧进行扩展,并利用PTP帧头中的MsgType字段为0xE与0xF作为Beacon协议的上报帧与更新帧.另外,为了支持对尽可能多的本地状态进行上报,Beacon帧将PTP 帧从64B扩展为144B,并可根据用户需求进行进一步扩展.3.2基于CQF的TSN输出调度机制基于CQF的输出调度模型是目前TSN标准定义的可实现确定性交换延迟的一种转发模型.在FlexTSN中,我们在EOS模块中实现基于CQF模型的时间控制机制,提供一种基于FlexTSN的输出调度模型示例,满足用户使用FlexTSN进行非输出调度算法验证的需求.为了简化CQF调度机制,从而便于用户对调度机制进行重构,FlexTSN中对CQF机制进行2点简化:1)简化Queue Select模块的入队流控机制,使用令牌桶代替802.1Q-2014中的基于信用整形机制(credit based shaper,CBS),从而减少用户使用时需要配置的参数个数;2)使用4个输出队列(时间敏感乒乓队列、带宽预留队列以及尽力转发队列)代替VLAN的PCP 中定义的8种优先级队列,从而在满足不同优先级调度需求基础上减小FPGA片上存储资源的开销•为了保证针对高优先级流(PCP值为6或7)的确定性转发,FlexTSN中采用时间片轮转(时间片大小可由CNC节点进行实时配置)的方式在Gate Ctrl模块中对2个高优先级乒乓队列进行门控选择.如图8所示.即在奇(偶)数时间片调度Q3队列输出Q队列不输出;在偶(奇)数时间片调度Q2队列输出,Q3队列不输出•则可知,在一个N跳的网络中,一个TSN分组的转发延迟为((N-1)T, (N+1)T).该机制可以保证FlexTSN为用户提供确定性时延的转发需求.T n^<t<T n T n<t<T n+iH a l I M|I H叫丨丨丨fi iiii□奇队列内数据□偶队列内数据□队列中空位Fig.8The schematic diagram of ping-pongoutputscheduling图8乒乓队列调度输出示意图4原型验证为了对FlexTSN的相关性能与功能正确性进行验证,我们基于OpenBox S4平台[2]对FlexTSN 进行了原型系统验证,并对FAST架构下UM内部源码进行了开源[4]•本节分别对FlexTSN原型系统的硬件资源开销、Beacon机制有效性以及简化的CQF转发模型的确定性交换效果进行FPGA系统验证.4.1资源开销分析与验证为了保证能够运行在资源受限的FPGA上,并为用户预留足够资源用于自定义的算法验证, FlexTSN在同一时钟域中采取寄存器暂存而非FIFO的方式保证同步逻辑的时序控制,从而尽可能减小片上存储资源的开销.在FAST UM中,仅EOS模块包含了4个宽度为24b、深度为16b的FIFO用于支持TSN交换的门控与输出调度机制.基于OpenBox S4(采用Zynq7020SoC)的一种FlexTSN的原型系统资源开销如图9与表2所示.在基于OpenBox S4的FlexTSN原型系统中,LUT(look up table)与FF(flip flop)占比均不超过50%,资源开销最高的BRAM也不超过59%.该数160计算机研究与发展2021,58(1)据证明FlexTSN在设计与实现上尽可能节省了资源开销,有利于用户基于FlexTSN对更加复杂的算法进行系统验证•Fig.9Resource consumption of FlexTSNbased on Zynq7020图9基于Zynq7020的FlexTSN原型资源开销Based on Zynq7020表2基于Zynq7020的FlexTSN资源开销Table2Detailed Resource Consumption of FlexTSN类型用量用量在总量中的占比/%LUT2553648.00FF3736835.2URAM00.00BRAM82.5058.934.2PTP时间同步精度验证本节对基于PTP的时间同步精度进行验证,其 验证平台如图10所示.在该验证平台采用环形拓扑,共包含2〜6个TSN交换节点,并外接1个CNC控制节点与摄像头用于产生背景数据流量.主时钟为6个交换节点中任意1台,所有时间同步节点的FPGA时钟频率约束为125MHz,时间同步的同步周期为200ys.所有节点从同步后的零时刻开始,每间隔1s向CNC节点上报1个Beacon帧, CNC节点根据第3节时间同步精度验证算法得到当前全网的同步精度.为了得到时间同步精度与接入节点数量的关系,我们在环形拓扑中接入共6个FlexTSN节点,并在0号节点的2号端口接入管理节点借助Beacon 机制对时间同步精度进行检查.实验中通过摄像头实时提供随机的背景流量.实验中,当主时钟接收到各节点上报的Beacon帧时,对各节点与主时钟(CNC节点)当前的同步精度进行检查,Beacon帧的上报频率设置为5s.各节点与主时钟的时钟同步偏移如图11所示.总体上,各节点与主时钟间的同步误差不超过32ns,并且绝大多数结果都处于(0ns,16ns)之间.这验证了基于FlexTSN的时钟同步机制的良好精度,以及通过FlexTSN中的Beacon机制验证对时钟同步精度进行验证的可行性.Fig.11The synchronized time precision of FlexTSN 图11FlexTSN时间同步精度结果散点图Fig.10ThetopologyofFlexTSNtestbed 图10FlexTSN验证平台拓扑4.3简化的CQF转发模型验证在FlexTSN中,我们默认使用CQF模型支持的TSN的确定性转发的需求,本节对该模型的确定性转发效果进行验证•根据第3节相关部分,CQF模型可以保证时间敏感流的确定性的转发.为了对基于FlexTSN的CQF调度转发模型进行验证,我们将时间槽设置为不同宽度,并使用开源网络测试仪ant[7]用于产生不同分组长度的TSN流,并对经过不同转发设备数量的转发延迟进行测量,从而验证TSN流的端到端延迟能否达到((N—1)T,(N+1)T)的约束要求.。
课后习题第一章计算机系统结构的基本概念1.有一个计算机系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M 倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。
现若需第i级的N条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间?答:第2级上等效程序需运行:(N/M)*Ks。
第3级上等效程序需运行:(N/M)*(N/M)*Ks。
第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。
note:由题意可知:第i级的一条指令能完成第i-1级的M条指令的计算量。
而现在第i级有N条指令解释第i+1级的一条指令,那么,我们就可以用N/M来表示N/M 表示第i+1级需(N/M)条指令来完成第i级的计算量。
所以,当有一段第1级的程序需要运行Ks时,在第2级就需要(N/M)Ks,以此类推2.2.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。
答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。
但是实现的性能价格比,实现的难易程序不同。
在DOS操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡(硬件)上,而随着CPU、硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。
3.试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。
答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。
(1)计算机的系统结构相同,但可采用不同的组成。
如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。
其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
计算机系统结构自考笔记一、计算机系统结构概述。
1. 计算机系统的层次结构。
- 从底层到高层:硬件、操作系统、系统软件、应用软件。
- 各层次的功能及相互关系。
例如,硬件为软件提供运行平台,软件控制硬件资源的使用等。
2. 计算机系统结构的定义。
- 经典定义:程序员所看到的计算机属性,即概念性结构与功能特性。
- 包括指令系统、数据类型、寻址技术、I/O机制等方面的属性。
3. 计算机系统结构的分类。
- 按指令流和数据流的多倍性分类。
- 单指令流单数据流(SISD):传统的单处理器计算机。
- 单指令流多数据流(SIMD):如阵列处理机,适合进行数据并行处理。
- 多指令流单数据流(MISD):较少见的结构。
- 多指令流多数据流(MIMD):多处理器系统,如对称多处理机(SMP)。
- 按存储程序原理分类。
- 冯·诺依曼结构:程序和数据存储在同一存储器中,按地址访问。
- 哈佛结构:程序存储器和数据存储器分开,有各自独立的地址空间。
二、数据表示与指令系统。
1. 数据表示。
- 数据类型。
- 数值型数据(整数、浮点数):不同的表示格式,如定点数的原码、反码、补码表示;浮点数的IEEE 754标准表示。
- 非数值型数据(字符、字符串、逻辑数据等)。
- 数据的存储方式。
- 大端存储与小端存储:大端存储是高位字节存于低地址,小端存储是低位字节存于低地址。
2. 指令系统。
- 指令格式。
- 操作码:表示指令的操作类型,如加法、减法等操作。
- 地址码:指出操作数的地址或操作数本身。
有零地址、一地址、二地址、三地址等指令格式,每种格式的特点及适用场景。
- 指令类型。
- 数据传送指令:在寄存器、存储器等之间传送数据。
- 算术运算指令:加、减、乘、除等运算。
- 逻辑运算指令:与、或、非等逻辑操作。
- 控制转移指令:如无条件转移、条件转移、子程序调用与返回等,用于改变程序的执行顺序。
三、存储系统。
1. 存储器层次结构。
- 高速缓冲存储器(Cache) - 主存储器 - 辅助存储器的层次结构。
数据流体系结构风格完整版PPT 在当今数字化的时代,软件系统的架构设计对于系统的性能、可扩展性和可靠性起着至关重要的作用。
数据流体系结构风格作为一种常见的架构风格,在许多领域得到了广泛的应用。
接下来,让我们深入了解一下数据流体系结构风格。
一、数据流体系结构风格的概念数据流体系结构风格强调数据在系统中的流动和处理。
在这种风格中,数据如同河流中的水一样,从一个处理节点流向另一个处理节点,每个处理节点对数据进行相应的操作和转换。
与其他体系结构风格相比,数据流体系结构风格具有明显的特点。
它更注重数据的流动和处理顺序,而不是控制流的复杂逻辑。
这使得系统在处理大量数据时能够更加高效和稳定。
二、数据流体系结构风格的组成元素(一)数据源数据源是数据的产生者,它为系统提供了原始的数据输入。
数据源可以是各种各样的,比如传感器、文件、数据库等。
(二)数据处理节点数据处理节点是系统的核心部分,它们负责对输入的数据进行处理和转换。
每个处理节点都有明确的输入和输出,并且其处理逻辑是相对独立的。
(三)数据存储数据存储用于暂时或长期保存数据,以便在需要时进行访问和处理。
常见的数据存储包括内存缓冲区、磁盘文件、数据库等。
(四)数据通道数据通道用于连接数据源、处理节点和数据存储,确保数据能够在系统中顺畅地流动。
三、数据流体系结构风格的优点(一)高并发处理能力由于数据的流动和处理是独立的,系统可以同时处理多个数据流,从而提高了系统的并发处理能力。
(二)易于理解和维护数据流体系结构风格的逻辑相对简单,数据的流动和处理过程清晰可见,这使得系统的理解和维护变得更加容易。
(三)可扩展性强当需要增加新的处理功能时,只需要添加新的处理节点,并将其连接到合适的数据通道上,系统的扩展性得到了很好的保障。
(四)高效的数据处理数据按照预定的路径流动和处理,避免了不必要的控制逻辑和复杂的交互,提高了数据处理的效率。
四、数据流体系结构风格的应用场景(一)数据处理系统在大数据处理、数据仓库等系统中,数据流体系结构风格能够有效地处理海量的数据,并从中提取有价值的信息。