rocksdb/file
Xingbo Wang 742741b175 Support Super Block Alignment (#13909)
Summary:
Pad block based table based on super block alignment

Pull Request resolved: https://github.com/facebook/rocksdb/pull/13909

Test Plan:
Unit Test

No impact on perf observed due to change in the inner loop of flush.

upstream/main branch 202.15 MB/s
```
for i in `seq 1 10`; do ./db_bench --benchmarks=fillseq -num=10000000 -compaction_style=2 -fifo_compaction_max_table_files_size_mb=1000 -fifo_compaction_allow_compaction=0 -disable_wal -write_buffer_size=12000000 -format_version=7 >> /tmp/x1 2>&1; grep fillseq /tmp/x1 | grep -Po "\d+\.\d+ MB/s" | grep -Po "\d+\.\d+" | awk '{sum+=$1} END {print sum/NR}'
```

After the change without super block alignment 203.44 MB/s
```
for i in `seq 1 10`; do ./db_bench --benchmarks=fillseq -num=10000000 -compaction_style=2 -fifo_compaction_max_table_files_size_mb=1000 -fifo_compaction_allow_compaction=0 -disable_wal -write_buffer_size=12000000 -format_version=7 >> /tmp/x1 2>&1
```

After the change with super block alignment 204.47 MB/s
```
for i in `seq 1 10`; do ./db_bench --benchmarks=fillseq -num=10000000 -compaction_style=2 -fifo_compaction_max_table_files_size_mb=1000 -fifo_compaction_allow_compaction=0 -disable_wal -write_buffer_size=12000000 -format_version=7 --super_block_alignment_size=131072 --super_block_alignment_max_padding_size=4096 >> /tmp/x1 2>&1;
```

Reviewed By: pdillinger

Differential Revision: D83068913

Pulled By: xingbowang

fbshipit-source-id: eecd65088ab3e9dbc7902aab8c2580f1bc8575df
2025-10-01 18:20:35 -07:00
..
delete_scheduler.cc Reduce db stress noise (#13447) 2025-03-12 01:13:40 -07:00
delete_scheduler.h Standardize on clang-format version 18 (#13233) 2024-12-19 10:58:40 -08:00
delete_scheduler_test.cc Standardize on clang-format version 18 (#13233) 2024-12-19 10:58:40 -08:00
file_prefetch_buffer.cc Add compaction explicit prefetch stats (#13520) 2025-04-14 12:08:38 -07:00
file_prefetch_buffer.h Add compaction explicit prefetch stats (#13520) 2025-04-14 12:08:38 -07:00
file_util.cc propagate request_id from app -> Rocks -> FS (#13616) 2025-05-16 21:25:50 -07:00
file_util.h propagate request_id from app -> Rocks -> FS (#13616) 2025-05-16 21:25:50 -07:00
filename.cc Resuming and persisting subcompaction progress in CompactionJob (#13983) 2025-10-01 14:21:55 -07:00
filename.h Resuming and persisting subcompaction progress in CompactionJob (#13983) 2025-10-01 14:21:55 -07:00
line_file_reader.cc Support read rate-limiting in SequentialFileReader (#9973) 2022-05-24 10:28:57 -07:00
line_file_reader.h Support read rate-limiting in SequentialFileReader (#9973) 2022-05-24 10:28:57 -07:00
prefetch_test.cc Add compaction explicit prefetch stats (#13520) 2025-04-14 12:08:38 -07:00
random_access_file_reader.cc Add kCool Temperature (#14000) 2025-09-25 11:27:00 -07:00
random_access_file_reader.h propagate request_id from app -> Rocks -> FS (#13616) 2025-05-16 21:25:50 -07:00
random_access_file_reader_test.cc propagate request_id from app -> Rocks -> FS (#13616) 2025-05-16 21:25:50 -07:00
read_write_util.cc Run Clang format on file folder (#10860) 2022-10-24 18:34:52 -07:00
read_write_util.h Remove unnecessary, confusing 'extern' (#12300) 2024-01-29 10:38:08 -08:00
readahead_file_info.h Reuse internal auto readhead_size at each Level (expect L0) for Iterations (#9056) 2021-11-10 16:20:04 -08:00
readahead_raf.cc Support GetFileSize API in FSRandomAccessFile (#13676) 2025-07-09 10:40:28 -07:00
readahead_raf.h Make StringEnv, StringSink, StringSource use FS classes (#7786) 2021-01-04 16:01:01 -08:00
sequence_file_reader.cc Retry DB::Open upon a corruption detected while reading the MANIFEST (#12518) 2024-04-18 17:36:33 -07:00
sequence_file_reader.h Retry DB::Open upon a corruption detected while reading the MANIFEST (#12518) 2024-04-18 17:36:33 -07:00
sst_file_manager_impl.cc Clean up some CFOptions code hygiene, fix SetOptions() bug (#13294) 2025-01-15 13:11:40 -08:00
sst_file_manager_impl.h Remove stats_ field from SstFileManagerImpl (#13757) 2025-07-08 15:54:42 -07:00
writable_file_writer.cc Support Super Block Alignment (#13909) 2025-10-01 18:20:35 -07:00
writable_file_writer.h Support Super Block Alignment (#13909) 2025-10-01 18:20:35 -07:00