480 likes | 622 Views
Workflows, Taverna, and Teragrid. Annual Meeting, 2008. Agenda. Kiran Keshav Workflow Working Group Ravi Madduri Taverna and Workflows Christine Hung TeraGrid. Background - What Does This Look Like?. Data Service A. Analytical Service B.
E N D
Workflows, Taverna, and Teragrid Annual Meeting, 2008
Agenda • Kiran Keshav • Workflow Working Group • Ravi Madduri • Taverna and Workflows • Christine Hung • TeraGrid
Background - What Does This Look Like? Data Service A Analytical Service B • This includes run A, get results from A, input results from A into B, get results from B, etc.
Atomic Units • In some cases, you may want to run a series of tasks as one (atomic) unit. • Reasons: • You need to run the same tasks in the same order multiple times. • Each individual task is long running, and you don’t want to wait for one task to finish before you start the next. • Tasks only make sense in the context of other tasks. • Enter workflows: • A sequence of operations executed as a single unit of work. • The sequence of events can have logic: • Aresult + Bresult C
Example Scenario Analytical Service A Aresults=Run A Bresults =Run B res = Aresults + Cresults =Run C(res) Analytical Service B Analytical Service C
What Are We Trying to Accomplish? Execute grid analytical and data services to accomplish a pre-defined task. Authoring of workflows should be easy. Submission of workflows should be easy.
Authoring and Executing Workflows • How do you write a workflow? • Authoring tool • Who executes the workflow? • Workflow engine
Authoring Tool • Find caBIG services • Add services of interest to the workflow • Submit the workflow to the workflow engine
Workflow Engine • Executes the workflow • Can apply logic to the workflow • Get the results from Service A, add these to the results from Service B, then divide by 2. • Take this new result pass this as input to Service C. • Store intermediate data (radiology)
Workflows in 2007 • Identify a workflow authoring tool • Taverna • Implement a scientific workflow • Identify significant barriers to workflow interoperability
Workflows in 2008 • Use case based: • Identify services and corresponding domains of caGrid data and analytical services • Implement 2-3 workflows • Workflow best practices • Tooling enhancements • Taverna enhancements • Compatibility review enhancements, etc.
Administrative • Workflow Working Group • Kiran Keshav • keshav@c2b2.columbia.edu • 1st and 3rd Monday of every month at 11am EST
Taverna Overview State of Workflow in caGrid 1.0 BPEL Architecture overview of Workflow services Experience ICR Working Group Workflows construction should be easy Investigation and choosing Taverna Taverna Overview Early work Advantages Semantic Scavenger Future work
caGrid background Where does workflow fit in? Integrates Semanticallyannotated data caGrid clients build/run workflows Orchestrates caGrid-build services caGrid security supported
Workflow in caGridHow does caGrid implement workflow? Workflow Factor Service (WFS) Grid service to create a new workflow Workflow Service Grid service to access your created workflow Start, pause, resume, cancel, getWorkflowOutput caGrid integration Invoke grid services Security (communication, message, conversation) caGrid implementation Leverages the ActiveBPEL workflow engine Workflows exposed as web services in ActiveBPEL, wrapped as grid services Wraps the ActiveBPEL Admin Service WFS submits a BPR (workflow package) Accesses the created stateful web service
Workflow backgroundBPEL example • <receive createInstance="yes" operation="startWorkFlow“ • partnerLink="WorkFlowClientPartnerLinkType“ • portType="ns2:startWorkFlowPortType“ • variable="workFlowInputMessage" /> • <assign> • <copy> • <from expression=""1"" /> <to variable="indexCounterDuke" /> • </copy> • <copy> • <from part="parameters" query="/ns1:WorkFlowInputType/query" • variable="workFlowInputMessage" /> • <to part="parameters" query="/ns1:query" variable="queryInputMessage" /> • </copy> • </assign> • <invoke inputVariable="queryInputMessage" operation="query“ • outputVariable="queryOutputMessage" • partnerLink="RproteomicsDataLinkType" portType="ns1:RPDataPortType" /> • <assign> • <copy> • <from expression="count(bpws:getVariableData('queryOutputMessage', 'parameters', • '/ns1:queryResponse')/response/ns4:CQLQueryResult) div 2" /> • <to variable="countDuke" /> • </copy> • </assign>
Investigation Conducted extensive tool review of existing tools: http://gforge.nci.nih.gov/docman/view.php/332/7509/icr_workflow_tool_review_2007.doc Prioritized feature list: http://gforge.nci.nih.gov/docman/view.php/332/9690/icr_workflow_prioritized_feature_list_2007.xls
Results: Authoring Tool - Taverna Taverna: http://gforge.nci.nih.gov/docman/view.php/332/8007/caGrid_workflow_taverna_2007.ppt http://gforge.nci.nih.gov/docman/view.php/332/8278/taverna_tom_oinn.doc Ravi Madduri (Cagrid workflow point of contact) attended Taverna workshop Prototype of Taverna to discover and invoke caGrid services
Taverna’s Features Explicit modeling of data flow. Implicit iteration. Input/Output metadata. Taverna provides a plug-in called Feta, a semantic discovery tool, to support service discovery using the function description as well as input and output metadata, semantically described using the myGrid ontology. This metadata mechanism provides a feasible integration point with caGrid metadata and discovery services.
Taverna’s Features (Cont..) Beanshell scripting and XML processing support. A custom processor that executes a beanshell (a flavor of dynamic Java) script can be defined inside a Taverna workflow. Beanshell scripts can be shared with others by wrapping them in a workflow and publishing the workflow on the Web. Taverna also provides a set of local processors supporting the processing of XML. By this means Taverna can leverage the processing power of Java and XML. Taverna is a nice tool which is easy to use for the non-IT specialists, and the Taverna workbench provides both build-time and run-time support for workflow modeling, debugging, tracing and provenance. This feature of Taverna is an obvious advantage over other solutions like BPEL, DAGMan, etc, because these languages and tools are designed for IT specialists and the domain users in caGrid have difficulties in using them. http://www.beanshell.org/
GT4 Plug-in for Taverna Processor: The concept of processor in a Taverna workflow is the same as the concept of task in a common workflow. ProcessorTaskWorker: Each processor interface corresponds to a ProcessorTaskWorker interface. ProcessorTaskWorker interface defines the action that is to be performed at runtime when workflow execution reaches to that processor. Scavenger: In Taverna, a scavenger is a logic collection of a set of processors. For example, a WSDL scavenger collects all the processors each of which corresponds to an operation defined inside that WSDL.
GT4 Plug-in for Taverna (cont’d) GT4 Scavenger A sample caGrid workflow
GT4 Plug-in for Taverna (cont’d) A sample caGrid workflow GT4 Scavenger with semantic/metadata based caGrid service query
GT4 Plug-in for Taverna (cont’d) Execution trace of the sample caGrid workflow
Future Work Enable Taverna to invoke Grid Services that use Resource pattern Enable Taverna to invoke Secure Grid Services Remote Execution of Workflows Integration of Taverna execution with caGrid workflow services
Teragrid • Overview (5 min) • Introduction on TeraGrid Workgroup • Background on geWorkbench and geWorkbench/caGrid/TeraGrid Project • Technology (10 min) • Steps to establishing geWorkbench/caGrid/TeraGrid Interface • Use of caGrid Security (GTS, Grid Grouper, Dorian, CDS) • Workflow and communications between services • Demo (5 min) • Discussion (5 min)
Team Members • geWorkbench (Columbia University) • Christine Hung • Kiran Keshav • caGrid (Ohio State University) • Scott Oster • Stephen Langella • caGrid/TeraGrid (Argonne National Laboratory) • Ravi Madduri • TeraGrid (Argonne National Laboratory) • Stuart Martin • TeraGrid (Texas Advanced Computing Center) • Stephen Mock • Management • Aris Floratos (Columbia University) • Krishnakant Shanbhag (Argonne National Laboratory) • Michael Keller (Booz Allen Hamilton) • Patrick McConnell (Duke University) • Nancy Wilkins-Diehr (San Diego Supercomputer Center)
Overview • Primary problem to address • Lack of infrastructure and operating procedures to support high performance computing needs of caBIG • Overarching goals • Regular caGrid services will run as caGrid/TeraGrid gateways services • Virtualize TeraGrid resources (both compute and storage) • Approach: labor divided between domain and technical tasks • Use cases will be drafted to identify the needs of the community • Existing TeraGrid Gateway projects will be surveyed to identify lessons learned and potential technology for reuse • Demonstrate approach through working prototype • Document best practices and develop “cookbook”
TeraGrid Overview “TeraGrid is an open scientific discovery infrastructure combining leadership class resources at nine partner sites to create an integrated, persistent computational resource.” • Characteristics: • > 250 teraflops of computing capability • >30 petabytes of online and archival data storage • high-performance networks • Mechanics: • Prospective users request allocation of HPC resources to a review committee • Allocations are granted, and credentials are issued • Jobs are run with credentials and resource usage is billed to the allocation
caGrid Gateway Service Overview • caGrid service running in the caBIG™ environment which acts as a bridge or proxy to TeraGrid resources for a subset of caBIG™ users • should meet Gold compatibility requirements • Created for a specific scientific scenario: • abstracts away the details of leveraging TeraGrid for performance intensive operations • uses domain-specific operations and data types • has access to TeraGrid allocation • Alleviates the need for caBIG™ users to: • understand the complexities of TeraGrid (or HPC systems) • obtain TeraGrid accounts/allocations
geWorkbench – a Platform for Integrated Genomics • Integrated genomics analysis application • Support for gene expression data, sequences, pathways, and structure • 50+ visualization and analysis modules • Access to local and remote data sources and analytical services • Integration with biological annotation sources • Development Platform • Open source • Java based • Component architecture • Facilitates customization
geWorkbench – a Platform for Integrated Genomics • Large collection of components • Data parsers: Affy MAS/GCOS (txt and CEL), Genepix, RMA, FASTA, caArray, PDB. • Data Management: Project folders, marker/sequence/array groups. • Visualization: Dendrograms, color mosaics, scatter plots, SOM clusters, BLAST results, dot matrices. • Analyses: Hierarchical clustering, t-test, SVM, ARACNE, MEDUSA. MatrixREDUCE. • 3rd Party components: Cytoscape, GoMiner, GeneWays, GenePattern, MEV. • Complete list at www.geworkbench.org.
geWorkbench – a Platform for Integrated Genomics http://www.geworkbench.org/
geWorkbench – Graphical User Interface Projects Area Visualization Area Selection Area Command Area
Creating the Gateway Service • Manually stage the binary (jar file) on TeraGrid • Takes in .ser files as input • Produces results also in a .ser file • Used the gRAVi plugin for Introduce to create the gateway service • http://dev.globus.org/wiki/Incubator/gRAVI • Gateway gridFTPs input data and parameters from geWorkbench to TeraGrid • geWorkbench passes input to the gateway in geWorkbench’s native format (caDSR compliant) • Gateway serializes the input before gridFTPing to TeraGrid • Gateway invokes the staged binary • Gateway gridFTPs results back to geWorkbench • Gateway deserializes the result file • Gateway returns results to geWorkbench in its native format • Gateway service is a secured caGrid service which in turn invokes TeraGrid with a caBIG community account
caGrid Security (GTS, Grid Grouper, Dorian, CDS) http://www.cagrid.org/mwiki/index.php?title=GAARDS:Main
Special Thanks • caGrid (Security Services) • Scott Oster • Stephen Langella • caGrid(gRAVi Plugin, Gateway Service) • Ravi Madduri • TeraGrid 08 for awarding us the Technology Track Best Paper Award
caGrid Security (GTS, Grid Grouper, Dorian, CDS) http://www.cagrid.org/mwiki/index.php?title=GAARDS:Main
caGrid Security (GTS, Grid Grouper, Dorian, CDS) http://www.cagrid.org/mwiki/index.php?title=GAARDS:Main