The GT 4 GRAM Service Sam Meder ( )

advertisement
The GT 4 GRAM Service
Sam Meder
(meder@mcs.anl.gov)
Middleware Workshop
Service: GT4 GRAM
z
z
GRAM provides a service interface to compute
resources (clusters etc).
‹
Job submission
‹
Staging
‹
Discovery
Not yet available (first alpha at end of month)
‹
URL: http://www.globus.org/toolkit
‹
License: Globus Toolkit Public License (BSD style)
‹
z
Support: Will become fully supported with the
release of GT 4.0
SOA Model:WS-RF
Design Goals
z
z
Performance
‹
Scalability
‹
Throughput
‹
(Latency)
Modularity
‹
Staging
‹
Delegation
Service Operations (Factory)
z
WS-ResourceProperties operations
z
createManagedJob()
‹
Description:
‹
IN: Job description
‹
OUT: EPR for created job resource
Service Operations (Service)
z
z
z
z
WS-ResourceProperties operations
WS-ResourceLifetime operations
WS-BaseNotification NotificationProducer
operations
start()
Description:
‹ IN: void
‹ OUT: current state of job
‹
Performance vs. GT3 GRAM
z
Reduced number of roundtrips
z
Single hosting environment
z
z
Modular: What you don’t use you don’t pay
for
Event based scheduler/job monitoring
What do you use to build your service?
(i.e. How ‘standard’ is your service?)
NB:A low score means less risk & more mainstream
z
Widely Implemented Standard Specification (1pt)
‹
z
Implemented draft specification (2pt)
‹
z
z
WS-Addressing
Non-implemented proposal (5pt)
‹
z
WS-Resource Framework, WS-Notification
Implemented proposal (4pt)
‹
z
WS-Security
Implemented draft specification (3pt)
‹
z
SOAP, WSDL, etc (where to start?)
The service itself is a proposal?
Concept (6pt)
TOTAL: (find this a bit silly)
Service Dependencies
z
What else does your service depend on
(i.e. external dependencies)?
‹
z
GT4 Core which in turn depends on a host
of third party technologies (RDBMs etc)
What does your implementation depend
on?
‹
Languages: Java, C, Perl
‹
Container type: Web container/servlet
AAA & Security
z
What authentication mechanism do you use?
‹
z
What authorisation mechanism do you use?
‹
z
Deferred to scheduler implementation
Does service interaction need to be encrypted?
‹
z
Any provided by GT 4 Security (identity, gridmap, self,
CAS, callout, custom)
What accounting mechanism do you use?
‹
z
Any provided by GT 4 Security (WS-Security:
Username/Password, X.509 (w & w/o proxy certs) and
GSI Secure Conversation
No, but it can be
Delegation of rights:
‹
Delegation service
Exploiting the Service Architecture
z
What features from your ‘plumbing’ do you
use in your service?
Logging
‹ Event notification
‹ Lifetime management
‹ Registry discovery/advertisement
‹ State inspection
‹ (probably more than that)
‹
Service Activity
z
Multiple interaction or single user?
‹
z
multiple
Throughput (1/per day or 100/per
second?)
‹
Depends/unknown
z
Typical data volume moved in
z
Typical data volume moved out
Service Failure
z
Required Reliability
‹
Failure semantics?
z
z
Required Persistence
‹
z
Positive ack (two phase commit)
Work never lost? - Yes
Required Availability
‹
Should always be available
Required Service Management
z
Remote access to:
‹
Current state
z
Job
z
System
Download