服务合成的性能预测 服务合成的性能预测

服务合成的性能预测

  • 期刊名字:计算机系统应用
  • 文件大小:780kb
  • 论文作者:谈华芳,Ratakonda Krishna C,朱俊,苏辉
  • 作者单位:IBM中国研究院,IBM华生研究中心
  • 更新时间:2020-07-04
  • 下载次数:
论文简介

2009年第6期计算机系统应用服务合成的性能预测谈华芳1 Ratakonda KrishnaC.2朱俊'苏辉1(1.IBM中国研究院; 2.IBM华生研究中心)Service Composition Performance PredicationHuafang Tan (IBM China Research Lab, Beijing 100094)Ratakonda Krishna C. (IBM Waston Research Center)Jun Zhu, Hui Su (BM China Research Lab, Bejjing 100094)Abstract: One benefit of SOA is from service composition which combines existing services to form a new valued-addedservice in the form of business process. This also creates the need to ensure that the performance of thosecomposite services meets the business requirements. This paper proposes a method for evaluating theperformance of composite services. We automatically transform a composite service modeled by BPEL. into aperformance model based on Layered Queuing Networks (LQN) and then leverage existing LQN solvers topredict their performance. The inputs to our transformation algorithm are an XML file which contains aservice composition model complying with the BPEL4WS specification, a related performance profile and aservice topology. The output of the model is the corresponding LQN model which can be directly analyzedusing existing LQN solvers.Key words: BPEL; LQN; transformation1 IntroductionIn carrying out this composition task showed byFig.l, the critical step is to look up right services to makeService- oriented architecture(SOA)" is an evolu-tion of distributed computing based on the request/replyan abstract process executable. Typically the integratordesign paradigm for synchronous and asynchronoushas either no direct control over these factors themselvesapplications. An application's business logic or individualor cannot easily predict them from the availablefunctions are modularized and presented as services forinformation. Thus, the focus is typically on ensuring thatconsumer/client applications. What's key to thesethe functional requirements are met. But it is also veryservices is their loosely coupled nature; ie, the serviceimportant to understand and be able 10 predictinterface is independent of the implementation. Applica-performance factors such as averagc request-responsetion developers or system integrators can build applica-time. Given that non-functional requirements play a keytions by composing one or more services into compositerole in the usability and scalability of an application, it isservices without knowing the underlying implementa-highly desirable to clearly understand the performancetions of individual services. Curently a variety ofimplications of a given service composition and to beapproaches to service composition are emerging.able t中国煤化工3o to help itegratorBPELAWS (BPEL)2| is the most popular one.select:TYHC N M H Gnent decisions.57计算机系统应用2009年第6期related work and conclusion are separately presented in( ompuseSection 6 and Section 7.ahiract2 BackgroundI.onoh upScnicc2.1 LQN modelrepositor!LQN model is a widely used technique for predicting( umposthe performance of computing system. It was developed ascomnerclen extension to the QN model to handle complexinteractions among various software and hardware inFig.l Service composition taskclient-server distributed environment An LQN model usesTo predicate the performance of a compositionterms such as task, host processor, enty, call and demand.service, firstly we need build a performance model andIt is represented as an acyclic graph whose nodes are thethen use the analysis and simulation method to get thetasks which represent software entities and hardwarepredicated performance metrics. There are twodevices, and the arcs denote calls. A task has one or moreapproaches for performance modeling based on Layeredentries which represent operations performed by the lask.Queueing Network([LQN)}3I and historical data analysis.A related host processor is linked with a task to model theLQN is a popular performance prediction model and hasphysical entity that carries out the operations. Calls arebeen used in study the performance of distributedrequests for service from one entry to an entry of anothersoftware systems45) which amply demonstrate itstask. Demand is the average amount of host processingpotential. There are many researchers work on how totime and average number of calls for service operationsanalyze or simulate it to identify the performance metricsrequired to complete an entry. Detailed description of thesuch as response time, throughput and utilizationsequence of operations, when a task accepts a request at anaccording the LQN model. Comparing with historicalentry, can be defined by describing activities with aperformance data analysis, it doesn't need historical data.precedence graph. Activities are connected together toSo it is adapt to a new designed composite service.form a directed graph which represents one or moreThis paper provides a method to automaticallyexecution scenarios. Execution may branch into parallelgenerate an LQN performance model from the serviceconcurrent threads of control which may or may notcomposition model described by a BPEL program andexecute in parallel on the target system. Execution maythe related performance profile- thus enabling the archit-also choose randomly between different paths!). Thisect to combine the activities of design specification andsemantic is consistent with BPEL.performance modeling. We believe and in practiceThere are six types of the conection betweenobserved that designing keeping the SOA performance inactivities supported by the extension of LQN, Connec-perspective from the design onset helps improve theting, And-Fork, And-join, OrJoin, Or-Fork and Repeti-design process itself. This ensures the architect makes thetion. An example with an activity is given in Fig.5. It isright design choices and does not need to redesign/consistent with the relationship among activities in BPEL.re-architect during the testing phase necessitatingThe parameters of an LQN model are as follows:expensive post-development fixes.①customer (client) classes and their associatedThe rest of the paper is organized as fllows. Thepopulations or arival rates,related background introductions about LQN model and②for each phase (activity) of a software task entry:BPEL are presented in Section 2. Section 3 gives anoverview of the proposed method. The transformationaver中国煤化工of BPEL to LQN is discussed in Section 4. A case studyYHCN M H Glking a request to aof a loan approval process is given in Section 5. Thedevice: average service time at the device, and average582009年第6期计算机系统应用number of visits,produced by current service composition tools (BPEL④for each phase (actity) making a request toeditors), which obviously do not support performanceanother task entry: average number of visits,profile and do not include service topology information.⑤for each request arc: average communicationTherefore, we attach those related information by hand.delay,Then our transformation component produces the LQN⑥for each software and hardware server: schedulingmodel to the solver which generates the predicationresult. The integrator may change the servicediscipline.2.2 BPELcomposition according the analysis result. So we give aThe business process execution language for webfeedback from the result to service compositionservices(BPEL4WS)21 represents the uniting of two(represented with gray arToW). But curently, we do notpreviously competing standards: the web services flowimplement it.language(WSFL)from IBM and Microsoft's XLANG.Like WSFL and XLANG, BPEL 4WS has been designedSenieeComposte +Analy sibto compose web services.conpusitionsenicc monlelresulIn BPEL4WS, the service providers and client aredefined as business partner. The service is invoked byinvoke activity. Besides invoke activity, the basicPerri ormanccL.QN Sohveractivities include assignments, receiving requests, reply-taunfomationnooleling to requests, waiting for a durance of time and empty.These basic activities are combined into structuredactivities using ordinary sequential control flowPerfomtanceconstructs like sequencing, switch constructs, and whileSenice lpologyprofileloops. Concurrency is provided by the flow construct.The synchronization between concurrent activities isFig.2 A component view of service compositionachieved by using links. Each link has a source activityperformance evaluation frameworkand a target activity. If there is a link from one activity toanother, then the target activity can only start once theThe transformation traverses the BPEL program tosource activity has completed. With each link a transitionbuild the structure of the performance model. Thecondition which is a Boolean expression is associated.related business partners and the process self arEach activity has a join condition. The join conditionconstructed as tasks for the model. The operations for theconsists of incoming links of the activity combined byservice and process are constructed as the entries for theBoolean operators. Once all the source activitiesrelated tasks. The activities in the process are transferredcorresponding to the incoming links of an activity haveto the corresponding activities for the process task. Andcompleted, the join condition of the activity is evaluated.the related call is generated between a specific invokeIf the join condition evaluates to true, then the activity isactivity and the service.started. Otherwise, the activity will never start.The BPEL performance profile provides facility forspecifying workload characteristics and execution3 An Overview of Our Service Comp-parameters which are used by transformation algorithmto define the visit ratio and execution time of the relatedosition Performance Evaluation Frame-work中国煤化工by the workiad .Our service composition performance evaluationcharacMYHC N M H Gconcurrent requestframework is showed by Fig.2. We process XML files number and the request type mix. We use the stochastic59计算机系统应用2009年第6期information which indicates the probability of transitionsare all given by the BPEL performance profile.being fired at runtime to represent the request type4.2 Traversing the BPEL programdistribution for the switch, pick, link etc.transition andOne important part of the transformation isuse the average number of the execution of the repeattraversing the BPEL program.part to represent the while transition.There are two steps for it:The execution time is directly given by the related①Parse BPEL program to a graph or tree. Theactivity execution time in the performance profle duringmodel generator of the Eclipse Modeling Frameworktransformation. The service topology is important and it(EMF)olis used here to generate a hierarchy of Javagives us information about the linkage between hardwareclasses from the XSD specification of BPEL 4Ws. Thesedevice(processor) and the related task during transforma-classes represent the abstract syntax of the language andtion.parse the BPEL program to a set of instances of thoseclasses.4 LQN Generation②Visit each node in a suitable order. WhenThe inputs of the LQN generation are the BPELvisiting a node, a corresponding rule is applied toprogram, the related performance profile and the serviceimplement transformation according the type of thetopology. The output is an LQN model which can benode. A guider is used here to make sure the order ofanalyzed by the existing LQN solvers.the visiting. To separate the action definition from theThe algorithm walks through the nodes of a BPELAST classes, a visitor pattern can be exploited whichprogram and follows the listing rules to translate it to asupports defining external methods for different types ofcorresponding LQN model. The main steps of thenodes.algorithm are: .4.3 Transformation rule4.1 The algorithmFor each type of activity in BPEL, we have a①Generate the LQN model structuremapping rule to transform it to the corresponding activitya) Determine LQN tasks from the business partnerin LQN model.link definition (the composed services).①Basic activity is directly mapped to an activity inb) Build the linkage between tasks and hardwarethe target LQN model except the invoke activity. For thedevices according the service topology information.invoke activity, besides a corresponding activity, a call is②Generate the LQN details on entries, activitiesgenerated to the related service task entry.from the BPEL②Structural activities: Sequence, while, pick,a) Add entries for the corresponding task. Eachswitch, flow.operation in the service definition is mapped to an entry.a) The sequence is directly mapping to a sequenceThe Receive and the Pick with OnMessage have aactivity.corresponding entry associated with the process task.b) The while is mapping to a loop. If the repeat partb) Add activities within an entry. According theis a sequence, the rest of the sequence is expanded one byLQN definition, when a task accepts a request at an entry,one. If it is a complex structure of the activities, athe detailed description of the sequence of operations canseparate pseudo-task is added. And the nested activity isbe defined by describing activities with a precedenceadded to the task.graph. So the activities followed with this request arc) The Switch and Pick is mapping to OR-fork andtransformed to the related activities of the LQN modelOR-join.according the semantic of BPEL elements.d) Flow is mapped to a pair of AND-fork and③Traverse the LQN elements, compute theirAND中国煤化工f link, it has a joinparameters and write out the model file. The parameterscondiYHCNMHGdedasapreedencefor each activity are service times and visit ratios. Theyof it and a cortesponding OR-Join is added as its02009年第6期计算机系统应用subsequence showed by Fig.3. The visit ratio for each5, Case studybranch is given by the distribution of the value for theThis section gives the result of the BPEL program tocondition expression. If the activity is act as a source ofLQN transformation algorihm applied to a LoanAppr-more than one links, one AND-fork is added as aoval Process. The generated LQN model is solved undersubsequence of the activity. If the activity is act as athe different request number at the certain request mixtarget of more than one links, one AND-join is added as adistribution with an existing LQN analytic solver'". Thesubsequence of the activity. If the activity in a flow doespurpose of this paper is to present the proposed BPEL tonot act as a source of any one link, one sequence is addedLQN transformation, so no performance analysis resultsbetween AND-fork for the flow and the activity. If theare presented here.activity in a flow does not act as a target of any link, onesequence is added between the activity and the AND-forkFlowfor the flow.|ReceiveClientLoanRequparnerLinkTrue:0.80.3V_ estActivity」L Join conditionInvokeScqucnccFalse:0.2Assign init0.240.06While (1.2)Assignapproved0.8approvcr0.2ActivityIReply loanAssesso|“说ApproverFig.3 Activity with undetermined join conditionr scrviceApprover i serviceexpression transformationpartnerparinerFig.4 Loan approval process4.4 The parameters of LQN elementsThe visitor ratio for each kind of transition can beThe LoanApproval process is showed by Fig.4.directly attached to the corresponding edge of the modelTwo services are composed by it. One is Assessor andexcepting link. To calculate the visit ratio for the targetanother is Approver. If the request amount is lower thanactivity of more than one link, we look each value1,000,the Assessor service is invoked to do thedistribution for the link condition expression as a (0, 1)evaluation. If the amount is higher than 1,000 or thedistribution which is given by the correspondingAsssor service reply“risk high", the approver service istransition probability in performance profile. Accordinginvoked to get the approval. When the first invocation tojoin condition expression, the conditional probability forthe approver service is failed, it will be invoked again.the join condition is calculated based on valueBut the invocation number for this service is no moredistribution of each individual link and the correspondingthan two. If the Assessor service reply "risk low" or thevisit ratio for the target activity can be acquired.approver service reply“approved", the loan request isDuring design time, the values of the parameters areapproved, otherwise is failed /rejected. The parametersgiven by the designer. After the process is deployed, thefor the request mix are annotated to each transition withmonitoring and measurement can be applied to providevalue. In this process, the transitions and related valuesfeedback to the performance profile for the process.are listl中国煤化工TYHCNMHG51计算机系统应用2009年第6期Table 1 Transactions and the related values for theCardoso, Miller et al.!9l to analyze and estimate theLoanApproval procesoverall QoS of a process. But it is not flexible enough toTransaction descriptionProbabilityor the .handle the variable workload. Another alternative fortransition being fredestimating the QoS of a process is to utilize simulationLink1:The loan amount is0.3analysis'Iol. Simulation can play an important role inlower than 1,000evaluating the quality of a process, before its actualLink2: The loan amount is0.7execution.high than 1.000Link3: The asessor returm0.24回risk lowLink4: The assessor returm0.06Enitn1: banaposal,risk highKeccieWhile: the number of the1.2repeat part execution24ixer('PThe rectangle denotes the activity, and the rectangleAssupn lmiInwokewith rounded cormer denotes the services are composedby this process. The dashed arrow line denotes the linkwith condition.0.24/The LQN model automatically generated for this2process by our transformation algorithm is given in Fig.5.AsignSenverlThe nomenclature is adopted from Chu et. al.8]. Theentry for the LoanApproval process is "loanApprova]"| Reply larntl) Iand the “reply loan” is a reply activity. When it is .T:axporalProrsfinished, it sends a reply to the requester that initiated theexecution of the entry. Invoke assessor and Invoke. Faty: roucsaAourapprover separately makes one synchronous call to entryFnin: rgeusssrequestAssess and requestApproval.. B:AsSC Senice.T4: Apove SenieThe model was then given as input to the analyticalSma2 ) ( SmnrjLQN solver and the results for the Mean Client ResponseFig.5 LQN model automatically generated for Loan-Time for the different values of the number of clients areApproval procesobtained.The advantage of our method to do performance6 Related Workevaluation is that it can leverage already existing LQNTo make sure a composed service in a form ofresearch efforts to do performance evaluation of a .process is efficient in terms of its service time, its abilityprocess by automatically transformation from a BPELto handle higher loads, the integrator should select theprogram with performance annotation into an LQNappropriate services that have operational metrics (suchmodel. So it can use some features from LQN to makeas service time, load capacity) during design stage. Thereevaluation more flexihle such, as change each serviceare two rescarch directly use the service compositionsched中国煤化工model as performance model to predicate theTYHC N M H Gks which tanseraperformance. Mathematical methods have been used byUML model with performance annotation into an LQN622009年第6期计算机系统应用performance model based on grah-gramall.2. ThisModelling and Simulation. Analysis, Simulation ofapproach is similar with it, but our target is serviceComputer and Telecommunication Systems(MASCcomposition model, not UML model.OTS"95), 1995:399-409.5 Liu TK, Kumaran S, Luo Zw. Layered Queueing7 ConclusionsModels for Enterprise Java Beans Applications, IBMSOA brings a good benefit of reuse by composingResearch Report, 2001.services. But it also brings a challenge to do performance6 Budinsky F, Steinberg D, Merks E, Ellersick R, Groseanalysis. Performance estimation can play an importantTJ. Eclipse Modeling Framework. The Eclipse Series.role in evaluating the performance before its actualAddisonWesley, 2003.execution. The innovation contribution of this paper is a7 LQN Solver. htp://ww scecaleton.ca/rads/cek rads-method to automatically transform a composite service toetc/software.html.an LQN model to leverage already existing research to do8 Chu WW, Sit CM, Leung KK. Task response time forperformance estimation in design stage and make sure thereal-time distributed systems with resource contention.consistence between design specification and perform-IEEE Transactions on Sofware Engineering, 1991,17ance modeling.(10):1076- 1092.One kind of extension is to give more usefulfeedback to service integrators when they do service9 Cardoso J, Amit PS, A. John M, et al. Modeling qualityof service for workflows and Web service processes.composition according the analysis result, such as whichservice is the bottleneck. And another kind of extensionWeb Semantics Jourma: Science, Services and Agentsis to let current BPELWS specification containon the World Wide Web Journal, 2004,1(3):281- 308.performance profile and service deployment information10 Cardoso J, Sheth A, Miller J. Workow Quality of Ser-to make performance predication more smoothly.vice. Proceedings of the Intemational Conf. onEnterprise Integration and Modeling Technology andReferencesIntermational Enterprise Modeling, 2002.1 SOA definition htp://ww javaworld.com/ javaworld/11 Petriu DC, Shen H Applying the UML Performancejw-06- 2005/jw-0613-soa.html.Profile: Graph Grammar-Based Derivation of LQN2 BPEL4WS. htp:/:/www.oasis open.org.Models from UML Specifications. Computer Perfor-3 Franks R G. Performance analysis of distributed servermance Evaluation 1 TOOLS, 2002:159- 177.systems[Ph.D.dissertation].Carleton University, Otta-12 Amer H, Petriu DC. Software Performance Evalua-wa,Ontario,Canada, 1999.4 Hrischuk C, Rolia J, Woodside CM. Automatedtion: Graph Grammar-based Transformation of UMLgenera- tion of software performance model using anDesign Models into Performance Models. submittedobjectoriented prototype. International Workshop onfor publication, 2002,33.中国煤化工MYHCNMHG63

论文截图
上一条:七氟烷的合成
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。