Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • container
  • cpp-cdo
  • cmake-fix
4 results

mocktage

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    John Biddiscombe authored
    02eb054f
    History
    Name Last commit Last update
    cmake
    src
    test
    .clang-format
    CMakeLists.txt
    readme.md

    mocktage - a staging demonstrator

    mocktage is a staging demonstrator for Maestro. It's behavior is supposed to refelct Montage. In mocktage, dummy data set with profiles matching that of Montage workflows is used. The data set consists of array of int64_t.

    It consists of 3 applications and a pool manager:

    1. pool manager

    pool manager starts the pool manager and then waits for user input to shut down the pool manager. The pool manager starts with a workflow name mocktage and component name pool_manager. The pool_manager creates a file named by the variable passed to pool_manager. This file is then read by generator, processor and writer to connect to the correct pool manager.

    pool_manager will run as long as the file named pool_manager doesn't exist in the stopfile_directory.

    pool_manager pool_manager <log_directory> <pminfo_filename>
    1. generator

      generator takes an id and a size input, using which it creates a CDO of size size in KiB. generator will register with the pool manager with the workflow name of "mocktage" and a component name of "generator-", where id is the id passed to generator.

      They generate CDOs from the provided parameter data. The following command will generate a CDO of size in kb as provided, and each element of the array of CDO when interpreted as int64_t will have a value equal to the id.

      The generator will run as long the file named generator-<id>.stop doesn't exist in the log_directory.

    generator <log_directory> <pminfo_filename> <id> <size>
    1. processor

    processor will take all the data from the dependency and concatenate it, and produce a new CDO with the id given. The new CDO will contain an array of int64_t, each of which will have a value equal to <id>.

    processor will register with the pool manager with the workflow name of "mocktage" and a component name of "processor-.stop", where id is the id of the CDO produced by the processor.

    The processor will run as long the file named processor-<id> doesn't exist in the log_directory.

    processor <log_directory> <pminfo_filename> <id> <size> <array-of-dependent-id>
    1. writer

    writer takes the CDO given by id and generates a short machine readable information JSON stub from the CDO's array.

    The writer will run as long the file named writer-<id>.stop doesn't exist in the log_directory.

    writer <log_directory> <pminfo_filename> <id>
    1. writer

    writer takes the CDO given by id and generates a short machine readable information JSON stub from the CDO's array.

    The writer will run as long the file named writer-<id>.stop doesn't exist in the log_directory.

    writer <log_directory> <pminfo_filename> <id>
    1. stager

    stager takes the CDO given by id and generates a short machine readable information JSON stub from the CDO's array.

    The stager will run as long the file named stager-<id>.stop doesn't exist in the log_directory.

    stager <log_directory> <pminfo_filename> <id>