日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络演算(Networkcalculus)

發布時間:2023/12/2 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络演算(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<t?A(u)A(t)?u,tR+: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{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 }(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)}?τ,tR+:A(τ+t)?A(τ)E(t) --------- (1)
A≤A?EA\leq A\otimes EAA?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)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(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}XA?S1?, D≥X?S2D\geq X\otimes S_{2}DX?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}DX?(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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。