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
Hare is a new file system that provides a POSIX-like interfaceon multicore processors without cache coherence. Hareallows applications on different cores to share files, directories,and file descriptors. The challenge in designing Hareis to support the shared abstractions faithfully enough to runapplications that run on traditional shared-memory operatingsystems, with few modifications, and to do so while scalingwith an increasing number of cores.To achieve this goal, Hare must support features (such asshared file descriptors) that traditional network file systemsdon’t support, as well as implement them in a way that scales(e.g., shard a directory across servers to allow concurrentoperations in that directory). Hare achieves this goal througha combination of new protocols (including a 3-phase commitprotocol to implement directory operations correctly andscalably) and leveraging properties of non-cache-coherentmultiprocessors (e.g., atomic low-latency message deliveryand shared DRAM).An evaluation on a 40-core machine demonstrates thatHare can run many challenging Linux applications (includinga mail server and a Linux kernel build) with minimal orno modifications. The results also show these applicationsachieve good scalability on Hare, and that Hare’s techniquesare important to achieving scalability
การแปล กรุณารอสักครู่..
