47
The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory, Argonne, IL 60439, U.S.A.

The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

Embed Size (px)

Citation preview

Page 1: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

The Globus GridFTP Framework and Server

John Bresnahan, Mike Link and Raj Kettimuthu (Presenting)

Math & Computer Science Division, Argonne National

Laboratory, Argonne, IL 60439, U.S.A.

Page 2: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 2

Outline

Motivation GridFTP Protocol Globus GridFTP design and architecture

Performance New features Summary

Page 3: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 3

Motivation

Page 4: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 4

Motivation

Science is increasingly data-driven Geographically distributed communities of scientists

need to access and analyze large amounts of data Simulation science applications such as climate

modeling Experimental science applications such as high-energy

physics

Rapid increase in raw capacity of wide area network - feasible to move large amounts of data across WAN

Page 5: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 5

Motivation

NSF TeraGrid links large clusters and storage systems at nine sites With a network providing up to 30 Gbit/s

In principle, move data across this network at > 3 Gbyte/s or 10 Tbyte/hr

In practice orchestration of such transfers is technically challenging Exploit parallelism in multiple dimension

Deal with failures of various sorts

Page 6: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 6

Motivation

Effective end-to-end data transfers thus demand a systems approach File systems, computers, network interfaces,

network protocols - managed in an integrated fashion to meet performance & robustness goals.

These considerations motivate the work that I describe here Design, implementation & evaluation of a modular

& extensible data transfer system suitable for wide area and high-performance environments.

Page 7: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 7

The GridFTP Protocol

Page 8: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 8

What is GridFTP? A secure, robust, fast, efficient, standards

based, widely accepted data transfer protocol A Protocol

Multiple Independent implementation can interoperate

This works. Fermi Lab has an implementation with their DCache system and U. Virginia has a .Net implementation that work with ours.

Lots of people have developed clients independent of the Globus Project.

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

Page 9: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 9

GridFTP: The Protocol

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: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 10

Understanding GridFTP

GridFTP (and normal FTP) use (at least) two separate socket connections

Control Channel Command/Response Basic file system operations eg. mkdir, delete etc

Used to establish data channels Data channel

Pathway over which file is transferred Many different underlying protocols can be used

MODE command determines the protocol

Page 11: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 11

Simple Two Party Transfer

GridFTP (and normal FTP) has 3 distinct components:

Client and server protocol interpreters which handle control channel protocol

Data Transfer Process which handles the accessing of actual data and its movement via the data channel

DTPServer PI

Client PI DTP

Standard FTP Client

Standard FTP Server

Page 12: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 12

Simple Third Party Transfer

Client initiates data transfer between 2 servers

Client forms CC with 2 servers.

Commands routed through the client to establish DC between the two servers.

Data flows directly between servers

Client is notified by each server PI when the transfer is complete DTPServer PI

DTPServer PI

Client PI

Page 13: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 13

Control Channel Establishment

Server listens on a well-known port (2811)

Client form a TCP Connection to server Banner message Authentication

Anonymous Clear text USER <username>/PASS <pw> Base 64 encoded GSI handshake - Grid Security Infrastructure based on PKI

Accepted / Rejected

Page 14: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 14

Data Channel Establishment

PASV command Sent to the passive side of the transfer

Listen for a connection and reply with the contact information (IP address and port)

PORT IP,PORT Actively establish a connection to a given passive listener

Page 15: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 15

Data Channel Establishment

DTP

DTPServer PI

Server PI

Client PI Connect

IP:PORT

Page 16: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 16

Data Channel Protocols

MODE Command Allows the client to select the data channel protocol

MODE S Stream mode, no framing Legacy RFC959

MODE E GridFTP extension Parallel TCP streams Data channel caching

Descriptor Size Offset(8 bits) (64 bits) (64 bits)

Page 17: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 17

What issues are we addressing?

Striping Storage systems are often clusters, and we need to be able to utilize all of that parallelism

Collective Operations Essentially, the striping should be invisible to the outside world

Uniform interface Ideally, any data source can be treated the same way

Page 18: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 18

What issues are we addressing?

Network Protocol Independence TCP has well known issues with high Bandwidth-Delay Product networks

Need to be able to take advantage of aggressive protocols on circuits.

Diverse Failure Modes Much happening under the covers, so must be resilient to failures

End-to-End Performance We need to be able to manage performance for a wide range of resources

Page 19: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 19

What did the GridFTP protocol add?

Extended Block Mode Data is sent in “packets” with a header containing a 64 bit offset and length

Allows out-of-order reception of packets Restart and Performance Markers

Allows for robust restart and perf monitoring

SPAS/SPOR Striped PASV and striped PORT Allows a list of IP/ports to be returned

Page 20: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 20

What did the GridFTP Protocol add?

Data Channel Authentication Needed since in third party transfer, you don’t know who will connect to the listener.

ESTO/ERET Allows for additional processing on the data prior to storage/transmission

We use this for partial file transfers SBUF/ABUF

Manual and automatic TCP buffer tuning Options to set parallelism/striping parameters

Page 21: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 21

Parallelism vs Striping

Page 22: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 22

Architecture / Design of our Implementation

Page 23: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 23

Data Channel

Server PI

DTP

Description of transfer: completely server-internal communication. Protocol is unspecified and left up to the implementation.

Server PI

DTP

Internal IPC API Internal IPC API

Client PIInfo on transfer: restart markers, performance markers, etc. Server PI optionally processes these, then sends them to the client PI

ControlChannels

Overall Architecture

Page 24: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 24

Possible Configurations

Control

Data

Typical Installation

Control

Data

Separate Processes

Striped Server

Control

Data

Control

Striped Server (future)

Data

Page 25: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 25

Data Storage Interface

Data Processing Module

Data Channel Protocol Module

Datasourceor sink

Data channel

Data Transfer Processor

Page 26: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 26

Data Storage Interface This is a very powerful abstraction Several can be available and loaded dynamically via the ERET/ESTO commands

Anything that can implement the interface can be accessed via the GridFTP protocol

We have implemented POSIX file (used for performance testing) HPSS (tape system; IBM) Storage Resource Broker (SRB; SDSC) NeST (disk space reservation; UWis/Condor)

Page 27: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 27

Globus Extensible IO (XIO) System

XIO framework presents a standard open/close/read/write interface to many different protocol implementations

including TCP, UDP, HTTP -- and now UDT

The protocol implementations are called drivers.

A driver can be dynamically loaded and stacked by any Globus XIO application.

Page 28: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 28

Network ProtocolNetwork

Protocol

Globus XIO Approach

ApplicationDisk

Network Protocol

Special Device

Glo

bus

XIO

Driver

Driver

Driver

Page 29: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 29

Globus XIO Framework

Moves the data from user to driver stack.

Manages the interactions between drivers.

Assist in the creation of drivers.

Asynchronous support. Close and EOF Barriers. Error checking Internal API for passing operations down the stack.

User API

Fram

ework

Driver Stack

Transform

Transform

Transport

Page 30: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 30

Performance Results

Page 31: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 31

Experimental results

Three settings LAN - 0.2 msec RTT and 622 Mbit/s MAN - 2.2 msec RTT and 1 Gbit/s WAN - 60 msec RTT and 30 Gbit/s MAN - Distributed Optical Testbed in the Chicago area

WAN - TeraGrid link between NCSA in Illinois and SDSC in California - each individual has a 1Gbit/s bottleneck link

Page 32: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 32

Experimental results - LAN

0

100

200

300

400

500

600

700

0 10 20 30 40

number of streams

bandwidth (Mbit/s)

iperf globus mem

globus disk bonnie

Page 33: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 33

Experimental results - MAN

0100200300400500600700800900

1000

0 10 20 30 40

number of streams

bandwidth (Mbit/s)

iperf globus mem

globus disk bonnie

Page 34: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 34

Experimental results - WAN

0

200

400

600

800

1000

1200

1400

0 10 20 30 40

number of streams

bandwidth (Mbit/s)

iperf globus mem

globus disk bonnie

Page 35: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 35

Memory to MemoryStriping Performance

0

5000

10000

15000

20000

25000

30000

0 10 20 30 40 50 60 70

Degree of Striping

Bandwidth (Mbit/s)

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

Page 36: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 36

Disk to Disk Striping Performance

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 10 20 30 40 50 60 70

Degree of Striping

Bandwidth (Mbit/s)

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

Page 37: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 37

Scalability tests

Evaluate performance as a function of the number of clients

DiPerf test framework to deploy the clients Ran server on a 2-processor 1125 MHz x86

machine running Linux 2.6.8.1 1.5 GB memory and 2 GB swap space 1 Gbit/s Ethernet network connection and 1500 B

MTU

Clients created on hosts distributed over PlanetLab and at the University of Chicago (UofC)

Page 38: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 38

Scalability Results

0

2 0 0

4 0 0

6 0 0

8 0 0

1 0 0 0

1 2 0 0

1 4 0 0

1 6 0 0

1 8 0 0

2 0 0 0

0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0 3 5 0 0

T im e ( s e c )

0

1 0

2 0

3 0

4 0

5 0

6 0

7 0

8 0

9 0

1 0 0

T h r o u g h p u t ( M b y t e / s ) _

_ R e s p o n s e T im e ( s )

_ L o a d ( c o n c u r r e n t c l ie n t s )

C P U % _

_ M e m o r y ( M b y t e s )

Left axis - load, response time, memory allocated

Right axis - Throughput and CPU %

Page 39: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 39

Scalability results

1800 clients mapped in a round robin fashion on 100 PlanetLab hosts and 30 UofC hosts

A new client created once a second and ran for 2400 seconds During this time, repeatedly requests the transfer of 10 Mbyte file from server’s disk to client’s /dev/null

Total of 150.7 Gbytes transferred in 15,428 transfers

Page 40: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 40

Scalability results

Server sustained 1800 concurrent requests with 70% CPU and 0.94 Mbyte memory per request

CPU usage, throughput, response time remain reasonable even when allocated memory exceeds physical memory Meaning paging is occuring

Page 41: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 41

New features

Page 42: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 42

SSH security mechanism for GridFTP

GridFTP traditionally uses GSI for establishing secure connections

In some situations, preferable to use SSH security mechanism

Leverages the fact that an SSH client can remotely execute programs by forming a secure connection with SSHD

Page 43: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 43

SSHFTP Interactions

sshdCPI

GridFTP Server

2811

Port 22

ROOT

USER

ssh Stdin/out

Page 44: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 44

GridFTP over UDT

UDT is an application-level data transport protocol that uses UDP to transfer data

Implement its own reliability and congestion control mechanisms

Achieves good performance on high-bandwidth, high-delay networks where TCP has significant limitations

GridFTP uses Globus XIO interface to invoke network I/O operations

Created an XIO driver for UDT reference implementation

Enabled GridFTP to use it as an alternate transport protocol

Page 45: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 45

GridFTP over UDT

Argonne to NZ Throughput in Mbit/s

Argonne to LA Throughput in Mbit/s

Iperf – 1 stream 19.7 74.5

Iperf – 8 streams 40.3 117.0

GridFTP mem TCP – 1 stream 16.4 63.8

GridFTP mem TCP – 8 streams 40.2 112.6

GridFTP disk TCP – 1 stream 16.3 59.6

GridFTP disk TCP – 8 streams 37.4 102.4

GridFTP mem UDT 179.3 396.6

GridFTP disk UDT 178.6 428.3

UDT mem 201.6 432.5

UDT disk 162.5 230.0

Page 46: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 46

Summary

The GridFTP protocol provides a good set of features for data movement requirements in the Grid.

The Globus implementation of this protocol provides a flexible design / architecture for integrating with different communities, storage systems, and protocols.

Our implementation is robust and performant over a range of environments.

Page 47: The Globus GridFTP Framework and Server John Bresnahan, Mike Link and Raj Kettimuthu (Presenting) Math & Computer Science Division, Argonne National Laboratory,

12/04/07 National Tsing Hua University 47

Questions?