cgw 2003 institute of computer science agh proposal of adaptation of legacy c/c++ software to grid...
TRANSCRIPT
CGW 2003
Institute of Computer
Science AGH
Proposal of Adaptation of Legacy C/C++ Software to Grid Services
Bartosz Baliś, Marian Bubak,Michał Węgiel, Roland Wismüller
Institute of Computer Science, AGH KrakówACC CYFRONET AGH
Technical University Munich
CGW 2003
Institute of Computer
Science AGH
Outline
Migration to grid services technology and challenges involved
Grid environment requirements The state of the art The proposed architecture and its
components Scenarios: initialization, method invocation
and destruction Security, scalability and other aspects
characteristic of grid computing Project status and future work
CGW 2003
Institute of Computer
Science AGH
Legacy software• typically represents large-scale corporate
investments that cannot be discarded• high-quality and validated programs
Cost-effective migration to grid services technology• without re-design, re-development and re-
deployment of the existing software • tool-supported, semi-automated process• universal and systematic methodology
Motivation and challenges
CGW 2003
Institute of Computer
Science AGH
Grid requirements
Grid service• web service that provides a set of well-
defined interfaces and that follows specific conventions
Extensions introduced by Open Grid Services Infrastructure• lifetime management (factories, explicit and
soft-state destruction) • dynamic and stateful service instances
(methods and attributes)• reliable and secure invocation
(authentication and authorization)
CGW 2003
Institute of Computer
Science AGH
The state of the art
Related work is present both in scientific and commercial settings
Lack of comprehensive solutions Existing approaches
• concentrate on web services technology • fail to satisfy grid services requirements• omit architectural considerations• introduce numerous limitations
(inflexibility, insecurity etc.)
CGW 2003
Institute of Computer
Science AGH
The proposed architecture
three major components potentially in different locations
backend host
execution environment
service clientSOAP SOAP
legacy code wrapper
set of grid services
any languageC/C++/Fortran
any language
hides interaction with
backend host
encapsulates legacy
interface
CGW 2003
Institute of Computer
Science AGH
Components: service container
permanentservices
transient services
keeps track of backend hosts
which registered to participate in
computationsone per service
service inaccessible to client service accessible to client
hosting environment
registry
factory
proxy factory
instance
proxy instance
CGW 2003
Institute of Computer
Science AGH
Components: service container
permanentservices
transient services
service inaccessible to client service accessible to client
hosting environment
registry
factory
proxy factory
instance
proxy instance
responsible for creation of the corresponding
instances one per service
CGW 2003
Institute of Computer
Science AGH
Components: service container
permanentservices
transient services
directly called by client, provides
externally visible functionalityone per client
service inaccessible to client service accessible to client
hosting environment
registry
factory
proxy factory
instance
proxy instance
CGW 2003
Institute of Computer
Science AGH
Components: service container
permanentservices
transient services
responsible for mediation
between backend host and service
clientone per client
service inaccessible to client service accessible to client
hosting environment
registry
factory
proxy factory
instance
proxy instance
CGW 2003
Institute of Computer
Science AGH
Components: backend host
master process
legacy software
creates
exploits
responsible for host registration and creation of slave processes
slave process
backend host permanentprocess
one per host
CGW 2003
Institute of Computer
Science AGH
Components: backend host
master process
legacy software
creates
exploitsresponsible for request translation and direct
cooperation with legacy software
slave process
backend host
transientprocess
one per client
CGW 2003
Institute of Computer
Science AGH
registry
factory
master process
legacy software
backend host client
Scenarios: initialization
master process registers backend host and subscribes to notifications about the appearance of subsequent clients
step 1
proxy factory
subscribes
service container
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: initialization
client connects to factory in order to create new service instance for its exclusive usage
step 2
proxy factory
instance
registry invokes
creates
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: initialization
upon creation service instance contacts proxy factory in order to create new proxy instance
step 3
proxy factory
instance
registry
proxy instance
invokescreates
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: initialization
service instance invokes registry which notifies one of the registered master processes about a pending client
step 4
proxy factory
instance
registry
proxy instance
invokes
notifies
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: initialization
the selected master process creates slave process which subscribes to notifications about the client method calls
step 5
proxy factory
instance
registry
proxy instance
slave process
creates
subscribes
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: method invocation
client’s method call on the created instance is forwarded to the corresponding proxy instance
step 1
proxy factory
instance
registry
proxy instance
slave process invokes
invokes
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: method invocation
proxy instance notifies the associated slave process of the method call and the underlying legacy code is invoked
step 2
proxy factory
instance
registry
proxy instance
slave process
notifies
calls
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: method invocation
slave process supplies the obtained results to proxy instance which enables the called method to return
step 3
proxy factory
instance
registry
proxy instance
slave process
invokes
returns
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: destruction
step 1
proxy factory
instance
registry
proxy instance
slave process
invokes
explicit destruction request or instance
lifetime expiry
instance forwards destruction request to proxy instance which sends the appropriate notification to slave process
notifies
CGW 2003
Institute of Computer
Science AGH
service container
factory
master process
legacy software
backend host client
Scenarios: destruction
step 2
proxy factory
instance
registry
proxy instance
slave process
slave process terminates its execution and instances are garbage collected by container shortly afterwards
CGW 2003
Institute of Computer
Science AGH
Security
Authentication• X.509 certificates: identity can be assigned
both to users and hosts
Authorization• for external services (accessible to users)
• based on user certificates • access granted to clients eligible to use a particular
service
• for internal services (inaccessible to users)• based on host certificates• access granted to machines eligible to register in the
context of a particular service
CGW 2003
Institute of Computer
Science AGH
Scalability
Actual processing is delegated to backend hosts
Service instances residing in the container do not consume excessive resources
Backend hosts volunteer to accept tasks only when their load is reasonable (automatic load balancing)• high responsiveness to temporal peaks in
utilization (on demand computing)• support for resource reservation
(quality of service)
CGW 2003
Institute of Computer
Science AGH
Other features
No modifications of legacy code are required Programs and libraries can remain where
they were initially installed No open ports on backend hosts are
introduced since they act as service clients Central administration: all services
belonging to one VO can be hosted and managed in one place
Independence of particular hosting environment implementation
CGW 2003
Institute of Computer
Science AGH
Other features
Flexible and dynamic configuration• processes are not bound to backend hosts• they can change their locations even during
execution (job migration)
Delegated control• no need to check which host is ready and
most suitable for a task at the specified point in time
• robustness in case of configuration change or component failure
• finer-grained participation policy
CGW 2003
Institute of Computer
Science AGH
Project status and future work
As a proof of concept the presented solution was partially implemented• project: adaptation of OCM-G grid application
monitoring system to grid services• used tools: gSOAP package, Globus Toolkit 3.0
Future work• more test cases • performance measurement• development of tools faciliatating the usage
of the proposed framework