Устройство обработки данных и способ переноса рабочей нагрузки между исходной и целевой компоновкой схем обработки

Иллюстрации

Показать все

Изобретение относится к устройству обработки данных и способу переключения рабочей нагрузки между первой и второй компоновкой схем обработки, в частности к способу повышения производительности обработки рабочей нагрузки после указанного переключения. Техническим результатом является уменьшение задержки при переключении рабочей нагрузки. В устройстве для сокращения количества выборок из памяти, требуемых целевой компоновкой схем обработки после переноса, кэш исходной компоновки схем обработки поддерживается в состоянии с включенным питанием в течение периода просмотра. В течение периода просмотра, компоновка схем просмотра кэша просматривает значения данных в исходном кэше и извлекает значения данных просмотра для целевой компоновки схем обработки. 3 н. и 28 з.п. ф-лы, 19 ил.

Реферат

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

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

Предшествующий уровень техники

В современных системах обработки данных, различие в требовании к производительности между задачами, требующими большой производительности, например, функционирование игр, и задачами, требующими малой производительности, например, воспроизведение MP3-файлов, может превышать отношение 100:1. В случае использования одного процессора для всех задач, этот процессор должен иметь высокую производительность, но для микроархитектуры процессоров существует аксиома, что высокопроизводительные процессоры менее эффективно используют энергию, чем малопроизводительные процессоры. Известно, что для повышения эффективности использования энергии на уровне процессора (используются) такие способы, как Динамическое масштабирование напряжения и частоты (Dynamic Voltage and Frequency Scaling, DVFS) или выборочная подача питания для обеспечения процессора диапазоном уровней производительности и соответствующими характеристиками потребления энергии. Однако обычно указанных способов становится недостаточно для обеспечения возможности одному процессору брать на себя задачи с указанным расхождением в требованиях к производительности.

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

В статье "Towards Better Performance Per Watt in Virtual Environments on Asymmetric Single-ISA Multi-Core Systems", V Kumar и др., ACM SIGOPS Operating Systems Review, Volume 43, Issue 3 (July 2009) обсуждаются многоядерные системы с Асимметричной единой архитектурой набора команд (Asymmetric Single Instruction Set Architecture, ASISA), состоящие из нескольких ядер, использующих идентичную архитектуру набора команд (ISA), но отличающихся особенностями, сложностью, потреблением энергии и производительностью. В этой статье исследуются свойства виртуализированных рабочих нагрузок для понимания того, как эти рабочие нагрузки должны планироваться в системах ASISA, чтобы повысить производительность и потребление энергии. В этой статье указывается, что определенные задачи больше подходят для микроархитектур с высокой частотой/производительностью (обычно задачи, требующие большого объема вычислений), в то время как другие больше подходят для микроархитектур с меньшей частотой/производительностью, и, как побочный эффект, потребляют меньше энергии (обычно задачи, требующие производительности ввода/вывода). Несмотря на то, что эти исследования показывают то, как можно использовать системы ASISA для выполнения различных задач при эффективном использовании энергии, по-прежнему существует потребность в обеспечении механизма для планирования отдельных задач для более подходящих процессоров. Такое управление планированием обычно является существенной нагрузкой на операционную систему.

В статье "Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction", R Kumar и др., Proceedings of the 36th International Symposium of Microarchitecture (MICRO-36'03) обсуждается многоядерная архитектура, в которой все ядра исполняют идентичный набор команд, но имеют разные возможности и уровни производительности. Во время выполнения, системное программное обеспечение оценивает требования к ресурсам приложения и выбирает ядро, которое лучше других удовлетворяет этим требованиям наряду с тем, что минимизирует потребление энергии. Как обсуждается в разделе 2 этой статьи, во время исполнения приложения, программное обеспечение операционной системы сопоставляет это приложение с разными ядрами, чтобы подобрать ядро, удовлетворяющее определенному критерию выбора, например, конкретному требованию к производительности. В разделе 2.3 отмечается, что существуют затраты на переключение ядер, которые неизбежно влекут за собой ограничение степени разбиения переключения. Далее обсуждается конкретный пример, в котором если операционная система на основе логики принимает решение о переключении, то она включает питание нового ядра, запускает сброс кэша и сохраняет все измененные данные кэша в совместно используемой структуре памяти, и после этого подает сигнал в новое ядро для запуска в предопределенной точке входа в операционной системе. Питание старого ядра может после этого быть выключено, в то время как новое ядро осуществляет выборку данных из памяти. Такой подход описывается в разделе 2.3 как обеспечивающий возможность переключения приложения между ядрами операционной системой. В остальной части статьи обсуждается то, как динамически можно выполнять указанное переключение в условиях многоядерной окружающей среды с целью сокращения потребления энергии.

Несмотря на то что в вышеупомянутой статье обсуждается потенциальная возможность обеспечения сокращения потребления энергии посредством неоднородных многоядерных архитектур с единой ISA, по-прежнему требуется обеспечить операционную систему с достаточной функциональностью для обеспечения возможности принятия решений по планированию отдельных приложений. При переключении между экземплярами процессоров с разными архитектурными особенностями, Функция операционной системы в этом отношении становится более сложной. В связи с этим следует отметить, что ядра Alpha EV4-EV8 рассматриваются в этой статье как не полностью совместимые с ISA, как обсуждается, например, в пятом параграфе раздела 2.2.

Кроме того, в этой статье не решается проблема существования значительных затрат, связанных с переключением приложений между ядрами, которые могут значительно уменьшить преимущества, которые получают от указанного переключения. Упомянутые затраты включают в себя не только время, требуемое для выполнения переключения, в течение которого ни один процессор не выполняет перенос рабочей нагрузки, но также и потери, вызываемые промахом кэша после переключения. Когда целевое ядро начинает выполнение перенесенной обработки, любой кэш, обеспеченный в целевом ядре начинает работу при отсутствии каких-либо действительных данных, и поэтому целевое ядро испытывает промахи кэша, существующие при холодном пуске. Это означает, что данные еще не были выбраны из памяти, что замедляет выполнение обработки и приводит к использованию значительного количества энергии. Производительность и эффективность использования энергии восстанавливаются только после "разогрева" целевого кэша посредством кэширования некоторого количества значений данных, сохраненных в памяти. Несмотря на то, что в вышеупомянутой статье авторов R. Kumar и др. признается существование проблемы промахов кэша, существующих при холодном пуске, автор не дает решения этой проблемы. Целью настоящего способа является повышение производительности обработки после переключения на целевой процессор.

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

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

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

компоновку схем управления питанием для независимого управления подачей питания в первую компоновку схем обработки и вторую компоновку схем обработки,

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

по меньшей мере, исходная компоновка схем обработки имеет кэш,

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

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

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

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

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

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

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

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

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

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

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

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

Первая компоновка схем обработки может отличаться с точки зрения микроархитектуры от второй компоновки схем обработки, так что производительность первой компоновки схем обработки отличается от производительности второй компоновки схем обработки. Одна из первой и второй компоновки схем обработки, имеющая более высокий уровень производительности, в основном потребляет больше энергии, чем другая из первой и второй компоновки схем обработки. Это означает, что рабочая нагрузка может быть переключена на компоновку схем обработки с большей производительностью, если требуется высокопроизводительная обработка (например, когда выполняется игровое приложение). Напротив, если выполняется малопроизводительная обработка, например, воспроизведение MP3-файлов, то вся рабочая нагрузка по обработке может быть переключена на малопроизводительную компоновку схем обработки для повышения эффективности использования энергии. Соответственно, с обеспечением различных с точки зрения микроархитектуры схем обработки выполнение рабочей нагрузки по обработке может быть оптимизировано по производительности или потреблению энергии, в зависимости от характера выполняемой рабочей нагрузки.

Микроархитектурные различия между компоновками схем обработки могут включать в себя, например, разные длины исполнительного конвейера или разные исполнительные ресурсы. Различия в длине конвейера обычно в результате приводят к различиям в рабочей частоте, которые, в свою очередь, оказывают влияние на производительность. Аналогично, различия в исполнительных ресурсах оказывают влияние на пропускную способность обработки и, следовательно, на производительность. Например, схема обработки, имеющая более значительные исполнительные ресурсы, обеспечивает возможность обработки большей информации в любой конкретный момент времени, при этом повышает пропускную способность. Дополнительно, или в качестве альтернативы, одна схема обработки может иметь больше исполнительных ресурсов, чем другая, например, большее количество арифметико-логических устройств (АЛУ, ALU), которые также повышают пропускную способность. В качестве другого примера разных исполнительных ресурсов, схема обработки с эффективным использованием энергии может быть обеспечена простым конвейером с последовательностью исполнения команд по порядку, в то время как схема обработки с более высокой производительностью может быть обеспечена суперскалярным конвейером с переупорядочением последовательности команд. Кроме того, схема обработки с более высокой производительностью может иметь возможность предсказания ветвлений, что ускоряет обработку посредством опережающей выборки адресатов предсказанного ветвления до того, как это ветвление будет разрешено, в то время как схема обработки с большей эффективностью использования энергии может не иметь предсказателя ветвлений. Такие микроархитектурные различия не влияют на способность каждой архитектурно совместимой схемы обработки выполнять идентичную рабочую нагрузку по обработке, но в результате приводят к различным уровням производительности и потребления энергии, когда соответствующие схемы обработки выполняют рабочую нагрузку по обработке.

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

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

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

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

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

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

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

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

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

Целевая компоновка схем обработки может быть сконфигурирована с возможностью объявления недействительным целевого кэша до того, как она начнет выполнение перенесенной рабочей нагрузки по обработке. Например, если целевая компоновка схем обработки находилась в режиме экономии энергии до переноса выполнения рабочей нагрузки по обработке, то после включения питания целевой компоновки схем обработки целевой кэш может содержать ошибочные данные. С объявлением недействительным целевого кэша до того, как целевая компоновка схем обработки начнет выполнение перенесенной рабочей нагрузки по обработке, можно избежать ошибок при обработке.

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

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

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

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

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

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

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

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

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

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

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

Как используется в этом описании, термин "совместно используемая память" относится к памяти, к которой может получить прямой доступ как первая компоновка схем обработки, так и вторая компоновка схем обработки, например, основной памяти, соединенной как с первой, так и со второй компоновкой схем обработки через межсоединение.

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