ДИСПЕТЧЕРИЗАЦИЯ МНОЖЕСТВЕННЫХ ПОТОКОВ В КОМПЬЮТЕРЕ

1. Компьютерная система для диспетчеризации многопоточной гостевой виртуальной машины (VM), причем компьютерная система содержит:
- конфигурацию, содержащую машину, включающую в себя единственное ядро, активированное для эксплуатации в режиме единственного потока (ST) и в многопоточном (МТ) режиме, причем ядро содержит физические потоки,
машина сконфигурирована для выполнения способа, содержащего:
- выпуск команды запуска виртуального выполнения (запуска VE) для диспетчеризации гостевой виртуальной машины (VM), содержащей множественные логические потоки на ядре, причем выпуск команды выполняется хостом, работающим на одном из физических потоков на ядре в режиме ST, выполнение команды запуска VE машиной, содержащее:
- построение соответствия для каждого из логических потоков с соответствующим ему потоком из числа физических потоков,
- инициализацию каждого из приведенных к соответствию физических потоков с состоянием соответствующего ему логического потока, и
- запуск выполнения гостевой VM на ядре в режиме МТ.
2. Компьютерная система по п. 1, содержащая:
- идентификацию того, какие логические потоки являются допустимыми, и построение соответствий только для допустимых логических потоков к соответствующему физическому потоку.
3. Компьютерная система по п. 1, причем инициализация включает в себя:
- загрузку для каждого из логических потоков одной части состояния логического потока в соответствующий физический поток,
- выявление для каждого из логических потоков остальной части состояния логического потока, причем остальная часть состояния логического потока содержит содержимое логического потока, не включаемое в состав одной части состояния логического потока, и
- завершение каждым соотнесенным физическим потоком загрузки остальной части состояния соответствующего логического потока.
4. Компьютерная система по п. 3, причем одна часть состояния включает в себя адрес описания состояния остальной части состояния.
5. Компьютерная система по п. 3, причем один из физических потоков выполняет загрузку для каждого из логических потоков одной части состояния логического потока.
6. Компьютерная система по п. 1, причем выполнение, кроме того, содержит проверку на то, что соотнесенные физические потоки на текущий момент времени не выполняют какой-либо программный код или внутренний код до инициализации.
7. Компьютерная система по п. 1, причем запуск выполнения для каждого из физических потоков осуществляется на основании завершения инициализации для физического потока.
8. Компьютерная система по п. 1, причем запуск выполнения для каждого из физических потоков осуществляется на основании завершения инициализации для всех физических потоков.
9. Компьютерная система по п. 1, причем выполнение, кроме того, содержит:
- выявление того, что программное обеспечение работает на одном из соотнесенных физических потоков, и
- на основании такого выявления, уведомление хоста о неудаче выполнения команды запуска VE.
10. Компьютерная система по п. 1, причем выполнение, кроме того, содержит:
- выявление того, что встроенное программное обеспечение работает на одном из соотнесенных физических потоков, и
- на основании такого выявления, выполнение по меньшей мере одного из действий:
- аннулирование команды запуска VE и возвращение управления к хосту, и
- ожидание восстановления доступности соотнесенного физического потока.
11. Компьютерно-реализуемый способ диспетчеризации многопоточной гостевой виртуальной машины (VM) в конфигурации, содержащей машину, включающую в себя единственное ядро, активированное для эксплуатации в режиме единственного потока (ST) и в многопоточном (МТ) режиме, причем ядро содержит физические потоки, и причем машина реализует способ, содержащий:
- выпуск команды запуска виртуального выполнения (запуска VE) для диспетчеризации гостевой виртуальной машины (VM), содержащей множественные логические потоки на ядре, причем выпуск команды выполняется хостом, работающим на одном из физических потоков на ядре в режиме ST, выполнение команды запуска VE машиной, содержащее:
- построение соответствия для каждого из логических потоков с соответствующим ему потоком из числа физических потоков,
- инициализацию каждого из приведенных к соответствию физических потоков с состоянием соответствующего ему логического потока, и
- запуск выполнения гостевой VM на ядре в режиме МТ.
12. Способ по п. 11, содержащий:
- идентификацию того, какие логические потоки являются допустимыми, и построение соответствий только для допустимых логических потоков к соответствующему физическому потоку.
13. Способ по п. 11, причем инициализация включает в себя:
- загрузку для каждого из логических потоков одной части состояния логического потока в соответствующий физический поток,
- выявление для каждого из логических потоков остальной части состояния логического потока, причем остальная часть состояния логического потока содержит содержимое логического потока, не включаемое в состав одной части состояния логического потока, и
- завершение каждым соотнесенным физическим потоком загрузки остальной части состояния соответствующего логического потока.
14. Способ по п. 13, причем один из физических потоков выполняет загрузку для каждого из логических потоков одной части состояния логического потока.
15. Способ по п. 11, причем выполнение, кроме того, содержит проверку на то, что соотнесенные физические потоки на текущий момент времени не выполняют какой-либо программный код или внутренний код до инициализации.
16. Способ по п. 11, причем запуск выполнения для каждого из физических потоков осуществляется на основании завершения инициализации для физического потока.
17. Компьютерный программный продукт для диспетчеризации многопоточной гостевой виртуальной машины (VM) в конфигурации, содержащей машину, включающую в себя единственное ядро, активированное для эксплуатации в режиме единственного потока (ST) и в многопоточном (МТ) режиме, причем ядро содержит физические потоки, причем компьютерный программный продукт содержит:
- машиночитаемый информационный носитель, имеющий заключенные в него программные команды, причем машиночитаемый информационный носитель не является сигналом, а программные команды являются считываемыми посредством устройства обработки данных для принуждения устройства обработки данных к выполнению способа, содержащего:
- выпуск команды запуска виртуального выполнения (запуска VE) для диспетчеризации гостевой виртуальной машины (VM), содержащей множественные логические потоки на ядре, причем выпуск команды выполняется хостом, работающим на одном из физических потоков на ядре в режиме ST, выполнение команды запуска VE машиной, содержащее:
- построение соответствия для каждого из логических потоков с соответствующим ему потоком из числа физических потоков,
- инициализацию каждого из приведенных к соответствию физических потоков с состоянием соответствующего ему логического потока, и
- запуск выполнения гостевой VM на ядре в режиме МТ.
18. Компьютерный программный продукт по п. 17, причем способ, кроме того, содержит:
- идентификацию того, какие логические потоки являются допустимыми, и
- построение соответствий только для допустимых логических потоков к соответствующему физическому потоку.
19. Компьютерный программный продукт по п. 17, причем инициализация включает в себя:
- загрузку для каждого из логических потоков одной части состояния логического потока в соответствующий физический поток,
- выявление для каждого из логических потоков остальной части состояния логического потока, причем остальная часть состояния логического потока содержит содержимое логического потока, не включаемое в состав одной части состояния логического потока, и
- завершение каждым соотнесенным физическим потоком загрузки остальной части состояния соответствующего логического потока.
20. Компьютерный программный продукт по п. 17, причем запуск выполнения для каждого из физических потоков осуществляется на основании завершения инициализации для физического потока.