Brussels / 30 & 31 January 2016


Lmod: Building a Community around an Environment Modules Tool

On today's supercomputers, chemists, biologists, physicists and engineers are sharing the same system and they all need different software. Environment Modules have been the way since the '90 that users select the software they need. They allow users to load and unload the packages they want. They get to control which version of the software they use, rather than the system administrators. Lmod, implemented in Lua, is a modern replacement for the venerable TCL/C based tool. Lmod offers many features to handle the vastly more dynamic software environment than the original tool was designed to handle.

Lmod is a modern, flexible, robust environment module system: the system tool that "sets the table" by helping supercomputer users load the software packages they need to do their work. They get to control which version of the software they use, rather than the system administrators. It is a Lua-based drop-in replacement for the venerable TCL/C environment module system. Because needs vary across the diverse computational research community, module systems like Lmod are mission-critical, ubiquitous, and expected on such systems: users need help selecting the correct combination of tools from among the thousands available on modern, large-scale systems.

This is not a talk about Lmod's features or design; instead, the focus is on process, community, and culture. What is it like to develop, maintain, and support a tool for a community that is often unaware that it (or Lua) even exists? How does one go about diagnosing and correcting problems on systems to which you cannot get access?

But the talk also addresses an important Lua-related issue. A module system loads a given software package by interpreting a 'modulefile' that describes the details of the environment that software package needs. Lmod's native modulefiles are Lua programs; Lmod parses legacy TCL modules by translating their instructions into Lua. This approach has been very successful, but has not been without its challenges: this talk includes an introduction to some of the associated technical issues and edge cases.

This has been an interesting ride, from a local tool deployed at a single site in Texas, to an open source mainstay that is mission critical at hundreds of supercomputer centers around the world. World domination through Lua and Lmod, one center at a time!


Robert McLay