byu-dml / d3m-experimenter

A distributed system for creating, running, and persisting many machine learning experiments.
0 stars 0 forks source link

Refactor Architecture #98

Open bjschoenfeld opened 4 years ago

bjschoenfeld commented 4 years ago

There should be four basic components to the experimenter:

  1. The Database
  2. A job maker
  3. A job queue
  4. A job handler

The database is maintained by D3M right now, so we don't have to worry about it.

Instances of a job maker should decide which pipelines to run and whether to run them (and on which datasets/problems). Once it decides to run a pipeline on a dataset, it should be pushed onto the job queue.

A job handler should have little to no logic. It should just pop a job off the queue, run it, and write the results to the database. It could have some logic to handle failures, so we know whether to just rerun the job or to fix a bug somewhere.

Related to #41.