SFS: A Simple File System for Teaching Parallelism in Computer Systems

With the growing importance of parallelism to all aspects of computing, we believe it is important to cover the subject in some depth throughout the curriculum, instead of reserving it for advanced courses dedicated to the topic. This work presents an assignment focused on parallelism, appropriate f...

Full description

Saved in:
Bibliographic Details
Published in:2025 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) pp. 666 - 672
Main Authors: Railing, Brian P., Kebuladze, Lukas, Deyak, Nathan, Weinberg, Zachary
Format: Conference Proceeding
Language:English
Published: IEEE 03.06.2025
Subjects:
ISSN:2995-066X
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:With the growing importance of parallelism to all aspects of computing, we believe it is important to cover the subject in some depth throughout the curriculum, instead of reserving it for advanced courses dedicated to the topic. This work presents an assignment focused on parallelism, appropriate for students with one or two years of college-level programming experience. Students are asked to extend a single-threaded implementation of a simple file system (SFS) to support fine-grained concurrent access to files. We use scripted unit testing, offline consistency checks, and static analysis, to verify both the correctness and the achieved parallelism of students' work. This assignment is currently used in a second-year "introduction to computer systems" course. Most students are completing the assignment and are thereby gaining greater understanding of parallel programming within the context of computer systems.
ISSN:2995-066X
DOI:10.1109/IPDPSW66978.2025.00103