中文释义

网络演算(Networkcalculus)是一种基于非线性代数的确定性排队理论,目前已广泛应用于计算机网络建模与性能分析,特别是为计算延迟和积压等端到端性能参数的确界提供了有效工具。

网络演算的研究工作可分为理论研究与应用研究。理论研究的研究对象是网络演算的数学模型,是网络演算得以广泛应用的基础。理论研究的每一步进展都可以带动大批实际应用。由于网络演算属于跨学科的研究领域,涉及较多数学理论,因此理论研究的进展相对于应用而言较为缓慢。

网络演算作为一种网络性能分析工具,按照普遍的观点可以分为确定性网络演算和随机网络演算。确定性网络演算比较简单,目的是得到网络性能的最坏边界。随机网络演算的目的是为网络提供随机服务质量保障,要考虑网络数据流的随机突发,自相识等特性,以及网络信道的接入拥塞物理信道的衰落等因素,因此相对应用起来比较复杂,因此许多研究人员也运用了不同的数学方法和不同的数学表达方式来扩充随机网络演算。

网络演算的主要工具是到达曲线和服务曲线。

网络演算主要是用来得到以下5个结果:
1)数据流叠加
2)输入输出的关系
3)网络延时和积压性质
4)节点串联
5)剩余服务曲线

https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E6%BC%94%E7%AE%97
http://gb.oversea.cnki.net/KCMS/detail/detail.aspx?filename=2010147286.nh&dbcode=CDFD&dbname=CDFDREF

英文释义

Network calculus is “a set of mathematical results which give insights into man-made systems such as concurrent programs, digital circuits and communication networks.”[1] Network calculus gives a theoretical framework for analysing performance guarantees in computer networks. As traffic flows through a network it is subject to constraints imposed by the system components, for example:

  • link capacity
  • traffic shapers (leaky buckets)
  • congestion control
  • background traffic

These constraints can be expressed and analysed with network calculus methods. Constraint curves can be combined using convolution under min-plus algebra. Network calculus can also be used to express traffic arrival and departure functions as well as service curves.

The calculus uses “alternate algebras … to transform complex non-linear network systems into analytically tractable linear systems.”[2]

Currently, there exists two branches in network calculus: one handling deterministic bounded, and one handling stochastic bounds .[3]

System modelling

Modelling flow and server

In network calculus, a flow is modelled as cumulative functions A, where A(t) represents the amount of data (number of bits for example) send by the flow in the interval [0,t). Such functions are non-negative and non-decreasing. The time domain is often the set of non negative reals.

Arrival and departure curve at ingress and egress (入口和出口) of a server.
A:R+→R+A:R+→R+{\displaystyle A:\mathbb {R} ^{+}\rightarrow \mathbb {R} ^{+}}A:{\mathbb R}^{+}\rightarrow {\mathbb R}^{+}A:R+→R+A:R+→R+

∀u,t∈R+:u<t⟹A(u)≤A(t)∀u,t∈R+:u<t⟹A(u)≤A(t){\displaystyle \forall u,t\in \mathbb {R} ^{+}:u<t\implies A(u)\leq A(t)}\forall u,t\in {\mathbb R}^{+}:u<t\implies A(u)\leq A(t)∀u,t∈R+:u<t⟹A(u)≤A(t)∀u,t∈R+:u<t⟹A(u)≤A(t)

A server can be a link, a scheduler, a traffic shaper, or a whole network. It is simply modelled as a relation between some arrival cumulative curve A and some departure cumulative curve D. It is required that A ≥ D, to model the fact that the departure of some data can not occur before its arrival.

Modelling backlog and delay

Given some arrival and departure curve A and D, the backlog at any instant t, denoted b(A,D,t) can be defined as the difference between A and D. The delay at t, d(A,D,t) is defined as the minimal amount of time such that the departure function reached the arrival function. When considering the whole flows, the supremum of these values is used.

Horizontal and vertical deviation between arrival and departure cumulative curves

b(A,D,t):=A(t)−D(t)b(A,D,t):=A(t)−D(t){\displaystyle b(A,D,t):=A(t)-D(t)}b(A,D,t):=A(t)-D(t)b(A,D,t):=A(t)−D(t)b(A,D,t):=A(t)−D(t)

d(A,D,t):=inf⁡{d∈R+s.t.D(t+d)≥A(t)}d(A,D,t):=inf⁡{d∈R+s.t.D(t+d)≥A(t)}{\displaystyle d(A,D,t):=\inf \left\{d\in \mathbb {R} ^{+}~s.t.~D(t+d)\geq A(t)\right\}}d(A,D,t):=\inf \left\{d\in {\mathbb R}^{+}~s.t.~D(t+d)\geq A(t)\right\}d(A,D,t):=inf{d∈R+ s.t. D(t+d)≥A(t)}d(A,D,t):=inf{d∈R+ s.t. D(t+d)≥A(t)}

b(A,D):=sup⁡t≥0{A(t)−D(t)}b(A,D):=sup⁡t≥0{A(t)−D(t)}{\displaystyle b(A,D):=\sup _{t\geq 0}\left\{A(t)-D(t)\right\}}b(A,D):=\sup _{{t\geq 0}}\left\{A(t)-D(t)\right\}b(A,D):=t≥0sup​{A(t)−D(t)}b(A,D):=supt≥0​{A(t)−D(t)}

d(A,D):=sup⁡t≥0{inf⁡{d∈R+s.t.D(t+d)≥A(t)}}d(A,D):=sup⁡t≥0{inf⁡{d∈R+s.t.D(t+d)≥A(t)}}{\displaystyle d(A,D):=\sup _{t\geq 0}\left\{\inf \left\{d\in \mathbb {R} ^{+}~s.t.~D(t+d)\geq A(t)\right\}\right\}}d(A,D):=\sup _{{t\geq 0}}\left\{\inf \left\{d\in {\mathbb R}^{+}~s.t.~D(t+d)\geq A(t)\right\}\right\}d(A,D):=t≥0sup​{inf{d∈R+ s.t. D(t+d)≥A(t)}}d(A,D):=supt≥0​{inf{d∈R+ s.t. D(t+d)≥A(t)}}

In general, the flows are not exactly known, and only some constraints on flows and servers are known (like the maximal number of packet sent on some period, the maximal size of packets, the minimal link bandwidth). The aim of network calculus is to compute upper bounds on delay and backlog, based on these constraints. To do so, network calculus uses the min-plus algebra.

Min-plus algebra

In filter theory and linear systems theory the convolution of two functions fff and ggg is defined as

(f∗g)(t):=∫0tf(τ)⋅g(t−τ)dτ{\displaystyle (f\ast g)(t):=\int _{0}^{t}f(\tau )\cdot g(t-\tau )d\tau }(f∗g)(t):=∫0t​f(τ)⋅g(t−τ)dτ

In min-plus algebra the sum is replaced by the minimum respectively infimum operator and the product is replaced by the sum. So the min-plus convolution of two functions fff and ggg becomes

(f⊗g)(t):=inf⁡0≤τ≤t{f(τ)+g(t−τ)}{\displaystyle (f\otimes g)(t):=\inf _{0\leq \tau \leq t}\left\{f(\tau )+g(t-\tau )\right\}}(f⊗g)(t):=0≤τ≤tinf​{f(τ)+g(t−τ)}

e.g. see the definition of service curves. Convolution and min-plus convolution share many algebraic properties. In particular both are commutative and associative.

A so-called min-plus de-convolution operation is defined as

(f⊘g)(t):=sup⁡τ≥0{f(t+τ)−g(τ)}{\displaystyle (f\oslash g)(t):=\sup _{\tau \geq 0}\left\{f(t+\tau )-g(\tau )\right\}}(f⊘g)(t):=τ≥0sup​{f(t+τ)−g(τ)}

e.g. as used in the definition of traffic envelopes.

The vertical and horizontal deviations can be expressed in terms of min-plus operators.

b(f,g)=(f⊘g)(0){\displaystyle b(f,g)=(f\oslash g)(0)}b(f,g)=(f⊘g)(0)

d(f,g)=inf⁡{w:(f⊘g)(−w)≤0}{\displaystyle d(f,g)=\inf\{w:(f\oslash g)(-w)\leq 0\}}d(f,g)=inf{w:(f⊘g)(−w)≤0}

Traffic envelopes

Cumulative curves are real behaviours, unknown at design time. What is known is some constraint. Network calculus uses the notion of traffic envelope, also known as arrival curves.

A cumulative function A is said to conform to an envelope (or arrival curve) E, if for all t it holds that

E(t)≥sup⁡τ≥0{A(t+τ)−A(τ)}=(A⊘A)(t){\displaystyle E(t)\geq \sup _{\tau \geq 0}\{A(t+\tau )-A(\tau )\}=(A\oslash A)(t)}E(t)≥τ≥0sup​{A(t+τ)−A(τ)}=(A⊘A)(t).

Two equivalent definitions can be given

∀τ,t∈R+:A(τ+t)−A(τ)≤E(t){\displaystyle \forall \tau ,t\in \mathbb {R} ^{+}:A(\tau +t)-A(\tau )\leq E(t)}∀τ,t∈R+:A(τ+t)−A(τ)≤E(t) --------- (1)
A≤A⊗EA\leq A\otimes EA≤A⊗E --------- (2)

Thus, E places an upper constraint on flow A. Such function E can be seen as an envelope that specifies an upper bound on the number of bits of flow seen in any interval of length t starting at an arbitrary τ, cf. eq. (1).

Service curves

In order to provide performance guarantees to traffic flows it is necessary to specify some minimal performance of the server (depending on reservations in the network, or scheduling policy, etc.). Service curves provide a means of expressing resource availability. Several kinds of service curves exists, like weakly strict, variable capacity node, etc. See [4] [5] for an overview.

Minimal service

Let A be an arrival flow, arriving at the ingress of a server, and D be the flow departing at the egress. The system is said to provide a simple minimal service curve S to the pair (A,B), if for all t it holds that D(t)≥(A⊗S)(t){\displaystyle D(t)\geq (A\otimes S)(t)}D(t)≥(A⊗S)(t).

Strict minimal service

Let A be an arrival flow, arriving at the ingress of a server, and D be the flow departing at the egress. A backlog period is an interval I such that, on any t∈I,A(t)>D(t)t ∈ I, A(t)>D(t)t∈I,A(t)>D(t).

The system is said to provide a strict minimal service curve S to the pair (A,B) iff, ∀s,t∈R+{\displaystyle \forall s,t\in \mathbb {R} ^{+}}∀s,t∈R+, such that s≤t{\displaystyle s\leq t}s≤t, if (s,t]{\displaystyle (s,t]}(s,t] is a backlog period, thenD(t)−D(s)≥S(t−s){\displaystyle D(t)-D(s)\geq S(t-s)}D(t)−D(s)≥S(t−s).

If a server offers a strict minimal service of curve S, it also offers a simple minimal service of curve S.

Basic results: Performance bounds and envelope propagation

From traffic envelope and service curves, some bounds on the delay and backlog, and an envelope on the departure flow can be computed.

Let A be an arrival flow, arriving at the ingress of a server, and D be the flow departing at the egress. If the flow as a traffic envelope E, and the server provides a minimal service of curve S, then the backlog and delay can be bounded:
b(A,D)≤b(E,S)b(A,D)\leq b(E,S)b(A,D)≤b(E,S)
d(A,D)≤d(E,S)d(A,D)\leq d(E,S)d(A,D)≤d(E,S)

Moreover, the departure curve has envelope E′=E⊘S.E'=E\oslash S.E′=E⊘S.

Moreover, these bounds are tight i.e. given some E, and S, one may build an arrival and departure such that b(A,D)=b(E,S)b(A,D) = b(E,S)b(A,D)=b(E,S) and v(A,D)=v(E,S)v(A,D)=v(E,S)v(A,D)=v(E,S).

Concatenation / PBOO

Consider a sequence of two servers, when the output of the first one is the input of the second one. This sequence can be seen as a new server, built as the concatenation of the two other ones.

Then, if the first (resp. second) server offers a simple minimal service S1S_{1}S1​ (resp. S2S_{2}S2​), then, the concatenation of both offers a simple minimal service Se2e=S1⊗S2S_{{e2e}}=S_{1}\otimes S_{2}Se2e​=S1​⊗S2​.

Sequence of two servers
The proof does iterative application of the definition of service curves X≥A⊗S1X\geq A\otimes S_{1}X≥A⊗S1​, D≥X⊗S2D\geq X\otimes S_{2}D≥X⊗S2​ and some properties of convolution, isotonicity (D≥(X⊗S2)⊗S1D\geq (X\otimes S_{2})\otimes S_{1}D≥(X⊗S2​)⊗S1​), and associativity (D≥X⊗(S2⊗S1D\geq X\otimes (S_{2}\otimes S_{1}D≥X⊗(S2​⊗S1​)).

The interest of this result is that the end-to-end delay bound is not greater than the sum of local delays: d(E,S2⊗S1)≤d(E,S1)+d(E⊘S1,S2d(E,S_{2}\otimes S_{1})\leq d(E,S_{1})+d(E\oslash S_{1},S_{2}d(E,S2​⊗S1​)≤d(E,S1​)+d(E⊘S1​,S2​).

This result is known as Pay burst only once (PBOO).

Tool

There are several tools based on network calculus.

The DiscoDNC is an academic Java implementation of the network calculus framework.[6]
The RTC Toolbox is an academic Java/MATLAB implementation of the Real-Time calculus framework, a theory quasi equivalent to network calculus.[4]
The CyNC[7] tool is an academic MATLAB/Symulink toolbox, based on top of the RTC Toolbox. The tool was developed in 2004-2008 and it is currently used for teaching at Aalborg university.
The RTaW-PEGASE is an industrial tool devoted to timing analysis tool of switched Ethernet network (AFDX, industrial and automotive Ethernet), based on network calculus.[8]
The Network calculus interpreter is an on-line (min,+) interpreter.
The WOPANets is an academic tool combining network calculus based analysis and optimization analysis.[9]
The DelayLyzer is an industrial tool designed to compute bounds for Profinet networks.[10]
DEBORAH is an academic tool devoted to FIFO networks.[11]
NetCalBounds is an academic tool devoted to blind & FIFO tandem networks.[12][13]
NCBounds is a network calculus tool in Python, published under BSD 3-Clause License. It considers rate-latency servers and token-bucket arrival curves. It handles any topology, including cyclic ones[14].
The Siemens Network Planner (SINETPLAN) uses network calculus (among other methods) to help the design of a PROFINET network.[15]

Reference

https://en.wikipedia.org/wiki/Network_calculus

网络演算(Networkcalculus)相关推荐

  1. 华为徐文伟:用数学和系统工程方法推进未来网络研究

    来源:华为 在2021第五届未来网络发展大会上,来自产业界.学术界.研究机构等领域的专家.行业领袖,围绕网络操作系统.6G通信.网络安全.工业互联网等热点话题,共同探讨新型网络技术的攻关与变革.华为董 ...

  2. 湖南师大工学院计算机,张连明-湖南师范大学信息科学与工程学院

    张连明,工学博士,教授,博士生导师,现任湖南师范大学物联网工程系主任.中国计算机学会(CCF)高级会员,CCF物联网专业委员会委员,湖南省计算机学会理事,湖南省普通高校电子信息类专业教学指导委员会副主 ...

  3. SysML-Sec A model Driven Approach for Designing Safe and Secure Systems

    SysML-Sec用于设计安全系统的模型驱动方法 摘要 安全性是开放式的,可以攻击嵌入的系统,并且必须仔细评估顺序才能确定对安全性的威胁.随后保护系统安全,即将安全机制集成到系统体系结构本身会影响系统 ...

  4. 芯准TTE“宏时隙“调度机制 ——基本原理

    芯准TTE采用的"宏时隙"机制的优点是基于类似"网络切片"思想,将TTE交换机输出接口TT帧调度与RC帧调度解耦,使得TT帧时隙的规划与RC帧的延时评估彻底无关 ...

  5. 记进组后第五次组会汇报

    2023年2月14日 日记 一.小组组会 二.实验室组会 1.汇报内容 (1)参考文献 (2)CQF机制 a.研究现状 b.相关思考 (3)研究计划 2.汇报反馈 一.小组组会 上午十点整,小组组会开 ...

  6. AVB与TSN基础知识及对比

    前言 我现在的方向是TSN,而TSN的前身是AVB.通过以下论文的阅读,包括ACM的<A Survey of Real-Time Ethernet Modeling and Design Met ...

  7. 关于OPC UA TSN中TSN

    近日,TTTech和英特尔联合发表了一份白皮书,为寻求在工业自动化系统中实现TSN网络技术的客户提供指导.白皮书概述了所有的TSN标准.优点和特点,并描述了TTTech和英特尔今天可用的产品如何可用于 ...

  8. 图灵奖得主Judea Pearl :从“贝叶斯网络之父”到“AI社区的叛徒”

    图灵奖得主Judea  Pearl,早在40多年前便通过贝叶斯网的设计,使机器实现概率推理而在人工智能领域声名大噪,并被誉为"贝叶斯网络之父",但近年却公开声称自己其实是人工智能社 ...

  9. 大脑模拟NLP,高德纳奖得主Papadimitriou:神经元集合演算用于句子解析

    来源:机器之心本文约2000字,建议阅读5分钟集合模型使我们更接近于理解这些功能,并回答剩下的问题. 一个简单的大脑模型为人工智能研究提供了新的方向.世界顶尖计算机科学理论学家.哥德尔奖和高德纳奖获得 ...

最新文章

  1. Fedora 提出统一流程,弃用上千 Python 2 软件包更可控
  2. 世界欠他一个图灵奖! LSTM之父的深度学习“奇迹之年”
  3. 【C 语言】内存四区原理 ( 常量区示例 | 不同函数返回的相同字符串的指针地址相同 )
  4. 【华为云技术分享】云小课 | OBS提供多方面数据安全保障,让存储放心、贴心、省心
  5. PHP函数spl_autoload_register()用法和__autoload()介绍(转)
  6. 实现简单的Java内存缓存
  7. git log根据特定条件查询日志并统计修改的代码行数
  8. 微信公众号内推送模板消息
  9. 企业微信员工离职后,还能看聊天记录吗?
  10. 《老路用得上的商学课》51-55学习笔记
  11. 原生开发什么意思_原生App是什么意思
  12. echarts 南丁格尔玫瑰图属性设置
  13. MySQL 的主从复制(高级篇)
  14. 评测5款国内外免费远控,谁是最好用第一名?
  15. 什么是基于web开发,CSS的浮动属性,干货满满!
  16. nodejs+express对微信公众号进行二次开发--接收消息,自动回复文本,图片以及代码优化
  17. php反射型xss,反射型XSS测试及修复
  18. 逝去的2017手机江湖:洗牌与逆袭、苟且与远方
  19. “城市大脑”是城市的大脑,不是人类的大脑!
  20. 刚入门,对于浮动float的作用、影响和解决方案和它们的缺点

热门文章

  1. 仔细看看,您会发现需要改进的地方
  2. JavaEE重新审视设计模式:装饰器
  3. 以编程方式向OpenJPA注册实体类型
  4. IntelliJ IDEA for Mac在MacOS模式下的导航快捷键(Navigation Shortcut)
  5. vim 编程常用的指令和快捷键
  6. 簇的局部变量中布尔类型_java基础2(变量、常量、数据类型)
  7. base64 二进制流java_读取和base64编码二进制文件
  8. ssh 与 telnet 有何不同?_采用创新面料Nike Infinalon的全新瑜珈系列究竟有何不同?...
  9. python剑指offer面试题_剑指Offer(Python语言)面试题38
  10. springboot启动自动关闭_App自动化测试用例格式和App的启动与关闭