Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The XrdCeph plugin is a Storage level plugin implementing an API in the spirit of the POSIX filesystem abstraction [ref]. XrdCeph relies on libradosstriper to split up its write data into objects

When Echo was being built it was noted that as an object store it was better suited to streaming entire objects rather than performing many small reads (AKA Vector reads) on it. It was therefore decided to place XCaches infront of all the storage endpoints.

...

✏ Software quality attributes

...

...

titleSoftware quality attributes

Definition

Key success metrics

Notes

Maintainability

The time it takes from identify a new feature or bug to implementing the fix.

Small fixes should be in production within 1 month.

Performance

XRootD should not be the bottleneck in the system, it should be the speed at which Ceph can transfer data to the gateways.

Transfers to and from Echo should be 100+ MB/s internally and 50+ MB/s to Tier-1s and 20+ MB/s to Tier-2s.

Reliability

The systems ability to operate under normal conditions and unexpected situations.

The service should be stable when dealing with expected load and fail transfers gracefully when under extreme load.

Scalability

The systems ability to handle multiple concurrent transfers.

Ceph should be the bottleneck in scalability.

\uD83C\uDFAF Goals

The goal is to have a single code base combining libradosStriper and XrdCeph, which could be easily maintained by RAL. We would like to maximise throughput by parallelise operations / transfers where possible.

\uD83D\uDC63 Next steps

2

Project

Description

Estimated effort requiredEstimate

1

Documentation

Target release date

1

Fork libradosStriper

Fork libradosStriper and compile it outside of Ceph to see that we can continue to use data stored in Echo.

1 Month

2

Investigate librados Sparse Reads

Implement sparse reading in the forked libradosStriper (https://github.com/ceph/ceph/blob/main/src/include/rados/librados.hpp#L1060-L1062 )

2 - 3 Months

3