Many parallel tools, including debuggers and performance analyzers, must launch and control tool daemons. Large scale tools also often use additional middleware daemons for scalable communication. Launching and controlling these daemons are non trivial tasks that require an efficient, portable, secure solution that can be reused across a wide set of tools. LaunchMON fills this gap using a general purpose, distributed infrastructure. It is structured into four main components: (1) the LaunchMON Engine; (2) the front-end API (LaunchMON FE API); (3) the back-end API (LaunchMON BE API); and (4) the middleware API (LaunchMON MW API). The LaunchMON FE and BE APIs provide information about application processes and scalably launch tool daemons on remote nodes. Similarly, the LaunchMON FE and MW APIs enable scalable launching and connection of tool daemons. The LaunchMON Engine interacts with the resource manager to determine when, where and how to perform the services of the other components. A compact application layer network protocol, LMONP, enables interactions between all of LaunchMON's components.
LaunchMON is programming model independent, but (in its current setup) requires the MPIR process acquisition interface to be present in the target system.
Open source: BSD
Lawrence Livermore National Laboratory