Способ и устройство для регулировки канала i/о на виртуальной платформе

Иллюстрации

Показать все

Изобретение относится к средствам для регулировки канала I/O на виртуальной платформе, которые применяются в области виртуальной технологии. Технический результат заключается в повышении эффективности распределения ресурсов. Вычисляют, посредством хоста, текущую среднюю производительность I/O множества виртуальных машин VM, работающих на хосте. Увеличивают или уменьшают, посредством хоста, рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM согласно текущей средней производительности I/O. Регулируют, посредством хоста, отношение сопоставления между очередями во внешнем устройстве, очередями во внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM. Ресурсы каналов, занятые каналами I/O между внешними устройствами и внутренними устройствами множества машин VM, динамически регулируются согласно производительности I/O множества машин VM, работающих на хосте. Когда производительность I/O уменьшается, незанятые ресурсы каналов I/O освобождаются, чтобы тем самым избежать растраты ресурсов каналов I/O. Когда производительность I/O увеличивается, ресурсы каналов I/O увеличиваются. 3 н. и 10 з.п. ф-лы, 7 ил.

Реферат

Эта заявка испрашивает приоритет по китайской патентной заявке номер 201310027312.7, поданной в китайское патентное ведомство 24 января 2013 и озаглавленной "METHOD AND APPARATUS FOR ADJUSTING I/O CHANNEL ON VIRTUAL PLATFORM", которая включается сюда по ссылке во всей полноте.

Область техники, к которой относится изобретение

Настоящее изобретение относится к области виртуальных технологий, в частности к способу и устройству для регулировки канала I/O на виртуальной платформе.

Уровень техники

Виртуализация абстрагирует и преобразует компьютерные физические ресурсы, такие как сервер, сеть, память и хранилище, и представляет их, так что пользователь может использовать эти ресурсы лучшим образом, чем в исходной конфигурации. Новая виртуальная часть этих ресурсов не ограничена типами архитектуры, местоположениями или физическими конфигурациями исходных ресурсов. Множество виртуальных машин (VM) работает на хосте, который существует физически. Хост управляет всеми физическими аппаратными устройствами и ресурсами и виртуализует одиночное устройство в множество виртуальных устройств для одновременного использования множеством пользовательских потоков. Устройство, которое каждый пользователь может видеть, является виртуальным устройством, и физические аппаратные устройства являются прозрачными для пользователя.

В виртуальной среде, VM не имеет возможности напрямую осуществлять доступ к аппаратному устройству, и хост обеспечивает для VM канал данных для соединения с аппаратным устройством, а именно канал I/O. В настоящем изобретении канал включает в себя канал данных между внешним устройством машины VM и внутренним устройством машины VM и канал данных между внутренним устройством машины VM и реальным устройством хоста; при этом внешнее устройство машины VM является устройством, видимым в виртуальной машине, и является фактически устройством, симулируемым посредством хоста для VM, внутреннее устройство машины VM является устройством программной симуляции, соединенным с внешним устройством машины VM в операционной системе хоста, и реальное устройство хоста является физическим устройством хоста.

Фиг. 1 описывает простую технологию с множеством каналов I/O на виртуальной платформе в предшествующем уровне техники, и в качестве примера используются две виртуальные машины VM1 и VM2, где имеется множество каналов I/O (на фиг. 1 в качестве примера используются два канала I/O) между внешним устройством и внутренним устройством машины VM. Модуль обработки данных является мостом между внешним устройством и внутренним устройством машины VM, используется для копирования данных, фильтрации данных или других служб обработки данных и включает в себя множество рабочих потоков (на фиг. 1 в качестве примера используются два рабочих потока); количество рабочих потоков равняется количеству каналов I/O между внешним устройством машины VM и внутренним устройством машины VM, и каждый канал I/O соответствует одному рабочему потоку. Одиночный канал существует между внутренним устройством машины VM и мостом и между мостом и реальным устройством, и внутреннее устройство машины VM передает данные в реальное устройство через одиночный канал.

Вышеупомянутый предшествующий уровень техники имеет, по меньшей мере, следующие технические проблемы: количество каналов I/O между внешним устройством машины VM и внутренним устройством машины VM определяется, когда машина VM создается, количество каналов I/O не может изменяться в течение работы машины VM, и поэтому ресурсы каналов, занятые каналами I/O между внешним устройством машины VM и внутренним устройством машины VM, не могут изменяться. Когда производительность I/O между внешним устройством машины VM и внутренним устройством машины VM изменяется, ресурсы каналов I/O не могут регулироваться; когда производительность I/O уменьшается, незанятые ресурсы каналов I/O не могут освобождаться, что дает в результате растрату ресурсов каналов I/O; когда производительность I/O увеличивается, ресурсы каналов I/O не могут увеличиваться, что дает в результате неспособность улучшать способность передачи данных каналов I/O и ухудшенную эффективность системы.

Сущность изобретения

Варианты осуществления настоящего изобретения обеспечивают способ регулировки канала I/O на виртуальной платформе и устройство регулировки хоста, чтобы динамически регулировать распределение ресурсов каналов I/O между внешними устройствами и внутренними устройствами множества машин VM, тем самым, повышая эффективность системы.

Согласно первому аспекту настоящее изобретение обеспечивает способ регулировки канала I/O на виртуальной платформе, и способ включает в себя:

вычисление, посредством хоста, текущей средней производительности I/O множества виртуальных машин VM, работающих на хосте; увеличение, посредством хоста, рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O больше, чем первое пороговое значение, так что средняя производительность I/O множества машин VM меньше, чем первое пороговое значение после того, как рабочий поток увеличивается; или уменьшение, посредством хоста, рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O меньше, чем второе пороговое значение, так что средняя производительность I/O множества машин VM больше, чем второе пороговое значение после того, как рабочие потоки уменьшаются, где первое пороговое значение больше, чем второе пороговое значение; и отдельную регулировку, посредством хоста, согласно рабочим потокам для обработки машин VM после увеличения или уменьшения, отношения сопоставления между очередями во внешних устройствах множества машин VM и рабочими потоками для обработки машин VM и отношения сопоставления между очередями во внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM, так что между внешними устройствами и внутренними устройствами множества машин VM формируется множество каналов передачи данных.

В первом возможном варианте осуществления, со ссылкой на первый аспект, если текущая средняя производительность I/O больше, чем первое пороговое значение, до увеличения, посредством хоста, рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, способ дополнительно включает в себя:

сравнение, посредством хоста, увеличения в использовании CPU и увеличения в производительности I/O, результирующих из увеличения рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM; и если увеличение в производительности I/O больше, чем увеличение в использовании CPU, выполнение этапа увеличения, посредством хоста, рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM.

Во втором возможном варианте осуществления, со ссылкой на первый аспект, если текущая средняя производительность I/O меньше, чем второе пороговое значение, до уменьшения, посредством хоста, рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, способ дополнительно включает в себя:

определение, посредством хоста, ведет ли уменьшение в использовании CPU, результирующее из уменьшения рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, к неспособности реагировать на производительность множества машин VM, если уменьшение в использовании CPU, результирующее из уменьшения рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, не ведет к неспособности реагировать на производительность множества машин VM, выполнение этапа уменьшения, посредством хоста, рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM.

В третьем возможном варианте осуществления, со ссылкой на первый аспект, или первый или второй возможный вариант осуществления первого аспекта, отдельная регулировка, посредством хоста, согласно рабочим потокам для обработки машин VM после увеличения или уменьшения, отношения сопоставления между очередями во внешних устройствах множества машин VM и рабочими потоками для обработки машин VM и отношения сопоставления между очередями во внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM включает в себя:

когда количество рабочих потоков для обработки машин VM после увеличения или уменьшения меньше, чем количество машин VM, работающих на хосте, сопоставление, посредством хоста, каждого рабочего потока очереди во внешнем устройстве каждой машины VM и очереди во внутреннем устройстве каждой машины VM; или когда количество рабочих потоков для обработки машин VM после увеличения или уменьшения больше или равно количеству машин VM, работающих на хосте, сопоставление, посредством хоста, эксклюзивно используемого рабочего потока очереди во внешнем устройстве и очереди во внутреннем устройстве машины VM, сопоставление совместно используемого рабочего потока очередям, которые находятся во внешних устройствах и внутренних устройствах, по меньшей мере, двух машин VM и не соответствуют эксклюзивно используемому рабочему потоку, где рабочие потоки для обработки машин VM включают в себя эксклюзивно используемый рабочий поток и совместно используемый рабочий поток.

В четвертом возможном варианте осуществления, со ссылкой на первый аспект, или первый, второй, или третий возможный вариант осуществления первого аспекта, после отдельной регулировки, посредством хоста, согласно рабочим потокам для обработки машин VM после увеличения или уменьшения, отношения сопоставления между очередями во внешних устройствах множества машин VM и рабочими потоками для обработки машин VM и отношения сопоставления между очередями во внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM, способ дополнительно включает в себя:

регулировку, посредством хоста, отношения сопоставления между очередями во внутренних устройствах множества машин VM и очередями в реальном устройстве хоста, так что между внутренними устройствами множества машин VM и реальным устройством формируется множество каналов передачи данных.

Согласно второму аспекту настоящее изобретение обеспечивает устройство хоста для регулировки канала I/O на виртуальной платформе, и хост включает в себя:

модуль вычисления, сконфигурированный с возможностью вычислять текущую среднюю производительность I/O множества виртуальных машин VM, работающих на хосте; модуль обработки, который соединен с модулем вычисления, сконфигурированный с возможностью увеличивать рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O, вычисленная посредством модуля вычисления, больше, чем первое пороговое значение, так что средняя производительность I/O множества машин VM меньше, чем первое пороговое значение после того, как рабочие потоки увеличиваются; или уменьшать рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O, вычисленная посредством модуля вычисления, меньше, чем второе пороговое значение, так что средняя производительность I/O множества машин VM больше, чем второе пороговое значение после того, как рабочие потоки уменьшаются, где первое пороговое значение больше, чем второе пороговое значение; и первый модуль регулировки, который соединен с модулем обработки, сконфигурированный с возможностью отдельно регулировать, согласно рабочим потокам для обработки машин VM после увеличения или уменьшения посредством модуля обработки, отношения сопоставления между очередями во внешних устройствах множества машин VM и рабочими потоками для обработки машин VM и отношения сопоставления между очередями во внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM, так что между внешними устройствами и внутренними устройствами множества машин VM формируется множество каналов передачи данных.

В первом возможном варианте осуществления, со ссылкой на первый аспект, устройство регулировки дополнительно включает в себя:

модуль определения, сконфигурированный с возможностью сравнивать увеличение в использовании CPU и увеличение в производительности I/O, результирующие из увеличения рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O, вычисленная посредством модуля вычисления, больше, чем первое пороговое значение; модуль обработки дополнительно сконфигурирован с возможностью увеличивать рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, если увеличение в производительности I/O больше, чем увеличение в использовании CPU, так что средняя производительность I/O множества машин VM меньше, чем первое пороговое значение после того, как рабочие потоки увеличиваются.

Во втором возможном варианте осуществления, со ссылкой на первый аспект, устройство регулировки дополнительно включает в себя:

модуль определения, сконфигурированный с возможностью определять, ведет ли уменьшение в использовании CPU, результирующее из уменьшения рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, к неспособности реагировать на производительность множества машин VM, когда текущая средняя производительность I/O, вычисленная посредством модуля вычисления, меньше, чем второе пороговое значение; модуль обработки дополнительно сконфигурирован с возможностью уменьшать рабочие потоки между внешними устройствами и внутренними устройствами множества машин VM, если уменьшение в использовании CPU, результирующее из уменьшения рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, не ведет к неспособности реагировать на производительность множества машин VM, так что средняя производительность I/O множества машин VM больше, чем второе пороговое значение после того, как рабочие потоки уменьшаются.

В третьем возможном варианте осуществления, со ссылкой на первый аспект, или первый, или второй возможный вариант осуществления первого аспекта, первый модуль регулировки конкретно сконфигурирован с возможностью:

сопоставлять каждый рабочий поток очереди во внешнем устройстве каждой машины VM и очереди во внутреннем устройстве каждой машины VM, когда количество рабочих потоков для обработки машин VM после увеличения или уменьшения меньше, чем количество машин VM, работающих на хосте, или сопоставлять эксклюзивно используемый рабочий поток очереди во внешнем устройстве и очереди во внутреннем устройстве машины VM и сопоставлять совместно используемый рабочий поток очередям, которые находятся во внешних устройствах и внутренних устройствах, по меньшей мере, двух машин VM и не соответствуют эксклюзивно используемому рабочему потоку, когда количество рабочих потоков для обработки машин VM после увеличения или уменьшения больше или равно количеству машин VM, работающих на хосте, где рабочие потоки для обработки машин VM включают в себя эксклюзивно используемый рабочий поток и совместно используемый рабочий поток.

В четвертом возможном варианте осуществления, со ссылкой на первый аспект, или первый, второй, или третий возможный вариант осуществления первого аспекта, устройство регулировки дополнительно включает в себя:

второй модуль регулировки, сконфигурированный с возможностью регулировать отношение сопоставления между очередями во внутренних устройствах множества машин VM и очередями в реальном устройстве хоста, так что между внутренними устройствами множества машин VM и реальным устройством формируется множество каналов передачи данных.

Согласно третьему аспекту настоящее изобретение обеспечивает хост, и хост включает в себя: реальное устройство, внешние устройства и внутренние устройства множества виртуальных машин VM, работающих на реальном устройстве, и модуль обработки данных между внешними устройствами и внутренними устройствами множества машин VM, где

модуль обработки данных сконфигурирован с возможностью:

вычислять текущую среднюю производительность I/O множества машин VM; увеличивать рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O больше, чем первое пороговое значение, так что средняя производительность I/O множества машин VM меньше, чем первое пороговое значение после того, как рабочие потоки увеличиваются; или уменьшать рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O меньше, чем второе пороговое значение, так что средняя производительность I/O множества машин VM больше, чем второе пороговое значение после того, как рабочие потоки уменьшаются, где первое пороговое значение больше, чем второе пороговое значение; и отдельно регулировать отношение сопоставления между очередями во внешних устройствах множества машин VM и рабочими потоками для обработки машин VM и отношение сопоставления между очередями во внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM, так что между внешними устройствами и внутренними устройствами множества машин VM формируется множество каналов передачи данных.

В первом возможном варианте осуществления, со ссылкой на третий аспект, модуль обработки данных дополнительно сконфигурирован с возможностью:

сравнивать увеличение в использовании CPU и увеличение в производительности I/O, результирующие из увеличения рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM; и если увеличение в производительности I/O больше, чем увеличение в использовании CPU, увеличивать рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, так что средняя производительность I/O множества машин VM меньше, чем первое пороговое значение после того, как рабочие потоки увеличиваются.

Во втором возможном варианте осуществления, со ссылкой на третий аспект, модуль обработки данных дополнительно сконфигурирован с возможностью:

определять, ведет ли уменьшение в использовании CPU, результирующее из уменьшения рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, к неспособности реагировать на производительность множества машин VM, и уменьшать рабочие потоки между внешними устройствами и внутренними устройствами множества машин VM, если уменьшение в использовании CPU, результирующее из уменьшения рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, не ведет к неспособности реагировать на производительность множества машин VM, так что средняя производительность I/O множества машин VM больше, чем второе пороговое значение после того, как рабочие потоки уменьшаются.

Можно видеть, что в варианте осуществления настоящего изобретения то, увеличивать ли или уменьшать рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, определяется согласно текущей средней производительности I/O множества машин VM. Когда текущая средняя производительность I/O множества машин VM больше, чем первое пороговое значение, рабочие потоки для обработки машин VM увеличиваются, то есть ресурсы каналов I/O увеличиваются, чтобы улучшать способность передачи данных канала I/O; и, когда текущая средняя производительность I/O множества машин VM меньше, чем второе пороговое значение, рабочие потоки для обработки машин VM уменьшаются, то есть ресурсы каналов I/O уменьшаются, чтобы избежать растраты ресурсов каналов I/O.

Дополнительно, хост формирует множество каналов передачи данных между внутренними устройствами множества машин VM и реальным устройством посредством регулировки отношения сопоставления между очередями во внутренних устройствах множества машин VM и очередями в реальном устройстве хоста. Это обеспечивает множество каналов I/O между внешними устройствами множества машин VM и реальным устройством хоста и улучшает способность передачи данных между внешними устройствами множества машин VM и реальным устройством хоста.

Краткое описание чертежей

Чтобы описывать технические решения в вариантах осуществления настоящего изобретения или в предшествующем уровне техники более ясно, последующее кратко вводит сопровождающие чертежи, требуемые для описания вариантов осуществления или предшествующего уровня техники. Должно быть ясно, что сопровождающие чертежи в последующем описании показывают всего лишь некоторые варианты осуществления настоящего изобретения, и специалисты в данной области техники могут выводить еще другие чертежи из этих сопровождающих чертежей без созидательных усилий.

Фиг. 1 является схемой архитектуры простой технологии с множеством каналов I/O на виртуальной платформе в предшествующем уровне техники;

Фиг. 2 является блок-схемой последовательности операций способа регулировки канала I/O на виртуальной платформе согласно одному варианту осуществления настоящего изобретения;

Фиг. 3 является схемой архитектуры, когда рабочий режим для I/O между внешними устройствами и внутренними устройствами множества машин VM на виртуальной платформе является режимом совместного использования согласно настоящему изобретению;

Фиг. 4 является схемой архитектуры, когда рабочий режим для I/O между внешними устройствами и внутренними устройствами множества машин VM на виртуальной платформе является гибридным режимом согласно настоящему изобретению;

Фиг. 5 является схематическим изображением структурной схемы устройства для регулировки канала I/O на виртуальной платформе согласно одному варианту осуществления настоящего изобретения;

Фиг. 6 является схематическим изображением структурной схемы устройства для регулировки канала I/O на виртуальной платформе согласно другому варианту осуществления настоящего изобретения; и

Фиг. 7 является схематическим изображением структурной схемы хоста согласно одному варианту осуществления настоящего изобретения.

Описание вариантов осуществления

Чтобы сделать цели, технические решения и преимущества настоящего изобретения более понятными, последующее ясно и полностью описывает технические решения в вариантах осуществления настоящего изобретения со ссылкой на сопровождающие чертежи в вариантах осуществления настоящего изобретения. Должно быть ясно, что описанные варианты осуществления являются всего лишь частью, нежели всеми вариантами осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистами в данной области техники на основе вариантов осуществления настоящего изобретения без созидательных усилий, должны попадать в пределы объема защиты настоящего изобретения.

Некоторые элементы, введенные в описании вариантов осуществления настоящего изобретения, введены здесь в первую очередь для облегчения понимания вариантов осуществления настоящего изобретения.

Хост: функционирует как слой управления и используется, чтобы управлять и назначать аппаратные ресурсы; представляет виртуальную аппаратную платформу для виртуальной машины, где виртуальная аппаратная платформа обеспечивает различные аппаратные ресурсы для всех виртуальных машин, работающих на виртуальной аппаратной платформе, например, обеспечивает виртуальный процессор (например, VCPU), виртуальную память, виртуальный магнитный диск, виртуальный сетевой адаптер и подобное. Виртуальный магнитный диск может соответствовать файлу или логическому блочному устройству хоста. Виртуальная машина работает на виртуальной аппаратной платформе, подготовленной посредством хоста, на которой работают одна или более виртуальных машин.

Виртуальная машина VM: симулирует один или более виртуальных компьютеров на физическом компьютере посредством использования программного обеспечения виртуальной машины, эти виртуальные машины работают как реальный компьютер, операционная система и прикладная программа могут устанавливаться на виртуальную машину, и виртуальная машина также может осуществлять доступ к сетевому ресурсу. Для прикладной программы, работающей на виртуальной машине, виртуальная машина работает как реальный компьютер.

Модуль обработки данных: в настоящем изобретении, модуль обработки данных введен между внешним устройством и внутренним устройством машины VM и сконфигурирован с возможностью обрабатывать передачу данных между внешним устройством и внутренним устройством машины VM и обрабатывать данные в очереди во внешнем устройстве и внутреннем устройстве машины VM посредством использования рабочего потока. Модуль обработки данных обычно осуществляется посредством использования программного обеспечения, то есть процессор считывает инструкцию программного кода со специальной функцией, чтобы осуществлять модуль обработки данных.

Реальное устройство: аппаратная платформа, на которой работает виртуальная среда. Реальное устройство может включать в себя множество типов аппаратного обеспечения, например, реальное устройство некоторого вычислительного узла может включать в себя процессор (например, CPU), память и может дополнительно включать в себя высокоскоростные/низкоскоростные устройства ввода/вывода (I/O), такие как сетевой адаптер и память.

Мост: сетевое устройство или программное обеспечение между внутренним устройством машины VM и реальным устройством хоста для осуществления сетевого соединения между внутренним устройством машины VM и реальным устройством хоста и передачи кадра данных.

Фиг. 2 описывает обработку способа регулировки канала I/O на виртуальной платформе согласно одному варианту осуществления настоящего изобретения, где обработка конкретно включает в себя следующие этапы:

S201. Хост вычисляет текущую среднюю производительность I/O множества виртуальных машин VM, работающих на хосте.

Конкретно, хост получает текущую среднюю производительность I/O множества машин VM посредством сначала вычисления текущей полной производительности I/O множества машин VM, работающих на хосте, и разделения полной производительности I/O на количество машин VM, работающих на хосте.

S202. Хост увеличивает рабочие потоки для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O больше, чем первое пороговое значение, или уменьшает рабочие потоки между внешними устройствами и внутренними устройствами множества машин VM, когда текущая средняя производительность I/O меньше, чем второе пороговое значение.

Рабочие потоки для обработки машин VM увеличиваются между внешними устройствами и внутренними устройствами множества машин VM, так что средняя производительность I/O множества машин VM больше, чем первое пороговое значение после того, как рабочие потоки увеличиваются; или рабочие потоки для обработки машин VM уменьшаются между внешними устройствами и внутренними устройствами множества машин VM, так что средняя производительность I/O множества машин VM больше, чем второе пороговое значение после того, как рабочий поток уменьшается. Первое пороговое значение больше, чем второе пороговое значение, первое пороговое значение используется, чтобы показывать верхнее пороговое значение средней производительности I/O множества машин VM, и второе пороговое значение используется, чтобы показывать нижнее пороговое значение средней производительности I/O множества машин VM, то есть первое пороговое значение показывает верхнее пороговое значение производительности I/O для машины VM и второе пороговое значение показывает нижнее пороговое значение производительности I/O для машины VM.

Дополнительно, если текущая средняя производительность I/O множества машин VM больше, чем первое пороговое значение, до этапа увеличения, посредством хоста, рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, способ дополнительно включает в себя:

Хост сравнивает увеличение в использовании CPU и увеличение в производительности I/O, результирующие из увеличения рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM; и если увеличение в производительности I/O больше, чем увеличение в использовании CPU, выполняет этап увеличения, посредством хоста, рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM.

Увеличение в использовании CPU является увеличенным использованием CPU, результирующим из увеличения рабочих потоков для обработки машин VM, по сравнению с отсутствием увеличения рабочих потоков для обработки машин VM, и может выражаться посредством величины увеличения использования CPU и/или скорости увеличения использования CPU; увеличение в производительности I/O является увеличенной производительностью I/O, результирующей из увеличения рабочих потоков для обработки машин VM, по сравнению с отсутствием увеличения рабочих потоков для обработки машин VM, и может выражаться посредством величины увеличения производительности I/O и/или скорости увеличения производительности I/O. Следует отметить, что настоящее изобретение не ограничивает то, как сравнивать увеличение в использовании CPU и увеличение в производительности I/O, два способа измерения обеспечиваются здесь только для цели иллюстрации. Если величина увеличения производительности I/O больше, чем величина увеличения использования CPU, или скорость увеличения производительности I/O больше, чем скорость увеличения использования CPU, определяется, что рабочие потоки для обработки машин VM должны увеличиваться.

Дополнительно, если текущая средняя производительность I/O меньше, чем второе пороговое значение, до этапа уменьшения, посредством хоста, рабочих потоков для обработки машин VM между внешними устройствами и внутренними устройствами множества машин VM, способ дополнительно включает в себя:

Хост определяет, ведет ли уменьшение в использовании CPU, результирующее из уменьшения рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, к неспособности реагировать на производительность множества машин VM; если уменьшение в использовании CPU, результирующее из уменьшения рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, не ведет к неспособности реагировать на производительность множества машин VM, выполняет этап уменьшения, посредством хоста, рабочих потоков между внешними устройствами и внутренними устройствами множества машин VM, то есть, если результирующее уменьшение в использовании CPU ведет к неспособности реагировать на производительность множества машин VM, рабочие потоки не уменьшаются.

Необязательно, для множества машин VM могут устанавливаться приоритеты, так что машина VM с высоким приоритетом поддерживает эксклюзивное занятие рабочего потока и имеет выделенный канал I/O, и ресурс канала I/O, эксклюзивно занимаемый упомянутой машиной VM с высоким приоритетом, не затрагивается независимо от всей загрузки I/O хоста; и для машин VM с одним и тем же приоритетом, для увеличения или уменьшения рабочих потоков может использоваться для обработки вышеупомянутый способ.

Следует отметить, что ресурс канала I/O включает в себя рабочий поток для обработки машины VM и очередь во внешнем устройстве и внутреннем устройстве машины VM.

S203. Согласно рабочим потокам для обработки машин VM после увеличения или уменьшения хост отдельно регулирует отношение сопоставления между очередями во внешних устройствах и внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM.

Отношение сопоставления включает в себя: отношение сопоставления между очередями во внешних устройствах множества машин VM и рабочими потоками для обработки машин VM и отношение сопоставления между очередями во внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM. Хост отдельно регулирует отношение сопоставления, так что между внешними устройствами множества машин VM и внутренними устройствами множества машин VM формируется множество каналов передачи данных.

Конкретно, обработка, на которой хост отдельно регулирует, согласно рабочим потокам для обработки машин VM после увеличения или уменьшения, отношение сопоставления между очередями во внешних устройствах множества машин VM и рабочими потоками для обработки машин VM и отношение сопоставления между очередями во внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM, включает в себя:

Когда количество рабочих потоков для обработки машин VM после увеличения или уменьшения меньше, чем количество машин VM, работающих на хосте, хост сопоставляет каждый рабочий поток очереди во внешнем устройстве каждой машины VM и очереди во внутреннем устройстве каждой машины VM, или когда количество рабочих потоков для обработки машин VM после увеличения или уменьшения больше или равно количеству машин VM, работающих на хосте, хост сопоставляет эксклюзивно используемый рабочий поток очереди во внешнем устройстве и очереди во внутреннем устройстве машины VM, сопоставляет совместно используемый рабочий поток очередям, которые находятся во внешних устройствах и внутренних устройствах, по меньшей мере, двух машин VM и не соответствуют эксклюзивно используемому рабочему потоку, где рабочие потоки для обработки машин VM включают в себя эксклюзивно используемый рабочий поток и совместно используемый рабочий поток. Следует отметить, что вышеупомянутые режимы регулировки соответственно соответствуют режиму совместного использования и гибридному режиму, и совместно используемый и гибридный режимы описываются конкретно на фиг. 3 и фиг. 4.

Дополнительно, после того, как хост отдельно регулирует, согласно рабочим потокам для обработки машин VM после увеличения или уменьшения, отношение сопоставления между очередями во внешних устройствах и внутренних устройствах множества машин VM и рабочими потоками для обработки машин VM, способ регулировки канала I/O на виртуальной платформе дополнительно включает в себя:

хост регулирует отношение сопоставления между очередями во внутренних устройствах множества машин VM и очередями в реальном устройстве хоста, так что между внутренними устройствами множества машин VM и реальным устройством формируется множество каналов передачи данных.

Конкретно, в предшествующем уровне техники, реальное устройство может иметь множество очередей, данные во внутреннем устройстве машины VM выбирают очередь при осуществлении доступа к реальному устройству, чтобы передавать данные посредством использования разных очередей. Эта технология может осуществляться посредством аппаратного драйвера в реальном устройстве. При условии, что внутреннее устройство машины VM в настоящем изобретении также имеет множество очередей, множество очередей во внутреннем устройстве машины VM также может выбираться, когда реальное устройство посылает данные во внутреннее устройство машины VM через мост, так что между внутренним устройством машины VM и реальным устройством формируется множество каналов передачи данных. Поэтому регулировка отношения сопоставления между очередями во внутренних устройствах множества машин VM и очередями в реальном устройстве хоста фактически состоит в том, как выбирать очереди во внутреннем устройстве машины VM, когда реальное устройство посылает данные во внутреннее устройство машины VM через мост.

Обработка того, как выбираются очереди во внутреннем устройстве машины VM, может со