20
Migrating Desktop The graphical framework for running grid applications Bartek Palak [email protected] Poznan Supercomputing and Networking Center The First int.eu.grid Integration Meeting, Krakow 12-14 October 20

Migrating Desktop The graphical framework for running grid applications Bartek Palak [email protected] Poznan Supercomputing and Networking Center The

Embed Size (px)

Citation preview

Page 1: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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

Page 2: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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

Page 3: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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)

Page 4: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 4

Job submission using MD

Authenticating to the gridAuthenticating to the grid

Page 5: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 5

Job submission using MD

Defining executable Defining executable

Page 6: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 6

Job submission using MD

Defining job input & outputDefining job input & output

Page 7: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 7

Job submission using MD

Monitoring job executionMonitoring job execution

Page 8: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 8

Job submission using MD

Monitoring job executionMonitoring job execution

Page 9: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 9

Job submission using MD

Visualising outputVisualising output

Page 10: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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

Page 11: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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

Page 12: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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.

Page 13: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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.

Page 14: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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

Page 15: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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

Page 16: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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;

Page 17: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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,

Page 18: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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

Page 19: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

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/

Page 20: Migrating Desktop The graphical framework for running grid applications Bartek Palak bartek@man.poznan.pl Poznan Supercomputing and Networking Center The

The First int.eu.grid Integration Meeting, Krakow 12-14 October 2006 20

Questions

Thank you for your attention!

Any questions?