Table of Contents
Before reading this chapter, you should be familiar with basic Unix concepts (Chapter 3, Using Unix), the Unix shell (the section called “Command Line Interfaces (CLIs): Unix Shells”, redirection (the section called “Redirection and Pipes”), shell scripting (Chapter 4, Unix Shell Scripting) and job scheduling (Chapter 7, Job Scheduling.
LPJS, Lightweight, Portable Job Scheduler, is a minimalist resource manager and job scheduler for HPC clusters and HTC grids. Unlike other resource managers, LPJS is designed to be portable to all POSIX operating systems, easy to install and configure, as easy to learn and use. The goal of LPJS is to remove as many barriers as possible to utilizing hardware for parallel computing.
Running a resource manager other than LPJS is a huge investment of time that is likely only worthwhile for large clusters or grids. LPJS, on the other hand, is simple enough for turning a few computers at home or in the office into a cluster or grid for small-scale parallel computing. This does not mean that LPJS is unsuitable for larger clusters, but only that supporting small clusters is an important design goal.
In fact, anyone with access to a Unix-compatible system can create a "one node cluster" in a a matter of minutes using the lpjs ad-hoc menu. Administrator rights are not even required: Just install LPJS using a non-privileged pkgsrc tree, run lpjs ad-hoc, and choose the one-node instant cluster option. See the LPJS admin guide at https://github.com/outpaddling/LPJS/tree/main/Doc for details.
Readers who do not have access to an HPC cluster or HTC grid are encouraged to install and run LPJS on their own. This will allow you to practice, and hence really learn, the concepts that follow.