12.07.2015 Views

UFTP High-performance data transfer for UNICORE

UFTP High-performance data transfer for UNICORE

UFTP High-performance data transfer for UNICORE

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Mitglied der Helmholtz-Gemeinschaft<strong>UFTP</strong><strong>High</strong>-<strong>per<strong>for</strong>mance</strong> <strong>data</strong> <strong>transfer</strong> <strong>for</strong> <strong>UNICORE</strong>Dr. Bernd Schuller, Tim PohlmannFederated Systems and Data divisionJülich Supercomputer CentreForschungszentrum Jülich GmbHJuly 8, 2011<strong>UNICORE</strong> Summit, Toruń


OutlineFile<strong>transfer</strong> in <strong>UNICORE</strong><strong>UFTP</strong>■■■OutlookPrinciplesDeploymentExamplesJuly 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 2


Storages, Jobs and DataHOME, TMP, ...Server-to-server<strong>data</strong> movementHOME, TMP, ...<strong>UNICORE</strong> ServerLocalFilespaceImport&ExportJobdirectoriesJob <strong>data</strong>stagingHTTPGridFTPFTP...Client<strong>UNICORE</strong> Server<strong>UNICORE</strong> ServerJuly 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 3


Data flows using the BFT<strong>data</strong> <strong>transfer</strong>BFT import/exportrequires threesocket connectionsOther clientscommandlineclientEclipsebasedclientBFT stagingrequires foursocket connectionsscientific clientsand applicationsGatewayauthentication,firewall transversal<strong>UNICORE</strong> basic services<strong>UNICORE</strong> basic services<strong>UNICORE</strong>servicesTarget System InterfaceTarget System InterfaceLocal RMS (e.g. Torque, LL, LSF, etc.)Local RMS (e.g. Torque, LL, LSF, etc.)access to <strong>data</strong> andmanagement ofcomputational jobsJuly 8, 2011, <strong>UNICORE</strong> Summit, Toruń


Ideal <strong>data</strong> flowImport/exportwithout extrasocket connectionsOther clientscommandlineclientEclipsebasedclientscientific clientsand applicationsstagingwithout extrasocket connectionsTarget System InterfaceTarget System InterfaceLocal RMS (e.g. Torque, LL, LSF, etc.)Local RMS (e.g. Torque, LL, LSF, etc.)access to <strong>data</strong> andmanagement ofcomputational jobsJuly 8, 2011, <strong>UNICORE</strong> Summit, Toruń


Issues with direct <strong>data</strong> <strong>transfer</strong>Firewall!■■Direct connections from the outside to the TSI login node areusually not allowedStatically opening ports (or worse, port ranges) is a security riskPort opening technique is required■■UDP based hole punching (like Skype), but UDP is not directlysuited <strong>for</strong> file <strong>transfer</strong>TCP based: passive FTP is widely understood, but consideredinsecureJuly 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 6


Basic idea: use passive FTP to open portsClient1. „PASV“Firewall„5432“2. open5432 <strong>for</strong>Client3. connect to port 5432ServerFTP port<strong>data</strong> port 54324. close control connection5. close5432July 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 7


<strong>UFTP</strong> deploymentother <strong>UNICORE</strong>serverscommandlineclientEclipsebasedclient<strong>UFTP</strong> support sinceversion 6.4.1pseudo FTPlisten<strong>UNICORE</strong>/XcommandsCMD<strong>UFTP</strong>D<strong>UNICORE</strong>/Xserver<strong>UFTP</strong> support sinceversion 6.4.1TSICluster login nodeLocal RMS (e.g. Torque, LL, LSF, etc.)July 8, 2011, <strong>UNICORE</strong> Summit, Toruń


File <strong>transfer</strong> using <strong>UFTP</strong>Clientuftp-client1. Create<strong>transfer</strong>3. get file<strong>transfer</strong>properties (uftp hostand port, # of streams)4. Upload/downloadFirewall<strong>UNICORE</strong>/X2. inituftpdInit in<strong>for</strong>mation sent via commandchannel includes:- client IP- file name- authn secret- optional encryption keyFile systemSlide 10


Security challenges and their resolutionuftpd server runs with root privileges (because it needs to access files from allusers)■Switch effective user/group ID be<strong>for</strong>e file accessSending commands via the Command channel allows local users toread/write files under any user ID■■Command port not accessible outside the firewallProtect it using client authenticated SSL and ACL fileAttacker might connect to the newly opened sockets on the uftpd server■Client IP is checked, and a secret key is required <strong>for</strong> authenticationData channels might be sniffed■Optional symmetric encryption (64 bit key, blowfish algorithm)July 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 11


Using <strong>UFTP</strong> from UCCoptionally add <strong>UFTP</strong> related preferences …uftp.client.host=localhostuftp.streams=2uftp.encryption=falseSpecify the protocol in file operations>ucc put­file ­s /home/... ­t https://... ­P <strong>UFTP</strong>Specify the protocol in your UCC job{Imports: [{ From: “u6://...?protocol=<strong>UFTP</strong>“, To: … },],}July 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 12


140<strong>UFTP</strong> <strong>per<strong>for</strong>mance</strong>: example120Transfer rate (MB/sec)10080604020<strong>UFTP</strong><strong>UFTP</strong> encryptedBFT00 50 100 150 200 250 300 350 400File size (MB)Localhost system, Core 2, 4GB memory<strong>UNICORE</strong> 6.4.1 with Perl TSI<strong>UFTP</strong> 1.0.0, 2 streams> ucc put­file ­s /home/... ­t https://... ­P <strong>UFTP</strong> ­yJuly 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 13


<strong>UFTP</strong>: a high-<strong>per<strong>for</strong>mance</strong> <strong>data</strong> <strong>transfer</strong> <strong>for</strong> <strong>UNICORE</strong><strong>UNICORE</strong> FTP (yes, think of "Grid- (rather Globus-)FTP“)■ Multiple parallel TCP connections per <strong>data</strong> <strong>transfer</strong>■ Client-Server, Server-Server■ Secure, simple, easy to deploy and operate■ Dynamically open ports in the firewall using the „FTP“protocol■ Plat<strong>for</strong>m independent (Java) Widely available with <strong>UNICORE</strong> version 6.4.1■ as rpm, deb, tar.gz thanks to pac(k)manJuly 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 14


OutlookDeployment in realistic environments (DEISA/PRACE and others)URC support (coming soon!)Workflow system support (current version is still 6.3.x)Per<strong>for</strong>mance testingEnhancements■■Support multi-homed serversExperiment with buffer sizesOther uses of the „FTP trick“ not related to <strong>data</strong> <strong>transfer</strong>? E.g. whensetting up (cloudy, virtual, …) systems dynamically?July 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 15


Thanks <strong>for</strong> early testing and feedback on <strong>UFTP</strong>■ Krzysztof Benedyczak■ Michael Rambadt, Michael Stephan, Björn Hagemeier … and thank you <strong>for</strong> your attention!July 8, 2011, <strong>UNICORE</strong> Summit, Toruń Slide 16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!