Presentation is loading. Please wait.

Presentation is loading. Please wait.

What is GridFTP? l High-performance, reliable data transfer protocol optimized for high-bandwidth wide-area networks l Based on FTP protocol - defines.

Similar presentations


Presentation on theme: "What is GridFTP? l High-performance, reliable data transfer protocol optimized for high-bandwidth wide-area networks l Based on FTP protocol - defines."— Presentation transcript:

1 What is GridFTP? l High-performance, reliable data transfer protocol optimized for high-bandwidth wide-area networks l Based on FTP protocol - defines extensions for high- performance operation and security l We supply a reference implementation: u Server u Client tools (globus-url-copy) u Development Libraries l Multiple independent implementations can interoperate u Fermi Lab and U. Virginia have home grown servers that work with ours.

2 GridFTP l Two channel protocol like FTP l Control Channel u Communication link (TCP) over which commands and responses flow u Low bandwidth; encrypted and integrity protected by default l Data Channel u Communication link(s) over which the actual data of interest flows u High Bandwidth; authenticated by default; encryption and integrity protection optional

3 Performance l Disk transfer between Urbana, IL and San Diego, CA

4 GridFTP over UDT l GridFTP uses XIO for network I/O operations l XIO presents a POSIX-like interface to many different protocol implementations GSI TCP Default GridFTP GridFTP over UDT GSI UDT

5 Reliable File Transfer Service ( RFT) RFT Service RFT Client SOAP Messages Notifications (Optional) GridFTP Server GridFTP Server CC DC Persistent Store l GridFTP client l WSRF complaint fault-tolerant service

6 Architecture Overview RFT Client VO 1 RFT Service GridFTP Striped Server GridFTP Client A GridFTP Server GridFTP Server GridFTP Client B B VO 2 GridFTP Striped Server GridFTP Server RFT A

7 GridFTP Service On demand transfer service  When a connection is formed, resources are dedicated  GridFTP might say “not now”  Not a queuing service Transfer data as fast as possible Maximize resource usage  Without over heating!

8 What GridFTP Does Fast data transfer service Cluster to cluster copy tool Intra-cluster broadcast tool  Multi-cast transfers Scalable  Need more throughput, add more stripes

9 RFT Service Orchestrates transfers on client’s behalf  Third party transfers  Interacts with many GridFTP servers Sees a bigger picture VO level Queue requests  RFT should not say no Retry requests on failure  Optimizes its workload

10 What RFT Does Reliable service  DB backend  Recovers from GridFTP and RFT service failures Batch requests  Light weight sessions  Submit a Request  Wait for notifications Started, finished, failed, etc

11 GridFTP: On Demand Service Resources are limited  Data transfers are heavy weight operations  Sometimes hardware is too busy Adding another transfer can cause thrashing Collective system throughput goes down  GridFTP might say “no” Transfer requests happen immediately  We do not queue, or delay transfers  An established session means an active transfer

12 Why Doesn’t GridFTP Queue A GridFTP session is heavy weight  Idle sessions consume resources Backward compatible protocol Sometimes less is more  Goal: Maximize the collective throughput Sum of all active transfer rates  Too many transfers cause thrashing Results in lower collective throughput  Avoid overheating system resources It is in the systems best interest  We know what’s good for you

13 GridFTP Session Resources Even for an idle session  Active TCP control channel Part of the 959 protocol. A session is defined by a TCP connection  Fork/setuid process Robustness File system/OS permissions  OS buffer space Data channels require large TCP OS buffers Active transfers  Lots of memory/Net/Disk IO Avoid too small of partitions

14 If GridFTP Always Said Yes OOM: the out of memory handle  OS optimistic provision of TCP buffers  Random processes will be killed  Meltdown Shared FS overuse  Pushing the I/O throughput beyond optimal  Causing OOM on IOD machines Shares of bandwidth too small  1 Million transfers at 500b/s each?  OR 10 transfers at 100Mb/s each

15 Simultaneous Sessions Goal: Collective throughput  entire servers bytes transferred / time Not the number of transfers at once Only reasons for more than 1 connection  Provide an interactive service for many  One session does not use all of the local resource The remote side is the bottleneck  Hide control messaging overhead in another sessions data transfer payload

16 Remote Bottleneck Allow more than one simultaneous transfer to use all resources 10Gb/s

17 But We Want Queuing! May I offer you something in an RFT?  RFT says yes  Server side retries Light weight sessions  GridFTP does the heavy lifting  Queues up requests of pending transfers  Notification upon completion  Scalability Manages/Optimizes access to GridFTP Servers

18 GridFTP dst GridFTP src RFT Session Interactions RFT GridFTP src GridFTP dst Client Request Notification

19 Scalability GridFTP  Connection rejection is a feature It SHOULD say no  Intended to scale to system transfer rates Not beyond them To scale up add more nodes as stripes (dynamic backbends) ‏ Use faster NICs RFT  Intended to scale to memory It should not say no

20 GridFTP Broke My Cluster! GridFTP will push hardware as hard as it is allowed  But not harder sudo rm –rf /  Did sudo break the FS? ssh –u root host1 fork.bomb  Did sshd take down the host? globus-url-copy –tcp-bs 100GB  Did GridFTP break the cluster?

21 Resource Protection Limits need to be in place to protect  Knowing it is ok to say ‘no’ is step 1 What will hardware allow?  How fast are my disks?  How fast is my NIC?  How fast is can I send data while using the NetFS?  How many WAN transfers can I support with system memory?  How many simultaneous transfers can are reasonable to sustain?

22 Fast Transfer Resources CPU  Packet switching Memory  OS buffers (BWDP) ‏  User space buffers  WAN needs much more System bus Disk  Shared FS? (net also) ‏ Network  Router and LAN TCP Buffers CPU Bus

23 Cluster Components Disk  Shared I/O servers Net  Backplate bandwidth Systems  CPU/Memory  Are IODs and GridFTP servers co located? Shared IO Servers GridFTP Backends GridFTP Frontends

24 Connection Caps As a function of system memory  Cap = |mem| / (2MB + avg(BWDP)) ‏  Never more than |mem| / 4MB service gsiftp { instances = 20 socket_type = stream wait = no env += GLOBUS_LOCATION=… env += LD_LIBRARY_PATH=… server = /usr/local/globus-4.0.1/sbin/globus-gridftp-server server_args = -i -p 2811 disable = no } % globus-gridftp-server –connection-max 20

25 Connection Caps As a function of system bandwidth  Cap = min(FS.BW, Net.BW) / (Target average transfer rate) ‏ As a function of my gut  20 - 50  Best guess based on personal experience  Typically this is where collective BW plateaus

26 System Buffer Limits Limit the amount of OS space per conneciton  Auto tuning  16MB - 64MB % sysctl -w net.core.rmem_max= % sysctl -w net.core.wmem_max= % cat /proc/sys/net/ipv4/tcp_wmem 4096 16384 4194304 % cat /proc/sys/net/ipv4/tcp_rmem 4096 16384 4194304

27 GFork Memory Manager Dynamically rations memory  10% of the allowed connections get 90% of the memory  Remaining session get half of available memory Allows for high connection limits  |mem| / 2MB

28 Conclusions GridFTP is an on demand service  OK to say no RFT is a VO level queuing service  please use it http://www.gridftp.org gridftp-user@globus.org

29 What is OGSA DAI? l OGSA-DAI executes workflows l OGSA-DAI is not just for data access, also does data updates, transformations and delivery.

30 The Globus Replica Location Service l Distributed registry l Records the locations of data copies l Allows replica discovery l RLS maintains mappings between logical identifiers and target names l Must perform and scale well: u support hundreds of millions of objects u hundreds of clients l Mature and stable component of the Globus Toolkit Replica Location Indexes Local Replica Catalogs

31 Approach: Combine Pegasus Workflow Management with Globus Data Replication Service Workflow Planner: Pegasus Data Placement Service: Globus DRS Compute Cluster Storage Elements Jobs Data Transfer Workflow Tasks Staging Request Setup Transfers

32 Examples of Placement Policies Make N copies placed randomly on different sites Random One on my server, one on the same rack, one on another rack Topology-aware Query-based replication requests to push or pull data to make new replicas Publish/Subscribe Push replicas toward the “leaf” nodes (or access points) of the tree Tree-based dissemination Exploit locality of reference by creating replicas at any site where they are accessed Pervasive Place replicas at sites in order to optimize Quality-of-Service (QoS) criteria QoS Aware


Download ppt "What is GridFTP? l High-performance, reliable data transfer protocol optimized for high-bandwidth wide-area networks l Based on FTP protocol - defines."

Similar presentations


Ads by Google