User-Friendly Interfaces
Grid Computing Workflow Editors
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © 2009.
Chapter 8, pp. 223-234. For educational use only. All rights reserved. Sept 18, 2009
8-1.1
Workflows
A sequence of tasks that need to be done to perform an
overall computation.
Results of one task used by other tasks creating
dependencies between tasks.
Dependencies may be very complex.
Results of multiple jobs need to be staged as input for
multiple subsequent jobs
Inputs and outputs may not be immediately compatible and
may require transformations to be acceptable.
Tasks themselves may be significant applications--especially
true for scientific applications.
8-1.2
Workflow languages
• Distributed applications could be exposed as Web services.
• Hence, Grid workflow typically becomes form workflow of
interconnected Web services.
• XML Languages for constructing Web service workflows
targeted towards business applications. :
– Early 2000s (superseded)
• Web Services Flow Language (WSFL) from IBM.
• XLANG, an extension of WSDL, from Microsoft
– 2004: Web Services Business Process Execution
Language (WS-BPEL or BPEL), an OASIS standard.
8-1.3
Workflow Editor Features
Some desirable features:
• Ability for user to construct a workflow of
interconnected local and remote components
easily.
• Graphical drag-and-drop interface able to create a
pictorial representation of workflow.
• Pictorial representation separated from concrete
implementation.
• XML workflow description desirable.
• Components of workflow should be able to be
grouped together into reusable components for
other workflows.
8-1.4
Workflow editors with graphical interfaces
• Taverna
– Focused on distributed components (including services)
running on local and remote machines
• Kepler
– Broader focus of scientific workflows but can now handle
distributed computing, including Grid computing.
– Uses powerful open-source scientific workflow editor
called Ptolemy II developed at the University of
California–Berkeley
– Ptolemy concerned with modeling concurrent processes
in real-time embedded systems.
8-1.5
GridNexus
• Developed at the University of North Carolina–
Wilmington in early/mid 2000s for constructing Grid
computing workflows.
• Uses Ptolemy II graphical interface.
• Many graphical user interface features inherited from
Ptolemy II onto which new features introduced for
Grid computing environment, such as Web service
clients, etc.
• Also new in GridNexus, workflow separated from its
execution with use of an XML scripting language
called JXPL.
8-1.6
GridNexus User Interface
Run icon
Library
modules
Drawing canvas
Thumbnail
of drawing
frame
Fig 8.1
8-1.7
GridNexus Accessing Remote Service
Fig 8.2
8-1.8
Setting up GridNexus to communicate with
Globus installations
• Local hosts file needs to contain mapping of hostnames to IP
addresses.
• Certificate authorities need to be recognized by GridNexus.
– Process for recognizing certificate authorities similar to Globus
– Certificate and signing policies files of each certificates authority
(<ca-hashcode>.0 and <ca-hashcode>.signing_policy) stored in
.globus/certificates directory.
• User has to obtain a proxy.
– Process of obtaining a proxy depends upon where original certificate
stored.
– For example, MyProxy server might be queried for a proxy.
– Location of proxy on local machine needs to given in a file
(cog.properties).
8-1.9
GridNexus Grid computing modules
• GridExec for submitting GRAM jobs (GRAM client)
• GridFTP and SFTP modules for file transfers
• WS client module
• WSRF (grid service) client module
Found under Module library -> Transformer -> Grid
8-1.10
GridExec
• Client for submitting Globus GRAM jobs
Example
Workflow causes program /bin/echo to be executed with
arguments hello world on coit-grid01.uncc.edu.
Corresponds to:
globusrun-ws -submit -F coit-grid01.uncc.edu:8440 -c /bin/echo hello
world
8-1.11
Fig 8.3
Java program
Two arguments for Java interpreter, javaprog1 and 89, merged
into Command Argument multiport input.
Multiport inputs identified by white triangles
Inputs that do not accept more than one input identified by black triangles
Order inputs drawn on workflow important as determines order that inputs
enter multiport.
Fig 8.4
8-1.12
File Transfers
• Specific input and output files can also be
specified using the Input Files and Output Files
inputs.
• Such file staging requires GridFTP, which is not
available in Globus 4.0 for a Windows platform.
• GridNexus has a module for file transfers using
SFTP, which is available in Windows but requires
public key authentication.
8-1.13
Using a GridNexus module for file
transfer
• Introduced by Ferner (2008)
8-1.14
Fig 8.5
8-1.15
• In this example, first Java program executed using
upper GridExec module
• Next, in lower GridExec module, a Globus
globusrun-ws command issued to execute
globusrun-url-copy command to transfer output file
to another site, in this example torvald.cis.uncw.edu.
Equivalent to:
globusrun-ws -submit -F coit-grid01.uncc.edu:8440 -c
globusrun-url-copy file:///nsf-home/abw/stdout
gsiftp://torvalds.cis.uncw.edu/home/grid/abw/stdout
8-1.16
Client to a Web service
Fig 8.6
8-1.17
Invoking web service
Fig 8.7
8-1.18
GridNexus WSRF module
Unfortunately not possible to obtain all the necessary
interface information just from WSDL as in the case
of a regular stateless Web service.
WSRF module requires the following information to
be entered:
• URL of the service, or factory URL
• Location of AddressingLocator class of service
to be able to configure itself to work with the service
JAR package.
8-1.19
Configuring WSRF client
Fig 8.8
8-1.20
Client for a WSRF-compliant service
Fig 8.9
8-1.21
GridNexus workflow with two WSRF services
Fig 8.10
8-1.22
Multiple-choice questions
8-1.23
What is GridNexus?
(a) A Grid portal
(b) A software package to create
workflows
(c) A term used to describe an amorphous
Grid
(d) A software package to run Grid jobs
SAQ 8-1
8-1.24
What is JXPL?
(a) A job description language
(b) An XML language for JSR 168 portlets
(c) The XML language used in GridNexus
to describe workflow
(d) A Java XML programming language
SAQ 8-2
8-1.25
What is the purpose of the GridNexus
JxplDisplay module?
(a) To display the workflow
(b) To compute the JXPL document for the
workflow and optionally evaluate it
(c) To display the JXPL manual
(d) To display all the input for the workflow
SAQ 8-3
8-1.26
What is the purpose of the GridNexus WS
Client module?
(a) Provides a module for a local or remote
Web Service
(b) Provides a module for a client that
accesses a local or remote Web Service
(c) Provides a module for a Web service
that accesses a client
(d) None of the other answers
SAQ 8-4
8-1.27
How is the GridNexus WS Client configured?
(a) It self-configures
(b) The user provides a title or name
(c) The user provides the URL of the Web
service
(d) The user provides the URL of the Web
service WSDL document
(e) None of the other answers
SAQ 8-5
8-1.28
What is the purpose of the GridNexus
GridExec module?
(a) Submit a job to GRAM
(b) Create a Grid execution service
(c) Perform an ssh connection to a remote
computer
(d) Execute a Grid service
SAQ 8-7
8-1.29
What is the GridNexus composite module?
(a) A workflow with every module connecting
to every other module
(b) A module composed of every type of
module that exists in GridNexus
(c) A workflow considered as one unit with a
set of inputs and a set of outputs
(d) A module that two modules with the output
of the first module connecting to the input
of the second module
SAQ 8-8
8-1.30
Questions
8-1.31
Descargar

No Slide Title