祝贺罗义力向Alluxio开源社区贡献的JNI-FUSE库被社区接收!

罗义力向Alluxio开源社区贡献的JNI-FUSE库被社区接收!

用户空间文件系统(Filesystem in user space,FUSE)允许用户在不修改操作系统内核的前提下实现自定义的文件系统。Alluxio基于FUSE提供了Unix/Linux下的标准POSIX文件系统接口(简称:AlluxioFUSE),这是加速POSIX数据访问应用(例如,Tensorflow深度学习训练)的关键一环。AlluxioFUSE最早是基于第三方FUSE库JNR-FUSE (FUSE的Java-binding) 实现的。然而,JNR-FUSE因为依赖多、代码臃肿,且回调函数支持弱,面临着严重的稳定性和性能问题,具体包括JNR-FUSE在高并发和小文件场景下读取性能差、在高负载下甚至会出现数据一致性问题。 因此,本实验室和Alluxio开源社区合作,实现了一种更高效的FUSE java-binding,名为JNI-FUSE。它比JNR-FUSE更轻量级,对回调函数支持更好,并且更加稳定可控。JNI-FUSE对比JNR-FUSE性能提升了3至5倍。JNI-FUSE发布已经被最新发布的Alluxio 2.5.0版本集成使用替换JNR-FUSE(https://www.alluxio.io/download/releases/alluxio-2-5-0-release/)中,这个组件功能已经被阿里巴巴、腾讯等多家公司上线使用。我们组的罗义力同学在顾荣老师的指导下完成了JNI-FUSE的主要框架设计和开发工作。此外,还有来自阿里巴巴、微软和腾讯的工程师,他们持续完善和优化了JNI-FUSE。