180 likes | 277 Views
Performance Measurement Points. Sockets, plain text and grid services Paul Mealor. Menu. First stage PMP Grid Services Grid Services PMP. First stage PMP. First step Simple protocols and implementation Cron used as the scheduler One single schedule that we overwrite
E N D
Performance Measurement Points Sockets, plain text and grid services Paul Mealor
Menu • First stage PMP • Grid Services • Grid Services PMP
First stage PMP • First step • Simple protocols and implementation • Cron used as the scheduler • One single schedule that we overwrite • Required security: add in SSL/Shibboleth/whatever
First stage PMP Wrapper Tool PMP control interface Cron crontab Server-side component DB Database frontend (MySQL? Web service?)
First stage PMP - schedules 0 */2 * * * iperf –c some.server.edu • Crontab style schedule times • Tool names to use • Only authorised tools with wrapper scripts may be used • Parameters to pass • The wrapper script will do any required checking • Arbitrary commands cannot be executed
Questions • Get scheduler to specifically control server-side tools • YTL has a framework for asking for a server tool to be started • But maybe the scheduler already thinks about server side stuff • No particularly good way to do inter-PMP schedule negotiations
A brief introduction to Grid Services • OGSA (Open Grid Services Architecture) • OGSI (Open Grid Services Infrastructure) • An extension of web services • Mandated functions plus extension to WSDL • Provides • Service data • Notification • Registry interface • Instance creation via factories & lifetime management • Implementation: Globus Toolkit 3 • Framework for creating new services, plus some example and implementations of job managers &c.
A brief introduction to Grid Services • Imagine one of the OGSA/OGSI piccies here
GridService findServiceData, setServiceData, requestTerminationBefore, requestTerminationAfter, destroy interface, serviceDataName, factoryLocator, gridServiceHandle, gridServiceReference, findServiceDataExtensibility, setServiceDataExtensibility, terminationTime, NotificationSource subscribe notifiableServiceDataName NotificationSink deliverNotification NotificationSubscription Service data: subscriptionException, sinkLocator Factory createService createServiceExtensibility ServiceGroup Service data: membershipContentRule, entry ServiceGroupEntry Service data: memberServiceLocator, content ServiceGroupRegistration add, remove HandleResolver findByHandle Port types, operations & service data
A brief introduction to Grid Services • Globus Toolkit 3 • Java • Communications via XML (JAX-RPC – SOAP) • Servlets can run in, say, Tomcat or in custom test container • GSI security directly supported • Plugging in Shibboleth may be tricky
OGSA PMP • Using Globus Toolkit 3 • Which is based on pre-April 5 version of OGSI • Permanent, persistent PMP interface • No sense of a non-persistent component to a PMP (maybe) • Can still use Cron as the scheduler • But backends could talk to anything • Clients talk about metrics and measurements • PMP thinks about tools
OGSA PMP with Cron backend Service data config Subscription Grid service port type WSDL Implementation PMP port type Manipulate schedule Schedule Writer Schedule Writer config crontab Cron Wrapper Tool
Grid service port type Implementation PMP port type OGSA PMP - Discovery Scheduler Scheduler Project-specific query results Custom registry Custom port type Service data query results Write schedule Registry port type Register • Standard registry interface can be re-used in completely different registries, but exactly the same PMP
An OGSA client • Stubs and beans can be created from WSDL • Search for PMPs in a registry • The registry may not be entirely public • Call PMP functions via stubs • SOAP-RPC behind the scenes • The OGSA client would be a scheduler
Problems and Questions • Tools which require a server and a client • Original plan was to force OGSA client to match up the server and client • Maybe much better for PMPs to negotiate • Clever PMPs • Perform scheduling on the PMPs • All PMPs negotiate all the time • Loads of problems • Can we design the protocols to deal with it if/when it comes?
Problems and Questions • Deleting or changing schedules • Should this be allowed? • Need good security with it • Can we make use of the factory system? • If an OGSA client wants to add part of a schedule, maybe that should create a new instance of a PMP schedule • Might simplify schedule updating • Do we want loads of instances sitting around?
Notes from yesterday • What I’ve described is probably more like the PMC interface • But there’s no particular reason the PMP itself couldn’t be a Grid Service • Registration process needn’t be to a globally-accessible registry • But maybe the overheads are unacceptable