cgw 2003 institute of computer science agh proposal of adaptation of legacy c/c++ software to grid...

27
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ów ACC CYFRONET AGH Technical University Munich

Upload: daniel-warren

Post on 11-Jan-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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,

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

Page 2: 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,

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

Page 3: 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,

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

Page 4: 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,

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)

Page 5: 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,

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.)

Page 6: 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,

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

Page 7: 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,

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

Page 8: 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,

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

Page 9: 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,

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

Page 10: 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,

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

Page 11: 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,

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

Page 12: 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,

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

Page 13: 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,

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

Page 14: 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,

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

Page 15: 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,

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

Page 16: 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,

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

Page 17: 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,

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

Page 18: 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,

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

Page 19: 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,

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

Page 20: 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,

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

Page 21: 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,

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

Page 22: 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,

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

Page 23: 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,

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

Page 24: 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,

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)

Page 25: 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,

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

Page 26: 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,

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

Page 27: 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,

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