| dc.contributor.author | Bhat, Srivatsa S. | |
| dc.contributor.author | Eqbal, Rasha | |
| dc.contributor.author | Clements, Austin T. | |
| dc.contributor.author | Kaashoek, M. Frans | |
| dc.contributor.author | Zeldovich, Nickolai | |
| dc.date.accessioned | 2021-11-05T20:21:06Z | |
| dc.date.available | 2021-11-05T20:21:06Z | |
| dc.date.issued | 2017 | |
| dc.identifier.uri | https://hdl.handle.net/1721.1/137612 | |
| dc.description.abstract | © 2017 Copyright is held by the owner/author(s). It is challenging to simultaneously achieve multicore scalability and high disk throughput in a file system. For example, even for commutative operations like creating different files in the same directory, current file systems introduce cache-line conflicts when updating an in-memory copy of the on-disk directory block, which limits scalability. ScaleFS is a novel file system design that decouples the in-memory file system from the on-disk file system using per-core operation logs. This design facilitates the use of highly concurrent data structures for the in-memory representation, which allows commutative operations to proceed without cache conflicts and hence scale perfectly. ScaleFS logs operations in a per-core log so that it can delay propagating updates to the disk representation (and the cache-line conflicts involved in doing so) until an fsync. The fsync call merges the per-core logs and applies the operations to disk. ScaleFS uses several techniques to perform the merge correctly while achieving good performance: timestamped linearization points to order updates without introducing cache-line conflicts, absorption of logged operations, and dependency tracking across operations. Experiments with a prototype of ScaleFS show that its implementation has no cache conflicts for 99% of test cases of commutative operations generated by Commuter, scales well on an 80-core machine, and provides on-disk performance that is comparable to that of Linux ext4. | en_US |
| dc.language.iso | en | |
| dc.publisher | Association for Computing Machinery (ACM) | en_US |
| dc.relation.isversionof | 10.1145/3132747.3132779 | en_US |
| dc.rights | Creative Commons Attribution 4.0 International license | en_US |
| dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | en_US |
| dc.source | ACM | en_US |
| dc.title | Scaling a file system to many cores using an operation log | en_US |
| dc.type | Article | en_US |
| dc.identifier.citation | Bhat, Srivatsa S., Eqbal, Rasha, Clements, Austin T., Kaashoek, M. Frans and Zeldovich, Nickolai. 2017. "Scaling a file system to many cores using an operation log." | |
| dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
| dc.eprint.version | Final published version | en_US |
| dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
| eprint.status | http://purl.org/eprint/status/NonPeerReviewed | en_US |
| dc.date.updated | 2019-06-03T17:08:23Z | |
| dspace.date.submission | 2019-06-03T17:08:24Z | |
| mit.metadata.status | Authority Work and Publication Information Needed | en_US |