400 likes | 583 Views
Efficient algorithms for Web services selection with end-to-end QoS constraints. ACM Transactions on the Web, Vol. 1, No. 1, Article 6, Publication date: May 2007 69721033 陳郁婷. Outline. Introduction System architecture Service selection algorithms for sequential flow structure
E N D
Efficient algorithms for Web services selection with end-to-end QoS constraints ACM Transactions on the Web, Vol. 1, No. 1, Article 6, Publication date: May 2007 69721033 陳郁婷
Outline Introduction System architecture Service selection algorithms for sequential flow structure Service selection algorithms for general flow structure Performance study Conclusion
introduction • we design a broker-based architecture called QBroker, to provide end-to-end QoS management for distributed services. • The main functions of Qbroker • service discovery, planning, selection,and adaptation. • efficiency is dominated by the running time of the service selection algorithm. • service selection algorithms • combinatorial model • multidimensionmultichoiceknapsack problem (MMKP) • graph model • multiconstrainedoptimal path (MCOP) problem • In both models, a user-defined utility function of some system parameters may be specified to optimize application-specific objectives.
System architecture • QoS service broker • Qbroker • SYSTEM MODEL AND PARAMETERS • Composition Model • System Notations • Utility Function
Qbroker • help users construct composite services • acts as an external, independent broker entity • not a mandatory layer between service clients and providers • service requests to service providers can be invoked by users directly
System Notations • Atomic service (component service) (sij) • An atomic service sij is associated with a QoS vector qij = [q1ij, . . , qnij ] • T = t1 + max(t2 + p1 ∗ t4 + p2 ∗ t5, t3 + K ∗ t6) + t7 • C = c1 + c2 + p1 ∗ c4 + p2 ∗ c5 + c3 + K ∗ c6 + c7
Utility Function • μ –averageof theQoS values • σ – standard deviation of theQoS values • wα and wβ- weights for each QoS attribute (0 < wα, wβ < 1) • normalized by their averages and standard deviations • not be biased by any attribute with a largevalue
Service Selection Algorithms For Sequential Flow Structure • Algorithms for the Combinatorial Model • BBLP Algorithm • WS_HEU Algorithm • Algorithms for the Graph Model
BBLP Algorithm • branch-and-bound • fixed utility (Ff ) • produced by fixed classes • utility upper bound (Fb) • Fb= Ff + FLP • branching class (Sg) • the solution of FLP
BBLP iteratively performs • Find the utility upper bound Fb for each node in the search treebranchs • Fb is computed by the linear relaxation of the whole problem. • Select the node with the largest Fb and expand it through Sg • largest xij (closest to 1) will have the highest chance to be chosen in the final solution. • class will be fixed by adding new nodes to the search tree as the children of the current node • Each of the new nodes corresponds to select one service in Sg
WS_HEU • O(N2(l −1)2m)
Algorithms for the Graph Model • MCSP • every service candidate is a node in the service candidate graph • if a link from Fi to Fj exists in the function graph, then from every servicecandidate for Fito every candidate for Fj , there’s a link • every service candidate v in the graph has a benefit value and several QoSattributes • set network QoS attributes of the links between every two nodes • add a virtual source node vs and sink node vd • The QoS attributes of these links are set to zero • add QoS attributes of the node to its incoming link and compute the utilityof every link according toUtility Function
MCSP-K • MCSP-K • keeping only K paths on each node • selection criteria are based on the nonlinear cost function concept that is used to combine the multiple constraints into one • The paths with K minimum gλ or ξ values will be kept at each intermediate • will never prune out a feasible path if one exists.
Service Selection Algorithms For General Flow Structure • Algorithms for the Combinatorial Model • WS_IP Algorithm • IP Problem • WFlowAlgorithm • Algorithms for the Graph Model
Integer Programming • Integer Programming • 在一組特定的限制下尋找極大化或極小化目標函數 • 與線性規劃的主要差異為決策變數要求全部或部分變數必須是整數 • branch-and-bound • Branch-and-Cut • Cutting Plane • 0-1 Integer Programming Problem(0-1 IP Problem) • a set of service selection variables • a set of problemconstraints • an objective function • Variables definition • Constraints definition • Objective function definition
branch-and-bound 可行域OABD内整數點,放棄整数要求后,最优解B(9.2,2.4) Z0=58.8 而原整數規劃最優解I(2,4) Z0=58,實際上B附近四个整數點(9,2)(10,2)(9,3)(10,3)都不是原規劃最優解。 I(2,4) D B(9.2,2.4)
問題分解 假如把可行域分解成五個互不相交的子問题P1 P2 P3 P4 P5之和, P3 P5的定义域都是空集 而放棄整數要求後P1最優解I(2,4),Z1=58 P2最優解(6,3),Z2=57 P4最優解(98/11,2),Z4=52(8/11) I(2,4) D B(9.2,2.4) P1 P2 P4
樹狀圖 X1 2 P1 X2 3 P2 X1 6 P3 P X2 4 X2 2 P4 X1 3 X1 7 P5 X2 3
IP Problem Formulation Execution Route (R) Sequential Path (P)
IP Problem Formulation • Variables definition • xij(0 ≤ i ≤ N,0 ≤ j ≤ L) • If service sij is selected for class Si , xij = 1, otherwise xij = 0 • Constraints definition • Exactly one service is selected for each service class • End-to-end QoS constraint for a sequential path • End-to-end QoS constraint for an execution route
IP Problem Formulation • Objective function definition • EU • The objective is to maximize the effective utility of all executionroutes • HP • The objective is to maximize the utility of the route with the highestprobability
WS_IP Algorithm • WS_IP • lpx_intoptroutine in GLPK (http://www.gnu.org/software/glpk/) • GNU Project • launched in 1984 to develop a complete Unix-like operating system which is free software: the GNU system.
Wflow • 沿用WS_HEU架構 • 近最佳解 • O(N2(l −1)2m) • Wflow_EU • Wflow_HP
Wflow_EU • Feasible solution • only if all execution routes and sequential paths can meet the corresponding constraintrequirements. • Utility definition • Feasible upgrade • An item for feasible upgrades must meet two conditions: • it will increase the combined utility • it will not cause any executionroute or sequential path to violate the constraint requirements
Wflow_HP • Initial solution feasibility check. • only checks the feasibility of theexecution route with the highest probability • Solution optimization • On the first pass of the optimization procedure • only considers the feasibility of Rmax • After we find the feasible solutionfor Rk, k = max • the optimization procedure will maintain the feasibilityof all routes. • Feasible solution for Rk, k ≠ max • If theutility of Rmax has been downgraded • go back to Steps(2) and (3) to look for further improvements.
Algorithms for the Graph Model • fork nodes for parallel and conditional paths • services selected must be the same for every branch • join nodes for parallel and conditional paths • services selected fordifferent branches need to be merged together • MCSP_General • MCSP-K_General
Merge operations • Merge parallel branches • QoS values of all branches need to becombined • combining the utility of all branches • Merge conditional branches • 不需要merge
Performance Study- Sequential Flow Structure • Test Case Generation • use a degree-based Internet topology genrator, Inet 3.0 • Generation power-lawrandomgraphwith 4,000 nodes to represent the Internet • randomly select • 25 ∼ 2,500 nodes as service candidates • 2 nodes as the source and the sink • The number of service classes in the process plan ranges from 5 to 50 • generate 10 flow instances • each with 10 sets of attributes for each instance • report the average value of the 100 cases
WS_HEU vs. BBLP • BBLP/WS_HEU • 5 candidates for each service class • WS_HEU/HEU • saves 20%–70% running time while achieving the same utility
MCSP-K vs. MCSP Table V shows the set-up of 25 performance runs for evaluating MCSP-K and MCSP The performance runs are divided into 5 groups, each with the same number of service candidates (between 10–50)
Performance Study- General Flow Structure • Test Case Generation • randomly generate composite service structures with two or more execution routes • 100 structures are generated • each containing two or more composition patterns (sequential, parallel, conditional, loop) • generate up to four QoS attributes and utility values for service candidates: • response time, cost, availability, and reliability. • Each is assigned a randomly generated value: qαij (α = 1, 2, 3, 4) with a uniform distribution between [50,200]. • The utility of each service Fij is also generated as a random value with a uniform distribution between [1, 500] • also generate the utility F(μ, ν) of each link as a random value with a uniform distribution between [1,200] • Finally, to check the feasibility for each execution route
WFlow vs. WS_IP • WFlow / WS_IP • WFlow • (IM1) Local selection where the service with the highest utility from each service class is selected • (IM2) MMKP selectionwhere item ρi with from each service class is selected • WFlow performs very well in all situations by achieving near-optimal results (approximation ratio > 90% in most cases ) • while it only requires a small portion of the computation of WS IP (less than 10%) • IM2 usually achieves a better performance than IM1
MCSP_Generalvs. MCSP-K_General • It can be seen that there is no guarantee that when K increases, a better utility will be achieved • utility function is not used togetherwith the cost function as the criteria to select K intermediate paths in MCSP-K algorithms • MCSP-K General does not always perform better with a larger K value
Conclusion • algorithms are designed for two flowstructures: • for service processes with a sequential flow structure • for service processes with a general flow structure including loops, conditionals, andparallel operations • Both optimal and efficient heuristic algorithms have beenpresented • We believe the proposedmodels and algorithms provide a practicalsolution to the end-to-end QoS guarantee on service processes