/
Overview of Overview of

Overview of - PowerPoint Presentation

cheryl-pisano
cheryl-pisano . @cheryl-pisano
Follow
371 views
Uploaded On 2016-03-14

Overview of - PPT Presentation

DMLite Ricardo Rocha on behalf of the LCGDM team EMI INFSORI261611 Reasoning for DMLite 15 years ago we performed a full DPM evaluation Using PerfSuite out testing framework httpssvnwebcernchtraclcgdmwikiDpmAdminPerformance ID: 254994

dpm dmlite dav fix dmlite dpm fix dav connection daemon term system library http client significant lcgdm connections asynchronous

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Overview of" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Overview of DMLite

Ricardo Rocha( on behalf of the LCGDM team )

EMI INFSO-RI-261611Slide2

Reasoning for DMLite

~1.5 years ago we performed a full DPM evaluationUsing PerfSuite, out testing frameworkhttps://svnweb.cern.ch/trac/lcgdm/wiki/Dpm/Admin/Performance

( most results presented in the workshop come from this framework too )It showed the system had significant bottlenecksPerformanceCode maintenance (and complexity)Extensibility

2 Slide3

Dependency on NS/DPM daemons

All calls to the system had to go via the daemonsNot only user / client callsAlso the case for our frontends (HTTP/DAV, NFS, XROOT, …)

Daemons were a bottleneck, and did not scale wellShort term fix (available since 1.8.2)Improve TCP listening queue settings to prevent timeoutsIncrease number of threads in the daemon poolsPreviously statically defined to a rather low valueMedium term (available since 1.8.4, with DMLite)Refactor the daemon code into a library

3

Slide4

Dependency on NS/DPM daemons

All calls to the system had to go via the daemonsNot only user / client callsAlso valid for our new frontends (HTTP/DAV, NFS, XROOT, …)

Daemons were a bottleneck, and did not scale wellShort term fix (available since 1.8.2)Improve TCP listening queue settings to prevent timeoutsIncrease number of threads in the daemon poolsPreviously statically definedMedium term (available since 1.8.4, with DMLite)Refactor the daemon code into a library

4

Slide5

GET asynchronous performance

DPM used to mandate asynchronous GET callsIntroduces significant client latencyUseful when some preparation of the replica is neededBut this wasn’t really our case (disk only)

Fix (available with 1.8.3)Allow synchronous GET requestsDMLite has the same sync behavior (but faster )

5 Slide6

GET asynchronous performance

DPM used to mandate asynchronous GET callsIntroduces significant client latencyUseful when some preparation of the replica is neededBut this wasn’t really our case (disk only)

FixAllow synchronous GET requests6 Slide7

Database Access

No DB connection pooling, no bind variables DB connections were linked to daemon pool threads

DB connections would be kept for the whole life of the clientQuicker fix (available with 1.8.6)Add DB connection pooling to the old daemonsGood numbers, but needed extensive testing… took some timeMedium term fix (available since 1.8.4 for HTTP/DAV)DMLite, which includes connection poolingAmong many other things…

7 Slide8

Database Access

No DB connection pooling, no bind variables DB connections were linked to daemon pool threads

DB connections would be kept for the whole life of the clientQuicker fixAdd DB connection pooling to the old daemonsGood numbers, but needs extensive testing…Medium term fix (available since 1.8.4 for HTTP/DAV)DMLite, which includes connection poolingAmong many other things…

8

Slide9

Dependency on the SRM

SRM imposes significant latency for data accessIt has its use cases, but is a killer for regular file accessFor data access, only required for protocols not supporting redirection (file name to replica translation)

Fix (all available from 1.8.4)Keep SRM for space management only (usage, reports, …)Add support for protocols natively supporting redirectionHTTP/DAV, NFS 4.1/pNFS, XROOTAnd promote them widely…Investigating GridFTP redirection support (seems possible!)

9 Slide10

Future Proof with DMLiteSlide11

Future Proof with DMLite

DMLite is our new plugin based libraryMeets goals resulting from the system evaluationRefactoring of the existing code

Single library used by all frontendsExtensible, open to external contributionsEasy integration of standard building blocksApache2, HDFS, S3, …

https://svnweb.cern.ch/trac/lcgdm/wiki/Dpm/Dev/Dmlite

11

Slide12

DMLite is our new plugin based library

Meets goals resulting from the system evaluationRefactoring of the existing codeSingle library used by all frontends

Extensible, open to external contributionsEasy integration of standard building blocksApache, HDFS, S3, …https://svnweb.cern.ch/trac/lcgdm/wiki/Dpm/Dev/Dmlite

Future Proof with DMLite

12

Slide13

DMLite is a single library used by all DPM componentsIn production todayAlready used by HTTP/DAV, soon by all frontends

We’ve opened DPM to other systemsMany widely used in the industry (HDFS, S3, …)And the work has just startedClean, well defined interfaces

And APIs in different languages, much easier to contributePerformance improved drastically!Plugin details come next…13

Summary and Status