ДИНАМИЧЕСКОЕ ВЫДЕЛЕНИЕ НЕОДНОРОДНЫХ ВЫЧИСЛИТЕЛЬНЫХ РЕСУРСОВ, ОПРЕДЕЛЯЕМОЕ ВО ВРЕМЯ ВЫПОЛНЕНИЯ ПРИЛОЖЕНИЯ

1. Способ функционирования неоднородной вычислительной системы, содержащей множество вычислительных узлов и множество ускорительных узлов, при этом по меньшей мере один из множества вычислительных узлов и множества ускорительных узлов выполнен с возможностью вычисления вычислительной задачи, содержащей множество подзадач, при этом способ содержит этапы, на которых:
назначают и обрабатывают, с помощью узлов из множества вычислительных узлов и ускорительных узлов, в ходе первой вычислительной итерации, множество подзадач для первого распределения; и
используют информацию, относящуюся к обработке множества подзадач с помощью множества вычислительных узлов и ускорительных узлов, для генерирования последующего распределения подзадач по вычислительным узлам и ускорительному узлу для их обработки на последующей вычислительной итерации.
2. Способ по п. 1, в котором диспетчер приложений выполнен с возможностью приема упомянутой информации и определения последующего распределения.
3. Способ по п. 2, в котором диспетчер ресурсов выполнен с возможностью определения назначения задач и подзадач на вычислительные узлы и ускорительные узлы для первой итерации в зависимости от вычислительной задачи, при этом диспетчер приложений выполнен с возможностью приема информации и обработки ее в качестве входа для диспетчера ресурсов, так что диспетчер ресурсов выполнен с возможностью динамического изменения последующего распределения в ходе вычисления вычислительной задачи.
4. Способ по любому из пп. 1-3, в котором диспетчер ресурсов выполнен с возможностью приема упомянутой информации, так что диспетчер ресурсов выполнен с возможностью динамического изменения назначения друг другу вычислительных узлов и ускорительных узлов в ходе вычисления вычислительной задачи.
5. Способ по п. 1 или 2, в котором служебные процессы выполнены с возможностью функционирования в вычислительных узлах и ускорительных узлах для генерирования упомянутой информации.
6. Способ по любому из пп. 1-5, в котором первое распределение определяют на основе рейтинга, предоставленного в исходном коде для каждой подзадачи.
7. Способ по любому из пп. 1-6, в котором информацию используют для обеспечения группировки подзадач по меньшей мере в одной итерации из первой и второй итераций.
8. Способ по п. 3, в котором служебный процесс, функционирующий в узле, выполнен с возможностью генерирования меры загрузки узла в ходе обработки подзадачи.
9. Неоднородная вычислительная система, содержащая множество вычислительных узлов и множество ускорительных узлов для вычисления одной или более задач, содержащих множество подзадач, интерфейс связи для соединения вычислительных узлов друг с другом и ускорительными узлами, при этом система содержит диспетчер ресурсов, выполненный с возможностью назначения друг другу ускорительных узлов и вычислительных узлов для вычисления задач, при этом система дополнительно содержит диспетчер приложений, выполненный с возможностью приема информации от служебных процессов, функционирующих в вычислительных узлах и ускорительных узлах, для обновления распределения подзадач по вычислительным узлам и ускорительным узлам для последующей вычислительной итерации.
10. Вычислительная система по п. 9, в котором диспетчер ресурсов выполнен с возможностью приема упомянутой информации, так что диспетчер ресурсов выполнен с возможностью динамического изменения назначения друг другу вычислительных узлов и ускорительных узлов.