Skip to content

Docker universal app web interface

David Anderson edited this page Nov 14, 2024 · 2 revisions

There are various possible interfaces for job submission to BUDA. We could make a Python-based remote API. We (or others) could use this API to integrate it into batch systems.

But for starters, I propose implementing a generic (multi-application) web-based job submission system, using the per-user file sandbox system.

Managing science apps

First, there's a web interface for managing BUDA science apps This shows you the set of existing apps, and lets you edit them or create a new one. The form for this includes

  • select (from your file sandbox) a set of 'app files'. Must include
    • a Dockerfile
    • a main prog to run in container
    • other files if needed
    • info per file: logical name, copy flag
  • select a plan class (CPU/GPU)
  • list of input files (logical name, copy_file)
  • list of output files (logical name)
  • cmdline (passed to main prog for all jobs)

Submitting jobs

The form for submitting a batch of jobs:

  • batch name (optional)
  • select a BUDA science app and plan class
  • select (from the file sandbox) a zip file of job descriptions. This file has one dir per job:
jobname/
    [cmdline]
    file1 (logical name)
    ...
...

Question: should this system manage file immutability? If so, the above filenames are logical and don't need to be unique; e.g. input files for different jobs can have the same name. The system will create unique physical names.

Clone this wiki locally