Delay Measurement Rev. 1 - Network Computing Lab

Download Report

Transcript Delay Measurement Rev. 1 - Network Computing Lab

The Kangaroo Approach
to Data Movement on
the Grid
Author: D. Thain, J. Basney, S.-C. Son, and M.
Livny
From: HPDC 2001
Presenter: NClab, KAIST, Hyonik Lee
Motivation

In many Grid applications, client usually gets data from
data server, processes them and sends the results back
to data server.
Problem

While data are being transferred to destination server,
error or latency can occur due to
Server crash
 Performance variation of server
 Exhausted resources
-> not resilient


The throughput of grid application is not good because
the client should be blocked until the data are
transferred in such a hostile environment.
Solution Approach

Use intermediary memory or disk buffer.


Background processes move data and handling errors.
Interface




Get
Put
Commit
push
Advantages

One-hop Kangaroo

Insulates the client form many difficulties




Network failure, destination machine crash
Exhausted resources (e.g. BW)
Read operation can be satisfied from cached data.
Multi-hop Kangaroo


Multiple hops help avoid the need to co-allocate network
resources along all hops.
Multiple hops increase the available spooling space.
Architecture
Application
open, read, write, close, fsync
File
System
Adaptation
get, put, push, commit
Consistency
get,
commit,
put,
push
open, read, write, close, fsync
Consistency
Consistency
get, put,
ack
ack
push,commit
Kangaroo
Transport
Kangaroo
Transport
Kangaroo
Transport
TCP/IP
TCP/IP
TCP/IP
Adaptation Layer

POSIX

It is unreasonable to expect programmers to convert existing
applications to work with Kangaroo.
Adaptation Layer converts standard POSIX operations into Kangaroo
operations.
A number of operations are missing in the Kangaroo interface, but it
is sufficient to admit many grid applications that simply must read
and write data.
read
write
fsync
exit
open without create
open with create
lseek
close
get
put
push
commit
Fd
Kind
0
Unix
1
Kang
2
Kang
3
Unix
4
Kang
…
…
Kangaroo

Just update table
Host
Path
offset
/dev/null
0
Coral
/tmp/out.2
1056
Coral
/tmp/err.2
3122
/etc/hosts
785
dbhost
/data/db
59687
…
…
…
Consistency Layer


Commit causes the caller to block until all outstanding
changes have been written to some stable storage.
Push causes the caller to block until all outstanding
changes have been delivered to their respective
destinations.
Kangaroo Transport Layer

Performance


Uses all available resources (net, memory, disk) to maximize
throughput
Error management


Retry
Delay
Experiments
Blocking procedure call
Non-blocking message