CS647 Modern Storage Systems
Department of Computer Science
University of Crete
___________________________________________________________________________________________________________________________________
|
Course Type: |
|
|
Semester: |
Fall 2025 |
|
Instructor: |
___________________________________________________________________________________________________________________________________
Course Info Syllabus Assignments
___________________________________________________________________________________________________________________________________
Syllabus
___________________________________________________________________________________________________________________________________
|
Week |
Y2025-26 |
Topic |
Tasks |
|
1a |
Mon 29-Sep |
Administration & Workloads |
Intro to course topics and logistics Intro to assignment 1 Lecture: Intro to modern storage systems, requirements, and workload characterization - Storage Eras: device, parallel, network, cloud, granularity - Requirements: YCSB, Facebook workloads, Twitter workloads - Characterization: Role of key distribution, operation distribution, size distribution, updates
Reading: Lecture slides |
|
1b |
Wed 1-Oct |
Workloads |
Lecture (1/2): Intro to modern storage systems, requirements, and workload characterization - Storage Eras: device, parallel, network, cloud, granularity - Requirements: YCSB, Facebook workloads, Twitter workloads - Characterization: Role of key distribution, operation distribution, size distribution, updates
Reading: - Benchmarking cloud serving systems with YCSB. Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. In SoCC '10. https://dl.acm.org/doi/pdf/10.1145/1807128.1807152 |
|
2a |
Fri 3-Oct |
Workloads |
Lecture (2/2): Intro to modern storage systems, requirements, and workload characterization - Storage Eras: device, parallel, network, cloud, granularity - Requirements: YCSB, Facebook workloads, Twitter workloads - Characterization: Role of key distribution, operation distribution, size distribution, updates
Reading: - Benchmarking cloud serving systems with YCSB. Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. In SoCC '10. https://dl.acm.org/doi/pdf/10.1145/1807128.1807152 |
|
2b |
Mon 6-Oct |
Device Trends |
Paper discussion: - Characterizing, Modeling, and Benchmarking RocksDB Key-Value Workloads at Facebook. Z. Cao and S. Dong et al. 2020. In USENIX FAST’20. https://www.usenix.org/system/files/fast20-cao_zhichao.pdf |
|
3a |
Wed 8-Oct |
Device Trends |
Lecture (1/3): Device technologies and I/O caches: HDDs – FLASH SSDs - NVMe – NVM
Reading: - Design tradeoffs for SSD performance. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. 2008. In USENIX 2008 Annual Technical Conference (ATC'08). USENIX Association, USA, 57–70. https://www.usenix.org/legacy/events/usenix08/tech/full_papers/agrawal/agrawal.pdf |
|
3b |
Fri 10-Oct |
Device Trends |
Lecture (2/3): Device technologies and I/O caches: HDDs – FLASH SSDs - NVMe – NVM
Reading: - Design tradeoffs for SSD performance. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. 2008. In USENIX 2008 Annual Technical Conference (ATC'08). USENIX Association, USA, 57–70. https://www.usenix.org/legacy/events/usenix08/tech/full_papers/agrawal/agrawal.pdf |
|
4a |
Mon 13-Oct |
Device Trends |
Assignment 1 due Intro to assignment 2
Lecture (3/3): Device technologies and device caches: HDDs – FLASH SSDs - NVMe – NVM
Reading: - Design tradeoffs for SSD performance. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. 2008. In USENIX 2008 Annual Technical Conference (ATC'08). USENIX Association, USA, 57–70. https://www.usenix.org/legacy/events/usenix08/tech/full_papers/agrawal/agrawal.pdf |
|
4b |
Fri 17-Oct |
Device Trends |
Paper discussion: - Design tradeoffs for SSD performance. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. 2008. In USENIX 2008 Annual Technical Conference (ATC'08). USENIX Association, USA, 57–70. https://www.usenix.org/legacy/events/usenix08/tech/full_papers/agrawal/agrawal.pdf
(if time allows) - Using transparent compression to improve SSD-based I/O caches. Thanos Makatos, Yannis Klonatos, Manolis Marazakis, Michail D. Flouris, and Angelos Bilas. 2010. In Proc. of the 5th European conference on Computer systems (EuroSys '10). ACM, New York, NY, USA, 1–14. DOI: https://doi.org/10.1145/1755913.1755915 |
|
5a |
Mon 20-Oct |
LSM |
Lecture (1/2): Multi-level key-value stores: LSM · Introduction · What is LSM: concept, prototype implementation, benefits · Discussion (KVS, FS, Parallel FS, Distributed Volumes, Object stores) Reading:
Paper discussion: Sections 1,2,4,5 of: The log-structured merge-tree (LSM-tree). Patrick O'Neil, Edward Cheng, Dieter Gawlick, and Elizabeth O'Neil. 1996. Acta Inf. 33, 4 (1996), 351–385. https://link.springer.com/content/pdf/10.1007/s002360050048.pdf |
|
5b |
Wed 22-Oct |
LSM |
Lecture (2/2): Multi-level key-value stores: LSM · Introduction · What is LSM: concept, prototype implementation, benefits · Discussion (KVS, FS, Parallel FS, Distributed Volumes, Object stores)
Reading: · Sections 1,2,4,5 of: The log-structured merge-tree (LSM-tree). Patrick O'Neil, Edward Cheng, Dieter Gawlick, and Elizabeth O'Neil. 1996. Acta Inf. 33, 4 (1996), 351–385. https://link.springer.com/content/pdf/10.1007/s002360050048.pdf |
|
6a |
Mon 27-Oct |
LSM |
Assignment 2 due Intro to assignment 3
Paper discussion: Russell Sears and Raghu Ramakrishnan. 2012. bLSM: a general purpose log structured merge tree. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data (SIGMOD '12). Association for Computing Machinery, New York, NY, USA, 217–228. https://dl.acm.org/doi/pdf/10.1145/2213836.2213862 |
|
6b |
Wed 29-Oct |
LSM |
Paper discussion: Russell Sears and Raghu Ramakrishnan. 2012. bLSM: a general purpose log structured merge tree. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data (SIGMOD '12). Association for Computing Machinery, New York, NY, USA, 217–228. https://dl.acm.org/doi/pdf/10.1145/2213836.2213862 |
|
7a |
Mon 3-Nov |
Indexing |
Lecture (1/2): LSM Indexing · In-memory indexes vs. persistent indexes, briefly · In-memory L0, iIn-memory guards · Li B+-Tree index organization, leaf organization · Concurrency, caching, boom filters · Examples o RocksDB B-Tree-like index o Kreon Memory-Mapped B+-Tree o Btrfs Copy-on-Write B+-Tree Reading: · Anastasios Papagiannis, Giorgos Saloustros, Giorgos Xanthakis, Giorgos Kalaentzis, Pilar Gonzalez-Ferez, and Angelos Bilas. 2021. Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage. ACM Trans. Storage 17, 1, Article 7 (February 2021), 32 pages. https://doi.org/10.1145/3418414 · Sections 3,5: Ohad Rodeh, Josef Bacik, and Chris Mason. 2013. BTRFS: The Linux B-Tree Filesystem. ACM Trans. Storage 9, 3, Article 9 (August 2013), https://dl.acm.org/doi/pdf/10.1145/2501620.2501623 |
|
7b |
Wed 5-Nov |
Indexing |
Lecture (2/2): LSM Indexing · In-memory indexes vs. persistent indexes, briefly · In-memory L0, iIn-memory guards · Li B+-Tree index organization, leaf organization · Concurrency, caching, boom filters · Examples o RocksDB B-Tree-like index o Kreon Memory-Mapped B+-Tree o Btrfs Copy-on-Write B+-Tree · Bε-Tree (Global vs. per-level indexes, Incremental compaction vs. level buffers, Buffer size and updates)
Reading: · Lecture slides (Bε-Tree) · Anastasios Papagiannis, Giorgos Saloustros, Pilar González-Férez, and Angelos Bilas. 2016. Tucana: design and implementation of a fast and efficient scale-up key-value store. In Proceedings of the 2016 USENIX Conference on Usenix Annual Technical Conference (USENIX ATC '16). USENIX Association, USA, 537–550. https://www.usenix.org/system/files/conference/atc16/atc16_paper-papagiannis.pdf
Paper discussion: SplinterDB: Closing the Bandwidth Gap for NVMe Key-Value Stores. Alex Conway, Abhishek Gupta, Vijay Chidambaram, Martin Farach-Colton, Richard Spillane, Amy Tai, Rob Johnson. ATC 2020. https://www.usenix.org/system/files/atc20-conway.pdf |
|
8a |
Mon 10-Nov |
Compaction |
Assignment 3 due Intro to assignment 4
Lecture: LSM compaction · Levelling – Tiering - KV separation · Adaptive levelling – tiering · Incremental compaction (blsm, rocksdb) · Date-tiered and Time-window Compaction
Reading: - Giorgos Xanthakis, Giorgos Saloustros, Nikos Batsaras, Anastasios Papagiannis, and Angelos Bilas. 2021. Parallax: Hybrid Key-Value Placement in LSM-based Key-Value Stores. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’21). Association for Computing Machinery, New York, NY, USA, 305–318. DOI: https://doi.org/10.1145/3472883.3487012 |
|
8b |
Wed 12-Nov |
Compaction |
Lecture: LSM compaction · Levelling – Tiering - KV separation · Adaptive levelling – tiering · Incremental compaction (blsm, rocksdb) · Date-tiered and Time-window Compaction
Reading: - Giorgos Xanthakis, Giorgos Saloustros, Nikos Batsaras, Anastasios Papagiannis, and Angelos Bilas. 2021. Parallax: Hybrid Key-Value Placement in LSM-based Key-Value Stores. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’21). Association for Computing Machinery, New York, NY, USA, 305–318. DOI: https://doi.org/10.1145/3472883.3487012 |
|
9a |
Mon 17-Nov |
Compaction |
Paper Discussion: Pandian Raju, Rohan Kadekodi, Vijay Chidambaram, and Ittai Abraham. 2017. PebblesDB: Building Key-Value Stores using Fragmented Log-Structured Merge Trees. In Proceedings of the 26th Symposium on Operating Systems Principles (SOSP '17). Association for Computing Machinery, New York, NY, USA, 497–514. https://doi.org/10.1145/3132747.3132765 |
|
9b |
Wed 19-Nov |
Modelling & Tradeoffs |
Lecture: Understanding tradeoffs with key-value store data organization · # levels, growth factors · types of amplification · sizes in memory and on device · updates
Reading: · VAT: Asymptotic Cost Analysis for Multi-Level Key-Value Stores. Nikos Batsaras, Giorgos Saloustros, Anastasios Papagiannis, Panagiota Fatourou, and Angelos Bilas. February 2020. arXIV 2003.00103. arxiv.org/abs/2003.00103v1 · Sections 1,2,3 of: Michael A. Bender, Alex Conway, Martín Farach-Colton, William Jannen, Yizheng Jiao, Rob Johnson, Eric Knorr, Sara Mcallister, Nirjhar Mukherjee, Prashant Pandey, Donald E. Porter, Jun Yuan, and Yang Zhan. 2021. External-memory Dictionaries in the Affine and PDAM Models. ACM Trans. Parallel Comput. 8, 3, Article 15 (September 2021), 20 pages. DOI: https://doi.org/10.1145/3470635 |
|
10a |
Mon 24-Nov |
Recovery |
Assignment 4 due Start thinking about your projects
Project proposals due. After ack from instructor, start working on your projects.
Lecture: Fault tolerance and Recovery: Write-Ahead Log (WAL), intro to CoW · In-place (logs) vs. re-map/shadowing (CoW) · Group commit, random in-place vs. seq CoW updates Reading: |
|
10b |
Wed 26-Nov |
Recovery |
Lecture: Fault tolerance and Recovery: Write-Ahead Log (WAL), intro to CoW · In-place (logs) vs. re-map/shadowing (CoW) · Group commit, random in-place vs. seq CoW updates Reading: |
|
11a |
Mon 1-Dec |
Recovery |
Project proposals due, start working on your projects Paper discussion: SpanDB: A Fast, Cost-Effective LSM-tree Based KV Store on Hybrid Storage. Hao Chen, Chaoyi Ruan, Cheng Li, Xiaosong Ma, Yinlong Xu. In Proceedings of FAST'21: 19th USENIX Conference on File and Storage Technologies (FAST'21). https://www.usenix.org/system/files/fast21-chen-hao.pdf |
|
11b |
Wed 3-Dec |
OS kernel I/O path
Network & RDMA |
Lecture: Network access – RDMA · RDMA concepts · Connections · Messages · Buffer management · Message reception · RDMA scaling (connections, buffer management, message reception)
Reading: |
|
12a |
Mon 8-Dec |
Network & RDMA |
Paper discussion: · Shin-Yeh Tsai and Yiying Zhang. 2017. LITE Kernel RDMA Support for Datacenter Applications. In Proceedings of the 26th Symposium on Operating Systems Principles (SOSP '17). Association for Computing Machinery, New York, NY, USA, 306–324. DOI: https://doi.org/10.1145/3132747.3132762 · (if time allows) Michalis Vardoulakis, Giorgos Saloustros, Pilar González-Férez, and Angelos Bilas. 2022. Tebis: index shipping for efficient replication in LSM key-value stores. In Proceedings of the Seventeenth European Conference on Computer Systems (EuroSys '22). Association for Computing Machinery, New York, NY, USA, 85–98. DOI: https://doi.org/10.1145/3492321.3519572 |
|
12b |
Wed 10-Dec |
Persistent Memory |
Lecture: I/O path from memory to device: Buffered and direct I/O, Syscalls, mmio, U-ring, SPDK Reading - Optimizing Memory-mapped I/O for Fast Storage Devices. Anastasios Papagiannis, Giorgos Xanthakis, Giorgos Saloustros, Manolis Marazakis, and Angelos Bilas. In proceedings of the 2020 USENIX Annual Technical Conference (USENIX ATC'20). July 2020, Boston, MA, USA. https://www.usenix.org/system/files/atc20-papagiannis.pdf
Lecture: Persistent memory vs. I/O · Byte-addressable I/O (anonymous mmio, ld/st) · Block-based I/O (mmio with named files, read/write)
Reading: - Lecture slides
Paper discussion: Stan Park, Terence Kelly, and Kai Shen. 2013. Failure-atomic msync(): a simple and efficient mechanism for preserving the integrity of durable data. In Proceedings of the 8th ACM European Conference on Computer Systems (EuroSys '13). Association for Computing Machinery, New York, NY, USA, 225–238. DOI: https://doi.org/10.1145/2465351.2465374 |
|
13a |
Mon 15-Dec |
Persistent Memory |
The evolving memory hierarchy · Memory is fast, storage is persistent. Is NVM about fast storage or persistent memory? · Can storage and memory converge to a single abstraction? · Discussion |
|
13b |
Wed, 17-Dec |
Project Presentations |
Projects due: Presentations, 15 mins/project. End of HY647 |
___________________________________________________________________________________________________________________________________
(c) Copyright University of Crete, Greece, Last Modified: 19-Sep-2025