УСТРОЙСТВО ОБРАБОТКИ ИНФОРМАЦИИ, СПОСОБ УПРАВЛЕНИЯ ПРОЦЕССОМ И КОМПЬЮТЕРНАЯ ПРОГРАММА
DEVICE FOR INFORMATION PROCESSING, METHOD FOR PROCESS CONTROL AND COMPUTER PROGRAM

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству обработки информации, способу управления процессом и компьютерной программе. Более конкретно, настоящее изобретение относится к устройству обработки информации, способу управления процессом и компьютерной программе, предназначенным для обработки данных с использованием физического процессора, выделенного для логического процессора в логическом разделе каждой операционной системы (ОС), с разделением времени в среде с множеством операционных систем, в которой функционирует множество ОС.
Уровень техники
В системе с множеством операционных систем (ОС), имеющей множество ОС в одной системе, каждая ОС может выполнять соответствующий процесс с использованием общих для системы аппаратных средств, таких как центральное процессорное устройство (ЦПУ) и запоминающее устройство, при последовательном переключении по времени.
Планирование процессов (задач) для множества ОС выполняют, например, с помощью программы управления разделами. Если ОС(α) и ОС(β) одновременно присутствуют в одной системе, причем процесс ОС(α) представляет собой раздел А и процесс ОС(β) представляет собой раздел В, программа управления разделами определяет планирование работы раздела А и раздела В и на основе определенного плана выполняет процесс ОС с выделенными аппаратными ресурсами.
В патентном документе 1 описана методика управления задачами системы с множеством ОС. В соответствии с патентным документом 1, задачи, предназначенные для выполнения множеством ОС, планируют с использованием приоритетов, устанавливаемых в соответствии со срочностью процесса.
В такой системе с множеством ОС все обрабатываемые данные объекта устанавливают как раздел. Более конкретно, логический раздел устанавливают как объект, который совместно использует ресурсы системы. Разные ресурсы, такие как время использования физического процессора, пространство виртуальных адресов и пространство запоминающего устройства выделяют для логического раздела. Процесс затем выполняют с использованием выделенных ресурсов. Логический процессор, соответствующий какому-либо физическому процессору, устанавливают в логическом разделе и выполняют обработку данных на основе логического процессора. Логический процессор не всегда полностью соответствует физическому процессору. Например, один логический процессор может соответствовать множеству физических процессоров, и множество логических процессоров могут соответствовать одному физическому процессору.
Если множество процессов выполняют параллельно с использованием логического процессора, физический процессор используют с помощью планирования работы множества логических процессоров. Более конкретно, множество логических процессоров используют физический процессор с разделением времени.
Когда множество логических процессоров используют для обработки данных при использовании множества физических процессоров, один из способов повышения эффективности обработки данных состоит в установке и обновлении взаимозависимости выделения между логическим процессором и физическим процессором. Если один физический процессор используют в течение длительного периода времени, температура физического процессора повышается в результате нагрева. Если используют множество физических процессоров, физические процессоры, предпочтительно, соответствующим образом переключают.
[Патентный документ 1] Публикация №2003-345612 находящейся на экспертизе заявки на японский патент
Сущность изобретения
[Проблемы, решаемые изобретением]
Цель настоящего изобретения состоит в создании устройства обработки информации, способа управления процессом и компьютерной программы, предназначенных для установки и обновления соответствующей взаимозависимости выделения между логическим процессором и физическим процессором, для достижения эффективной обработки данных и предотвращения чрезмерного использования физического процессора в течение длительного периода времени в системе обработки данных, в которой используется множество логических процессоров, для обработки данных при использовании множества физических процессоров.
Настоящее изобретение также направлено на устройство обработки информации, способ управления процессом и компьютерную программу, предназначенные для установки и обновления взаимозависимости выделения между логическим процессором и физическим процессором, соответствующим образом, для эффективной обработки данных путем установки и соответствующего обновления таблицы, применяемой для преобразования пространства адреса среди пространства виртуального адреса, пространства адреса логического раздела (виртуального физического адреса) и пространства физического адреса.
[Средство решения проблемы]
В первом аспекте настоящего изобретения устройство обработки информации включает в себя ОС управления, выполняющую процесс выделения множества логических процессоров для физического процессора с разделением времени, гостевую ОС, для которой установлен логический раздел, в качестве прикладного объекта логического процессора. ОС управления устанавливает и обновляет, в качестве таблиц преобразования адреса для определения взаимозависимости выделения между логическим процессором и физическим процессором, две таблицы преобразования адреса, такие как первая таблица преобразования, которая устанавливает взаимозависимость выделения между пространством адреса логического раздела и пространством физического адреса, и вторая таблица преобразования, которая устанавливает взаимозависимость выделения между пространством виртуального адреса в гостевой ОС и пространством физического адреса.
В устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения ОС управления получает физический адрес, соответствующий индексу первой таблицы преобразования, определенный на основе адреса логического раздела, и обновляет физический адрес в соответствии с индексом второй таблицы преобразования, определенный на основе виртуального адреса.
В устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения для переключения взаимозависимости выделения между логическим процессором и физическим процессором, ОС управления получает физический адрес, определенный по индексу первой таблицы преобразования, соответствующей логическому процессору, выделенному для физического процессора, устанавливает недействительными все записи во второй таблице преобразования, содержащей полученный физический адрес, получает индекс первой таблицы преобразования, соответствующей логическому процессору, вновь выделенному для физического процессора, и сохраняет как физический адрес, соответствующий полученному индексу, информацию физического адреса физического процессора с логическим процессором, который должен быть выделен для него.
В устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения физический адрес включает в себя физический адрес регистра ОПВВ физического процессора.
В устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения ОС управления обновляет взаимозависимость выделения между логическим процессором и физическим процессором для переключения одного физического процессора на другой в момент времени, когда время выполнения операции процессом с использованием одного физического процессора достигает заданного порогового значения времени.
В устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения ОС управления обновляет взаимозависимость выделения между логическим процессором и физическим процессором для переключения одного физического процессора на другой в момент времени, когда температура одного физического процессора достигает заданного порогового значения температуры.
В устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения ОС управления устанавливает взаимозависимость выделения между логическим процессором и физическим процессором так, чтобы множество физических процессоров, работающих параллельно, были установлены как группа физических процессоров, соединенных с одной линией питания.
В устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения ОС управления устанавливает взаимозависимость выделения между логическим процессором и физическим процессором на основе статуса доступа физического процессора, обращающегося к запоминающим устройствам, установленным в разных местах в пределах устройства обработки информации, таким образом, что частота обращений физического процессора, обращающегося к запоминающему устройству, расположенному ближе к физическому процессору, становится выше.
Во втором аспекте настоящего изобретения способ управления процессом, предназначенный для обработки данных с использованием множества логических процессоров, выделенных для физического процессора, с разделением времени, включает в себя установку логического раздела для гостевой ОС в качестве прикладного объекта логического процессора и обновление двух таблиц преобразования адреса, таких как первая таблица преобразования, которая устанавливает взаимозависимость выделения между пространством адреса логического раздела и пространством физического адреса, и вторая таблица преобразования, которая устанавливает взаимозависимость выделения между пространством виртуального адреса в гостевой ОС и пространством физического адреса.
В способе управления процессом в соответствии с одним вариантом выполнения настоящего изобретения этап обновления таблицы включает в себя приобретение физического адреса, соответствующего индексу первой таблицы преобразования, определенной на основе адреса логического раздела, и обновление физического адреса в соответствии с индексом второй таблицы преобразования, определенной на основе виртуального адреса.
В способе управления процессом в соответствии с одним вариантом выполнения настоящего изобретения для переключения взаимозависимости выделения между логическим процессором и физическим процессором способ управления процессом дополнительно включает в себя обновление физического адреса, определенного по индексу первой таблицы преобразования, соответствующей логическому процессору, выделенному для физического процессора путем установки недействительными всех записей во второй таблице преобразования, содержащей полученный физический адрес, получение индекса первой таблицы преобразования, соответствующей логическому процессору, вновь выделенному для физического процессора, и сохранение в качестве физического адреса, соответствующего полученному индексу, информации физического адреса физического процессора с логическим процессором, который должен быть выделен для него.
В способе управления процессом в соответствии с одним вариантом выполнения настоящего изобретения в способе управления процессом, предпочтительно, физический адрес включает в себя физический адрес регистра ОПВВ физического процессора.
В способе управления процессом в соответствии с одним вариантом выполнения настоящего изобретения способ управления процессом включает в себя обновление взаимозависимости выделения между логическим процессором и физическим процессором для переключения одного физического процессора на другой в момент времени, когда время выполнения операции процессом с использованием одного физического процессора достигает заданного порогового значения времени.
В способе управления процессом в соответствии с одним вариантом выполнения настоящего изобретения ОС управления включает в себя обновление взаимозависимости выделения между логическим процессором и физическим процессором для переключения одного физического процессора на другой в момент времени, когда температура одного физического процессора достигает заданного порогового значения температуры.
В способе управления процессом в соответствии с одним вариантом выполнения настоящего изобретения ОС управления включает в себя установку взаимозависимости выделения между логическим процессором и физическим процессором так, чтобы множество физических процессоров, работающих параллельно, были установлены как группа физических процессоров, соединенных с одной линией питания.
В способе управления процессом в соответствии с одним вариантом выполнения настоящего изобретения ОС управления включает в себя обновление, устанавливающее взаимозависимость выделения между логическим процессором и физическим процессором на основе статуса доступа физического процессора, обращающегося к запоминающим устройствам, установленным в разных местах в пределах устройства обработки информации таким образом, что физический процессор обращается с более высокой частотой обращения к запоминающему устройству, расположенному ближе к физическому процессору.
В третьем аспекте настоящего изобретения компьютерная программа, предназначенная для обработки данных с использованием множества логических процессоров, выделенных для физического процессора, с разделением времени, включает в себя этап установки логического раздела для гостевой ОС в качестве прикладного объекта логического процессора и этап обновления двух таблиц преобразования адреса, таких как первая таблица преобразования, которая устанавливает взаимозависимость выделения между пространством адреса логического раздела и пространством физического адреса, и вторая таблица преобразования, которая устанавливает взаимозависимость выделения между пространством виртуального адреса в гостевой ОС и пространством физического адреса.
В соответствии с одним вариантом выполнения настоящего изобретения предложена компьютерная программа для универсальной компьютерной системы, выполняющей разнообразные программные коды на считываемом компьютером носителе данных, таком как CD, FD, или МО, или в среде передачи данных, такой как сеть. Благодаря предоставлению компьютерной программы так, что ее может считывать компьютер, компьютерная система выполняет процесс в соответствии с компьютерной программой.
Эти и другие свойства и преимущества настоящего изобретения станут очевидными из следующего описания настоящего изобретения и прилагаемых чертежей. В контексте описания настоящего изобретения система ссылается на логический набор множества устройств и не ограничивается устройством, элементы которого установлены в одном корпусе.
[Преимущества]
В соответствии с вариантами выполнения настоящего изобретения логический процессор выделяют для физического процессора. При этом установлены таблицы, используемые для преобразования адреса между разными пространствами адреса, включающими в себя пространство виртуального адреса, адрес логического раздела (виртуальный физический адрес) и физический адрес. Благодаря соответствующей модификации таблиц преобразования устанавливают и обновляют соответствующую взаимозависимость выделения между логическим процессором и физическим процессором. При этом выполняют эффективную обработку данных.
В соответствии с вариантами выполнения настоящего изобретения в управляющей ОС использует две таблицы преобразования адреса, а именно первую таблицу преобразования, предназначенную для преобразования пространства адреса логического раздела (виртуального физического адреса) в пространство физического адреса, и вторую таблицу преобразования, предназначенную для преобразования пространства виртуального адреса в пространство физического адреса. Благодаря установке и обновлению записи в этих таблицах управляющая ОС обновляет взаимозависимость выделения между логическим процессором и физическим процессором. В зависимости от ситуаций взаимозависимость выделения между логическим процессором и физическим процессором модифицируют. Физический процессор, таким образом, обрабатывает данные с разделением по времени в соответствии с последовательностью обработки данных. Обработку данных выполняют соответствующим образом, с учетом рабочей нагрузки аппаратных средств и на основе программ обработки данных.
В соответствии с вариантами выполнения настоящего изобретения ОС управления выполняет процесс ротации физических процессоров, а именно процесс миграции, путем обновления таблиц преобразования. Такая компоновка позволяет управлять нагревом физического процессора из-за непрерывного его использования в течение длительного периода времени.
В соответствии с вариантами выполнения настоящего изобретения в системе, имеющей группу физических процессоров, соединенных с разными линиями питания, множество логических процессоров, выделяемых для разных физических процессоров, работают параллельно. Благодаря выделению (разделению) логических процессоров и физических процессоров, соединенных с одной линией питания, можно отключать питание группы неработающих физических процессоров. При этом обеспечивают экономию питания.
В соответствии с вариантами выполнения настоящего изобретения таблицу преобразования адреса обновляют для выделения логического процессора, соответствующего каждому процессу, для физического процессора, который расположен ближе к запоминающему устройству, к которому он обращается с более высокой частотой доступа, в системе, имеющей множество запоминающих устройств, расположенных в разных местах в устройстве. В результате такого процесса выделения процессора обеспечивается высокая скорость доступа к данным, что приводит к высокой эффективности обработки данных.
Краткое описание чертежей
На фиг.1 показана блок-схема устройства обработки информации в соответствии с одним вариантом выполнения настоящего изобретения.
На фиг.2 представлена структура модуля процессора устройства обработки информации.
На фиг.3 представлена структура операционной системы в устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения.
На фиг.4 представлено выделение логического процессора физическому процессору с разделением времени.
На фиг.5 представлен процесс выделения между логическим процессором и физическим процессором.
На фиг.6 представлено пространство адреса и таблица преобразования, как механизм преобразования адреса в устройстве обработки информации, в соответствии с одним вариантом выполнения настоящего изобретения.
На фиг.7 представлена первая таблица преобразования, используемая в устройстве обработки информации, в соответствии с одним вариантом выполнения настоящего изобретения.
На фиг.8 представлена вторая таблица преобразования, используемая в устройстве обработки информации, в соответствии с одним вариантом выполнения настоящего изобретения.
На фиг.9 показана блок-схема последовательности операций, представляющая процесс обновления записей в таблице преобразования.
На фиг.10, в частности, представлен процесс обновления записей в процессе преобразования.
На фиг.11 показана блок-схема последовательности операций, представляющая процесс обновления взаимозависимости выделения между логическим процессором и физическим процессором.
На фиг.12, в частности, представлен процесс обновления взаимозависимости выделения между логическим процессором и физическим процессором.
На фиг.13, в частности, представлен процесс обновления взаимозависимости выделения между логическим процессором и физическим процессором.
На фиг.14, в частности, представлен процесс обновления взаимозависимости выделения между логическим процессором и физическим процессором.
На фиг.15, в частности, представлен процесс обновления взаимозависимости выделения между логическим процессором и физическим процессором.
На фиг.16 представлена структура модуля процессора, имеющего таймер и датчик температуры.
На фиг.17 представлен процесс переключения, состоящий в переключении взаимозависимости выделения в зависимости от времени между логическим процессором и физическим процессором.
На фиг.18 представлен процесс переключения, состоящий в переключении взаимозависимости выделения в зависимости от температуры между логическим процессором и физическим процессором.
На фиг.19 представлен процесс исключения физического процессора, который стал дефектным на этапе предварительного выполнения операций или на этапе выполнения операции, из кандидатов выделения для логического процессора.
На фиг.20 представлена компоновка, которая определяет взаимозависимость выделения между логическим процессором и физическим процессором на основе взаимозависимости между физическим процессором и используемым источником питания.
На фиг.21 представлен процесс выделения, состоящий в выделении логического процессора для физического процессора на основе доступа к физическому процессору.
На фиг.22 представлен процесс выделения, состоящий в выделении логического процессора для физического процессора на основе доступа к физическому процессору.
На фиг.23 представлен процесс выделения, состоящий в выделении логического процессора для физического процессора на основе доступа к физическому процессору.
Подробное описание изобретения
Устройство обработки информации, способ управления процессом и компьютерная программа описаны ниже со ссылкой на чертежи.
Структура аппаратных средств устройства обработки информации в соответствии с одним вариантом выполнения настоящего изобретения описана ниже со ссылкой на фиг.1. Модуль 101 процессора включает в себя множество процессоров (блоков обработки) и обрабатывает данные в соответствии с различными программами, сохраненными в ПЗУ (постоянном запоминающем устройстве) 104 и на НЖМД (HDD) 123, включая операционные системы (ОС) и прикладные программы, работающие под управлением ОС.
Модуль 101 процессора будет описан ниже со ссылкой на фиг.2.
В соответствии с командой, вводимой через модуль 101 процессора, графический механизм 102 генерирует данные, предназначенные для отображения на экране дисплея, который образует выходной модуль 122, например выполняет процесс вычерчивания трехмерного графического изображения. В основном запоминающем устройстве (динамическое оперативное запоминающее устройство, ДОЗУ, DRAM) 103 записана программа, выполняемая модулем 101 процессора, и параметры, которые изменяются в ходе выполнения программы. Эти элементы взаимно соединены через главную шину 111, включающую в себя шину ЦПУ.
Главная шина 111 соединена с внешней шиной 112, такой как шина PCI (PCI, межсоединение/интерфейс периферийных компонентов) через мост 105. Мост 105 управляет данными, поступающими и выводимыми между главной шиной 111, внешней шиной 112, контроллером 106, картой 107 памяти и другими устройствами.
Входной блок 121 вводит информацию во входное устройство, такое как клавиатура и устройство-указатель, с использованием которых выполняет операции пользователь. Выходной блок 122 включает в себя блок вывода изображения, такой как один из жидкокристаллического дисплея и ЭЛТ (электронно-лучевая трубка), а также устройство вывода звука, такое как громкоговоритель.
НЖМД (накопитель на жестком магнитном диске) 123 выполняет привод жесткого диска, расположенного в нем, записывая, таким образом, или воспроизводя программу для выполнения модулем 101 процессора и информацию.
Привод 124 считывает данные и программы, записанные на загруженном съемном носителе 127 записи, таком как магнитный диск, оптический диск, магнитооптический диск, полупроводниковое запоминающее устройство или тому подобное, и передает данные и программы в основное запоминающее устройство (ДОЗУ) 103 через интерфейс 113, внешнюю шину 112, мост 105 и главную шину 111.
Соединительный порт 125 соединен с внешним устройством 128 и может включать в себя шину USB (USB, универсальная последовательная шина), IEEE 1394 или тому подобное. Соединительный порт 125 соединен с процессорным модулем 101 через интерфейс 113, внешнюю шину 112, мост 105 и главную шину 111. Модуль 126 передачи данных, соединенный с сетью, передает данные, передаваемые из НЖМД 123 или подобного, и принимает данные, поступающие извне.
Структура модуля 101 процессора описана ниже со ссылкой на фиг.2. Как показано на чертеже, модуль 200 процессора включает в себя группу 201 основного процессора, включающую в себя множество модулей основного процессора, и группы 202-20n подпроцессоров, каждая из которых включает в себя множество блоков подпроцессоров. Каждая группа дополнительно включает в себя контроллер запоминающего устройства и вторичный кэш. Группы 201-20n процессоров, каждая их которых включает в себя, например, восемь блоков процессоров, соединены с использованием одной из архитектур поперечной линии (cross-bar architecture) и сети обмена пакетами. В соответствии с командой основного процессора группы 201 основного процессора, по меньшей мере, один их подпроцессоров из множества групп 202 - 20n подпроцессоров выбирают для выполнения заданной программы.
Контроллер потока памяти в каждой группе процессоров управляет вводом данных в основное запоминающее устройство 103 и выводом данных их него, как показано на фиг.1. Вторичный кэш выполняет функцию области памяти для обработки данных в каждой группе процессоров.
Операционные системы (ОС) устройства обработки информации в соответствии с одним вариантом выполнения настоящего изобретения описаны ниже со ссылкой на фиг.3. Устройство обработки информации с множеством ОС имеет множество операционных систем (ОС), расположенных в виде структуры логической уровней, как показано на фиг.3.
Как показано на фиг.3, основная ОС 301 расположена на нижнем уровне. Множество вспомогательных ОС 302, 303 и 304 расположены на верхних уровнях. Вспомогательные ОС 302 и 303 представляют собой гостевые ОС, и вспомогательные ОС 304 представляют собой ОС управления системой. Вместе с ОС 304 управления системой основная ОС 301 формирует логический раздел в качестве модуля выполнения каждого процесса, выполняемого модулем процессора 101, который описан со ссылкой на фиг.1 и 2, и для каждого логического раздела выделяет аппаратные ресурсы системы (например, основные процессоры, подпроцессоры, запоминающие устройства и другие устройства, в качестве вычислительных ресурсов).
Гостевые ОС 302 и 303, в качестве вспомогательных ОС, представляют собой игровую ОС, Windows (зарегистрированный товарный знак), Linux (зарегистрированный товарный знак) и т.д. и работают под управлением основной ОС 301. Хотя только две гостевые ОС 302 и 303 представлены на фиг.3, количество гостевых ОС не ограничено двумя.
Гостевые ОС 302 и 303 работают в пределах логических разделов, установленных основной ОС 301 и ОС 304 управления системой. Гостевые ОС 302 и 303 обрабатывают различные данные с использованием аппаратных ресурсов, таких как основные процессоры, подпроцессоры, запоминающие устройства и устройства, каждое из которых выделено для логического раздела.
Гостевая ОС (а) 302 использует аппаратные устройства, включающие в себя основной процессор, подпроцессор, запоминающее устройство и устройство, выделенное для логического раздела 2, установленного ОС 301 управления и ОС 304 управления системой, выполняя, таким образом, прикладную программу 305, соответствующую гостевой ОС (а) 302. Гостевая ОС (b) 303 использует аппаратные ресурсы, включающие в себя основной процессор, подпроцессор, запоминающее устройство и устройство, выделенное для логического раздела "n", выполняя, таким образом, прикладную программу 306, соответствующую гостевой ОС (b) 303. Основная ОС 301 предоставляет гостевой ОС интерфейс программирования, требуемый для выполнения гостевой ОС.
ОС 304 управления системой, как одна из вспомогательных ОС, генерирует программу 307 управления системой, содержащую программу управления логическим разделом, и выполняет управление операциями, в соответствии с программой 307 управления системой, вместе с основной ОС 301. Программа 307 управления системой управляет политикой системы с использованием интерфейса программирования программы управления системой. ОС 301 управления предоставляет для прикладной программы 306 интерфейс программирования программы управления системой. Например, программа 307 управления системой разрешает гибкую настройку, например, устанавливая верхний предел выделения ресурсов.
Программа 307 управления системой управляет поведением системы с использованием интерфейса программирования программы системы управления. Например, программа 307 управления системой формирует новый логический раздел и начинает новую гостевую ОС в этом логическом разделе. В системе, в которой работают множество гостевых ОС, гостевые ОС инициируют в порядке, запрограммированном программой 307 управления системой. Программа 307 управления системой может принимать и проверять запросы на выделение ресурсов, передаваемые из гостевой ОС перед их приемом основной ОС 301, модифицирует политику системы и сама отклоняет запрос. Таким образом, ни одна из конкретных гостевых ОС не может монополизировать ресурсы. Программа, в которой воплощена политика системы, представляет собой программу управления системой.
Основная ОС 301 выделяет конкретный логический раздел (например, логический раздел 1, как показано на фиг.3) для ОС 304 управления системой. Основная ОС 301 выполняет операции в режиме гипервизора. Гостевая ОС выполняет операции в режиме супервизора. ОС 304 управления системой и прикладная программа работают в режиме решения задач пользователя (режим пользователя).
Логический раздел представляет собой объект, принимающий выделение ресурсов в системе. Например, основное запоминающее устройство 103 разделено на несколько областей (см. фиг.1), и каждому логическому разделу предоставляют право использовать соответствующую область. Типы ресурсов, выделенные для логических разделов, приведены ниже.
a) Время использования блока физического процессора.
b) Пространство виртуального адреса.
c) Память, доступная для программы, работающей в логическом разделе.
d) Память, используемая ОС управления, для управления логическими разделами.
e) Порт события.
f) Право на использование устройства.
g) Раздел кэша.
h) Право на использование шины.
Как описано выше, каждая ОС работает в пределах логического раздела. ОС монополизирует ресурсы, выделяемые для логического раздела, для обработки множества данных. Во многих случаях один раздел гостевой ОС формируют для каждой гостевой ОС, функционирующей в системе. Каждому логическому разделу присваивают уникальный идентификатор. ОС 304 управления системой управляет программой управления системой, сгенерированной как информация управления логическим разделом, путем ассоциирования программы управления системой с идентификатором.
Логический раздел генерируют с помощью основной ОС 301 и ОС 304 управления системой. Непосредственно после формирования логический раздел не имеет каких-либо ресурсов, и при этом не установлены какие-либо ограничения по доступным ресурсам. Логический раздел принимает одно из двух состояний, активное состояние и конечное состояние. Логический раздел немедленно после формирования принимает активное состояние. Логический раздел переходит в конечное состояние в соответствии с запросом гостевой ОС, работающей в логическом разделе, и останавливает все логические процессоры, выделенные для логического раздела.
Логический процессор представляет собой процессор, выделенный для логического раздела, и соответствует какому-либо из физических процессоров, а именно процессору из группы процессоров по фиг.2. Логический процессор и физический процессор не всегда взаимно-однозначно соотносятся друг с другом. Один логический процессор может соответствовать множеству физических процессоров. В качестве альтернативы, множество логических процессоров могут соответствовать одному физическому процессору. Соответствие между логическим процессором и физическим процессором определяют с помощью основной ОС 301.
Основная ОС 301 имеет функцию ограничения количества ресурсов, доступных для каждого логического раздела. Ограничение может быть установлено для степени использования ресурсов, которые гостевая ОС 302 и гостевая ОС 303 могут выделять и высвобождать без связи с ОС 304 управления системой.
Каждый логический раздел включает в себя порт сигнала управления. Различные сигналы управления, требуемые для обмена данными и совместного использования логических разделов поступают в порт сигнала управления. Сигналы управления представлены ниже.
a) Запрос на подключение портов события между логическими разделами.
b) Запрос на подключение каналов сообщения между логическими разделами.
c) Запрос на подключение совместно используемой области памяти.
Сигнал управления, поступающий в каждый логический раздел, устанавливают в очередь с помощью порта сигнала управления. При этом не установлен какой-либо предел глубины очереди в пределах диапазона, разрешенного ресурсом памяти. Ресурс памяти, требуемый для формирования очереди, резервируют из логического раздела, который принимает сигнал управления. Для того чтобы получить сигнал управления из порта, вызывают интерфейс программирования гостевой ОС. Когда сигнал управления поступает в пустой порт сигнала управления, событие может быть передано в любой порт события. Порт события определяют путем вызова интерфейса программирования гостевой ОС.
ОС управления предоставляет логическому разделу логический подпроцессор в абстрактной форме физического подпроцессора в качестве ресурса (вычислительного ресурса). Как описано выше, физический подпроцессор не связан с логическим подпроцессором во взаимно-однозначном соответствии, и при этом не требуется, чтобы количество физических подпроцессоров было идентично количеству логических подпроцессоров. В случае необходимости ОС управления может, таким образом, привести в соответствие один физический подпроцессор с множеством логических подпроцессоров.
Если количество логических подпроцессоров больше, чем количество физических подпроцессоров, ОС управления использует физические подпроцессоры с разделением времени. Логический подпроцессор может многократно останавливать и затем возобновлять выполнение операции. Гостевая ОС может отслеживать такие изменения.
Данные обработки объекта установлены как раздел. Более конкретно, логический раздел устанавливают как объект, который совместно использует ресурсы в системе. Различные ресурсы, такие как время использования физического процессора, пространство виртуального адреса и пространство памяти выделяют для логического раздела. Процесс затем выполняют с использованием выделенных ресурсов. Логический процессор, соответствующий любому физическому процессору, устанавливают в логическом разделе, и обработку данных выполняют на основе логического процессора. Логический процессор не всегда соответствует физическому процессору во взаимнооднозначном соответствии. Например, один логический процессор может соответствовать множеству физических процессоров, и множество логических процессоров могут соответствовать одному физическому процессору.
Если множество процессов выполняют параллельно с использованием логического процессора, физический процессор используют путем планирования множества логических процессоров. Более конкретно, множество логических процессоров используют физический процессор с разделением времени.
Со ссылкой на фиг.4 описано, как используется физический процессор с разделением времени. Как показано на фиг.4(а), один логический процессор, соответствующий одной основной ОС и вспомогательной ОС, выделяют для одного физического процессора. Логический процессор (а) монополизирует физический процессор (1), и логический процессор (b) монополизирует физический процессор (2).
Как показано на фиг.4(b), множество логических процессоров, назначенных для одного физического процессора, выполняют процесс с разделением времени. Физический процессор 1 используют с разделением времени в порядке логических процессоров (с)→(а)→(с)→(а)→(b)→(с)→(b). Работу каждого логического процессора выполняют в соответствии с процессом одной из основной ОС и вспомогательной ОС. Физический процессор (2) используют с разделением времени в порядке работы логических процессоров (b)→(d)→(b)→(d)→(с)→(d)→(а). При этом работу каждого логического процессора выполняют в соответствии с процессом одной из основной ОС и вспомогательной ОС.
Соответствие между физическим процессором и логическим процессором описано ниже со ссылкой на фиг.5. На фиг.5 представлена структура одного основного процессора 401 и физических подпроцессоров 411-414, и временная последовательность работы физического подпроцессора (2) и физического подпроцессора (4), работающих с разделением времени.
Как показано на фиг.5, логические подпроцессоры выделяют для физического подпроцессора (2) в режиме разделения времени, как указано ниже.
Временной интервал ta0-ta1: логический подпроцессор (а)
временной интервал ta1-ta2: логический подпроцессор (b)
временной интервал ta2-ta3: логический подпроцессор (с)
временной интервал ta3-: логический подпроцессор (а).
В каждом временном интервале каждый логический подпроцессор выполняет процесс с использованием физического подпроцессора (2).
Логические подпроцессоры совместно используют физический подпроцессор (4), как представлено ниже.
Временной интервал tb0-tb1: логический подпроцессор (b)
временной интервал tb1-tb2: логический подпроцессор (с)
временной интервал tb2-tb3: логический подпроцессор (а)
временной интервал tb3-: логический подпроцессор (b).
В каждом выделенном временном интервале каждый логический подпроцессор выполняет процесс с использованием физического подпроцессора (4).
Логическое подпроцессоры разделяют время физических процессоров для выполнения соответствующих процессов. Для возобновления операции обработки данных с помощью физического процессора во время следующего временного интервала выделения каждый логический подпроцессор должен содержать информацию статуса, такую как информация о состоянии аппаратных средств во время ожидания обработки данных. Информация статуса содержит содержание локального накопителя физического процессора и содержание регистра ОПВВ (MMIO, отображаемая память входа и выхода). ОПВВ (отображаемая память входа и выхода) представляет собой механизм управления входом и выходом, предназначенный для управления аппаратными средствами при отображении памяти. ОПВВ выполняет процесс записи и процесс считывания с использованием конкретного местоположения в памяти, управляя, таким образом, аппаратными средствами.
В то время как логический подпроцессор выделяют для физического процессора, область ОПВВ и локальную область накопителя физического процессора, учитывающего состоянием логического подпроцессора, отображают для области в пространстве адреса логического раздела, соответствующей логическому подпроцессору.
Пространство адреса и механизм преобразования адреса (отображение), определенные в устройстве обработки информации в соответствии с одним вариантом выполнения настоящего изобретения, описаны ниже со ссылкой на фиг.6.
На фиг.6 представлено пространство 501 адреса логического раздела (виртуального физического адреса), пространство 502 виртуального адреса, пространство 503 физического адреса и механизм преобразования адреса пространства адреса, первая таблица 521 преобразования, преобразующая пространство 501 адреса логического раздела (виртуальный физический адрес) в пространство 503 физического адреса, и вторая таблица 522 преобразования, преобразующая пространство 502 виртуального адреса в пространство 503 физического адреса.
Пространство 501 адреса логического раздела (виртуальный физический адрес) представляет собой пространство адреса в абстрактной форме пространства 503 физического адреса, и его формируют в то же время, когда программа управления системой формирует логический раздел. Пространство (виртуальный физический адрес) 501 адреса логического раздела содержит область, к которой может обращаться логический процессор. Пространство 501 адреса логического раздела (виртуальный физический адрес) установлено для каждого логического раздела, установленного в соответствии с гостевой ОС, которая была описана выше, со ссылкой на фиг.3.
Пространство 502 виртуального адреса непосредственно используется гостевой ОС. Гостевая ОС, в случае необходимости, генерирует новый виртуальный адрес. Гостевая ОС может генерировать множество пространств виртуального адреса в логическом разделе, если это необходимо. Пространство 503 физического адреса представляет собой реальное пространство адреса. Адрес в пространстве 503 физического адреса используется для указания цели доступа по шине.
Первую таблицу 521 преобразования и вторую таблицу 522 преобразования используют для преобразования пространства адреса. Первая таблица 521 преобразования преобразует пространство адреса логического раздела (виртуальный физический адрес) в пространство 503 физического адреса. Структура первой таблицы 521 преобразования описана ниже со ссылкой на фиг.7.
Как показано на фиг.7, первая таблица преобразования имеет индекс, номер страницы пространства адреса логического раздела (виртуальный физический адрес), для ссылки на соответствующее пространство физического адреса. В качестве номера страницы пространства физического адреса установлен физический адрес регистра ОПВВ физического процессора. Конкретный физический процессор идентифицируют по установленному физическому адресу. Номер страницы пространства адреса логического раздела (виртуальный физический адрес), в качестве индекса, доступен для логического процессора. Логический подпроцессор выделяют для физического подпроцессора в соответствии с первой таблицей преобразования.
Эффективный физический адрес (null), обозначающий, что соответствующая запись является недействительной, установлен как номер страницы физического адреса (физический адрес регистра ОПВВ физического процессора), к которому обращаются в соответствии с индексом (номером страницы пространства адреса логического раздела (виртуальный физический адрес)). В случае необходимости ОС управления обновляет значение физического адреса.
Вторая таблица преобразования описана ниже со ссылкой на фиг.8. Вторая таблица преобразования используется для преобразования пространства 502 виртуального адреса в пространство 503 физического адреса. Вторая таблица преобразования, в качестве индекса, содержит номер страницы пространства виртуального адреса, и с помощью этой страницы ссылаются на соответствующее пространство физического адреса. Физический адрес регистра ОПВВ физического процессора установлен как номер страницы пространства физического адреса. Конкретный физический подпроцессор идентифицируют на основе установленного физического адреса. Гостевая ОС может обращаться к номеру страницы пространства виртуального адреса, который используется в качестве индекса. Процесс выполняется физическим подпроцессором, идентифицированным по взаимозависимости выделения во второй таблице преобразования.
Эффективный физический адрес или значение, обозначающее, что соответствующая запись (null) является недействительной, устанавливают в номере страницы физического адреса (физический адрес регистра ОПВВ физического процессора), к которому обращаются в соответствии с индексом (номер страницы пространства адреса логического раздела). В случае необходимости ОС управления обновляет значение физического адреса.
Последовательность обработки обновления записи первой таблицы преобразования и второй таблицы преобразования, выполняемая ОС управления, описана ниже со ссылкой на фиг.9 и 10. В этом процессе обновления логический процессор, в соответствии с логическим разделом, выделяют для физического процессора.
Последовательность обработки обновления записи таблиц описана ниже со ссылкой на блок-схему последовательности операций, показанную на фиг.9. На этапе S101 индекс первой таблицы преобразования рассчитывают на основе адреса логического раздела (виртуальный физический адрес). Адрес логического раздела (виртуальный физический адрес) представляет адрес в пространстве адреса, установленный для каждого раздела, установленного в соответствии с гостевой ОС, как описано со ссылкой на фиг.3. Определяют индекс первой таблицы преобразования, соответствующей адресу. На этапе S102 физический адрес определяют с помощью первой таблицы преобразования в соответствии с определенным индексом.
*** Этот процесс описан ниже со ссылкой на фиг.10. Индекс [qqqqq] 621 первой таблицы преобразования 620 определяют из адреса логического раздела (виртуальный физический адрес) 610. Затем определяют физический адрес [uuuuu] 622, соответствующий индексу [qqqqq] 621. Адрес 610 логического раздела представляет собой адрес в пространстве адреса, соответствующем логическому разделу, установленному в одной из гостевой ОС по фиг.3, и используется логическим подпроцессором 600 в соответствии с логическим разделом.
На этапе S103 из виртуального адреса рассчитывают индекс второй таблицы преобразования. На этапе S104 обновляют вторую таблицу преобразования.
Этот процесс описан ниже со ссылкой на фиг.10. Индекс [ааааа] 641 второй таблицы 620 преобразования определяют из виртуального адреса 630. Обновляют физический адрес [uuuuu] 642, соответствующий индексу [ааааа] 641. В результате физический подпроцессор, доступ к которому осуществляют через адрес 610 логического раздела (виртуальный физический адрес), и физический подпроцессор, доступ к которому осуществляет через виртуальный адрес, устанавливают как один и тот же физический подпроцессор 650, как показано на фиг.10. Виртуальный адрес 630 представляет собой адрес в пространстве виртуального адреса, установленном в логическом разделе, в одной из гостевой ОС по фиг.3, и используется логическим подпроцессором 600 в соответствии с логическим разделом.
Логический подпроцессор выделяют для физического подпроцессора путем обновления таблицы преобразования. Логический подпроцессор, ассоциированный с логическим разделом, может выполнять процесс путем применения физического подпроцессора, ассоциированного с первой таблицей преобразования и второй таблицей преобразования.
Процесс переключения логического подпроцессора описан ниже со ссылкой на блок-схему последовательности операций по фиг.11 и примеры процесса, показанные на фиг.12 и 13. В процессе переключения логического подпроцессора на физический подпроцессор отменяют взаимозависимость выделения в отношении физического подпроцессора, соответствующего логическому подпроцессору, выполняющему обработку данных в логическом разделе, соответствующем гостевой ОС по фиг.3, и другой логический подпроцессор выделяют для нового физического подпроцессора. Более конкретно, обновляют взаимозависимость выделения между логическим подпроцессором и физическим подпроцессором. Этот процесс выполняют с помощью ОС управления.
На этапе S201 получают индекс первой таблицы преобразования, соответствующей логическому подпроцессору, выделенному для физического подпроцессора, которому требуется обновление выделения. На этапе S202 на основе полученного индекса получают физический адрес.
Этот процесс описан ниже со ссылкой на фиг.12. Для физического подпроцессора а701 требуется обновление выделения. Индекс первой таблицы 703 преобразования, соответствующий логическому подпроцессору а702, который выделяют для физического подпроцессора а701, представляет собой индекс [qqqqq] 704. На этапе S201 получают индекс [qqqqq] 704, и на этапе S202 получают физический адрес [uuuuu] 705 на основе индекса [qqqqq] 704.
На этапе S203 все записи, содержащие физический адрес [uuuuu], делают недействительным, сбрасывая в [null] во второй таблице преобразования. Например, как показано на фиг.12, запись 711 содержащую физический адрес [uuuuu], во второй таблице 710 преобразования, делают недействительной, сбрасывая ее в [null]. На фиг.12 показана только одна запись, имеющая физический адрес [uuuuu]. Может присутствовать множество записей, имеющих физический адрес [uuuuu]. Если присутствует множество записей, имеющих физический адрес [uuuuu], все эти записи делают недействительными, сбрасывая их в [null]. В результате такого процесса логический подпроцессор а702 не может использовать физический подпроцессор а701 при обработке данных.
На этапе S204 получают индекс первой таблицы преобразования, соответствующей логическому подпроцессору, который должен быть выделен для нового физического подпроцессора. На этапе S205 физический адрес регистра ОПВВ физического подпроцессора, которому требуется новое выделение, сохраняют в первой таблице преобразования.
Этот процесс описан ниже со ссылкой на фиг.13. Требуется выделить логический подпроцессор β721 для физического подпроцессора а701. На этапе S204 получают индекс первой таблицы 703 преобразования, соответствующей логическому подпроцессору β721, а именно индекс [rrrrr] 722. На этапе S205 физический адрес [uuuuu] регистра ОПВВ физического подпроцессора а701 сохраняют в первой таблице 703 преобразования.
С помощью этого процесса логический подпроцессор β721 выделяют для физического подпроцессора а701 и непрерывно выполняют процесс логического подпроцессора р721.
Выполняют процесс обновления записи, описанной со ссылкой на фиг.11. Этот процесс описан ниже со ссылкой на фиг.14. Индекс [bbbbb] 841 второй таблицы 840 преобразования определяют на основе виртуального адреса 830. Физический адрес, соответствующий индексу [bbbbb] 841, обновляют в [uuuuu] 842. В результате физический подпроцессор, к которому обращаются по адресу 810 логического раздела (виртуальному физическому адресу), и физический подпроцессор, к которому обращаются по виртуальному адресу, устанавливают как один и тот же физический подпроцессор а701, как показано на фиг.14.
В приведенном выше описании вновь выделяют логический процессор, отличающийся от логического процессора, выделенного в настоящее время для физического процесса. В качестве альтернативы заменяют физический процессор с логическим процессором, выделенным для него. Как показано на фиг.15, логический подпроцессор а600, выделяют для физического подпропессора b651 путем сохранения физического адреса [vvvvv] 622 регистра ОПВВ физического подпроцессора b651 в первой таблице 620 преобразования.
Операцию переключения физического процессора выполняют для переключения процессоров для предотвращения перегрева, который происходит, если один физический процессор непрерывно обрабатывает данные. Когда время непрерывной работы одного физического процессора достигает максимального времени непрерывной работы процессора, ОС управления выполняет операцию переключения процессора, описанную со ссылкой на фиг.15. Взаимозависимость выделения логического процессора для физического процессора модифицируют для выполнения процесса с использованием нового физического процессора.
Как показано на фиг.16, модуль 200 процессора включает в себя блоки 252-25n таймера в каждой из групп 202-20n подпроцессоров. Блоки 252-25n таймера измеряют время обработки групп 202-20n подпроцессоров, используемых в качестве физических процессоров. Через постоянные периоды времени взаимозависимость выделения между логическим процессором и физическим процессором обновляют. Датчики 271-273 и 281-283 температуры расположены рядом с физическими процессорами, используемыми как блоки подпроцессоров по фиг.16, для детектирования подъема температуры каждого процессора. Если детектируемая температура достигает заданного порогового значения температуры, взаимозависимость выделения между логическим процессором и физическим процессором переключают для контроля над чрезмерным повышением температуры.
Для переключения взаимозависимости выделения между логическим процессором и физическим процессором можно использовать процесс переключения процессоров в зависимости от времени, процесс переключения процессоров в зависимости температуры или комбинацию этих процессов. В процессе переключения процессора в зависимости от времени процессоры переключают через каждый постоянный период времени, в соответствии с временем, измеряемым блоками 252-25n таймера, расположенными в группах 202-20n подпроцессоров. В процессе переключения процессора в зависимости от температуры взаимозависимость выделения между логическим процессором и физическим процессором переключают, когда температура, детектируемая каждым из датчиков 271-273 и 281-283 температуры, расположенных рядом с физическими процессорами, достигает заданного порогового значения температуры. Процесс переключения взаимозависимости выделения между логическим процессором и физическим процессором выполняют с помощью операции переключения процессора, описанной со ссылкой на фиг.15.
На фиг.17 иллюстрируется концепция процесса переключения процессора в зависимости от времени, с помощью которого переключают взаимозависимость выделения между логическим процессором и физическим процессором через каждый постоянный период времени. На фиг 17(а)-(с) представлена взаимозависимость выделения между логическим процессором и физический процессором, которую переключают через каждый предпочтительный период (ti) времени.
(a) Взаимозависимость выделения между логическим процессором и физическим процессором в момент времени Т0
логический процессор α = физический процессор a
логический процессор β = физический процессор b
логический процессор γ = физический процессор с
(b) Взаимозависимость выделения между логическим процессором и физическим процессором в момент времени t1 через период времени ti после момента времени Т0
логический процессор γ = физический процессор а
логический процессор α = физический процессор b
логический процессор β = физический процессор с
(c) Взаимозависимость выделения между логическим процессором и физическим процессором в момент времени Т2 после того, как прошел период времени ti с момента времени T1
логический процессор β = физический процессор а
логический процессор γ = физический процессор b
логический процессор α = физический процессор с
Взаимозависимость выделения затем многократно циклически повторяют в порядке выделения (а)→(b)→(с) через каждый период (ti) времени.
На фиг.18 представлена концепция процесса переключения процессора в зависимости от температуры, с помощью которого переключают взаимозависимость выделения между логическим процессором и физическим процессором в момент, когда температура, детектируемая каждым из датчиков 271-273 и 281-283 температуры (см. фиг.16), расположенных рядом с физическими процессорами, достигает заданного порогового значения температуры. Как показано на фиг.18 (а)-(с), взаимозависимость выделения между логическим процессором и физическим процессором переключают в соответствии с температурой процессоров.
Как показано на фиг.18 (а), взаимозависимость выделения между логическим процессором и физическим процессором переключают следующим образом,
логический процессор α = физический процессор a
логический процессор β = физический процессор b
логический процессор γ = физический процессор с
Если температура физического процессора достигает и превышает заданное пороговое значение температуры, взаимозависимость выделения логического подпроцессора а, который выделен для физического подпроцессора а, и логического подпроцессора b, который выделен для физического подпроцессора b, переключают на обратную, как показано на фиг.18 (b).
логический процессор β = физический процессор а
логический процессор α = физический процессор b
логический процессор γ = физический процессор с
В таком процессе переключения логический подпроцессор а, который, предположительно, выполняет процесс, требующий высокой производительности, переключают с физического процессора а на физический процессор b при его выделении. Процесс, выполняемый логическим процессором а, таким образом, непрерывно выполняется другим отдельным физическим процессором с контролем над чрезмерным повышением температуры.
Вместо переключения взаимозависимости выделения в соответствии с детектированием подъема температуры процессора с помощью датчика температуры можно использовать блок таймера для переключения взаимозависимости выделения между физическим процессором, имеющим наивысшую температуру, и физическим процессором, который имеет самую низкую температуру, через постоянный период времени. Благодаря выполнению процесса переключения процессора (процесс миграции), предотвращается чрезмерный подъем температуры в результате использования одного процессора в течение длительного периода времени.
Как описано выше, ОС управления устанавливает и обновляет запись в двух таблицах преобразования адреса, а именно в первой таблице преобразования, предназначенной для преобразования пространства адреса логического раздела в пространство физического адреса, и второй таблицы преобразования, предназначенной для преобразования пространства виртуального адреса в пространство физического адреса, для модификации взаимозависимости выделения между логическим процессором и физическим процессором. В зависимости от ситуации устанавливают и обновляют взаимозависимость выделения логического процессора для физического процессора. Физический процессор, таким образом, обрабатывает данные с разделением времени в соответствии с последовательностью обработки данных. Соответствующую обработку данных выполняют с учетом рабочей нагрузки на аппаратные средства и программы обработки данных.
Для логического раздела, установленного в соответствии с гостевой ОС, процесс логического раздела выполняется непрерывно, даже если физический процессор меняют в результате обновления таблицы преобразования. Гостевая ОС может обрабатывать данные в такой же среде обработки, как и среда, в которой один физический процессор виртуально непрерывно выполняет один и тот же процесс.
Физический процессор, в котором происходит отказ на исходном или последующем этапе его службы, может быть исключен из взаимозависимости выделения логического процессора для физического процессора. Этот процесс описан ниже со ссылкой на фиг.19.
Устройство, имеющее множество физических процессоров, может содержать отказавший физический процессор, который не способен выполнять обработку данных. Такой физический процессор может быть дефектным изначально или может отказать впоследствии во время его службы. Отказавший физический процессор исключают из взаимозависимости выделения.
На фиг.19 представлены четыре физических процессора а-d. Для этих физических процессоров выделяют логические процессоры. Предположим, что физический процессор с изначально является неисправным или стал неисправным впоследствии, во время его работы и не может выполнять функцию обработки данных или работает с низкой производительностью.
Логические процессоры α-δ выделяют для физических процессоров a, b и d. Физический процессор с исключен из взаимозависимости выделения. Как было описано выше, не требуется, чтобы логические процессоры и физические процессоры были выделены друг для друга во взаимно-однозначном соответствии, и количество логических процессоров не обязательно должно равняться количеству физических процессоров.
ОС управления, выполняющая процесс выделения для выделения логического процессора для физического процессора исключает неисправный физический процессор из взаимозависимости выделения и формирует таблицу преобразования адреса, определяющую взаимозависимость выделения между логическим процессором и физическим процессором для выделения логического процессора только для нормально работающих физических процессоров. Если присутствует изначально неисправный физический процессор, сразу формируют таблицу преобразования адреса, в которой этот физический процессор исключен из взаимозависимости выделения. Если какой-либо физический процессор становится неисправным впоследствии, во время его эксплуатации, таблицу преобразования адреса обновляют для исключения неисправного физического процессора из взаимозависимости выделения.
При этом используют только нормальные физические процессоры, и неисправные физические процессоры исключают из работы. Устройство, таким образом, обрабатывает данные без ошибок. Например, в устройстве, которое включает в себя установленную на нем микросхему с n физическими процессорами, логические процессоры выделяют только для m физических процессоров (n>m). Устройство, таким образом, выполняет функцию устройства, имеющего m процессоров.
Если прогнозируется, что множество физических процессоров содержат неисправные процессоры с определенным соотношением, программа обработки данных устройства, имеющего n физических процессоров, предпочтительно, разработана как программа, обрабатывающая данные, с использованием только m физических процессоров (n>m). При использовании такой компоновки, даже если впоследствии происходит отказ физических процессоров в количестве, равном разности между n и m, обработку данных выполняют без возникновения каких-либо проблем.
Взаимозависимость выделения логического процессора для физического процессора установлена при использовании на основе взаимозависимости между физическим процессором и источником питания, как показано на фиг.20. В устройстве, имеющем множество физических процессоров, используют группу физических процессоров с общей линией питания от источника питания. Как показано на фиг.20(А), физический процессор а и физический процессор b получают питание от источника питания А по одной линии 901 питания. Физический процессор с и физический процессор d получают питание от источника В питания по другой линии 902 питания.
Если физический процессор b и физический процессор d обрабатывают данные в течение того же периода времени, во время которого физические процессоры а и с в устройстве не работают, питание от источников А и В питания передают по линиям 901 и 902 питания.
При использовании двух источников питания и двух линий питания потребляется больше энергии, чем при использовании одного источника питания и одной линии питания. Количество источников питания и линий питания, предпочтительно, минимизируют с тем, чтобы сэкономить энергию, если количество одновременно работающих физических процессоров невелико.
ОС управления выполняет процесс выделения логических процессоров для физических процессоров на основе взаимозависимости, которая основана на используемых физических процессорах и источниках питания, и устанавливает и обновляет таблицу преобразования адреса. Как показано на фиг.20 (В), устройство включает в себя физические процессоры а и b, соединенные с одним источником питания по линии 901 питания, и физические процессоры c и d, соединенные с одним источником питания по линии 902 питания. При такой компоновке логические процессоры выделяют только для двух физических процессоров, питание которых осуществляют по одной линии питания.
Как показано на чертеже, для обработки данных логические процессоры выделяют для физических процессоров c и d. Физические процессоры а и b не работают, а именно находятся в неактивном состоянии, и для них не требуется питание. Энергию, таким образом, передают только по линии 902 питания. Таким образом, обеспечивается экономия энергии.
ОС управления, выполняющая процесс выделения логических процессоров для физических процессоров, обращается к таблице взаимозависимости между каждым физическим процессором и источником питания, и устанавливает и обновляет таблицу преобразования адреса, в которой определена взаимозависимость выделения логических процессоров для физических процессоров с тем, чтобы во время обработки минимизировать количество включенных источников питания и количество линий питания. Таким образом обеспечивается экономия энергии.
Со ссылкой на фиг.21-23 ниже будет описано запоминающее устройство, используемое при обработке данных для физического процессора с выделенным для него логическим процессором. Также будет описана установка взаимозависимости выделения логического процессора для физического процессора на основе расположения физических процессоров.
Устройство обработки информации по фиг.21 включает в себя четыре физических процессора а-d и запоминающие устройства Х и Y. При обработке данных каждый из физических процессоров а-d обращается к запоминающим устройствам Х и Y. Запоминающие устройства Х и Y расположены отдельно друг от друга в пределах устройства. Каждый процессор сохраняет данные и считывает данные из запоминающего устройства Х и запоминающего устройства Y через внутреннюю шину 911.
С точки зрения процесса доступа к памяти и процесса передачи данных по шине короткое расстояние между физическим процессором и запоминающим устройством повышает эффективность использования шины и сокращает время доступа и время обработки.
ОС управления отслеживает состояние доступа к памяти физического процессора с логическим процессором, выделенным для него, для выполнения множества различных процессов. В зависимости от состояния доступа ОС управления выделяет логический процессор для физического процессора, который расположен ближе к запоминающему устройству, к которому более часто обращаются.
Блок 921 отслеживания отслеживает взаимозависимость выделения между логическим процессором, установленным для различных процессов, и физическим процессором, выполняющим процесс, соответствующий логическому процессору, и статусом доступа к памяти каждого физического процессора. Блок 921 отслеживания показан как выполненный в виде одного блока. В процессе отслеживания доступа к памяти отслеживают доступ к памяти путем подсчета с использованием аппаратного блока, установленного в каждом отдельном физическом процессоре, с помощью программы отслеживания ОС управления. Процесс отслеживания описан ниже со ссылкой на фиг.22.
На фиг.22 (В) представлен процесс выделения логического процессора для физического процессора, выполняемый в определенной последовательности обработки данных, и доступа к памяти физического процессора. Физические процессоры а-d обращаются к запоминающим устройствам Х и Y. Запоминающее устройство Х и запоминающее устройство Y расположены на некотором расстоянии друг от друга в пределах устройства обработки информации. Запоминающее устройство Х расположено ближе к физическим процессорам а и b, и запоминающее устройство Y расположено ближе к физическим процессорам с и d.
На фиг.22 (А) представлены данные, получаемые в результате процесса отслеживания, выполняемого ОС управления при обработке данных, выполняемой с использованием взаимозависимости выделения логического процессора для физического процессора по фиг.22 (В). Отслеживаемые данные содержат взаимозависимость выделения логического процессора для физического процессора и записанные данные частоты доступа каждого физического процессора к запоминающему устройству Х и запоминающему устройству Y.
Физический процессор выполняет процесс, соответствующий логическому процессору а. Данные показывают, что физический процессор осуществляет доступ к запоминающему устройству Х с частотой, кратной 20, и запоминающему устройству Y с частотой, кратной 7. Для других физических процессоров выделенные логические процессоры и частоты доступа записаны аналогично. Период процесса отслеживания не ограничивается какой-либо временной последовательностью. Процесс отслеживания можно выполнять в течение периода определенного процесса. В качестве альтернативы, процесс отслеживания можно выполнять в течение любого заранее запрограммированного времени.
Как описано со ссылкой на фиг.22 (В), физический процессор а и физический процессор b расположены так, что они находятся ближе к запоминающему устройству X, чем к запоминающему устройству Y. Физические процессоры с и d расположены ближе к запоминающему устройству Y, чем к запоминающему устройству X. Для обеспечения высокой эффективности доступа, короткого времени доступа и малого времени обработки каждый физический процессор, предпочтительно, расположен ближе к запоминающему устройству, к которому более часто обращаются.
Отслеживание результатов по фиг.22 (А) показывает, что физический процессор с логическим процессором а, выделенным для него, имеет подсчет обращений к запоминающему устройству Х, равный [20], и подсчет обращений к запоминающему устройству Y, равный [7]. Подсчет обращений к запоминающему устройству X, которое расположено ближе к физическому процессору а, таким образом, выше, чем подсчет обращений к запоминающему устройству Y. Когда логический процессор а выделен для физического процессора а, обработка выполняется эффективно.
Физический процессор b с логическим процессором у, который выделен для него, имеет подсчет обращений к запоминающему устройству, Х равный [2], и подсчет обращений к запоминающему устройству Y, равный [25]. Подсчет обращений к запоминающему устройству X, которое расположено ближе к физическому процессору b, меньше, чем подсчет обращений к расположенному на большем расстоянии запоминающему устройству Y. Предположительно, эффективность обработки падает, когда логический процессор γ выделен для физического процессора b.
Физический процессор с выделенным для него логическим процессором β имеет подсчет обращений к запоминающему устройству Х, равный [5], и подсчет обращений к запоминающему устройству Y, равный [30]. Подсчет обращений к запоминающему устройству Y, которое расположено ближе к физическому процессору с, больше, чем подсчет обращений к запоминающему устройству X, расположенному дальше. Таким образом, логический процессор β, который выделен для физического процессора с, выполняет эффективную обработку.
Физический процессор d с логическим процессором δ, который выделен для него, имеет подсчет обращений к запоминающему устройству Х, равный [12], и подсчет обращений к запоминающему устройству Y, равный [5]. Подсчет обращений к запоминающему устройству Y, которое расположено ближе к физическому процессору d, меньше, чем подсчет обращений к расположенному на большем расстоянии запоминающему устройству X. При выделении логического процессора δ для физического процессора d эффективность процесса предположительно падает.
На основе результатов отслеживания ОС управления обновляет взаимозависимость выделения логического процессора для физического процессора, для выполнения в следующий раз того же процесса. В зависимости от статуса доступа логический процессор, соответствующий процессу, выделяют для физического процессора, который расположен ближе к запоминающему устройству, имеющему больший подсчет обращений. Как описано выше, ОС управления устанавливает любую взаимозависимость выделения логического процессора для физического процессора путем обновления таблицы преобразования адреса. Основываясь на результатах отслеживания, таблицу преобразования адреса обновляют так, что логический процессор выделяют для физического процессора, расположенного ближе к запоминающему устройству, имеющему более высокий подсчет обращений.
По результатам отслеживания, показанным на фиг.22(А), взаимозависимость выделения
физический процессор а: логический процессор α и
физический процессор с: логический процессор β
работает эффективно, но взаимозависимость выделения
физический процессор b: логический процессор γ и
физический процессор d: логический процессор δ
приводит к снижению эффективности передачи данных. ОС управления обновляет взаимозависимость выделения логического процессора для физического процессора, в результате чего логический процессор, соответствующий процессу, выделяют для физического процессора, который расположен ближе к запоминающему устройству, имеющему больший подсчет обращений.
Взаимозависимость выделения логического процессора для физического процессора после процесса обновления и частота доступа к памяти описаны ниже со ссылкой на фиг.23. ОС управления обновляет взаимозависимость выделения логического процессора для физического процессора путем обновления таблицы преобразования адреса. Более конкретно, таблицу преобразования адреса обновляют так, что логический процессор, соответствующий процессу, выделяют для физического процессора, расположенного ближе к запоминающему устройству, имеющему больший подсчет обращений.
Как показано на фиг.23(С), взаимозависимость выделения логического процессора для физического процессора определена следующим образом
физический процессор а: логический процессор α
физический процессор b: логический процессор δ
физический процессор с: логический процессор β, и
физический процессор d: логический процессор γ.
Если при такой взаимозависимости выделения выполняют тот же процесс, что и процесс, описанный со ссылкой на фиг.22, результаты отслеживания доступа к памяти физического процессора будут представлены на фиг.23(D).
Каждый из физического процессора а с логическим процессором а, который выделен для него, и физического процессора b с логическим процессором δ, который выделен для него, имеет подсчет обращений к ближайшему запоминающему устройству X, который больше, чем подсчет обращений к расположенному дальше запоминающему устройству Y, и, таким образом, обеспечивает высокую эффективность обработки.
Аналогично, каждый физический процессор с выделенным для него логическим процессором β и физический процессор d с выделенным для него логическим процессором γ имеет больший подсчет обращений к расположенному рядом запоминающему устройству Y, чем подсчет обращений к расположенному дальше запоминающему устройству X, и обеспечивает высокую эффективность обработки.
ОС управления, выполняющая процесс выделения логического процессора для физического процессора, обновляет таблицу преобразования адреса в зависимости от статуса доступа к памяти каждого физического процессора с выделенным для него логическим процессором. ОС управления, таким образом, обновляет взаимозависимость выделения логического процессора для физического процессора. Таблицу преобразования адреса обновляют так, что логический процессор выделяют для физического процессора, расположенного ближе к запоминающему устройству, к которому более часто обращаются. Таким образом повышается скорость доступа к данным, и обработку данных выполняют с высокой эффективностью.
Настоящее изобретение было описано со ссылкой на конкретные варианты выполнения. Модификации и изменения вариантов выполнения в пределах сущности настоящего изобретения будут очевидны для специалистов в данной области техники. Варианты выполнения настоящего изобретения были описаны только с целью примера и не предназначены для ограничения объема изобретения. Объем изобретения ограничен только прилагаемой формулой изобретения.
Описанная выше последовательность этапов может быть выполнена с использованием программных средств, аппаратных средств или их комбинации. Если последовательность этапов выполняют с использованием программных средств, программу, формирующую программное средство, устанавливают с носителя записи или через сеть, например, в компьютере, который установлен в структуре аппаратных средств или в компьютере общего назначения.
Программа может быть заранее записана на один из жестких дисков и ПЗУ (постоянное запоминающее устройство), используемое как носитель записи. Программа также может быть временно или постоянно сохранена (записана) на съемном носителе записи. Носители записи включают в себя гибкий диск, CD-ROM (постоянное запоминающее устройство на компакт-диске), МО (магнитооптический) диск, DVD (цифровой универсальный диск), магнитный диск, полупроводниковое запоминающее устройство и т.д. Такой съемный носитель записи может поставляться как упакованное программное средство.
Программа может быть установлена со съемного носителя записи на компьютер. Программа может быть передана по беспроводному каналу связи в компьютер с сайта загрузки. Программа также может быть передана по кабелю через сеть, такую как одна из ЛВС (локальная вычислительная сеть) и сеть Интернет. Программу затем принимают в компьютере и устанавливают на носитель записи, такой как жесткий диск, установленный в компьютере.
Этапы процесса, описанные в данном описании, выполняют последовательно в порядке указанной выше временной последовательности. В качестве альтернативы, этапы можно выполнять параллельно или раздельно. В этом описании система обозначает логическую систему, состоящую из множества устройств, и элементы каждого устройства не обязательно должны быть установлены в одном корпусе.
Промышленная применимость
В соответствии с вариантами выполнения настоящего изобретения логический процессор выделяют для физического процессора. Установлены таблицы, применяемые для адресации преобразования между разными пространствами адреса, включающими в себя пространство виртуального адреса, адрес логического раздела (виртуальный физический адрес) и физический адрес. Путем соответствующей модификации таблиц преобразования устанавливают и обновляют соответствующую взаимозависимость выделения между логическим процессором и физическим процессором. Таким образом, выполняют эффективную обработку данных.
В соответствии с вариантами выполнения настоящего изобретения ОС управления использует две таблицы преобразования адреса, а именно первую таблицу преобразования, предназначенную для преобразования пространства адреса логического раздела (виртуального физического адреса) в пространство физического адреса, и вторую таблицу преобразования, предназначенную для преобразования пространства виртуального адреса в пространство физического адреса. Благодаря установке и обновлению записи в таблицах, ОС управления обновляет взаимозависимость выделения между логическим процессором и физическим процессором. В зависимости от ситуаций взаимозависимость выделения между логическим процессором и физическим процессором модифицируют. Физический процессор, таким образом, обрабатывает данные с разделением времени в соответствии с последовательностью обработки данных. Обработку данных, таким образом, соответственно, выполняют с учетом рабочей нагрузки на аппаратные средства и программы обработки данных.
В соответствии с вариантами выполнения настоящего изобретения ОС управления выполняет процесс ротации физических процессоров, а именно процесс миграции, путем обновления таблиц преобразования. Такая компоновка позволяет контролировать нагрев физического процессора в результате непрерывного использования в течение длительного периода времени.
В соответствии с вариантами выполнения настоящего изобретения в системе, имеющей группу физических процессоров, подключенных к разным линиям питания, множество логических процессоров, выделенных для разных физических процессоров, работают параллельно. Благодаря выделению логических процессоров для физических процессоров, подключенных к одной линии питания, можно отключать питание группы физических процессоров, находящихся в режиме ожидания. Таким образом, обеспечивается экономия энергии.
В соответствии с вариантами выполнения настоящего изобретения таблицу преобразования адреса обновляют для выделения логического процессора, соответствующего каждому процессу, для физического процессора, который расположен ближе к запоминающему устройству, к которому он обращается с более высокой частотой, в системе, имеющей, множество запоминающих устройств, расположенных в разных местах в пределах устройства. Процесс выделения процессора обеспечивает высокую скорость доступа к данным, что обеспечивает высокую эффективность обработки данных.