网络演算(Networkcalculus)

中文释义

网络演算(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,tR+:u<tA(u)A(t)u,tR+:u<tA(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{dR+ s.t. D(t+d)A(t)}d(A,D,t):=inf{dR+ 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):=t0sup{A(t)D(t)}b(A,D):=supt0{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):=t0sup{inf{dR+ s.t. D(t+d)A(t)}}d(A,D):=supt0{inf{dR+ 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 }(fg)(t):=0tf(τ)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\}}(fg)(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\}}(fg)(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)=(fg)(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:(fg)(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(τ)}=(AA)(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)}τ,tR+:A(τ+t)A(τ)E(t) --------- (1)
A≤A⊗EA\leq A\otimes EAAE --------- (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)(AS)(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)tI,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,tR+, such that s≤t{\displaystyle s\leq t}st, 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(ts).

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=ES.

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=S1S2.

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

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,S2S1)d(E,S1)+d(ES1,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

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

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

相关文章

go语言服务器运行,Go语言实现Web服务器

使用Go语言的库非常容易实现一个Web服务器&#xff0c;用来响应像fetch那样的客户端请求。本节将展示一个迷你服务器&#xff0c;返回访问服务器的URL的路径部分。例如&#xff0c;如果请求的URL是http://localhost:8000/hello&#xff0c;响应将是URL.Path"/hello"。…

矩阵向量求导

本系列主要参考文献为维基百科的Matrix Caculas和张贤达的《矩阵分析与应用》。 一、求导定义与求导布局 1. 矩阵向量求导引入 2. 矩阵向量求导定义 3. 矩阵向量求导布局 具体总结如下&#xff1a; 4. 矩阵向量求导基础总结 有了矩阵向量求导的定义和默认布局&#xff0c;…

多媒体计算机属于哪种教学,多媒体计算机属于哪种教学媒体(???)。

摘要&#xff1a;高处触电发生&#xff0c;多媒行抢护理救与应就地进&#xff0c;及时抢救为使。算机属于我国率为电网的额定频。教学火电一般量表流量厂中采用差压测量式流。...高处触电发生&#xff0c;多媒行抢护理救与应就地进&#xff0c;及时抢救为使。械的固定在擦近转部…

导数的四则运算和复合函数的求导

1. 常用初等函数的求导公式 2. 函数的四则运算求导简单可记为 3. 反函数求导法则 https://www.sohu.com/a/233597731_507476

rest spring_Spring REST:异常处理卷。 1个

rest spring目录 Spring REST&#xff1a;异常处理卷。 1个 Spring REST&#xff1a;异常处理卷。 2 Spring REST&#xff1a;异常处理卷。 3 大家好&#xff0c;是时候继续在我的博客中发布新文章了。 因此&#xff0c;我很高兴地宣布&#xff0c;我计划撰写一些技术性的系…

英特尔服务器主板型号参数对照表,Intel主板芯片组参数速查表(201805版)

2018年5月6日更新注&#xff1a;以上主板频率是intel的规范&#xff0c;而实际工厂在制造的时候&#xff0c;可以让主板支持到更高的频率&#xff0c;这称为内存频率的OC支持。2016年底&#xff0c;intel200系列芯片组发布了&#xff0c;主要有&#xff1a;Z270、H270、B250三款…

schur补(schur complement)

1. schur补的定义及性质 2. schur补的应用 2.1 在矩阵方程求解中的应用 2. 概率论和统计学中的应用 https://blog.csdn.net/itnerd/article/details/83385817

oppo r17听筒测试软件,【OPPOR17评测】ColorOS变智能 OPPO R17堪称生活小秘书(全文)_OPPO R17(6GB RAM/全网通)_手机评测-中关村在线...

近两年来&#xff0c;手机的全面屏设计不是美人尖就是刘海屏&#xff0c;这两种设计虽然可以扩大屏占比&#xff0c;但是缺少设计的美感。这时候&#xff0c;OPPO R17终于为我们带来了即有较高的屏占比又优雅的全面屏设计——水滴屏&#xff0c;让摄像头向水滴一样“垂涎欲滴”…

别克gl8服务器返回数据为空,老司机教学:别克GL8商务车总线控制系统故障解决...

别克GL8(参数|图片)商务车原自动变速箱出现严重故障更换自动变速箱后,不能启动车辆。检查原因,接通电源后档位灯不亮,发动机故障灯亮,防盗指示灯亮,不能启动车辆。用别克车型诊断仪TECH2检查,发现访问不了通过串行数据总线连接传输的各个模块。 检测故障与解决:1、CLASS-2串行数…

导数与函数极值

http://wuli.wiki//online/DerMax.html

驻点、极值点、拐点间的区别和联系

一、极值点与驻点的“纠缠” 我们可以从以下三点去理解它们的区别与联系&#xff1a; 二、拐点和另两者的“牵扯” https://zhuanlan.zhihu.com/p/95782395

御龙在天手游怎么不显示服务器了,御龙在天手游进不去怎么办 闪退原因及解决办法...

御龙在天手游进不去怎么办&#xff1f;闪退原因及解决办法。御龙在天手游今天迎来了安卓平台的不删档不限号测试(游戏出现打不开的问题&#xff0c;下面就让小编为大家介绍一下出现这类问题的原因及解决办法吧&#xff01;1.服务器问题游戏早上10点左右公布了下载的地址&#x…

矩阵乘法和向量乘法

1. 矩阵乘法 2.向量乘法 https://zhuanlan.zhihu.com/p/79760117

怪物猎人服务器维护时间,怪物猎人云服务器

怪物猎人云服务器 内容精选换一换云耀云服务器适用于对CPU、内存、硬盘空间和带宽无特殊要求&#xff0c;服务一般只需要部署在一台或少量的服务器上&#xff0c;一次投入成本少&#xff0c;后期维护成本低的场景。例如网站开发&#xff0c;Web应用。推荐使用云耀云服务器&…

Vaadin Flow –奇妙的鹿

您可能知道&#xff0c;Vaadin是Java上最受欢迎的Web框架之一&#xff1a; https://zeroturnaround.com/rebellabs/java-web-frameworks-index-by-rebellabs/ https://javapipe.com/hosting/blog/best-java-web-frameworks/ 最近发布了该Web UI开发框架的新版本– Vaadin 10…

转置与变换(Transposes and Permutation)

1. 转置(Transposes) 2. Inner Product 3. 对称(symmetric) 4. RTRR^TRRTR 5. Permutation 6.PALU 7. Conclusion 总结一下就是转置和对称的相互关系&#xff0c;以及其一些特性&#xff0c;矩阵中元素的位置变换成为了本文重点。 https://face2ai.com/math-linear-algebra-c…

排名前20位的在线编程课程,可促进您的职业发展

您是否想知道用时间和金钱可以进行的最佳投资是什么&#xff1f; 知识 作为软件开发人员&#xff0c;您应该不断学习新技能。 这是发展您的职业并享受奖励&#xff08;金钱&#xff0c;情感等&#xff09;的最佳方法。 朝着这个方向前进&#xff0c;您应该阅读书籍&#xff…

线性代数

一、线性方程组 三、矩阵、向量中元素的符号 四、矩阵中行向量、列向量 五、行向量 列向量 (向量内积) 六、列向量 行向量(向量外积) 七、矩阵 列向量 (按行写矩阵) 八、矩阵 列向量 (按列写矩阵) 九、行向量 矩阵 &#xff08;矩阵按列写&#xff09; 十、行向量 矩阵 &…

矩阵导数

-************************************************** https://wenku.baidu.com/view/f7fa307a580216fc700afdb9.html#

HTTP缓存与Spring示例

缓存是HTTP协议的强大功能&#xff0c;但由于某些原因&#xff0c;它主要用于静态资源&#xff0c;例如图像&#xff0c;CSS样式表或JavaScript文件。 但是&#xff0c;HTTP缓存不仅限于应用程序的资产&#xff0c;您还可以将其用于动态计算的资源。 只需少量工作&#xff0c;…