Java GlusterFS

Mentor(s):

Louis Zuckerman

Instructor:

Masoud Sadjadi

Description:


GlusterFS is a network-attached, virtual file system especially used to handle and process Big Data (it can handle up to 72 brontobytes!) When GlusterFS was first introduced, applications could only connect to a Gluster volume through a FUSE mount. This was slow, but the only alternative was for developers to write their own API for their application. Apache’s Hadoop project did just this, at much cost. Eventually, the GlusterFS project was extended with the introduction of libgfapi: an official API to allow applications to connect and communicate directly with a Gluster server, removing the need for a slow FUSE mount. This was much faster, but the API was written in C. Any projects that wished to use GlusterFS had to either write their application in C, or write some sort of interface between libgfapi and their platform of choice. This problem has been solved for several platforms where developers created platform-specific bindings for libgfapi: eg. libgfapi-python is a Python binding for libgfapi, enabling Python developers to use a Gluster volume without writing a single line of C code. This project seeks to do the same for the Java platform, but utilizing the NIO.2 API introduced in Java 7 to make developing an application that uses a Gluster volume as painless as manipulating files on any ordinary file system.

Team Members

Ian Herbig

Maylem Gonzalez