1
Invocation Patterns Apartfrom synchronous synchronous ,sequential sequential m odeof m ethod invocation ourarchitecture supports: A synchronism A synchronism each m ethod invocation returns im m ediately and a separate thread is expected to block on a com plem entary callw aiting forthe output data to becom e available Concurrency Concurrency by default, slave processeshandle each clientrequestin a separate thread T ransactions T ransactionsthe m ostgeneralm odelofconcurrent nested transactions is assum ed Bartosz Baliś 1,2 Marian Bubak 1,2 Michał Węgiel 1 1 Institute of Computer Science AGH, Mickiewicza 30, 30-059 Kraków, Poland 2 Academic Computer Centre CYFRONET, Nawojki 11, 30-950 Kraków, Poland {balis,bubak}@uci.agh.edu.pl, [email protected] Legacy System M aster Slave Monitor singleton singleton responsibleforhost responsibleforhost registration and registration and creation ofm onitor creation ofm onitor and slave processes and slaveprocesses permanent process transient processes one perclient oneperclient responsiblefor responsible for reportingabout reporting about and controlling the and controllingthe associated slave associated slave process process oneperclient one perclient provides m eans of providesm eansof interface interface- based based state stateful fulconversation conversation w ith legacy softw are w ith legacy softw are Hosting Environm ent R egistry Factory Proxy Factory Instance Proxy Instance permanent serv ic es transient serv ic es singleton singleton keepstrack of keeps track of legacy system s legacy system s w hich registered w hich registered to participatein to participatein processing processing singletons singletons responsible for responsible for creation ofthe creation ofthe corresponding corresponding instances instances one perclient oneperclient directly called by directly called by theclient, provides theclient, provides externally visible externally visible functionality functionality oneperclient oneperclient responsiblefor responsiblefor m ediation betw een m ediation betw een legacy system sand legacy system sand servicerequestors servicerequestors R egistry M aster A ssign Monitor Slave [success] A ssign [tim eout] Create Proxy Instance Create H eartbeat [continue] H eartbeat [m igration] A ssign [tim eout] D estroy Request Response Request Respon se Legacy System Side Factory Proxy Instance Instance Proxy Factory R egistry Create N ew Create N ew A ssign Invoke Invoke D estroy D estroy ServiceRequestorSide Legacy System M aster Slave Monitor Legacy System Master Monitor Slave Providesfor load load- balancing balancing & fault fault- tolerance tolerance H igh-levelapproach (m igration aw areness) State extraction & restoration:checkpointing checkpointing com bined w ith repetition ofshort-term history history ofm ethod invocations Com m itted A borted Com m itted A borted Com m itted A borted U nfinished Checkpoint Failure Transaction om itted Transaction repeated Time Selection ofoptim al state reconstruction scenario isbased on transaction flow transaction flow and checkpointsequence checkpointsequence(m ultiple state snapshotsare recorded and the one enablingforfastest recovery procedure ischosen) Hosting Environm ent R egistry Factory Proxy Factory Legacy System M aster ServiceR equestor Service Process Instance Proxy Instance Slave M onitor SO A P SO A P TargetGrid Service Legacy Code Architect ure Scenarios Process Migration Essential aspect:process creation / term ination Coarse Coarse- grained grained resources:m aster m asterprocesses Fine Fine- grained grained resources:monitor monitor/ slave slave processes R egistry Master M onitor/Slave Inform ation Services D ata M anagem ent Job Subm ission R esource Broker Coarse-G rained A llocation (c) Fine-Grained A llocation (f) c.1 c.2 c.3 c.4 c.5 f.1 f.2 R esource M anagem ent Operation Perform ance E valuation Benchm ark:tw o functionally equivalent functionally equivalent grid services;one ofthem em ployed LG F M easurem ents perform ed on clientside clientside Instance construction Throughput Throughputreduced 3.1 tim es M ethod invocation Bandw idth Bandw idth reduced 2.5 tim es Latency Latencyincreased 2.5 tim es Instance destruction Throughput Throughputreduced 2.1 tim es R eferences Baliś,B.,Bubak,M ., W ęgiel, M .:A Fram ew ork for A Fram ew ork for M igration from Legacy Software to G rid Services M igration from Legacy Software to G rid Services.In Proc.3rd Cracow G rid W orkshop,Krakow , Poland, 2003,pp.254-265. Baliś,B.,Bubak,M ., W ęgiel, M .:Adaptation of Adaptation of Legacy Software to G rid Services Legacy Software to G rid Services.In Proc. IC CS 2004,Krakow ,Poland, LN CS 3038,vol.3, pp. 26-33, Springer. Baliś,B.,Bubak,M ., W ęgiel, M .:A Solution for A Solution for Adapting Legacy C ode as W eb Services Adapting Legacy C ode as W eb Services.In Proc. W orkshop on C om ponentM odels and System s for G rid Applications,Saint-M alo, France,2004,Kluw er. LM SM N ode LM N ode Site Slave Proxy Instance Instance SO A P SO A P MCI MCI MCI OCM -G LG F G rid application m onitoring system com posed oftw o com ponents com pliantto O M IS interface: Service Service M anager M anager(SM )and Local M onitor Local M onitor(LM ) Case Study:O CM -G Implementation Acknowledgements: research partially funded by the Crossgrid project SOA SOA: environment wherein loosely-coupled grid services interact by exchanging messages (high level of interoperability and abstraction). Legacy software Legacy software: traditional libraries and applications executed as regular programs (system/language dependent). Legacy side Legacy side: client assignment, system monitoring, request processing. Requestor side Requestor side: instance construction, method call, instance destruction.

Bartosz Baliś 1,2 Marian Bubak 1,2 Michał Węgiel 1

  • Upload
    torgny

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

LGF: A Framework for Semi-Automated Adaptation. of Legacy Software to Grid Services. Bartosz Baliś 1,2 Marian Bubak 1,2 Michał Węgiel 1 1 Institute of Computer Science AGH, Mickiewicza 30, 30-059 Kraków, Poland 2 Academic Computer Centre CYFRONET, Nawojki 11, 30-950 Kraków, Poland - PowerPoint PPT Presentation

Citation preview

Page 1: Bartosz Baliś 1,2  Marian Bubak 1,2  Michał Węgiel 1

Invocation Patterns

Apart from synchronoussynchronous, sequentialsequential mode of method invocation our architecture supports: AsynchronismAsynchronism – each method invocation returns

immediately and a separate thread is expected to block on a complementary call waiting for the output data to become available

ConcurrencyConcurrency – by default, slave processes handle each client request in a separate thread

TransactionsTransactions– the most general model of concurrent nested transactions is assumed

Bartosz Baliś1,2 Marian Bubak1,2 Michał Węgiel11Institute of Computer Science AGH, Mickiewicza 30, 30-059 Kraków, Poland

2Academic Computer Centre CYFRONET, Nawojki 11, 30-950 Kraków, Poland{balis,bubak}@uci.agh.edu.pl, [email protected]

Legacy System

Master

Slave

Monitor

singletonsingletonresponsible for host responsible for host

registration and registration and creation of monitor creation of monitor and slave processesand slave processes

permanent process

transient processes

one per clientone per clientresponsible for responsible for reporting about reporting about

and controlling the and controlling the associated slave associated slave

processprocess

one per clientone per clientprovides means of provides means of

interfaceinterface--based based statestatefulful conversation conversation with legacy softwarewith legacy software

Hosting Environment

Registry

Factory

Proxy Factory

Instance

Proxy Instance

permanent services

transient services

singletonsingletonkeeps track of keeps track of legacy systems legacy systems

which registered which registered to participate in to participate in

processingprocessing

singletonssingletonsresponsible for responsible for creation of the creation of the corresponding corresponding

instancesinstances

one per clientone per clientdirectly called by directly called by

the client, provides the client, provides externally visible externally visible

functionalityfunctionalityone per clientone per client

responsible for responsible for mediation between mediation between legacy systems and legacy systems and service requestorsservice requestors

Registry Master

Assign

Monitor

Slave

[success]

Assign

[timeout]

Create

Proxy Instance

Create

Heartbeat

[continue]

Heartbeat

[migration]

Assign

[timeout]

Destroy

Request

Response

Request

Response

Legacy System Side

Factory

Proxy Instance

Instance

Proxy Factory Registry

Create

NewCreate

NewAssign

InvokeInvoke

DestroyDestroy

Service Requestor Side

Legacy System

Master

Slave

Monitor

Legacy System

Master

Monitor

Slave

Provides for loadload--balancingbalancing & faultfault-- tolerancetolerance

High-level approach (migration awareness)

State extraction & restoration: checkpointingcheckpointingcombined with repetition of short-term history history of method invocations Committed

Aborted

Committed

Aborted

Committed

Aborted

Unfinished

Checkpoint Failure

Transaction omitted

Transaction repeated

Time

Selection of optimal state reconstruction scenario isbased on transaction flowtransaction flowand checkpoint sequencecheckpoint sequence(multiple state snapshots are recorded and the one enabling for fastest recovery procedure is chosen)

Hosting Environment

Registry

Factory

Proxy Factory

Legacy System

Master

Service Requestor

Service Process

Instance

Proxy Instance

Slave

Monitor

SOAP

SOAP

Target Grid Service

Legacy Code

Architecture

Scenarios

Process Migration

Essential aspect: process creation / termination CoarseCoarse-- grainedgrained resources: mastermasterprocesses FineFine-- grainedgrained resources: monitormonitor / slaveslaveprocesses

Registry

Master

Monitor/ Slave

Information Services

Data Management

Job Submission

Resource BrokerCoarse-Grained Allocation (c)

Fine-Grained Allocation (f)

c.1

c.2

c.3

c.4

c.5

f.1f.2

Resource Management

Operation

Performance Evaluation

Benchmark: two functionally equivalentfunctionally equivalentgrid services; one of them employed LGF

Measurements performed on client sideclient side

Instance construction•• ThroughputThroughput reduced 3.1 times

Method invocation•• BandwidthBandwidth reduced 2.5 times

•• LatencyLatency increased 2.5 times

Instance destruction •• ThroughputThroughput reduced 2.1 times

References

Baliś, B., Bubak, M., Węgiel, M.: A Framework for A Framework for Migration from Legacy Software to Grid ServicesMigration from Legacy Software to Grid Services. In Proc. 3rd CracowGrid Workshop, Krakow, Poland,2003, pp. 254-265.

Baliś, B., Bubak, M., Węgiel, M.: Adaptation of Adaptation of Legacy Software to Grid ServicesLegacy Software to Grid Services. In Proc. ICCS 2004, Krakow, Poland, LNCS 3038, vol. 3, pp. 26-33, Springer.

Baliś, B., Bubak, M., Węgiel, M.: A Solution for A Solution for Adapting Legacy Code as Web ServicesAdapting Legacy Code as Web Services. In Proc. Workshop on Component Models and Systems for Grid Applications, Saint-Malo, France, 2004, Kluwer.

LM

SM

Node

LM

Node

Site

Slave

Proxy Instance

Instance

SOAP

SOAP

MCI

MCIMCI

OCM-G LGF

Grid application monitoring system composed of twocomponents compliant to OMISinterface: ServiceService ManagerManager (SM) and Local MonitorLocal Monitor (LM)

Case Study: OCM-G

Implementation

Acknowledgements: research partially funded by the Crossgrid project

SOASOA: environment wherein loosely-coupled grid services interact by exchanging messages (high level of interoperability and abstraction). Legacy softwareLegacy software: traditional libraries and applications executed as regular programs (system/language dependent).

Legacy sideLegacy side: client assignment, system monitoring, request processing. Requestor sideRequestor side: instance construction, method call, instance destruction.