1 / 48

Workflows, Taverna, and Teragrid

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.

questa
Télécharger la présentation

Workflows, Taverna, and Teragrid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Workflows, Taverna, and Teragrid Annual Meeting, 2008

  2. Agenda • Kiran Keshav • Workflow Working Group • Ravi Madduri • Taverna and Workflows • Christine Hung • TeraGrid

  3. 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.

  4. 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

  5. Example Scenario Analytical Service A Aresults=Run A Bresults =Run B res = Aresults + Cresults =Run C(res) Analytical Service B Analytical Service C

  6. 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.

  7. Authoring and Executing Workflows • How do you write a workflow? • Authoring tool • Who executes the workflow? • Workflow engine

  8. Authoring Tool • Find caBIG services • Add services of interest to the workflow • Submit the workflow to the workflow engine

  9. 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)

  10. Workflows in 2007 • Identify a workflow authoring tool • Taverna • Implement a scientific workflow • Identify significant barriers to workflow interoperability

  11. 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.

  12. Administrative • Workflow Working Group • Kiran Keshav • keshav@c2b2.columbia.edu • 1st and 3rd Monday of every month at 11am EST

  13. 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

  14. caGrid background Where does workflow fit in? Integrates Semanticallyannotated data caGrid clients build/run workflows Orchestrates caGrid-build services caGrid security supported

  15. 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

  16. 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>

  17. 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

  18. 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

  19. 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.

  20. 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/

  21. 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.

  22. GT4 Plug-in for Taverna (cont’d) GT4 Scavenger A sample caGrid workflow

  23. GT4 Plug-in for Taverna (cont’d) A sample caGrid workflow GT4 Scavenger with semantic/metadata based caGrid service query

  24. GT4 Plug-in for Taverna (cont’d) Execution trace of the sample caGrid workflow

  25. Demo

  26. 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

  27. 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)

  28. 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)

  29. 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”

  30. 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

  31. 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

  32. 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

  33. 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.

  34. geWorkbench – a Platform for Integrated Genomics http://www.geworkbench.org/

  35. geWorkbench – Graphical User Interface Projects Area Visualization Area Selection Area Command Area

  36. Clustering

  37. caGrid Service

  38. TeraGrid Aware caGrid Service

  39. 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

  40. Steps to establishing geWorkbench/caGrid/TeraGrid Interface

  41. caGrid Security (GTS, Grid Grouper, Dorian, CDS) http://www.cagrid.org/mwiki/index.php?title=GAARDS:Main

  42. Workflow and Communications Between Services

  43. 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

  44. Demo and Discussions

  45. Steps to establishing geWorkbench/caGrid/TeraGrid Interface

  46. caGrid Security (GTS, Grid Grouper, Dorian, CDS) http://www.cagrid.org/mwiki/index.php?title=GAARDS:Main

  47. caGrid Security (GTS, Grid Grouper, Dorian, CDS) http://www.cagrid.org/mwiki/index.php?title=GAARDS:Main

  48. caGrid Security (GTS, Grid Grouper, Dorian, CDS)

More Related