Hare: a file system for non-cache-coherent multicores

Hare is a new file system that provides a POSIX-like interface on multicore processors without cache coherence. Hare allows applications on different cores to share files, directories, and file descriptors. The challenge in designing Hare is to support the shared abstractions faithfully enough to ru...

Full description

Bibliographic Details
Main Authors: Gruenwald, Charles, Sironi, Filippo, Kaashoek, M. Frans, Zeldovich, Nickolai
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:en_US
Published: Association for Computing Machinery (ACM) 2016
Online Access:http://hdl.handle.net/1721.1/101091
https://orcid.org/0000-0003-0238-2703
https://orcid.org/0000-0001-7098-586X
_version_ 1810986186924097536
author Gruenwald, Charles
Sironi, Filippo
Kaashoek, M. Frans
Zeldovich, Nickolai
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Gruenwald, Charles
Sironi, Filippo
Kaashoek, M. Frans
Zeldovich, Nickolai
author_sort Gruenwald, Charles
collection MIT
description Hare is a new file system that provides a POSIX-like interface on multicore processors without cache coherence. Hare allows applications on different cores to share files, directories, and file descriptors. The challenge in designing Hare is to support the shared abstractions faithfully enough to run applications that run on traditional shared-memory operating systems, with few modifications, and to do so while scaling with an increasing number of cores. To achieve this goal, Hare must support features (such as shared file descriptors) that traditional network file systems don't support, as well as implement them in a way that scales (e.g., shard a directory across servers to allow concurrent operations in that directory). Hare achieves this goal through a combination of new protocols (including a 3-phase commit protocol to implement directory operations correctly and scalably) and leveraging properties of non-cache-coherent multiprocessors (e.g., atomic low-latency message delivery and shared DRAM). An evaluation on a 40-core machine demonstrates that Hare can run many challenging Linux applications (including a mail server and a Linux kernel build) with minimal or no modifications. The results also show these applications achieve good scalability on Hare, and that Hare's techniques are important to achieving scalability.
first_indexed 2024-09-23T11:30:13Z
format Article
id mit-1721.1/101091
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T11:30:13Z
publishDate 2016
publisher Association for Computing Machinery (ACM)
record_format dspace
spelling mit-1721.1/1010912022-10-01T04:03:06Z Hare: a file system for non-cache-coherent multicores Gruenwald, Charles Sironi, Filippo Kaashoek, M. Frans Zeldovich, Nickolai Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Gruenwald, Charles Sironi, Filippo Kaashoek, M. Frans Zeldovich, Nickolai Hare is a new file system that provides a POSIX-like interface on multicore processors without cache coherence. Hare allows applications on different cores to share files, directories, and file descriptors. The challenge in designing Hare is to support the shared abstractions faithfully enough to run applications that run on traditional shared-memory operating systems, with few modifications, and to do so while scaling with an increasing number of cores. To achieve this goal, Hare must support features (such as shared file descriptors) that traditional network file systems don't support, as well as implement them in a way that scales (e.g., shard a directory across servers to allow concurrent operations in that directory). Hare achieves this goal through a combination of new protocols (including a 3-phase commit protocol to implement directory operations correctly and scalably) and leveraging properties of non-cache-coherent multiprocessors (e.g., atomic low-latency message delivery and shared DRAM). An evaluation on a 40-core machine demonstrates that Hare can run many challenging Linux applications (including a mail server and a Linux kernel build) with minimal or no modifications. The results also show these applications achieve good scalability on Hare, and that Hare's techniques are important to achieving scalability. Quanta Computer (Firm) 2016-02-04T01:04:09Z 2016-02-04T01:04:09Z 2015-04 Article http://purl.org/eprint/type/ConferencePaper 9781450332385 http://hdl.handle.net/1721.1/101091 Charles Gruenwald, III, Filippo Sironi, M. Frans Kaashoek, and Nickolai Zeldovich. 2015. Hare: a file system for non-cache-coherent multicores. In Proceedings of the Tenth European Conference on Computer Systems (EuroSys '15). ACM, New York, NY, USA, Article 30, 16 pages. https://orcid.org/0000-0003-0238-2703 https://orcid.org/0000-0001-7098-586X en_US http://dx.doi.org/10.1145/2741948.2741959 Proceedings of the Tenth European Conference on Computer Systems (EuroSys '15) Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery (ACM) MIT web domain
spellingShingle Gruenwald, Charles
Sironi, Filippo
Kaashoek, M. Frans
Zeldovich, Nickolai
Hare: a file system for non-cache-coherent multicores
title Hare: a file system for non-cache-coherent multicores
title_full Hare: a file system for non-cache-coherent multicores
title_fullStr Hare: a file system for non-cache-coherent multicores
title_full_unstemmed Hare: a file system for non-cache-coherent multicores
title_short Hare: a file system for non-cache-coherent multicores
title_sort hare a file system for non cache coherent multicores
url http://hdl.handle.net/1721.1/101091
https://orcid.org/0000-0003-0238-2703
https://orcid.org/0000-0001-7098-586X
work_keys_str_mv AT gruenwaldcharles hareafilesystemfornoncachecoherentmulticores
AT sironifilippo hareafilesystemfornoncachecoherentmulticores
AT kaashoekmfrans hareafilesystemfornoncachecoherentmulticores
AT zeldovichnickolai hareafilesystemfornoncachecoherentmulticores