FAST 2011 Paper 分布式元数据论文阅读笔记整理
问题
现代文件系统可为大文件提供可扩展的性能,但不能为大量文件提供可伸缩的性能[16,67]。缺乏对单个目录中创建数百万到数十亿个小文件的可扩展支持,这对于数据密集型应用程序来说是一个日益增长的用例[16,43,49]。
本文方法
本文提出了GIGA+,一种符合POSIX的可扩展目录设计,采用哈希的分区方法,消除系统范围的序列化和同步,为突发索引(特别是创建)提供更高的并发性。
-
为了实现可伸缩性,每台服务器只对迁移进行本地独立决策,以实现负载平衡。通过在服务器节点集群上分布目录,并禁用客户端中的目录条目缓存,以及允许每个节点在没有通知或同步的情况下迁移目录的部分以进行负载平衡。
-
客户端不缓存目录项,只缓存目录索引。此缓存索引可能指向过时的服务器,这些服务器不再管理哈希目录项(文件名)空间中的特定范围。此时由目标服务器更正,传输服务器已知的所有分区的拆分历史,积极改进过时的客户端索引。
实验表明,GIGA+方法比现有的分布式目录实现扩展得更好,在32台服务器的集群上提供了每秒超过98000个文件创建的持续吞吐量,并且比一致哈希更有效地平衡负载。
总结
针对文件系统中大目录的可扩展性,如何支持单个目录的迅速扩展。本文提出GIGA+,采用哈希的分区方法,消除系统范围的序列化和同步,为突发索引(特别是创建)提供更高的并发性。(1)每台服务器只对迁移进行本地独立决策,以实现负载平衡。通过在服务器节点集群上分布目录,并禁用客户端中的目录条目缓存,以及允许每个节点在没有通知或同步的情况下迁移目录的部分以进行负载平衡。(2)客户端只缓存目录索引,此缓存索引可能指向过时的服务器,这些服务器不再管理哈希目录项(文件名)空间中的特定范围。此时由目标服务器更正,传输服务器已知的所有分区的拆分历史,积极改进过时的客户端索引。