Kliko – The Scientific Compute Container Format [IMA]

http://arxiv.org/abs/1807.03264


Kliko is a Docker-based container specification for running one or multiple related compute jobs. The key concepts of Kliko are the encapsulation of data processing software into a container and the formalization of the input, output and task parameters. By formalizing the parameters, the software is represented as abstract building blocks with a uniform and consistent interface. The main advantage is enhanced scriptability and empowering pipeline composition. Formalization is realized by bundling a container with a Kliko file, which describes the IO and task parameters. This Kliko container can then be opened and run by a Kliko runner. The Kliko runner will parse the Kliko definition and gather the values for these parameters, for example by requesting user input or retrieving pre-defined values from disk. Parameters can be various primitive types, for example: float, int or the path to a file. This paper will also discuss the implementation of a support library named Kliko which can be used to create Kliko containers, parse Kliko definitions, chain Kliko containers in workflows using a workflow manager library such as Luigi. The Kliko library can be used inside the container to interact with the Kliko runner. Finally, to illustrate the applicability of the Kliko definition, this paper will discuss two reference implementations based on the Kliko library: RODRIGUES, a web-based Kliko container scheduler, and output visualizer specifically for astronomical data, and VerMeerKAT, a multi-container workflow data reduction pipeline which is being used as a prototype pipeline for the commissioning of the MeerKAT radio telescope.

Read this paper on arXiv…

G. Molenaar, S. Makhathini, J. Girard, et. al.
Tue, 10 Jul 18
17/79

Comments: 10 pages, 4 figues