bufferlist performs extremely well in constrained workloads (large block
size and total file size below ~10G), because its writes are zero-copy.
but it breaks down at smaller block sizes due to the linear property of
the bufferlist
PageSet trades the zero-copy property for a logarithmic data structure
in order to achieve more reliable performance across file and block
sizes, in addition to better thread scaling
note: because each PG operates on a different collection and uses the
Sequencer to serialize the operations therein, we're not likely to see
the benefits from multilpe threads in the OSD