Rnotify - A Scalable Application Level Distributed Filesystem Notifications Solution
Ashwin Raghav Mohan Ganesh
Rnotify is a Distributed Filesystem Notification Solution. It helps application programmers use Inotify like abstractions to receive notifications from Distributed File Systems.
This session will help programmers understand how one can build applications that require high throughout of notifications from File Systems.
I hope to talk about Rnotify - A Distributed Filesystem Notification Solution. I have provided a paper abstract below:
Filesystem event notifications are used by many applications to track file/directory objects. Although most operating systems (OS) are provisioned to notify applications of local filesystem changes [Table 1], there currently exist no scalable mechanisms to notify applications of non-local changes made to distributed filesystems. In this paper, we introduce Rnotify,a scalable solution to this problem. In particular, we focus on distributed notifications for scalable filesystems that are POSIX compliant at the server.
Our system has four key properties. Firstly, the Rnotify API provides application semantics nearly equivalent to the existing Linux notifications API (Inotify). Linux applications can potentially use Rnotify with minimal code changes. Secondly, by slightly modifying the semantics of Inotify, we claim that Rnotify will dispatch event notifications under a latency of 10 milliseconds for 85% of useful filesystem changes without being subject to event queue overflows. Thirdly, applications that choose to use Rnotify as a High throughput notification delivery system can do so at low latency costs by distributing their notification processing. Lastly, we also claim that a clear decomposition of functions between different components of Rnotify ensures that the system can accommodate different workloads imposed by traditional HPC or modern Web Applications. We sup- port our claims by testing Rnotify with a GlusterFS deploy- ment on a High Performance Computing Cluster.
I authored Rnotify.