In-storage compute with Ceph and Lua

The Ceph distributed storage system contains a low-level feature called object classes which allow developers to write C++ modules that are loaded directly into the system and implement new behavior. In this project we have embedded the Lua VM into Ceph to allow developers to ship scripts directly into the storage system to implement new behaviors dynamically.

There is a wide variety of functionality that can be implemented such as performing atomic object updates, dynamically generating thumbnail images, or remote filtering of data via push-down predicates.

Here are a couple talks on this feature which provide a good overview of how the system works and what can be built with it:

And there are also some technical posts: