Есть задачи, которые читаются из файла, выполняют некоторую обработку и записывают в файл. Эти задачи должны планироваться на основе зависимости. Также задачи могут выполняться параллельно, поэтому алгоритм должен быть оптимизирован для запуска зависимых задач в последовательном и максимально возможном параллельном режиме.
например:
- A → B
- A → C
- B → D
- E → F
Таким образом, будет запущен один из способов запуска этого 1, 2 и 4 параллельно. Далее следуют 3.
Другим способом может быть запустите 1, а затем параллельно выполните 2, 3 и 4.
Другой может быть запущен 1 и 3 в последовательном порядке, 2 и 4. Параллельно.
Любые идеи?