СПОСОБ РАСПРЕДЕЛЕНИЯ ЗАДАЧ СЕРВЕРОМ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ, МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ ИНФОРМАЦИИ И СИСТЕМА ДЛЯ РЕАЛИЗАЦИИ СПОСОБА

1. Способ распределения задач сервером вычислительной системы, заключающий том, что:
- определяют совокупное число свободных обработчиков вычислительной системы, доступных для предоставления имеющимся заданиям, включающее множество обработчиков, которые могут быть предоставлены для выполнения обычных задач и множество обработчиков, составляющих неприкосновенный запас;
- однократно выбирают значение коэффициента доступности;
- назначают каждой последующей в очереди задаче число обработчиков из условия наличия свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, при этом число назначаемых обработчиков не больше, чем число доступных в данный момент времени обработчиков, которые могут быть предоставлены для выполнения обычных задач, умноженное на коэффициент доступности, но не менее одного такого обработчика;
- в случае отсутствия свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, следующей задаче назначают, по меньшей мере, одного обработчика из неприкосновенного запаса.
2. Способ по п.1, в котором дополнительно определяют общее число задач, которым не назначен ни один из обработчиков, при этом такие задачи определяют из условия их приоритетности с последующим назначением свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, согласно приоритету.
3. Способ по п.1, в котором из множества обработчиков, которые могут быть предоставлены для выполнения обычных задач, дополнительно выделяют число обработчиков для распараллеливания (PAT), общее число которых определяют по формуле PAT=Р-Т-ER, где Р - общее число обработчиков, которые могут быть предоставлены для выполнения обычных задач, Т - общее число распределенных задач, ER - число обработчиков, выделенных в неприкосновенный запас.
4. Способ по п.1, в котором множество обработчиков, составляющих неприкосновенный запас зафиксировано, например, в процентах от общего числа обработчиков.
5. Способ по п.3, в котором число обработчиков (PUT), доступных для выполнения сложной задачи, равно max (2, (РТТ+1)·РТР), где РТТ текущее число обработчиков, доступных для распараллеливания, а РТР процент обработчиков, разрешенных использовать для распараллеливания данной задачи.
6. Способ по п.5, где итеративное назначение обработчиков задачам в данный момент времени выполняют на основе вычисления нового значения числа обработчиков для задачи, где новое значение числа обработчиков для данной задачи (NPUT) равно max (CPUT, min (PUT, CPUT+FAT, ST)), где CPUT - число обработчиков, используемых данной задачей в данный момент; PUT - число обработчиков, доступных для выделения данной задаче; FAT - максимальное число свободных обработчиков, которое может быть использовано для распараллеливания, где FAT=F-ER; F - общее число свободных обработчиков в данный момент времени; ER - число обработчиков, выделенных в неприкосновенный запас; ST - максимальное число обработчиков, требуемых для обработки данной задачи.
7. Машиночитаемый носитель информации, несущий исполняемые компьютером инструкции для обеспечения возможности распределения заданий между множеством вычислительных устройств, содержащий инструкцию, сконфигурированную, чтобы обеспечивать возможность:
- определения совокупного числа свободных обработчиков вычислительного системы, доступных для предоставления имеющимся заданиям, включающее множество обработчиков, которые могут быть предоставлены для выполнения обычных задач и множество обработчиков, составляющих неприкосновенный запас;
- однократный выбор значения коэффициента доступности;
- назначение каждой последующей в очереди задаче число обработчиков из условия наличия свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, при этом число назначаемых обработчиков не больше, чем число доступных в данный момент времени обработчиков, которые могут быть предоставлены для выполнения обычных задач, умноженное на коэффициент доступности, но не менее одного такого обработчика;
- в случае отсутствия свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, назначение следующей задаче по меньшей мере, одного обработчика из неприкосновенного запаса.
8. Носитель по п.7, содержащий дополнительную инструкцию определения общего числа задач, которым не назначен ни один из обработчиков, при этом такие задачи определяют из условия их приоритетности с последующим назначением свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, согласно приоритету.
9. Носитель по п.7, содержащий дополнительную инструкцию, в которой из множества обработчиков, которые могут быть предоставлены для выполнения обычных задач, дополнительно выделяют число обработчиков для распараллеливания (PAT), общее число которых определяют по формуле PAT=Р-Т-ER, где Р - общее число обработчиков, которые могут быть предоставлены для выполнения обычных задач, Т - общее число распределенных задач, ER - число обработчиков, выделенных в неприкосновенный запас.
10. Носитель по п.7, в котором множество обработчиков, составляющих неприкосновенный запас зафиксировано, например, в процентах от общего числа обработчиков.
11. Носитель по п.9, в котором число обработчиков (PUT), доступных для выполнения сложных задач, равно max (2, (РТТ+1)·РТР), где РТТ текущее число обработчиков, доступных для распараллеливания, а РТР процент обработчиков, разрешенных использовать для распараллеливания данной задачи.
12. Носитель по п.11, в котором итеративное назначение обработчиков задачам в данный момент времени выполняют на основе вычисления нового значения числа обработчиков для задачи, где новое значение числа обработчиков для данной задачи (NPUT) равно max (CPUT, min (PUT, CPUT+FAT, ST)), где CPUT - число обработчиков, используемых данной задачей в данный момент; PUT - число обработчиков, доступных для выделения данной задаче; FAT - максимальное число свободных обработчиков, которое может быть использовано для распараллеливания, где FAT=F-ER; F - общее число свободных обработчиков в данный момент времени; ER - число обработчиков, выделенных в неприкосновенный запас; ST - максимальное число обработчиков, требуемых для обработки данной задачи.
13. Система для распределения заданий между множеством вычислительных устройств, включающая:
один или более процессоров;
одно или более устройств памяти;
программные инструкции для вычислительного устройства, записанные в одно или более устройств памяти, которые при выполнении на одном или более процессорах управляют системой для:
- определения совокупного числа свободных обработчиков вычислительного системы, доступных для предоставления имеющимся заданиям, включающее множество обработчиков, которые могут быть предоставлены для выполнения обычных задач и множество обработчиков, составляющих неприкосновенный запас;
- однократного выбора значения коэффициента доступности;
- назначения каждой последующей в очереди задаче число обработчиков из условия наличия свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, при этом число назначаемых обработчиков не больше, чем число доступных в данный момент времени обработчиков, которые могут быть предоставлены для выполнения обычных задач, умноженное на коэффициент доступности, но не менее одного такого обработчика;
- в случае отсутствия свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, следующей задаче назначения, по меньшей мере, одного обработчика из неприкосновенного запаса.
14. Система по п.13, в которой дополнительно определяют общее число задач, которым не назначен ни один из обработчиков, при этом такие задачи определяют из условия их приоритетности с последующим назначением свободных обработчиков, которые могут быть предоставлены для выполнения обычных задач, согласно приоритету.
15. Система по п.13, в которой из множества обработчиков, которые могут быть предоставлены для выполнения обычных задач, дополнительно выделяют число обработчиков для распараллеливания (PAT), общее число которых определяют по формуле PAT=Р-Т-ER, где Р - общее число обработчиков, которые могут быть предоставлены для выполнения обычных задач, Т - общее число распределенных задач, ER - число обработчиков, выделенных в неприкосновенный запас.
16. Система по п.13, в которой множество обработчиков, составляющих неприкосновенный запас зафиксировано, например, в процентах от общего числа обработчиков.
17. Система по п.15, в которой число обработчиков (PUT), доступных для выполнения сложных задач, равно max (2, (РТТ+1)·РТР), где РТТ текущее число обработчиков, доступных для распараллеливания, а РТР процент обработчиков, разрешенных использовать для распараллеливания данной задачи.
18. Система по п.17, где итеративное назначение обработчиков задачам в данный момент времени выполняют на основе вычисления нового значения числа обработчиков для задачи, где новое значение числа обработчиков для данной задачи (NPUT) равно max (CPUT, min (PUT, CPUT+FAT, ST)), где CPUT - число обработчиков, используемых данной задачей в данный момент; PUT - число обработчиков, доступных для выделения данной задаче; FAT - максимальное число свободных обработчиков, которое может быть использовано для распараллеливания, где FAT=F-ER; F - общее число свободных обработчиков в данный момент времени; ER - число обработчиков, выделенных в неприкосновенный запас; ST - максимальное число обработчиков, требуемых для обработки данной задачи.