180 likes | 318 Views
High-level Composition of QoS-aware Grid Workflows: An Approach that Considers Location Affinity. Ivona Brandic, Sabri Pllana, Siegfried Benkner Institute of Scientific Computing (ISC) University of Vienna Austria The Workshop on Workflows in Support of Large-Scale Science ( works06 )
E N D
High-level Composition of QoS-aware Grid Workflows: An Approach thatConsiders Location Affinity Ivona Brandic, Sabri Pllana, Siegfried Benkner Institute of Scientific Computing (ISC) University of Vienna Austria The Workshop on Workflows in Support of Large-Scale Science (works06) In conjunction with HPDC 2006, June 20, Paris, France
ProjectInvolvement http://www.vcpc.univie.ac.at/aurora http://www.gemss.de/ Advanced Models, Applications and Software Systems for High Performance Computing Maxillo-facial surgery support Quasi-real time neurosurgery support Radiosurgery: Neurosurgery support Inhaled drug delivery simulation
Motivation QoS specification: time, price maxTime = 5 h price = 20 € CT image reconstruction Quasi-real time neurosurgery support Maxillo facial surgery simulation
Motivation QoS specification: time, price maxTime = 5 h price = 20 € CT image reconstruction Legal and security aspects: „Location affinity“ Quasi-real time neurosurgery support Maxillo facial surgery simulation
Outline • BPEL extensions for the specification of „location affinity“ (QoWL) • Use cases for „location affinity“ • UML-based Domain Specific Language (DSL) for QoS-aware Grid workflows • System architecture • Case study • Conclusion
QoWL Code Example any QoWL element <qowl-element name=„activityName“ portType=„...“ wsdl=„...“ ...> ... <qos-constraints reqDescVar=„...“ ...> <qos-constraint name=„beginTime“ value=„...“ weight=„...“ /> <qos-constraint name=„endTime“ value=„...“ weight=„...“ /> <qos-constraint name=„price“ value=„...“ weight=„...“ /> <qos-constraint name=„geographicAffinity“ value=„...“ /> <qos-constraint name=„gridSiteAffinity“ value=„...“ /> ... </qos-constraints> </qowl-element> QoS extension of a BPEL element
Types of Location Affinity • Grid site - gridSiteAffinity • Security, law, performance reasons • Organisation - organisationAffinity • Hide business information from competitors • Sensitive business data • Geographical region - geograficAffinity • Legal requirements • Electronic transfer of medical data • Medical studies including demographic data
Specification of Location Affinity A7 A2 A4 A12 G2 A1 A10 A11 A13 A15 A8 A6 G1 G3 A5 A3 A9 A14 <qowl-element name=„A3“ ...> ... <qos-constraints ...> <qos-constraint name=„gridSiteAffinity“ value=„SID“/> </qos-constraints> </qowl-element> <qowl-element name=„A7“ ...> ... <qos-constraints ...> <qos-constraint name=„organisationAffinity“ value=„OID“/> </qos-constraints> </qowl-element> <qowl-element name=„A11“ ...> ... <qos-constraints ...> <qos-constraint name=„geographicAffinity“ value=„GID“/> </qos-constraints> </qowl-element>
UML Modeling of QoS-aware Grid Workflows • XML based workflow specification • error-prone and difficult for end users • Improvement by using a visual and intuitive modeling language e.g. UML • High level modeling based on UML • Activity diagrams • Visual modeling of QoS-aware Grid workflows • UML extensions mechanisms • Stereotypes and tagged values • UML based Domain Specific Language(DSL)
Customizing UML for Modeling of QoS-aware Grid Workflows „plain“ UML <<metaclass>> Action Definition of DSL e.g. Invoke Element Start A1 A2 <<stereotype>> Invoke A3 A4 portType: String wsdl: String operation: String inputVar: String outputVar: String qosConstraints: QTypes <<invoke>> Start UML based modeling of QoS-aware Grid workflows { portType = appex wsdl = http://bridge:9355/SPECT/appex?wsdl operation = start inputVar = startRequest qosConstraints= qti:QTypes } <<invoke>> Start Usage of Invoke Element
QoWL Representation with the UML-based DSL (I) <<Switch>> SampleSwitch Switch <<Process>> SampleProcess Process [case condition] [otherwise] <<Process>> SampleProcess A1 <<Switch>> SampleSwitch A1 A2 {qosConstraints = qtiQTypes} {qosConstraints = qtiQTypes} Aggregation function <<Switch>>: time = Max {time(Bi)| i=1,..,k} price = Max {price(Bi)| i=1,..,k}
QoWL Representation with the UML-based DSL (II) Sequence <<Sequence>> SampleSequence <<Flow>> SampleFlow Flow A1 <<Sequence>> SampleSequence <<Flow>> SampleFlow A1 A2 A2 {qosConstraints = qtiQTypes} A3 {qosConstraints = qtiQTypes} <<Flow>> Aggregation function: <<Sequence>> Aggregation function: n time =∑time(Ai) time = Max {time(Ai)| i=1,..,n} i=1 n n price = ∑ price(Ai) price = ∑ price(Ai) i=1 i=1
QoS-aware Grid Workflow System QoS-aware Grid Workflow Engine (QWE) Teuta XML parser / unparser QoS Negotiator QoS Executer Model Traverser GUI WF Planner (static/dynamic) Service Deployer and Generator Model Checker Grid Infrastructure Tomcat Apache AXIS QoS-aware VGE Services non VGE Services Service 1 ... Service n Service 1 ... Service n
Generated MFSS Code <sequence name="FEM_Sequence"> ... <copy name="CID"> <from part=“CID" variable=“getCIDRequest"/> <to part=“CID" variable=“uploadOperation"/> </copy> ... <invoke inputVar="CID" name="StartOperation" operation="start" portType="ApplicationExecutor"> <qos-constraints ReqDesc="maxilloReqDescVar"> <registry wsdl="http://gescher.univie.ac.at:9357/registry/reg?wsdl"/> <registry wsdl="http://kim.univie.ac.at:9357/registry/reg?wsdl"/> <registry wsdl="http://aurora.tuwien.ac.at:9357/registry/reg?wsdl"/> <qos-constraint name="beginTime" value="2006-02-02T16:00:00.000+02:00“ weight="0.3"/> <qos-constraint name="endTime" value="2006-02-02T18:00:00.000+02:00"/> <qos-constraint name="price" value="15" weight="0.7"/> <qos-constraint name="geographicAffinity" value="AT"/> </qos-constraints> </invoke> <invoke name="DownloadOperation“ ... /> ... </sequence>
Related Work • Languages • BPEL • GPEL • GSFL • SWFL • WSFL • (X)Scufl • AGWL • … • Projects • BioOpera • Chimera • DAGMan • DiscoveryNet • FreeFluo • Grid ANT • Gridbus • JOpera • Kepler • LEAD • Pegaus • Taverna • Teuta • Triana • …
Conclusion and Future Work • Workflow execution should meet users requirements • Developed QoS extensions for BPEL • Developed the concept of „location affinity“ • Performance, economical, security and legal QoS • Simplification of workflow specification • Based on UML standard • Developed DSL for QoS-aware Grid workflows • Validation through specification of a real world workflow • Future work • Optimization and adaptivity issues