Fast and scalable metadata management across multiple metadata servers is crucial for distributed file systems to handle numerous files and directories. Client-side caching of frequently accessed metadata can mitigate server loads, but incurs significant overhead and complexity in maintaining cache consistency when the number of clients increases. We propose FMCache, an in-switch file-system metadata caching framework that leverages programmable switches to serve file-system metadata requests from multiple clients directly in the switch data plane. Unlike prior in-switch key-value caching approaches, FMCache addresses file-system-specific path dependencies under stringent switch resource constraints. We implement FMCache atop Hadoop HDFS and evaluate it on a Tofino-switch testbed using real-world file-system metadata workloads. FMCache achieves up to 181.6% higher throughput than vanilla HDFS and complements client-side caching with additional throughput gains of up to 139.6%. It also incurs low latencies and limited switch resource usage.
翻译:跨多个元数据服务器的快速可扩展元数据管理对于分布式文件系统处理海量文件和目录至关重要。客户端对频繁访问的元数据进行缓存可以减轻服务器负载,但随着客户端数量增加,维护缓存一致性会带来显著开销和复杂性。我们提出FMCache,一种交换机内文件系统元数据缓存框架,利用可编程交换机在交换机数据平面直接为多客户端提供文件系统元数据服务。与先前的交换机内键值缓存方法不同,FMCache在严格的交换机资源约束下解决了文件系统特有的路径依赖问题。我们在Hadoop HDFS上实现了FMCache,并使用真实文件系统元数据工作负载在Tofino交换机测试平台上进行评估。FMCache相比原生HDFS实现了最高181.6%的吞吐量提升,并与客户端缓存互补带来额外最高139.6%的吞吐量增益。该系统同时实现了低延迟和有限的交换机资源占用。