500 likes | 760 Views
Outline. Introduction Motivation Paper survey problem definition Solutions Simulation experiments Conclusion. Introduction. Multimedia data need to be delivered with end-to-end performance guarantee Future Internet will have to support various QoS classes
E N D
Outline • Introduction • Motivation • Paper survey • problem definition • Solutions • Simulation experiments • Conclusion
Introduction • Multimedia data need to be delivered with end-to-end performance guarantee • Future Internet will have to support various QoS classes • Each class will have its own set of service guarantees and associated costs • QoS routing is aim to chose an s-t path and decompose QoS constraint along path such that path cost can be minimized
Introduction(cont.) • When single class with every link,end-to-end QoS is sum of these metrics along path • When there are K classes with every link,end-to-end QoS number is equal to K|P| • K : QoS class • |P| : path length • 主要問題在於,當路徑長度太長時,端對端可能的QoS數目將會暴增,造成對幾種提出的multicast routing演算法複雜度提高
Introduction(cont.) • Three multicast routing algorithm was considered : • Constrained shortest path tree(CSPT) • Algorithm proposed by Kompella etc.(KPP) • Bounded shortest path algorithm(BSMA) • 因此主要目標就是尋找一種解決方式,來降低因端對端QoS 數目隨路徑長度增加而急速成長,而導致CSP演算法複雜度提高的問題
Motivation • 可能的想法如下: • 在每條link上所提供的QoS class等級,我們只考慮其中三個等級,也就是最好,中等與最差三個等級,若連最佳等級都不能提供連線所需的QoS,則block • 上一種想法雖可大幅降低QoS數目,但當路徑變長時,端對端QoS仍可能暴增.另一種較aggregate的想法,可能是若整個網路就只提供三個服務品質等級時,也就是仍有最好,中等與最壞等級時,而非考慮端對端QoS的多種組合時,如何以此一觀點來解決此問題
Paper survey : CSP algorithm • CSP演算法是一種點對點(unicast)QoS routing algorithm • 它可針對任一source與destination(O-D)pair在各種可能不同等級的QoS情形下,找到一條cost最小,且符合constraint的路徑 • 使用link state protocol交換state inform.,並修正自Bellman-Ford algorithm • 表由s到i的shortest path,h為iteration次數
CSP algorithm(cont.) • .cost[d][l], .prehop[d][l], .class[d][l]分別代表s到i的最少花費,此條路徑上i的前一跳點,與i到前一跳點間link上的QoS class • d與l分別代表端對端QoS delay 與loss值 • Each iteration:其中
CSP algorithm程式問題 • 在演算法中,因為要考慮各種不同可能的QoS等級,所以以for迴圈考慮d<=maxdelay,但d以整數漸增,而實際event所要求的端對端delay為小數,如何針對每條link所提供的3種delay level,將end-to-end delay與loss轉換為整數 • CSP演算法最主要的計算複雜度,在於每次iteration時,它必須考慮多種可能的delay與loss組合,ex:d=0;l=0;d+delay[k]<=maxdelay等,且當點數一多,收斂速度可能更慢
CSPT multicast algorithm • 此演算法先利用CSP演算法找介於每一O-D pair間符合限制且花費最少的路徑.再將這些路徑連接起來,構成multicast tree • 兩大問題: • Common link problem:採共同link上的QoS分配選擇較緊的配置,其他link上的QoS則重新配置 • Looping problem:採移去QoS配置較鬆的路徑,以避免違反端對端QoS限制
KPP multicast algorithm • 分三步驟建tree: • 先以CSP演算法找介於每一對O-D pair間,針對不同QoS等級,符合限制且花費最少的路徑.此步驟完成後,可形成一closure graph,其中圖上只含group成員,links為介於它們間符合限制且花費最少路徑 • 使用類似Prim演算法,連續將花費較少的dest.納入tree中 • Dest與source直接相連 • Dest與另一已在tree上的dest相連 • 延伸closure graph上的link到真實圖形上,並可能遭遇common link與looping問題
BSMA multicast algorithm • BSMA演算法含兩步驟 • 先使用CSPT演算法建multicast tree • 替換superedge,改以花費較少的superedge代替 • 移去花費較高的superedge後,會造成兩棵分離的tree • 再利用CSP演算法,由T2的root找路徑到T1上的任一點,且此路徑必須較原superedge的花費少,且這條接回兩棵分離樹的路徑也不能使復原後的樹違反端對端QoS限制
QoS decomposition algorithm • 可行性測試 • 當所有路徑上的link,QoS等級均設成最高時,是否滿足端對端QoS需求 • 檢查路徑上所有link是否有足夠頻寬提供最低等級 • 每條路徑上的link其QoS等級初始均設成最低 • Loop • 若端對端QoS需求已滿足,則跳離迴圈 • 若無頻寬繼續調升QoS等級,則失敗 • 選擇花費最少的link來將QoS調升至適當等級
Multicast routing程式部分 • multicast routing程式中出現的問題有: • BSMA,KPP,CSPT中之delay代表的是QoS等級,而非真實提供的delay guarantee數值 • 三支程式皆未考慮端對端loss constraint的問題 • BSMA程式中使用Dijkstra algorithm 來建spanning tree,並沒有使用CSPT algorithm(與論文不符) • CSPT主程式中CSP algorithm不大相符 • 未使用Greedy partition的問題
Paper survey : RSP problem • 所謂RSP problem,就是當給定一限制值時,如何找到由source到dest的最短路徑,且符合限制 • 提出一種recursive演算法 • 假設每條edge均有長度c與轉移時間t • 目的 • 找一條由來源1到目的地n長度最短的路徑,且路徑轉移時間不超過T,以OPT代表此路徑長度 • 以gj(c)代表由來源1到目的地j最快路徑的時間,且這條路徑的長度不能超過c
RSP problem(cont.) • Recursive演算法如下: • g1(c)=0 , c=0,1,2,…,OPTgj (0)=infinite , j=2,3,…,ngj (c)= j=2…n ; c=1,2,….,OPT • OPT值必須滿足 • 此演算法運作方式如下:當c=1, j=2,…,n,計算gj(c),接著c=2,j=2,…,n,直到找到第一個c值滿足gn(c)<=T,則OPT=c
RSP problem:testing procedure • 測試程序主要是測試當給定一個V值時,OPT值是否大於或等於此V值,以判斷OPT值上下限 • 測試程序定義如下: • 若OPT大於等於V,則輸出yes • 若OPT小於V(1+ ),則輸出no • 將每條edge的長度乘以一個weight : • 方法如下所述: • 先計算gj (c)在c=1,j=2,3,…,n時的值,接著計算c=2,3,…,直到gn(c)<=T可在c<(n-1)/ 被找到,此時表OPT<V(1+ ),若在c>=(n-1)/ 被找到,則OPT>=V
RSP prob. : rounding and scaling • 方法如下: • 一開始OPT值的下限LB設成1,OPT值的上限UB設成最長edge-length的總合 • 若UB<=(1+ )LB,則UB就是以(1+ )近似OPT值 • 假設UB>(1+ )LB,且V為被給定的值,LB<V<UB/(1+ ) • 接著提供測試程序,測試程序會改進OPT值的界限,例如LB可能增加到V或UB降低到V(1+ ) • 將edge長度設成 ,並將此edge拿到exact演算法中計算最佳T路徑,而後將此路徑輸出
Paper survey : QoS routing with performance dependent cost • 此篇所考慮的網路模型,是在每條link上都有多組不同的delay與cost值 • 模擬網路提供多種服務等級,且每種服務等級都有對應的花費 • 目標: • 找到一條由來源s到目的地t的路徑,並決定路徑上每條link的QoS保證,使得在滿足端對端QoS限制的同時,整體花費可以最小.若s到t路徑已決定,則最佳化分解端對端QoS限制 • 本篇特色: • 針對routing與partition發展近似演算法,保證找出的解釋最佳解的1+ 倍,且適用於general cost function • 為交換演算法running time與優點的參數
QoS routing with ..(cont.) • 想法: • 引用類似解決RSP問題想法(rounding and scaling) • 先找到一種最佳演算法,其運算複雜度與最大可能的QoS值成比例.接著將每段link上最大可能提供delay值作scale動作,並利用最佳演算法解它,得到的解再round back回原delay值 • 第一種 近似演算法想法:(針對routing問題) • 網路變換 • 將原網路N變換至網路N1,變換用意為以N1中多條link來代表N中某一link e上的多種delay與cost情況 • 再利用RSP演算法解它,得到解後,將所造成的s-t路徑對應回原網路N中(N1中最佳解亦為N中最佳解)
QoS routing with ..(cont.) • 第二種 近似演算法想法: • 改進第一種想獲取所有delay/cost情況的想法 • 變換時以較少link數目取代 • 以取對數的方式,將QoS等級線性爆炸的問題,改以較趨緩的對數方式成長 • 對[1,ce(1)],也就是最大花費取1+ 為底的log scale,再由每一段子區域選一代表與其相對應的delay.區間範圍如下: ,
QoS routing with ..(cont.) • 第三種近似演算法想法如下: • 利用測試程序來決定OPT值是否大於某一給定的值V( 即OPT>=V或OPT<(1+ )V ) • 其中OPT值代表由s到t最佳路徑的花費,且此條路徑滿足端對端delay限制D • 另外使用類似Hassin於RSP問題中所提出的exact演算法來找最佳OPT值 • gv (c)代表由s到t路徑的delay最小值,且此條路徑的總花費不超過c值 • 迴圈若找到某c值使得滿足gt(c)<=D,則此最小c值必為OPT
Exact solution of algorithm 3 • Exact演算法的想法與Hassin於RSP問題中所提出求OPT值方法相似 • 演算法運作如下: • 初始化 • gs (c)=0 , for all c>=0 • gv (0)=infinite,for all v s • 迴圈部分 • For c=1,2,…,OPT for all v s for all intermediate node u if gt(c)<=D ,輸出OPT=c 與相對應路徑,並跳離迴圈
Exact 演算法的涵義 b1 duv(c-b1) b2 c duv(c-b2) s b3 u duv(c-b3) v … … 此演算法的目的,在於經過幾次重複計算後,此演算法會針對端對端delay的需求,找到一條符合需求的路徑,且此條路徑的花費最小.其中u為所有可能的居間節點
Test procedure of algorithm 3 • 測試程序亦與RSP問題中的演算法想法相似 • 演算法內容如下: • 初始化 • gs (c)=0 , for all c>=0 • gv (0)=infinite , for all v s • 迴圈部分 • For c=1,2,…, for all v s for all intermediate node u若gt(c)<=D可在此c範圍內找到,則OPT<=(1+ )V ,exit否則OPT>=V
近似演算法 • 結合測試程序與exact演算法,來找最佳OPT值 • 想法如下: • 初始化L與U(upper bound與lower bound) • 指定V的初值為(UV)1/2,並呼叫測試程序,以判定OPT值是否大於V,若是,則將L設成V;若OPT小於(1+ )V,則將U設成(1+ )V • 而後將每段link上的cost乘上某一weight • 此時再呼叫exact演算法來找最佳OPT值
Paper survey:Optimal partition of QoS on unicast paths and multicast trees • 這篇論文主要將重點放在,在給定unicast路徑與multicast tree時,如何分解端對端QoS需求到本地來考慮,使得總花費可以最低 • 此論文中所考慮的QoS參數型態均為可加性,而非bottleneck型態,且cost function均為convex • 在unicast情形下,本篇論文提出兩種演算法,分別是greedy add與greedy move來處理最佳化QoS分解的問題
Paper survey:optimal QoS..(cont.) • unicast情形下,此篇定義兩個增益值表示法 • 平均 增益 • 為某條link上QoS增加時的花費,減去原QoS時的花費,再除以 ,數學表示法如下: • 此增益值一般均為負值,因為當QoS值上升時,代表所保證的服務品質下降,花費也相對下降 • 平均 移動增益 • 為某條link l上QoS增加時所造成的增益,加上另一link e上QoS降低時所造成的增益,數學表示法如下: • 此增益值用於檢查當兩段link同時加減一個QoS 量時,對於整體花費是增加或是降低的效果
Greedy-add and move algorithm • Greedy-add演算法想法如下: • 初始路徑上每條link的QoS分配均為0(最高等級,總花費最貴) • 當路徑上的QoS配置仍符合端對端QoS限制時,選擇某一具有最小平均 增益的link來調升QoS • 選擇最小平均 增益的link來調升QoS的原因是,若此增益值越小,代表調升此段link的QoS,將會造成花費大幅下降 • Greedy-move演算法想法如下: • 此演算法可由任一QoS分配開始 • 連續選擇兩條link,此兩條link有最低平均 移動增益來調整QoS值 • 依此選擇的原因,是因為變動此兩條link的QoS時,能使花費繼續大幅下降,也就是花費減少的量大幅大於花費增加的量
Tree-add and balance algorithm • Tree-add演算法主要在tree上作QoS增加動作 • r :由來源向外的唯一link • :代表所有樹上的分枝,不包含r • 想法如下所述: • 此function一開始將tree分成兩大部分,一為由來源向外的唯一link,一為所有分支 • 決定要在哪一部分增加QoS的方法,是若r的平均 增益等於整個tree的增益,則增加r的QoS • 否則增加tree上的QoS,最後再更新整個樹的增益值
Tree-add and balance algorithm • Tree-balance的想法,就像是在unicast的情況下,與greedy-move想法相似 • 主要都是要用QoS增加而花費急速下降的link,來大幅改善整體花費,達到最佳QoS配置 • 做法如下: • 先決定整個樹的增益 • 若r的平均 增益加上分枝樹上的平均- 增益仍小於零,代表提升r的QoS可大幅降低總花費,因此將r的QoS值加 ,而分枝樹上的QoS降低方法,則呼叫tree-add函數解決
Binary-OPQ and MOPQ演算法 • Binary-OPQ與MOPQ的想法都一樣 • 藉由不斷減低 值,來找最佳QoS分解.直到最小 值已到達,則此分配就是最佳QoS分配 • 做法如下所述: • 初始化 值:為端對端delay限制除以路徑總長度(unicast)或樹的總長度(multicast) • 針對不同的 值,呼叫greedy-move或balance函數,針對此 值時找到最佳QoS分配 • 將 值減半,繼續呼叫move或balance,直到 值小於1為止
Paper survey:Efficient QoS partition and routing of unicast and multicast • 此篇論文的主要方向如下: • 在網路上每條link都能提供多類QoS的架構下,如何達到最佳路徑選擇與資源分配,使得在滿足連線QoS需求的同時,花費也可以最小 • 當一條滿足QoS需求的路徑被找到時,還必須考慮如何分解端對端QoS需求 • 此篇主要的貢獻: • 提出針對在unicast QoS routing情形下新的近似演算法,並且具有相當低的計算複雜度 • 第一篇提出針對在multicast tree上作QoS分解,而提出近似演算法的論文
RSP問題 • 此篇提出的RSP問題定義如下: • 給定一網路G(V,E),每條link上都有 對,並給定端對端QoS需求D.目標為找到一條符合限制且最小花費的路徑. • D(v,i)代表s到v路徑的最小delay值,且花費不超過i • 演算法運作方式如下: • for all D(v,0)=infinite , D(s,0)=0 • for i=1,2,3,…,U for all v s for all intermediate node u若D(t,i)<=D,傳回找到的路徑(符合QoS需求且花費最小)return fail
Optimal QoS partition and routing • OPQR問題的定義: • 給定網路G(V,E),每條link上都有delay/cost函數 ,目標為找到最小花費路徑p與符合端對端QoS需求的分配 • 演算法運作如下: • for all D(v,0)=infinite , D(s,0)=0 • for i=1,2,3,…,U for all v s for all intermediate node u for j=1,2,…,I if D(t,i)<=D,傳回找到的路徑與分配(符合QoS且花費最小)return fail
Sampling and scaling • 計算複雜度問題: • 由於RSP與OPQR演算法計算複雜度很高(雖值較精確),因此本篇論文利用sample與scale來降低複雜度,但會引入誤差 • 最佳解精確度與計算複雜度必定是trade-off關係,所以論文中以發展 近似演算法為主 • 假定最佳解的上下限值均給定 • Logarithmic sampling想法: • 主要改進OPQR演算法中要考慮各種cost的情形 • 改進方式為對cost取對數,再找相對應的delay值 • 再藉由多條link取代原網路中某一條link上所有可能的delay與cost情形,然後由RSP演算法解之,此即為針對OPQR問題的近似 演算法想法
研究主題 • 目前可能的研究方向如下 : • 當不限制 QoS class information時 • 缺點 : 造成complexity太高 • 以CSP algorithm(centralized Bellman-Ford)建multicast tree時會有looping問題 • 以改寫學姊程式為主 • 限制 QoS class information時 • 優點 : complexity下降 • 採降低 QoS class數目方式,ex:每段link只提供最好,中等或最差QoS等級方式解決 • 如何使用RSP想法在multicast tree上作最佳QoS分解