Download presentation
Presentation is loading. Please wait.
Published byLaurel Norris Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.