Erasure Coding
Xrootd Object Store
Andy Hanushevsky, Michal Simon, Wei Yang
Introduction to EC in Xrootd
Originally developed for EOS, extended to work with any type of Xrootd storage
2
data parity
crc32c
…
A simplified view of EC:
a11x1 + a12x2 + … + a1nxn = p1
a21x1 + a22x2 + … + a2nxn = p2
…
am1x1 + am2x2 + … + amnxn = pm
Xrootd ZIP archives on data servers
CHEP, May 8, 2023, Norfolk, VA
Architecture Choice
Key question: should users use EC enabled Xrootd client?
3
Simple Xrootd storage at backend
Xrootd proxy w/ EC
xroot or http prot.
Client doesn’t need to think about EC
LAN
CHEP, May 8, 2023, Norfolk, VA
Other Design Choices
4
CHEP, May 8, 2023, Norfolk, VA
Interface to Users
Nothing changed: users will still work with root(s) or http(s) URL:
CLI tools for GET/PUT/DEL/LIST/RENAME/TPC
API calls through xroot and http protocols
5
CHEP, May 8, 2023, Norfolk, VA
Test Environment
Backend: Xrootd storage:
Frontend: Xrootd EC proxy
xroot protocol vs HTTP protocol
6
10+ year old systems.
Our goal is to reach the hardware limit
CHEP, May 8, 2023, Norfolk, VA
Performance
7
w/o mem cache w/ mem cache
Read only test
Concurrent read/write test
Throughput: View from storage
CHEP, May 8, 2023, Norfolk, VA
Performance, cont’d
8
Likely will accommodate ~400Hz of small file Put/Get/Del in any combination.
Performance degradation beyond 500 clients
CHEP, May 8, 2023, Norfolk, VA
Administrative Tasks and Tools
Main tasks for administration and operation
Tools and scripts for administrative tasks
Validated disaster recovery scenarios:
9
CHEP, May 8, 2023, Norfolk, VA
Future Work
10
CHEP, May 8, 2023, Norfolk, VA
Summary
11
CHEP, May 8, 2023, Norfolk, VA