Upload
abel-mccormick
View
227
Download
2
Tags:
Embed Size (px)
Citation preview
Migrating Desktop
The graphical frameworkfor running grid applications
Bartek [email protected]
Poznan Supercomputing and Networking Center
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 2
Outline
Submission of a grid application using MD Plug-ins: idea and architecture Short overview of the OSGi standard Plug-ins „step-by-step” – guidelines for
developers
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 3
Example of a grid application
JDLJDL JobTypeJobType = "MPICH"; NodeNumber NodeNumber = 4; ExecutableExecutable = "bandVU1.csh"; StdOutput StdOutput = "bandVU1.out"; StdErrorStdError = "bandVU1.err"; InputSandboxInputSandbox = {"bandVU1.csh", "bandVU1.inp"}; OutputSandboxOutputSandbox = {"bandVU1.out", "bandVU1.err",
"bandVU1.log", "bandVU1.dat"}; RequirementsRequirements = Member("VO-gamess-GAMESS",
other.GlueHostApplicationSoftwareRunTimeEnvironment)
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 4
Job submission using MD
Authenticating to the gridAuthenticating to the grid
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 5
Job submission using MD
Defining executable Defining executable
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 6
Job submission using MD
Defining job input & outputDefining job input & output
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 7
Job submission using MD
Monitoring job executionMonitoring job execution
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 8
Job submission using MD
Monitoring job executionMonitoring job execution
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 9
Job submission using MD
Visualising outputVisualising output
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 10
MD plug-ins
MotivationsMotivationsEasy extension of the frameworkStandardization of integration with „third party” modulesMaking Migrating Desktop not so „heavy”Integration points between Migrating Desktop and applications To give to integrated modules easy access to resources
Migrating Desktop plug-insMigrating Desktop plug-ins Set of OSGi bundles with well-defined interface, described by XML file and loaded „on demand” from a network
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 11
OSGi
OSGiOSGiOpen Services Gateway Initiative OSGi™ AllianceMore than 35 companies from various areas (Sun, IBM, Ericsson, Nokia, Philips, BMW, etc.) Technology designed to provide a general-purpose, secure, and managed Java framework supporting the deployment of extensible and downloadable modules known as bundles that usual provide services - a collection of interfaces and their implementations. Standard with several implementations (Equinox, Knoplerfish, etc)Used as engine for open source Eclipse IDE
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 12
OSGi
OSGi bundlesOSGi bundlesA bundle is a JAR file that contains:
The resources necessary to provide some functionality.A manifest file describing the contents of the JAR file and providing information about the bundle.
Bundles can be remotely installed, started, stopped, updated or uninstalled on the flyBundles can share Java packages among an exporter bundle and an importer bundle in a well-defined way.
OSGi servicesOSGi servicesOSGi service is a java object instance, registered into an OSGi framework with a set of properties. Any java object can be registered as a service,Service implements a well-known interfaceBundles can register services, search for them, or receive notifications when their registration state changes.
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 13
Plug-in architecture
Plug-in Plug-in independent module providing well-defined API that can be easy implemented and integrated with Migrating Desktop
Container Container graphical component in which plug-in (implementing java panel) is nested.
ToolkitToolkitinterface defining set of auxiliary methods that can be used by plug-in for gaining access to local or remote resources, etc.
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 14
Plug-in „step-by-step”
Do I need a plug-in?Do I need a plug-in? What kind of plug-in shall I choose?What kind of plug-in shall I choose?
Job input plug-in - defining job specific parametersJob process plug-in - pre-processing job input parametersJob viewer plug-in - visualisation of job resultsFile viewer plug-in - viewing files of different formatsTool plug-in - integration of any type of java applet or application within Migrating Desktop framework
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 15
Plug-in „step-by-step”
Do I need a java plug-in to specify job Do I need a java plug-in to specify job input parameters?input parameters?
Ready-to-use plug-in that create input panel based on XML schema
Implementing a plug-inImplementing a plug-in……PluginPlugin – interface that contains plug-in API
……PluginFactoryPluginFactory – serves an implementation of plug-in
……PluginActivatorPluginActivator – bundle activator that starts a OSGi bundle and register a plug‑in as a
service…PluginToolkit – toolkit providing set of auxiliary methods…PluginContainer – set of methods which can be used for
interaction between plug-in and container…PluginConstants – auxiliary class
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 16
Plug-in „step-by-step”
Implementing a plug-inImplementing a plug-inSequence of container calls of plug-in methods:
setToolContainer - sets container;setToolkit - passes reference to the toolkitinit - plug-in initialization;setProperties - sets parameters (specific to plug-in type);getPluginPanel - gets plug-in main panel for displaying;start - starts plug-in execution;… - plug-in specific methods;stop - plug-in stops its execution
(sequence of calls start – stop, can be called in a loop);
destroy - “cleaning” actions;
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 17
Plug-in „step-by-step”
Creating an OSGi bundleCreating an OSGi bundlePreparing manifestCreating java archive (JAR) file
Manifest-Version: 1.0Bundle-Description: Implementation of file viewer plug-insBundle-Vendor: PSNCBundle-Version: 1.0.0Bundle-Activator: pl.psnc.desktop.plugins.ViewerActivatorBundle-Name: pl.psnc.desktop.pluginsImport-Package: org.osgi.framework; version=1.2,
pl.psnc.desktop.plugins.tool,pl.psnc.desktop.plugins.fileviewer
Bundle-SymbolicName: pl.psnc.desktop.plugins.fileviewerBundle-ClassPath: .,
lib/asm/AsmVis_MD.jar,lib/pdb/jai_codec.jar,
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 18
Plug-in „step-by-step”
Signing a bundleSigning a bundle Publishing a plug-inPublishing a plug-in
Creating XML descriptionRegistration
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 19
Additional information
Int.eu.gridInt.eu.gridhttp://www.interactive-grid.eu/
PSNCPSNChttp://www.man.poznan.pl/
Product homepageProduct homepagehttp://desktop.psnc.pl/
CVS RepositoryCVS Repositoryhttp://ras.man.poznan.pl/cgi-bin/viewcvs.cgi/
The OSGi AllianceThe OSGi Alliance http://www.osgi.org/
The The World Wide Web ConsortiumWorld Wide Web Consortiumhttp://www.w3c.org/
The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 20
Questions
Thank you for your attention!
Any questions?