High-level Composition of QoS-aware Grid Workflows: An Approach that Considers Location Affinity...
-
Upload
bruce-todd -
Category
Documents
-
view
219 -
download
2
Transcript of High-level Composition of QoS-aware Grid Workflows: An Approach that Considers Location Affinity...
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
Motivation
CT 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 any QoWL element
QoS extension of a BPEL elementQoS 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
A1A1
A2A2
A3A3
A4A4
A6A6
A5A5
A7A7
A8A8
A9A9
A10A10 A11A11
A12A12
A13A13
A14A14
A15A15
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
A1A1 A2A2
A3A3 A4A4
„plain“ UML
StartStart
<<invoke>>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)
A1A1 A2A2
<<Switch>>SampleSwitch
<<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]
A1A1
<<Process>>SampleProcess
<<Process>>SampleProcess<<Process>>
SampleProcess
{qosConstraints = qtiQTypes}
Process
Ivona Brandic works06, HPDC06
A1A1
A2A2
A3A3
<<Sequence>>SampleSequence
<<Sequence>>SampleSequence<<Sequence>>
SampleSequence
{qosConstraints = qtiQTypes}
<<Sequence>> Aggregation function:
time = ∑ time(Ai)i=1
n
price = ∑ price(Ai)i=1
n
A1A1 A2A2
<<Flow>>SampleFlow
<<Flow>>SampleFlow<<Flow>>
SampleFlow
{qosConstraints = qtiQTypes}
<<Flow>> Aggregation function:
time = Max {time(Ai)| i=1,..,n}
price = ∑ price(Ai)i=1
n
SequenceFlow
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
XML parser / unparser
QoSNegotiator
QoSNegotiator
QoSExecuter
QoSExecuter
WF Planner(static/dynamic)
WF Planner(static/dynamic)
Service Deployerand Generator
Service Deployerand Generator
Grid Infrastructure
TomcatTomcat Apache AXISApache AXIS
QoS-awareVGE Services
Service 1Service 1 Service nService n...
nonVGE Services
Service 1Service 1 Service nService n...
Teuta
GUIGUI
ModelTraverser
ModelTraverser
ModelCheckerModel
Checker
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