ВИРТУАЛЬНАЯ АРХИТЕКТУРА НЕОДНОРОДНОГО ДОСТУПА К ПАМЯТИ ДЛЯ ВИРТУАЛЬНЫХ МАШИН

1. Способ, содержащий этапы, на которых:
принимают на системе управления (502), информацию, указывающую физическую топологию компьютерных систем (504-510) в центре обработки данных (500),
принимают запрос на создание экземпляра виртуальной машины (240), причем запрос указывает характеристику для виртуальной машины,
определяют, на основании физической топологии компьютерных систем (504-510) и характеристики для виртуальной машины (240), количество виртуальных узлов NUMA для виртуальной машины (240) и
посылают запрос на компьютерную систему (504) в центре обработки данных (500), причем запрос предписывает компьютерной системе (504) создавать экземпляр виртуальной машины (240), имеющий определенное количество виртуальных узлов NUMA.
2. Способ по п.1, дополнительно содержащий этапы, на которых:
принимают сигнал, указывающий, что компьютерная система (504-510) нагружена, и
посылают сигнал на компьютерную систему (504), причем сигнал предписывает компьютерной системе (504) отправить виртуальную машину (240) во вторую компьютерную систему (506, 508 или 510).
3. Способ по п.1, дополнительно содержащий этапы, на которых:
посылают сигнал на компьютерную систему (504), причем сигнал предписывает компьютерной системе (504) перенести виртуальную машину с первого узла NUMA (704) на второй узел NUMA (702).
4. Способ по п.1, в котором на этапе определения количества виртуальных узлов NUMA для виртуальной машины (240) дополнительно определяют наивысшее отношение NUMA в центре обработки данных (500).
5. Компьютерная система, содержащая:
электронную схему для приема запроса на создание экземпляра виртуальной машины (240),
электронную схему для генерации виртуальной машины (240), причем виртуальная машина (240) имеет топологию, которая включает в себя совокупность виртуальных узлов NUMA (606, 608), причем каждый виртуальный узел NUMA из совокупности включает в себя, по меньшей мере, один виртуальный процессор (230A-D) и диапазон гостевых физических адресов (614, 614), причем топология виртуальной машины (240) генерируется независимо от физической топологии компьютерной системы (700), и
электронную схему для создания экземпляра виртуальной машины (240), причем виртуальная машина (240) включает в себя виртуальные узлы NUMA (606, 608).
6. Компьютерная система по п.5, дополнительно содержащая электронную схему для сохранения виртуальной машины (240).
7. Компьютерная система по п.5, дополнительно содержащая электронную схему для отправки виртуальной машины (240) в удаленную компьютерную систему (506).
8. Компьютерная система по п.5, дополнительно содержащая
электронную схему для переноса виртуальной машины (240) на один или несколько других узлов NUMA (704).
9. Компьютерная система по п.5, дополнительно содержащая:
электронную схему для назначения виртуальной машины (240) первому узлу NUMA (702) и
электронную схему для переноса виртуальной машины (240) на второй узел NUMA (704) из совокупности узлов NUMA.
10. Компьютерная система по п.5, дополнительно содержащая:
электронную схему для генерации отношений NUMA для совокупности виртуальных узлов NUMA (606-608) и
электронную схему для сообщения отношений NUMA для совокупности виртуальных узлов NUMA (606-608) гостевой операционной системе (220).
11. Компьютерная система по п.5, дополнительно содержащая:
электронную схему для приема запроса от гостевой операционной системы (220) на доступ к первому гостевому физическому адресу с первого виртуального узла NUMA (614) и ко второму гостевому физическому адресу со второго виртуального узла NUMA (616),
электронную схему для увеличения времени доступа, необходимого для доступа ко второму гостевому физическому адресу (616), и
электронную схему для сообщения увеличенного времени доступа, необходимого для доступа к первому и второму гостевым физическим адресам (616), гостевой операционной системе (220).
12. Компьютерная система по п.5, дополнительно содержащая:
электронную схему для выделения адресов системной памяти виртуальной машине (240), причем адреса системной памяти (622-624) получены от единичного узла NUMA (702), и
электронную схему для назначения процессора (212A) для выполнения виртуального процессора (230A), причем процессор (212A) получен от узла NUMA (702).
13. Компьютерная система по п.5, в которой электронная схема для создания экземпляра виртуальной машины (240) дополнительно содержит:
электронную схему для отображения первого виртуального узла NUMA (606) из совокупности в первый узел NUMA (702) компьютерной системы (700) и
электронную схему для отображения второго виртуального узла NUMA (608) из совокупности в первый узел NUMA (702) компьютерной системы (700).
14. Компьютерная система по п.5, в которой электронная схема для создания экземпляра виртуальной машины (240) дополнительно содержит:
электронную схему для отображения первого виртуального узла NUMA из совокупности в первый узел NUMA компьютерной системы и
электронную схему для отображения второго виртуального узла NUMA из совокупности на второй узел NUMA компьютерной системы.
15. Компьютерная система по п.10, в которой отношения NUMA для виртуальных узлов NUMA (606-608) больше, чем среднее отношение NUMA, выявленное в центре обработки данных (500), причем центр обработки данных (500) включает в себя совокупность компьютерных систем (504-510).
16. Компьютерно-считываемый носитель информации, включающий в себя процессорно-выполняемые инструкции, компьютерно-считываемый носитель информации содержит:
инструкции для генерации совокупности виртуальных узлов NUMA (606-608) для виртуальной машины (240), причем каждый виртуальный узел NUMA (606-608) из совокупности включает в себя, по меньшей мере, один виртуальный процессор (212E) и, по меньшей мере, один блок памяти гостевых физических адресов, причем совокупность виртуальных узлов NUMA генерируется независимо от физической топологии какой-либо компьютерной системы, и
инструкции для создания экземпляра виртуальной машины (240) в компьютерной системе (700), причем виртуальная машина (240) включает в себя совокупность виртуальных узлов NUMA (606-608).
17. Компьютерно-считываемый носитель информации по п.16, дополнительно содержащий:
инструкции для назначения первого виртуального узла NUMA (606) и второго виртуального узла NUMA (608) для выполнения на узле NUMA (702) компьютерной системы (700).
18. Компьютерно-считываемый носитель информации по п.17, дополнительно содержащий:
инструкции для назначения первого виртуального узла NUMA (606) из совокупности для выполнения на первом узле NUMA (704) компьютерной системы (700) и
инструкции для назначения второго виртуального уза NUMA (608) из совокупности для выполнения на втором узле NUMA (608) компьютерной системы (700).
19. Компьютерно-считываемый носитель информации по п.17, дополнительно содержащий:
инструкции для генерации отношений NUMA для совокупности виртуальных узлов NUMA (606-608) и
инструкции для сообщения отношений NUMA гостевой операционной системе (220).
20. Компьютерно-считываемый носитель информации по п.17, дополнительно содержащий:
инструкции для определения, что узел NUMA (702), связанный с виртуальной машиной (240), перегружен, и
инструкции для переноса виртуальной машины (240) на один или несколько других узлов NUMA (704).