high-level composition of qos-aware grid workflows: an approach that considers location affinity
DESCRIPTION
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 ) - PowerPoint PPT PresentationTRANSCRIPT
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) In conjunction with HPDC 2006, June 20, Paris, France
Ivona Brandic works06, HPDC06
ProjectInvolvement
Quasi-real time neurosurgery support
Maxillo-facial surgery support
Radiosurgery: Neurosurgery support
Inhaled drug delivery simulation
Advanced Models, Applications and Software Systems for High Performance Computing
http://www.vcpc.univie.ac.at/aurora
http://www.gemss.de/
Ivona Brandic works06, HPDC06
MotivationCT image
reconstruction
Maxillo facial surgery simulation
QoS specification:time, price
maxTime = 5 hprice = 20 €
Quasi-real time neurosurgery support
Ivona Brandic works06, HPDC06
MotivationQoS specification:time, price
maxTime = 5 hprice = 20 €
Legal and securityaspects: „Location affinity“
CT image reconstruction
Quasi-real time neurosurgery support
Maxillo facial surgery simulation
Ivona Brandic works06, HPDC06
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
Ivona Brandic works06, HPDC06
QoWL Code Example
<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>
any QoWL element
QoS extension of a BPEL element
Ivona Brandic works06, HPDC06
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
Ivona Brandic works06, HPDC06
Specification of Location Affinity
A1
A2
A3
A4
A6
A5
A7
A8
A9
A10 A11
A12
A13
A14
A15
G1
G2
G3
<qowl-element name=„A3“ ...> ... <qos-constraints ...> <qos-constraint name=„gridSiteAffinity“ value=„SID“/> </qos-constraints></qowl-element>
<qowl-element name=„A11“ ...> ... <qos-constraints ...> <qos-constraint name=„geographicAffinity“ value=„GID“/> </qos-constraints></qowl-element>
<qowl-element name=„A7“ ...> ... <qos-constraints ...> <qos-constraint name=„organisationAffinity“ value=„OID“/> </qos-constraints></qowl-element>
Ivona Brandic works06, HPDC06
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)
Ivona Brandic works06, HPDC06
Customizing UML for Modeling of QoS-aware Grid Workflows
<<metaclass>>Action
<<stereotype>>Invoke
portType: Stringwsdl: Stringoperation: StringinputVar: StringoutputVar: StringqosConstraints: QTypes
<<invoke>>Start
{ portType = appex wsdl = http://bridge:9355/SPECT/appex?wsdl operation = start inputVar = startRequest qosConstraints= qti:QTypes }
Definition of DSL e.g. Invoke Element
Usage of Invoke Element
UML based modeling of QoS-aware Grid workflows
A1 A2
A3 A4
„plain“ UML
Start
<<invoke>>Start
Stereotype Base Class Tags Description
Process «Process»
Activity qosConstraints:QType,variables:VType
Indicates that Activity represents a workflow process
Invoke«Invoke»
Action qosConstraints:QType,portType:String,operation:String,inputVar:String,outputVar:String,wsdl:String
Indicates that Action represents the operationInvocation of an external Grid Service
Copy«Copy»
Action From:FromTypeTo:ToType
Indicates that Action represents the data valueassignment
Sequence«Sequence»
SequenceNode qosConstraints:QType Indicates that SequenceNode represents a series ofactions which are executed sequentially
Flow«Flow»
StructuredActivityNode qosConstraints:QType Indicates that SequenceNode represents a set of Actions which may be executed concurrently
Receive«Receive»
AcceptEventAction portType:String,operation:String,variable:Stringwsdl:String
Indicates that AcceptEventAction represents a blocking message receive
Reply«Reply»
SendSignalAction portType:String,operation:String,variable:Stringwsdl:String
Indicates that SendSignalAction represents the replymessage to a message that was received through a«Receive»
Switch«Switch»
DecisionNode qosConstraints:QType Indicates that DecisionNode represents the conditionalexecution
While«While»
LoopNode condition:Boolean Indicates that LoopNode represents a while loop. Theloop body is executed until the condition is violated.
Ivona Brandic works06, HPDC06
QoWL Representation with the UML-based DSL (I)
A1 A2
<<Switch>>SampleSwitch
<<Switch>>SampleSwitch
{qosConstraints = qtiQTypes}
Aggregation function <<Switch>>:
time = Max {time(Bi)| i=1,..,k}price = Max {price(Bi)| i=1,..,k}
Switch
[case condition] [otherwise]
A1
<<Process>>SampleProcess
<<Process>>SampleProcess
{qosConstraints = qtiQTypes}
Process
Ivona Brandic works06, HPDC06
A1
A2
A3
<<Sequence>>SampleSequence
<<Sequence>>SampleSequence
{qosConstraints = qtiQTypes}
<<Sequence>> Aggregation function:
time = ∑ time(Ai)i=1
n
price = ∑ price(Ai)i=1
n
A1 A2
<<Flow>>SampleFlow
<<Flow>>SampleFlow
{qosConstraints = qtiQTypes}
<<Flow>> Aggregation function:
time = Max {time(Ai)| i=1,..,n}price = ∑ price(Ai)
i=1
n
Sequence Flow
QoWL Representation with the UML-based DSL (II)
Ivona Brandic works06, HPDC06
QoS-aware Grid Workflow System
QoS-aware Grid Workflow Engine (QWE)
XML parser / unparser
QoSNegotiator
QoSExecuter
WF Planner(static/dynamic)
Service Deployerand Generator
Grid Infrastructure
Tomcat Apache AXIS
QoS-awareVGE Services
Service 1 Service n...
nonVGE Services
Service 1 Service n...
Teuta
GUI
ModelTraverser
ModelChecker
Ivona Brandic works06, HPDC06
Specification of MFSS Workflow
Ivona Brandic works06, HPDC06
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>
Ivona Brandic works06, HPDC06
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– …
Ivona Brandic works06, HPDC06
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