72
Overview of GT4 Data Services

Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Embed Size (px)

Citation preview

Page 1: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Overview of GT4 Data Services

Page 2: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Globus Data Services Talk Outline

Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Extensible IO (XIO) system Flexible framework for I/O

GridFTP Fast, secure data transport

The Reliable File Transfer Service (RFT) Data movement services for GT4

The Replica Location Service (RLS) Distributed registry that records locations of data copies

The Data Replication Service (DRS) Integrates RFT and RLS to replicate and register files

Page 3: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

The eXtensible Input / Output (XIO) System

GridFTP

The Reliable File Transfer Service (RFT)

Bill Allcock, ANL

Page 4: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Technology Drivers Internet revolution: 100M+ hosts

Collaboration & sharing the norm Universal Moore’s law: x103/10 yrs

Sensors as well as computers Petascale data tsunami

Gating step is analysis & our old infrastructure?

114 genomes735 in progress

You are here

Slide courtesy of Ian Foster

Page 5: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Extensible IO (XIO) system Provides a framework that implements a

Read/Write/Open/Close Abstraction Drivers are written that implement the

functionality (file, TCP, UDP, GSI, etc.) Different functionality is achieved by building

protocol stacks GridFTP drivers will allow 3rd party applications to

easily access files stored under a GridFTP server Other drivers could be written to allow access to

other data stores. Changing drivers requires minimal change to the

application code.

Page 6: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Globus XIO Framework

Moves the data from user to driver stack.

Manages the interactions between drivers.

Assist in the creation of drivers.

Internal API for passing operations down the stack

User API

Fram

ework

Driver Stack

Transform

Transform

Transport

Page 7: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

GridFTP

A secure, robust, fast, efficient, standards based, widely accepted data transfer protocol

GridFTP Protocol Defined through the Global/Open Grid Forum Multiple Independent implementations can interoperate

The Globus Toolkit supplies a reference implementation: Server Client tools (globus-url-copy) Development Libraries

Page 8: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

GridFTP Protocol FTP protocol is defined by several IETF RFCs

Start with most commonly used subset Standard FTP: get/put operations, 3rd-party transfer

Implement standard but often unused features GSS binding, extended directory listing, simple restart

Extend in various ways, while preserving interoperability with existing servers

Parallel data channels Striped transfers Partial file transfers Automatic & manual TCP buffer setting Progress monitoring Extended restart

Page 9: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

GridFTP Protocol (cont.)

Existing standards RFC 959: File Transfer Protocol RFC 2228: FTP Security Extensions RFC 2389: Feature Negotiation for the File Transfer

Protocol Draft: FTP Extensions GridFTP: Protocol Extensions to FTP for the Grid

Grid Forum Recommendation GFD.20 http://www.ggf.org/documents/GWD-R/GFD-R.020.pdf

Page 10: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

GT4 GridFTP Implementation 100% Globus code. No licensing issues. Striping support is provided in 4.0 Has IPV6 support included

Based on XIO Extremely modular to allow integration with a variety

of data sources (files, mass stores, etc.) Storage Resource Broker (SRB) DSI – Allows use of

GridFTP to access data stored in SRB systems High Performance Storage System (HPSS) DSI – Provides

GridFTP access to hierarchical mass storage systems (HPSS 6.2) that include tape storage

Page 11: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

?Clients

Data StorageInterfaces (DSI) -POSIX -SRB -HPSS -NEST

GridFTP ServerSeparate control, dataStriping, fault tolerance

Metrics collectionAccess control

XIO Drivers -TCP -UDT (UDP) -Parallel streams -GSI -SSH

Client Interfaces Globus-URL-Copy

C Library RFT (3rd party)

FileSystems

I/ONetwork

GridFTP

www.gridftp.org

Page 12: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Control and Data Channels

Control

Data

Typical Installation

Control

Data

Separate Processes

Striped Server

Control

Data

GridFTP (and FTP) use (at least) two separate socket connections: A control channel for carrying the commands and responses A data Channel for actually moving the data

Control Channel and Data Channel can be (optionally) completely separate processes.

Page 13: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Striped Server Mode Multiple nodes work together *on a single file* and act

as a single GridFTP server An underlying parallel file system allows all nodes to see

the same file system and must deliver good performance (usually the limiting factor in transfer speed) I.e., NFS does not cut it

Each node then moves (reads or writes) only the pieces of the file that it is responsible for.

This allows multiple levels of parallelism, CPU, bus, NIC, disk, etc. Critical if you want to achieve better than 1 Gbs

without breaking the bank

Page 14: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

TeraGrid Striping results

Ran varying number of stripes Ran both memory to memory and disk to

disk. Memory to Memory gave extremely good

(nearly 1:1) linear scalability. We achieved 27 Gbs on a 30 Gbs link (90%

utilization) with 32 nodes. Disk to disk we were limited by the storage

system, but still achieved 17.5 Gbs

Page 15: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Memory to Memory over 30 Gigabit/s Network (San Diego — Urbana)

BANDWIDTH Vs STRIPING

0

5000

10000

15000

20000

25000

30000

0 10 20 30 40 50 60 70

Degree of Striping

Ban

dw

idth

(M

bp

s)

# Stream = 1 # Stream = 2 # Stream = 4 # Stream = 8 # Stream = 16 # Stream = 32

30 Gb/s

20 Gb/s

10 Gb/s

Striping

Page 16: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Disk to Disk over 30 Gigabit/s Network (San Diego — Urbana)

BANDWIDTH Vs STRIPING

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 10 20 30 40 50 60 70

Degree of Striping

Ban

dw

idth

(M

bp

s)

# Stream = 1 # Stream = 2 # Stream = 4 # Stream = 8 # Stream = 16 # Stream = 32

20 Gb/s

10 Gb/s

Striping

Page 17: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Scalability Results

GridFTP Server Performance Upload 10MB file from 1800 clients to ned-6.isi.edu:/dev/null

0

100

200

300

400

500

600

700

800

900

1000

1100

1200

1300

1400

1500

1600

1700

1800

1900

2000

0 500 1000 1500 2000 2500 3000 3500

Time (sec)

# o

f Co

ncu

ren

t Ma

chin

es

/ Re

spo

nse

Tim

e (

sec)

0

10

20

30

40

50

60

70

80

90

100

CP

U %

/ Th

rou

gh

pu

t (M

B/s

))

Throughput

Response Time

Load

CPU %

Memory Used

Page 18: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Lots Of Small Files (LOSF)

Pipelining Many transfer requests outstanding at once Client sends second request before the first

completes Latency of request is hidden in data transfer

time Cached Data channel connections

Reuse established data channels (Mode E) No additional TCP or GSI connect overhead

Page 19: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

“Lots of Small Files” (LOSF) Optimization

Send 1 GB partitioned into equi-sized filesover 60 ms RTT,1 Gbit/s WAN

Meg

abit/

sec

File size (Kbyte) (16MB TCP buffer)

Number of files

John Bresnahan et al., Argonne

Page 20: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Reliable File Transfer Service (RFT)

Service that accepts requests for third-party file transfers Maintains state in a DB about ongoing transfers Recovers from RFT service failures Increased reliability because state is stored in a database. Service interface

The client can submit the transfer request and then disconnect and go away

Similar to a job scheduler for transfer job Two ways to check status

Subscribe for notifications Poll for status (can check for missed notifications)

Page 21: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Reliable File Transfer (cont.)

RFT accepts a SOAP description of the desired transfer It writes this to a database It then uses the Java GridFTP client library to initiate 3rd

part transfers on behalf of the requestor Restart Markers are stored in the database to allow for

restart in the event of an RFT failure Supports concurrency, i.e., multiple files in transit at

the same time This gives good performance on many small files

Page 22: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Reliable File Transfer:Third Party Transfer

RFT Service

RFT Client

SOAP Messages

Notifications(Optional)

DataChannel

Protocol Interpreter

MasterDSI

DataChannel

SlaveDSI

IPCReceiver

IPC Link

MasterDSI

Protocol Interpreter

Data Channel

IPCReceiver

SlaveDSI

Data Channel

IPC Link

GridFTP Server GridFTP Server

Fire-and-forget transfer Web services interface Many files & directories Integrated failure recovery Has transferred 900K files

Page 23: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Data Transfer Comparison

Control

Data

Control

Data

Control

Data

Control

Data

globus-url-copy RFT Service

RFT Client

SOAP Messages

Notifications(Optional)

Page 24: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Globus Replica Location Service

Page 25: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Replica Management in Grids

Data intensive applications produce terabytes or petabytes of data stored as of millions of data objects

Replicate data at multiple locations for reasons of: Fault tolerance:

Avoid single points of failure

Performance Avoid wide area data transfer latencies Achieve load balancing

Need tools for: Registering the existence of data items, discovering them Replicating data items to new locations

Page 26: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

A Replica Location Service• A Replica Location Service (RLS) is a distributed

registry that records the locations of data copies and allows replica discovery Must perform and scale well: support hundreds of

millions of objects, hundreds of clients

E.g., LIGO (Laser Interferometer Gravitational Wave Observatory) Project RLS servers at 8 sites Maintain associations between 3 million logical file

names & 30 million physical file locations

RLS is one component of a Replica Management system Other components include consistency services,

replica selection services, reliable data transfer, etc.

Page 27: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

A Replica Location Service

A Replica Location Service (RLS) is a distributed registry that records the locations of data copies and allows discovery of replicas

RLS maintains mappings between logical identifiers and target names

An RLS framework was designed in a collaboration between the Globus project and the DataGrid project (SC2002 paper)

Page 28: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

LRC LRC LRC

RLIRLI

LRCLRC

Replica Location Indexes

Local Replica Catalogs

• Replica Location Index (RLI) nodes aggregate information about one or more LRCs

• LRCs use soft state update mechanisms to inform RLIs about their state: relaxed consistency of index

• Optional compression of state updates reduces communication, CPU and storage overheads

• Membership service registers participating LRCs and RLIs and deals with changes in membership

RLS Framework

• Local Replica Catalogs (LRCs) contain consistent information about logical-to-target mappings

Page 29: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Replica Location Service In Context

Replica Location ServiceReliable Data

Transfer Service

GridFTP

Reliable Replication Service

Replica Consistency Management Services

MetadataService

The Replica Location Service is one component in a layered data management architecture

Provides a simple, distributed registry of mappings Consistency management provided by higher-level services

Page 30: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Components of RLS Implementation Common server implementation for

LRC and RLI

Front-End Server Multi-threaded Written in C Supports GSI Authentication using

X.509 certificates

Back-end Server MySQL, PostgreSQL, Oracle

Relational Database Embedded SQLite DB

Client APIs: C, Java, Python Client Command line tool

DB

LRC/RLI Server

ODBC (libiodbc)

myodbc

mySQL Server

clientclient

Page 31: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

RLS Implementation Features Two types of soft state updates from LRCs to RLIs

Complete list of logical names registered in LRC Compressed updates: Bloom filter summaries of LRC

Immediate mode Incremental updates

User-defined attributes May be associated with logical or target names

Partitioning (without bloom filters) Divide LRC soft state updates among RLI index nodes

using pattern matching of logical names

Currently, static membership configuration only No membership service

Page 32: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Alternatives for Soft State Update Configuration

LFN List Send list of Logical Names stored on LRC Can do exact and wildcard searches on RLI Soft state updates get increasingly expensive as

number of LRC entries increases space, network transfer time, CPU time on RLI

E.g., with 1 million entries, takes 20 minutes to update mySQL on dual-processor 2 GHz machine (CPU-limited)

Bloom filters Construct a summary of LRC state by hashing logical

names, creating a bitmap Compression Updates much smaller, faster Supports higher query rate Small probability of false positives (lossy compression) Lose ability to do wildcard queries

Page 33: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Immediate Mode for Soft State Updates

Immediate Mode Send updates after 30 seconds (configurable) or after

fixed number (100 default) of updates Full updates are sent at a reduced rate Tradeoff depends on volatility of data/frequency of

updates Immediate mode updates RLI quickly, reduces period of

inconsistency between LRC and RLI content

Immediate mode usually sends less data Because of less frequent full updates

Usually advantageous An exception would be initially loading of large

database

Page 34: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Performance Testing Extensive performance testing reported in HPDC 2004

paper

Performance of individual LRC (catalog) or RLI (index) servers Client program submits operation requests to server

Performance of soft state updates Client LRC catalogs sends updates to index servers

Software Versions: Replica Location Service Version 2.0.9 Globus Packaging Toolkit Version 2.2.5 libiODBC library Version 3.0.5 MySQL database Version 4.0.14 MyODBC library (with MySQL) Version 3.51.06

Page 35: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Testing Environment Local Area Network Tests

100 Megabit Ethernet Clients (either client program or LRCs) on cluster:

dual Pentium-III 547 MHz workstations with 1.5 Gigabytes of memory running Red Hat Linux 9

Server: dual Intel Xeon 2.2 GHz processor with 1 Gigabyte of memory running Red Hat Linux 7.3

Wide Area Network Tests (Soft state updates) LRC clients (Los Angeles): cluster nodes RLI server (Chicago): dual Intel Xeon 2.2 GHz

machine with 2 gigabytes of memory running Red Hat Linux 7.3

Page 36: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

LRC Operation Rates (MySQL Backend)Operation Rates,

LRC with 1 million entries in MySQL Back End, Multiple Clients, Multiple Threads Per Client,

Database Flush Disabled

0

500

1000

1500

2000

2500

1 2 3 4 5 6 7 8 9 10

Number Of Clients

Op

erat

ion

s P

er

seco

nd

Query Rate w ith 10 threads per client

Add Rate w ith 10 threads per client

Delete Rate w ith 10 threads per client

• Up to 100 total requesting threads

• Clients and server on LAN

• Query: request the target of a logical name

• Add: register a new <logical name, target> mapping

• Delete a mapping

Page 37: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Comparison of LRC to Native MySQL Performance

Operation Rates for MySQL Native Database, 1 Million entries in the mySQL back end,

Multiple Clients, Multiple Threads Per Client, Database flush disabled

0

500

1000

1500

2000

2500

3000

3500

4000

1 2 3 4 5 6 7 8 9 10

Number of Clients

Op

erat

ion

s p

er

seco

nd

Query Rate w ith 10 threads per clientAdd Rate w ith 10 threads per clientDelete Rate w ith 10 threads per client

LRC Overheads

Highest for queries: LRC achieve 70-80% of native rates

Adds and deletes: ~90% of native performance for 1 client (10 threads)

Similar or better add and delete performance with 10 clients (100 threads)

Page 38: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Bulk Operation Performance For user convenience,

server supports bulk operations

E.g., 1000 operations per request

Combine adds/deletes to maintain approx. constant DB size

For small number of clients, bulk operations increase rates

E.g., 1 client (10 threads) performs 27% more queries, 7% more adds/deletes

Bulk vs. Non-Bulk Operation Rates, 1000 Operations Per Request, 10 Request Threads Per Client

0

500

1000

1500

2000

2500

3000

1 2 3 4 5 6 7 8 9 10

Number of clients

Op

erat

ion

Rat

es

Bulk QueryBulk Add/DeleteNon-bulk QueryNon-bulk AddNon-bulk Delete

Page 39: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Uncompressed Soft State Updates

Time for Uncompressed LFN Updates in LAN to Single RLI as Size & Number of LRCs Increase

1

10

100

1000

10000

1 2 3 4 5 6 7 8

Number of LRCs

Ave

rag

e T

iime

for

Up

dat

e (s

eco

nd

s)

10K entries in LRC

100K entries in LRC

1M entries in LRC

• Perform poorly when multiple LRCs update RLI

•E.g., 6 LRCs with 1 million entries updating RLI, average update ~5102 seconds in Local Area

• Limiting factor: rate of updates to an RLI database

• Advisable to use incremental updates

Page 40: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Bloom Filter Compression

Construct a summary of each LRC’s state by hashing logical names, creating a bitmap

RLI stores in memory one bitmap per LRC

Advantages: Updates much smaller, faster Supports higher query rate

Satisfied from memory rather than database

Disadvantages: Lose ability to do wildcard queries, since not sending

logical names to RLI Small probability of false positives (configurable)

Relaxed consistency model

Page 41: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Bloom Filter Performance: Single Wide Area Soft State Update

(Los Angeles to Chicago)

LRC Database Size

Avg. time to send soft state update (seconds)

Avg. time for initial bloom filter computation (seconds)

Size of bloom filter (bits)

100,000 entries

Less than 1 2 1 million

1 million entries

1.67 18.4 10 million

5 million entries

6.8 91.6 50 million

Page 42: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Scalability of Bloom Filter Updates

14 LRCs with 5 million mappings send Bloom filter updates continuously in Wide Area (unlikely, represents worst case)

Update times increase when 8 or more clients send updates 2 to 3 orders of magnitude better performance than uncompressed (e.g.,

5102 seconds with 6 LRCs)

Average Time to Perform Continuous Bloom Filter Updates From

Increasing Number of LRC Clients

02468

101214

1 2 3 4 5 6 7 8 9 10 11 12 13 14

Number of LRC Clients

Ave

rge

Clie

nt

Up

dat

e T

ime

Page 43: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Bloom Filter Compression Supports Higher RLI Query Rates

RLI Bloom Filter Query rate, Each Bloom Filter has 1 Million Mappings, Multiple Clients with 3 Threads per Client

0

2000

4000

6000

8000

10000

12000

14000

1 2 3 4 5 6 7 8 9 10

Number of Clients

Ave

rag

e Q

uer

y ra

te

Query Rate w ith 3 threads per client. 1 Bloom filter at RLIQuery Rate w ith 3 threads per client. 10 Bloom filters at RLIQuery Rate w ith 3 threads per client. 100 Bloom filters at RLI

• Uncompressed updates: about 3000 queries per second

• Higher rates with Bloom filter compression

• Scalability limit: significant overhead to check 100 bit maps

• Practical deployments: <10 LRCs updating an RLI

Page 44: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

RLS Performance SummaryIndividual RLS servers perform well and scale up to

Millions of entries One hundred requesting threads

Soft state updates of the distributed index scale well when using Bloom filter compression

Uncompressed updates slow as size of catalog grows Immediate mode is advisable

Page 45: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Current Work Ongoing maintenance and improvements to RLS

RLS is a stable component Good performance and scalability No major changes to existing interfaces

Recently added features: WS-RLS: WS-RF compatible web services interface to

existing RLS service Embedded SQLite database for easier RLS

deployment Pure Java client implementation completed

Page 46: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Wide Area Data Replication for Scientific Collaborations

Ann Chervenak, Robert Schuler, Carl KesselmanUSC Information Sciences Institute

Scott KorandaUniva Corporation

Brian MoeUniversity of Wisconsin Milwaukee

Page 47: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Motivation Scientific application domains spend considerable

effort managing large amounts of experimental and simulation data

Have developed customized, higher-level Grid data management services

Examples: Laser Interferometer Gravitational Wave Observatory

(LIGO) Lightweight Data Replicator System

High Energy Physics projects: EGEE system, gLite, LHC Computing Grid (LCG) middleware

Portal-based coordination of services (E.g., Earth System Grid)

Page 48: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Motivation (cont.) Data management functionality varies by application

Share several requirements: Publish and replicate large datasets (millions of files) Register data replicas in catalogs and discover them Perform metadata-based discovery of datasets May require ability to validate correctness of replicas In general, data updates and replica consistency services

not required (i.e., read-only accesses)

Systems provide production data management services to individual scientific domains

Each project spends considerable resources to design, implement & maintain data management system

Typically cannot be re-used by other applications

Page 49: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Motivation (cont.) Long-term goals:

Generalize functionality provided by these data management systems

Provide suite of application-independent services

Paper describes one higher-level data management service: the Data Replication Service (DRS)

DRS functionality based on publication capability of the LIGO Lightweight Data Replicator (LDR) system

Ensures that a set of files exists on a storage site Replicates files as needed, registers them in catalogs

DRS builds on lower-level Grid services, including: Globus Reliable File Transfer (RFT) service Replica Location Service (RLS)

Page 50: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Outline

Description of LDR data publication capability Generalization of this functionality

Define characteristics of an application-independent Data Replication Service (DRS)

DRS Design DRS Implementation in GT4 environment Evaluation of DRS performance in a wide area Grid Related work Future work

Page 51: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

A Data-Intensive Application Example: The LIGO Project

Laser Interferometer Gravitational Wave Observatory (LIGO) collaboration

Seeks to measure gravitational waves predicted by Einstein

Collects experimental datasets at two LIGO instrument sites in Louisiana and Washington State

Datasets are replicated at other LIGO sites Scientists analyze the data and publish their results,

which may be replicated Currently LIGO stores more than 40 million files across

ten locations

Page 52: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

The Lightweight Data Replicator LIGO scientists developed the Lightweight Data

Replicator (LDR) System for data management Built on top of standard Grid data services:

Globus Replica Location Service GridFTP data transport protocol

LDR provides a rich set of data management functionality, including

a pull-based model for replicating necessary files to a LIGO site

efficient data transfer among LIGO sites a distributed metadata service architecture an interface to local storage systems a validation component that verifies that files on a storage

system are correctly registered in a local RLS catalog

Page 53: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

LIGO Data Publication and Replication

Two types of data publishing

1. Detectors at Livingston and Hanford produce data sets

Approx. a terabyte per day during LIGO experimental runs Each detector produces a file every 16 seconds Files range in size from 1 to 100 megabytes Data sets are copied to main repository at CalTech, which

stores them in tape-based mass storage system LIGO sites can acquire copies from CalTech or one another

2. Scientists also publish new or derived data sets as they perform analysis on existing data sets

E.g., data filtering or calibration may create new files These new files may also be replicated at LIGO sites

Page 54: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Some Terminology A logical file name (LFN) is a unique identifier for the

contents of a file Typically, a scientific collaboration defines and manages

the logical namespace Guarantees uniqueness of logical names within that

organization

A physical file name (PFN) is the location of a copy of the file on a storage system.

The physical namespace is managed by the file system or storage system

The LIGO environment currently contains: More than 25 million unique logical files More than 145 million physical files stored at ten sites

Page 55: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Components at Each LDR Site Local storage system GridFTP server for file transfer Metadata Catalog: associations

between logical file names and metadata attributes

Replica Location Service: Local Replica Catalog (LRCs)

stores mappings from logical names to storage locations

Replica Location Index (RLI) collects state summaries from LRCs

Scheduler and transfer daemons Prioritized queue of requested

files

Local Replica Catalog

Replica Location

Index

GridFTP Server

Metadata Catalog

MySQL Database

Scheduler Daemon

Transfer Daemon

Prioritized List of

Requested Files

Site Storage System

Page 56: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

LDR Data Publishing Scheduling daemon runs at each LDR site

Queries site’s metadata catalog to identify logical files with specified metadata attributes

Checks RLS Local Replica Catalog to determine whether copies of those files already exist locally

If not, puts logical file names on priority-based scheduling queue

Transfer daemon also runs at each site Checks queue and initiates data transfers in priority order Queries RLS Replica Location Index to find sites where

desired files exists Randomly selects source file from among available replicas Use GridFTP transport protocol to transfer file to local site Registers newly-copied file in RLS Local Replica Catalog

Page 57: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Generalizing the LDR Publication Scheme

Want to provide a similar capability that is Independent of LIGO infrastructure Useful for a variety of application domains

Capabilities include: Interface to specify which files are required at local site Use of Globus RLS to discover whether replicas exist locally

and where they exist in the Grid Use of a selection algorithm to choose among available

replicas Use of Globus Reliable File Transfer service and GridFTP

data transport protocol to copy data to local site Use of Globus RLS to register new replicas

Page 58: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Relationship to Other Globus Services

At requesting site, deploy:

WS-RF Services Data Replication Service Delegation Service Reliable File Transfer

Service

Pre WS-RF Components

Replica Location Service (Local Replica Catalog, Replica Location Index)

GridFTP Server

Web Service Container

Data Replication

Service

Replicator Resource

Reliable File

Transfer Service

RFT Resource

Local Replica Catalog

Replica Location

Index

GridFTP Server

Delegation Service

Delegated Credential

Local Site

Page 59: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

DRS Functionality Initiate a DRS Request Create a delegated credential Create a Replicator resource Monitor Replicator resource Discover replicas of desired files in RLS, select among replicas Transfer data to local site with Reliable File Transfer Service Register new replicas in RLS catalogs Allow client inspection of DRS results Destroy Replicator resource

DRS implemented in Globus Toolkit Version 4, complies with Web Services Resource Framework (WS-RF)

Page 60: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

WSRF in a Nutshell Service State Management:

Resource Resource Property

State Identification: Endpoint Reference

State Interfaces: GetRP, QueryRPs,

GetMultipleRPs, SetRP Lifetime Interfaces:

SetTerminationTime ImmediateDestruction

Notification Interfaces Subscribe Notify

ServiceGroups

RPs

Resource

ServiceGetRP

GetMultRPs

SetRP

QueryRPs

Subscribe

SetTermTime

Destroy

EPREPR

EPR

Page 61: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Service Container

Create Delegated Credential

Client

Delegation

Data Rep.

RFTReplicaIndex

ReplicaCatalog

GridFTPServer

GridFTPServer

ReplicaCatalog

ReplicaCatalog Replica

Catalog

MDS

Credential

RP

proxy

•Initialize user proxy cert.

•Create delegated credential resource•Set termination time

•Credential EPR returnedEPR

Page 62: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Service Container

Create Replicator Resource

Client

Delegation

Data Rep.

RFTReplicaIndex

ReplicaCatalog

GridFTPServer

GridFTPServer

ReplicaCatalog

ReplicaCatalog Replica

Catalog

MDS

Credential

RP

•Create Replicator resource•Pass delegated credential EPR•Set termination time

•Replicator EPR returned

EPRReplicator

RP

•Access delegated credential resource

Page 63: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Service Container

Monitor Replicator Resource

Client

Delegation

Data Rep.

RFTReplicaIndex

ReplicaCatalog

GridFTPServer

GridFTPServer

ReplicaCatalog

ReplicaCatalog Replica

Catalog

MDS

Credential

RP

Replicator

RP

•Periodically polls Replicator RP via GetRP or GetMultRP

•Add Replicator resource to MDS Information service Index

Index

RP

•Subscribe to ResourceProperty changes for “Status” RP and “Stage” RP

•Conditions may trigger alerts or other actions (Trigger service not pictured)

EPR

Page 64: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Service Container

Query Replica Information

Client

Delegation

Data Rep.

RFTReplicaIndex

ReplicaCatalog

GridFTPServer

GridFTPServer

ReplicaCatalog

ReplicaCatalog Replica

Catalog

MDS

Credential

RP

Replicator

RP

Index

RP

•Notification of “Stage” RP value changed to “discover”

•Replicator queries RLS Replica Index to find catalogs that contain desired replica information

•Replicator queries RLS Replica Catalog(s) to retrieve mappings from logical name to target name (URL)

Page 65: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Service Container

Transfer Data

Client

Delegation

Data Rep.

RFTReplicaIndex

ReplicaCatalog

GridFTPServer

GridFTPServer

ReplicaCatalog

ReplicaCatalog Replica

Catalog

MDS

Credential

RP

Replicator

RP

Index

RP

•Notification of “Stage” RP value changed to “transfer”

•Create Transfer resource•Pass credential EPR•Set Termination Time•Transfer resource EPR returned

Transfer

RP

EPREPR

•Access delegated credential resource

•Setup GridFTP Server transfer of file(s)

•Data transfer between GridFTP Server sites

•Periodically poll “ResultStatus” RP via GetRP•When “Done”, get state information for each file transfer

Page 66: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Service Container

Register Replica Information

Client

Delegation

Data Rep.

RFTReplicaIndex

ReplicaCatalog

GridFTPServer

GridFTPServer

ReplicaCatalog

ReplicaCatalog Replica

Catalog

MDS

Credential

RP

Replicator

RP

Index

RP

•Notification of “Stage” RP value changed to “register”

•RLS Replica Catalog sends update of new replica mappings to the Replica Index

Transfer

RP•Replicator registers new file mappings in RLS Replica Catalog

Page 67: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Service Container

Client Inspection of State

Client

Delegation

Data Rep.

RFTReplicaIndex

ReplicaCatalog

GridFTPServer

GridFTPServer

ReplicaCatalog

ReplicaCatalog Replica

Catalog

MDS

Credential

RP

Replicator

RP

Index

RP

•Notification of “Status” RP value changed to “Finished” Transfer

RP

•Client inspects Replicator state information for each replication in the request

Page 68: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Service Container

Resource Termination

Client

Delegation

Data Rep.

RFTReplicaIndex

ReplicaCatalog

GridFTPServer

GridFTPServer

ReplicaCatalog

ReplicaCatalog Replica

Catalog

MDS

Credential

RP

Replicator

RP

Index

RP

•Termination time (set by client) expires eventually

Transfer

RP•Resources destroyed (Credential, Transfer, Replicator)

TIME

Page 69: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Performance Measurements: Wide Area Testing

The destination for the pull-based transfers is located in Los Angeles

Dual-processor, 1.1 GHz Pentium III workstation with 1.5 GBytes of memory and a 1 Gbit Ethernet

Runs a GT4 container and deploys services including RFT and DRS as well as GridFTP and RLS

The remote site where desired data files are stored is located at Argonne National Laboratory in Illinois

Dual-processor, 3 GHz Intel Xeon workstation with 2 gigabytes of memory with 1.1 terabytes of disk

Runs a GT4 container as well as GridFTP and RLS services

Page 70: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

DRS Operations Measured

Create the DRS Replicator resource Discover source files for replication using local RLS

Replica Location Index and remote RLS Local Replica Catalogs

Initiate an Reliable File Transfer operation by creating an RFT resource

Perform RFT data transfer(s) Register the new replicas in the RLS Local Replica

Catalog

Page 71: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Experiment 1: Replicate 10 Files of Size 1 Gigabyte

Component of Operation Time (milliseconds)

Create Replicator Resource 317.0

Discover Files in RLS 449.0

Create RFT Resource 808.6

Transfer Using RFT 1186796.0

Register Replicas in RLS 3720.8

Data transfer time dominates Wide area data transfer rate of 67.4 Mbits/sec

Page 72: Overview of GT4 Data Services. Globus Data Services Talk Outline Summarize capabilities and plans for data services in the Globus Toolkit Version 4.0.2

Experiment 2: Replicate 1000 Files of Size 10 Megabytes

Component of Operation Time (milliseconds)

Create Replicator Resource 1561.0

Discover Files in RLS 9.8

Create RFT Resource 1286.6

Transfer Using RFT 963456.0

Register Replicas in RLS 11278.2

Time to create Replicator and RFT resources is larger Need to store state for 1000 outstanding transfers

Data transfer time still dominates Wide area data transfer rate of 85 Mbits/sec