Мы делаем планировщик для гетерогенных вычислений.
Задачи могут быть определены по срокам и скорости передачи данных и могут рассматриваться как двумерный график. Смотрите изображение:
Прямоугольник определяет задачи, которые должны быть запланированы на GPU, и внешние задачи, которые должны быть запланированы на CPU.
Проблема в том, что мы хотим эффективно определить параметры для создания наилучшего прямоугольника. То есть прямоугольник, содержащий большинство задач. Можно предположить, что функция, определяющая, может ли точка быть добавлена к текущему прямоугольнику, присутствует.
Может быть до 20 000 (точек) задач, а длина оси может быть произвольной
Существуют ли известные алгоритмы / структуры данных, решающие эту проблему?