СПОСОБ И СООТВЕТСТВУЮЩЕЕ УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ РЕЖИМА УПРАВЛЕНИЯ СТРАНИЦЕЙ СОВМЕСТНО ИСПОЛЬЗУЕМОЙ ВИРТУАЛЬНОЙ ПАМЯТИ
METHOD AND CORRESPONDING DEVICE FOR DETERMINING PAGE SHARED BY VIRTUAL MEMORY CONTROL MODE

Область техники, к которой относится изобретение
Настоящее изобретение относится к области компьютерных технологий и, в частности, к способу и соответствующему устройству для определения режима управления страницей совместно используемой виртуальной памяти.
Уровень техники
12
Закон Мура, предложенный одним из основателей компании Intel, Гордоном Муром (Gordon Moore), до настоящего времени оставался руководствующим при определении развития полупроводниковой отрасли и повышения скорости информационных технологий за последние полвека. Как считается в компании Intel, закон Мура все еще будет работать в следующие 10 лет. Прогнозируется, что более чем 1,024×10 транзисторов будут интегрированы на одном кристалле в 2022 г.
Однако прошло время, когда вычислительные характеристики улучшались только путем повышения тактовой частоты, и расширение характеристик центрального процессорного устройства (CPU, Central Processing Unit) теперь ограничивается физическими законами, такими как потребление энергии, задержка при взаимном обмене данными и сложность конструкции. Благодаря ограничениям, навязываемым физическими законами, переход с одноядерных на многоядерные системы (термин многоядерный обычно относится к менее чем 8 ядрам) или даже многократноядерным (many-core) является неизбежным и представляет собой результат взаимодействия между законом Мура и тремя физическими законами. Многократноядерная архитектура будет оставаться основным трендом в будущих архитектурах CPU.
Сценарий многоядерного/многократноядерного процессора должен обеспечивать возможность когерентности кэш, что может быть решено, используя программный механизм когерентности кэш или аппаратный механизм когерентности кэш. Программный механизм когерентности кэш в основном относится к двум возможным режимам: режим распределенной совместно используемой памяти (DSM, Distributed Shared Memory) и режим совместно используемой физической памяти (SPM, Shared Physical Memory). Режим DSM/режим SPM могут применяться в многоядерной системе "без когерентности кэш" (NCC, Non-Cache-Coherent), для решения проблемы когерентности кэш. В облачном компьютере с одной микросхемой (SCC, Single-chip Cloud Computer), разработанном Intel, в протоколе когерентности кэш, администрируемом программными средствами (SMC, Software Managed Cache Coherence) применяется режим SPM.
В предшествующем уровне техники на совместно используемой странице виртуальной памяти фиксировано используется режим DSM или режим SPM. При обработке, выполняемой в ходе исследований и на практике, заявители определили, что в некоторых сценариях приложений, если на совместно используемой странице виртуальной памяти фиксировано используется режим DSM, как свой режим управления, характеристики доступа не могут хорошо удовлетворять предъявляемым требованиям; и, в других сценариях приложений, если на совместно используемой странице виртуальной памяти фиксировано используется режим SPM в качестве своего режима управления, характеристика доступа также не может хорошо удовлетворять фактические требования.
Раскрытие изобретения
Варианты осуществления настоящего изобретения направлены на способ и соответствующее устройство для определения режима управления страницей совместно используемой виртуальной памяти, с учетом расширения рабочих характеристик доступа в совместно используемой виртуальной памяти.
В первом аспекте настоящее изобретение направлено на способ для определения режима управления страницей совместно используемой виртуальной памяти, включающий в себя:
отслеживают характеристики доступа для доступа, выполняемого в результате обработки для страницы совместно используемой виртуальной памяти; и
изменяют режим управления страницей совместно используемой виртуальной памяти для режима совместно используемой физической памяти, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию и текущий режим управления страницей совместно используемой виртуальной памяти, представляет собой режим распределенной совместно используемой памяти.
Со ссылкой на первый аспект, в первом возможном подходе к воплощению, способ дополнительно включает в себя:
изменяют режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
Со ссылкой на первый аспект или первый возможный подход к воплощению первого аспекта, во втором возможном подходе к воплощению, изменение режима управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти включает в себя:
в первом пространстве физической памяти выделяют первую страницу физической памяти для страницы совместно используемой виртуальной памяти;
копируют данные, сохраненные для второй страницы физической памяти на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти, и вторая страница физической памяти представляет собой страницу физической памяти, на которую в настоящее время отображается страница совместно используемой виртуальной памяти;
формируют взаимосвязь отображения между страницей совместно используемой виртуальной памяти и первой страницей физической памяти; и
записывают режим распределенной совместно используемой памяти, как режим управления страницей совместно используемой виртуальной памяти.
Со ссылкой на первый аспект, первый возможный подход к воплощению первого аспекта или второй возможный подход к воплощению первого аспекта, в третьем возможном подходе к воплощению, первое установленное условие включает в себя, что частота доступа меньше чем или равна первому пороговому значению, режим доступа представляет собой доступ для считывания-записи или доступ для записи, частота доступа к записи выше, чем третье пороговое значение, или процент доступа для записи больше, чем четвертое пороговое значение.
Со ссылкой на первый аспект, первый возможный подход к воплощению первого аспекта, второй возможный подход к воплощению первого аспекта или третий возможный подход к воплощению первого аспекта, в четвертом возможном подходе к воплощению, второе установленное условие включает в себя, что:
частота доступа выше, чем второе пороговое значение, режим доступа представляет собой доступ только для чтения, частота доступа для чтения выше, чем пятое пороговое значение, или процент доступа для чтения больше, чем шестое пороговое значение, где второе пороговое значение больше чем или равно первому пороговому значению.
Со ссылкой на первый аспект, первый возможный подход к воплощению первого аспекта, второй возможный подход к воплощению первого аспекта, третий возможный подход к воплощению первого аспекта или четвертый возможный подход к воплощению первого аспекта, в пятом возможном подходе к воплощению, изменение режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти включает в себя:
формируют взаимосвязь отображения между страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти; и записывают режим совместно используемой физической памяти, как режим управления страницей совместно используемой виртуальной памяти, где данные, сохраненные на странице физической памяти, ранее отображенные со страницы совместно используемой виртуальной памяти, остаются неизменными.
Со ссылкой на первый аспект, первый возможный подход к воплощению первого аспекта, второй возможный подход к воплощению первого аспекта, третий возможный подход к воплощению первого аспекта или четвертый возможный подход к воплощению первого аспекта, в шестом возможном подходе к воплощению, изменение режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти включают в себя:
синхронизируют замененные данные в данных, сохраненных на четвертой странице физической памяти, с третьей страницей физической памяти; формируют взаимосвязь отображения между страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти; и записывают режим совместно используемой физической памяти, как режим управления страницей совместно используемой виртуальной памяти, где четвертая страница физической памяти представляет собой страницу физической памятью, ранее отображенную со страницы совместно используемой виртуальной памяти.
Со ссылкой на первый аспект или первый возможный подход к воплощению первого аспекта, в седьмом возможном подходе к воплощению, при условии, что обработка включает в себя множество обработок, изменение режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти, включает в себя:
используют среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются для каждой из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как отслеживаемые характеристики доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; или используют отслеживаемые характеристики доступа одной из множества обработок, которая обращается к странице совместно используемой виртуальной памяти, как отслеживаемые характеристики доступа множества обработок которые обращаются к странице совместно используемой виртуальной памяти; и изменяют режим управления, в соответствии с множеством обработок на странице совместно используемой виртуальной памяти для режима совместно используемой физической памяти, если отслеживаемые характеристики доступа для доступа, выполняемого множеством обработок для страницы совместно используемой виртуальной памяти, удовлетворяют первому условию, и если текущий режим управления, соответствующий множеству обработок на странице совместно используемой виртуальной памяти, представляет собой режим распределенной совместно используемой памяти.
Со ссылкой на первый возможный подход к воплощению первого аспекта, в восьмом возможном подходе к воплощению,
при условии, что обработка включает в себя множество обработок, изменение режима управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти, включает в себя:
используют среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются для каждой из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; или используют отслеживаемые характеристики доступа одной из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; и изменяют режим управления, соответствующий множеству обработок, на странице совместно используемой виртуальной памяти на распределенный режим совместно используемой памяти, если отслеживаемые характеристики доступа для доступа, выполняемого множеством обработок для страницы совместно используемой виртуальной памяти, удовлетворяют второму условию, и если текущий режим управления, соответствующий множеству обработок для страницы совместно используемой виртуальной памяти, представляет собой режим совместно используемой физической памяти.
Во втором аспекте настоящее изобретение направлено способ для определения режима управления страницей совместно используемой виртуальной памяти, включающий в себя:
выполняют отслеживание характеристик доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти; и
изменяют режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
Со ссылкой на второй аспект, в первом возможном подходе к воплощению, изменение режима управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти включает в себя:
в первом пространстве физической памяти выделяют первую страницу физической памяти для страницы совместно используемой виртуальной памяти;
копируют данные, сохраненные на второй странице физической памяти, на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти, и вторая страница физической памяти представляет собой страницу физической памяти, на которую в настоящее время отображается страница совместно используемой виртуальной памяти;
формируют взаимосвязь отображения между страницей совместно используемой виртуальной памяти и первой страницей физической памяти; и
записывают режим распределенной совместно используемой памяти, как режим управления страницей совместно используемой виртуальной памяти.
Со ссылкой на второй аспект, во втором возможном подходе к воплощению, при условии, что обработка включает в себя множество обработок, изменение режима управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти, включает в себя:
используют среднее число, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются для каждой из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; или используют отслеживаемые характеристики доступа одной из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как к отслеживаемой характеристике доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; и изменяют режим управления, соответствующий множеству обработок, на странице совместно используемой виртуальной памяти, на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа для доступа, выполняемого множеством обработок для страницы совместно используемой виртуальной памяти, удовлетворяют второму условию, и если текущий режим управления, соответствующий множеству обработок в странице совместно используемой виртуальной памяти, представляет собой режим совместно используемой физической памяти.
Со ссылкой на второй аспект, первый возможный подход к воплощению второго аспекта, или второй возможный подход к воплощению второго аспекта, в третьем возможном подходе к воплощению, второе установленное условие включает в себя, что:
частота доступа больше, чем второе пороговое значение, режим доступа представляет собой доступ только для считывания, частота доступа для считывания выше, чем пятое пороговое значение, или процент доступа для считывания больше, чем шестое пороговое значение.
В третьем аспекте настоящее изобретение направлено на устройство для определения режима управления страницей совместно используемой виртуальной памяти, включающее в себя:
модуль мониторинга, выполненный с возможностью отслеживания характеристик доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти; и
первый модуль повторного отображения соединен с модулем отслеживания, выполненным с возможностью изменения режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если характеристики доступа, отслеживаемые модулем отслеживания, удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти.
Со ссылкой на третий аспект, в первом возможном подходе к воплощению, устройство дополнительно включает в себя:
второй модуль повторного отображения, соединенный с модулем отслеживания, выполненный с возможностью изменения режима управления страницей совместно используемой виртуальной памяти, на режим распределенной совместно используемой памяти, если характеристики доступа, отслеживаемые модулем отслеживания, удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
Со ссылкой на первый возможный подход к воплощению третьего аспекта, во втором возможном подходе к воплощению,
второй модуль повторного управления, в частности, выполнен с возможностью: если характеристики доступа, отслеживаемые модулем отслеживания, удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти, тогда в пространстве первой физической памяти выделяют первую страницу физической памяти для страницы совместно используемой виртуальной памяти; копируют данные, сохраненные на второй странице физической памяти, на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти, и вторая страница физической памяти представляет собой страницу физической памяти, администрируемую в настоящее время, со страницы совместно используемой виртуальной памяти; формируют взаимосвязь отображения между страницей совместно используемой виртуальной памяти и первой страницей физической памяти; и записывают режим распределенной совместно используемой памяти, как режим управления страницей совместно используемой виртуальной памяти.
Со ссылкой на третий аспект, первый возможный подход к воплощению третьего аспекта, или второй возможный подход к воплощению третьего аспекта, в третьем возможном подходе к воплощению,
первое установленное условие включает в себя, что частота доступа меньше чем или равна первому пороговому значению, режим доступа представляет собой доступ для считывания-записи или доступ для записи, частота доступа для записи выше, чем третье пороговое значение, или процент доступа для записи больше, чем четвертое пороговое значение;
модуль мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти, где
первый модуль повторного отображения, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если частота доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти, которая отслеживается модулем отслеживания, ниже, чем или равна первому пороговому значению, и если текущий режим управления страницей совместно используемой виртуальной памяти, представляет собой режим распределенной совместно используемой памяти;
или,
модуль мониторинга, в частности, выполнен с возможностью отслеживания режима доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти;
первый модуль повторного отображения, в частности, выполнен с возможностью изменения режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если режим доступа для доступа, выполняемого при обработке страницы совместно используемой виртуальной памяти, которая отслеживается модулем отслеживания, представляет собой доступ для считывания-записи или доступ для записи, и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти;
или,
модуль мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа для записи, выполняемой при обработке для страницы совместно используемой виртуальной памяти, где
первый модуль повторного отображения, в частности, выполнен с возможностью изменения режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если частота доступа для записи, выполняемого при обработке страницы совместно используемой виртуальной памяти, которая отслеживается модулем отслеживания, выше, чем третье пороговое значение, и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти;
или,
модуль мониторинга, в частности, выполнен с возможностью отслеживать процент доступа для записи, выполняемого при обработке для страницы совместно используемой виртуальной памяти, где
первый модуль повторного отображения, в частности, выполнен с возможностью изменения режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если процент доступа для записи, выполняемого при обработке страницы совместно используемой виртуальной памяти, который отлеживается модулем отслеживания, больше, чем четвертое пороговое значение, и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти.
Со ссылкой на третий возможный подход к воплощению третьего аспекта, в четвертом возможном подходе к воплощению,
второе установленное условие включает в себя, что:
частота доступа выше, чем второе пороговое значение, режим доступа представляет собой доступ только для считывания, частота доступа для считывания выше, чем пятое пороговое значение, или процент доступа для считывания больше, чем шестое пороговое значение, где второе пороговое значение больше чем или равно первому пороговому значению,
где,
модуль мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти, где
второй модуль повторного отображения, в частности, выполнен с возможностью изменять режим управления для страницы совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если частота доступа, отслеживаемая модулем отслеживания, выше, чем второе пороговое значение, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти;
или,
модуль мониторинга, в частности, выполнен с возможностью отслеживать режим доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти;
второй модуль повторного отображения, в частности, выполнен с возможностью изменения режима управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если режим доступа, отслеживаемый модулем отслеживания, представляет собой доступ только для считывания, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти; или,
модуль мониторинга, в частности выполнен с возможностью отслеживать частоту доступа для считывания для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти, где
второй модуль повторного отображения, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если частота доступа для считывания, отслеживаемая модулем отслеживания, выше, чем пятое пороговое значение, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти;
или,
модуль мониторинга, в частности, выполнен с возможностью отслеживания процента доступа для считывания, выполняемого при обработке для страницы совместно используемой виртуальной памяти, где
второй модуль повторного отображения, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если процент доступа для считывания, отслеживаемого модулем отслеживания, больше, чем шестое пороговое значение, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
Со ссылкой на третий аспект, первый возможный подход к воплощению третьего аспекта, второй возможный подход к воплощению третьего аспекта, третий возможный подход к воплощению третьего аспекта или четвертый возможный подход к воплощению третьего аспекта, в пятом возможном подходе к воплощению, первый модуль повторного отображения, в частности, выполнен с возможностью: если характеристики доступа, отслеживаемые модулем отслеживания, удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти, формировать взаимосвязь отображения между страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти; и записывать режим совместно используемой физической памяти, как режим управления страницей совместно используемой виртуальной памяти, где данные, сохраненные на странице физической памяти, ранее отображенные со страницы совместно используемой виртуальной памяти, остаются неизменными.
Со ссылкой на третий аспект, первый возможный подход к воплощению третьего аспекта, второй возможный подход к воплощению третьего аспекта, третий возможный подход к воплощению третьего аспекта, или четвертый возможный подход к воплощению третьего аспекта, в шестом возможном подходе к воплощению,
первый модуль повторного отображения, в частности, выполнен с возможностью: синхронизировать измененные данные в данных, сохраненных на четвертой странице физической памяти, с третьей страницей физической памяти, если характеристики доступа, отслеживаемые модулем отслеживания, удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти; формировать взаимосвязь отображения между страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти; и записывать режим совместно используемой физической памяти, как режим управления страницей совместно используемой виртуальной памяти, где четвертая страница физической памяти представляет собой страницу физической памяти, ранее отображенную со страницы совместно используемой виртуальной памяти.
Со ссылкой на третий аспект или первый возможный подход к воплощению третьего аспекта, в седьмом возможном подходе к воплощению, если обработка включает в себя множество обработок, первый модуль повторного отображения, в частности, выполнен с возможностью: использовать среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются модулем отслеживания для каждой из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, в качестве отслеживаемых характеристик доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; или использовать характеристики доступа, которые отслеживаются модулем отслеживания для одной из множества обработок, которая обращается к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; и изменять режим управления, соответствующий множеству обработок на странице совместно используемой виртуальной памяти, на режим совместно используемой физической памяти, если отслеживаемые характеристики доступа для доступа, выполняемого в обработках для страницы совместно используемой виртуальной памяти, удовлетворяют первому условию, и если текущий режим управления, соответствующий множеству обработок на странице совместно используемой виртуальной памяти, представляет собой режим распределенной совместно используемой памяти.
Со ссылкой на первый возможный подход к воплощению третьего аспекта, в восьмом возможном подходе к воплощению,
если обработка включает в себя множество обработок, второй модуль повторного отображения, в частности, выполнен с возможностью: использовать среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются модулем отслеживания для каждой из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; или использовать характеристики доступа, которые отслеживаются модулем отслеживания для одной из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как к характеристикам отслеживаемого доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; и изменять режим управления, соответствующий множеству обработок на странице совместно используемой виртуальной памяти, на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа для доступа, выполняемого множеством обработок для страницы совместно используемой виртуальной памяти, удовлетворяют второму условию, и если текущий режим управления, соответствующий множеству обработок на странице совместно используемой виртуальной памяти, представляет собой режим совместно используемой физической памяти.
В четвертом аспекте настоящее изобретение направлено на устройство для определения режима управления страницей совместно используемой виртуальной памяти, которая может включать в себя: модуль мониторинга, выполненный с возможностью отслеживания характеристик доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти; и
второй модуль повторного отображения, соединенный с модулем отслеживания, выполненный с возможностью изменять режим управления страницей совместно используемой виртуальной памяти, на режим распределенной совместно используемой памяти, если характеристики доступа, отслеживаемые модулем отслеживания, удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
Со ссылкой на четвертый аспект, в первом возможном подходе к воплощению, второй модуль повторного отображения, в частности, выполнен с возможностью: если характеристики доступа, отслеживаемые модулем отслеживания, удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти, тогда в первом пространстве физической памяти выделяют первую страницу физической памяти для страницы совместно используемой виртуальной памяти; копировать данные, сохраненные на второй странице физической памяти, на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти, и вторая страница физической памяти представляет собой страницу физической памяти, на которую в настоящее время отображается страница совместно используемой виртуальной памяти; формировать взаимосвязь отображения между страницей совместно используемой виртуальной памяти и первой страницей физической памяти; и записывать режим распределенной совместно используемой памяти, как режим управления страницей совместно используемой виртуальной памяти.
Со ссылкой на четвертый аспект или первый возможный подход к воплощению четвертого аспекта, во втором возможном подходе к воплощению, второе установленное условие включает в себя, что:
частота доступа выше, чем второе пороговое значение, режим доступа представляет собой доступ только для считывания, частота доступа для считывания выше, чем пятое пороговое значение, или процент доступа для считывания выше, чем шестое пороговое значение,
где,
модуль мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти, где
второй модуль повторного отображения, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если частота доступа, отслеживаемая модулем отслеживания, выше, чем второе пороговое значение, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти;
или,
модуль мониторинга, в частности, выполнен с возможностью отслеживания режима доступа для доступа, выполняемого при обработке страницы совместно используемой виртуальной памяти;
второй модуль повторного отображения, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если режим доступа, отслеживаемый модулем отслеживания, представляет собой доступ только для считывания, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти;
или,
модуль мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа для считывания для доступа, выполняемого при обработке страницы совместно используемой виртуальной памяти, где
второй модуль повторного отображения, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если частота доступа для считывания, отслеживаемая модулем отслеживания, выше, чем пятое пороговое значение, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти;
или,
модуль мониторинга, в частности, выполнен с возможностью отслеживать процент доступа для считывания, выполняемого при обработке для страницы совместно используемой виртуальной памяти, где
второй модуль повторного отображения, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если процент доступа для считывания, отслеживаемый модулем отслеживания, больше, чем шестое пороговое значение, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
Со ссылкой на четвертый аспект, первый возможный подход к воплощению четвертого аспекта или второй возможный подход к воплощению четвертого аспекта, в третьем возможном подходе к воплощению, если обработка включает в себя множество обработок, второй модуль повторного отображения, в частности, выполнен с возможностью: использовать среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются модулем отслеживания для каждой из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; или использовать характеристики доступа, которые отслеживаются модулем отслеживания для одной из множества обработок, которые обращаются к странице совместно используемой виртуальной памяти, как к отслеживаемых характеристик доступа множества обработок, которые обращаются к странице совместно используемой виртуальной памяти; и изменять режим управления, соответствующий множеству обработок на странице совместно используемой виртуальной памяти, на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа для доступа, выполняемого множеством обработок для страницы совместно используемой виртуальной памяти, удовлетворяют второму условию, и если текущий режим управления, соответствующий множеству обработок для страницы совместно используемой виртуальной памяти, представляет собой режим совместно используемой физической памяти.
В пятом аспекте настоящее изобретение направлено на вычислительную систему, включающую в себя:
шину,
процессор, соединенный с шиной, и запоминающее устройство, соединенное с шиной,
где процессор использует шину для вызова кодов в запоминающее устройство для отслеживания характеристик доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти; и изменение режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти.
В шестом аспекте настоящее изобретение направлено на вычислительную систему, включающую в себя:
шину,
процессор, соединенный с шиной, и запоминающее устройство, соединенное с шиной,
где процессор использует шину для вызова кодов из запоминающего устройства для отслеживания характеристик доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти; и изменения режима управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
Как можно видеть, в настоящем изобретении отслеживают характеристики доступа страницы совместно используемой виртуальной памяти; и режим управления страницей совместно используемой виртуальной памяти изменяют на режим совместно используемой физической памяти, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти; или режим управления страницей совместно используемой виртуальной памяти изменяют на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти. Механизм повторной установки режима управления страницей совместно используемой виртуальной памяти, в соответствии с результатом отслеживания характеристик доступа, достигает лучшего соответствия между режимом управления и характеристиками доступа, позволяет проявить преимущества режима DSM или режима SPM и представляет основу для механизма улучшения рабочих характеристик доступа в совместно используемой виртуальной памяти.
Краткое описание чертежей
Для более ясной иллюстрации технических решений в вариантах осуществления настоящего изобретения или предшествующего уровня техники далее приведено краткое представление сопровождающих чертежей, требуемых для описания вариантов осуществления или предшествующего уровня техники. Очевидно, что приложенные чертежи в следующем описании представляют просто некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники без творческих усилий все еще может вывести другие чертежи из этих приложенных чертежей.
На фиг. 1 схематично представлена блок-схема последовательности операций способа для определения режима управления страницей совместно используемой виртуальной памяти в соответствии с вариантом осуществления настоящего изобретение;
На фиг. 2-а представлена схема пространства совместно используемого виртуального адреса в режиме DSM, в соответствии с вариантом осуществления настоящего изобретение;
На фиг. 2-b представлена схема частного пространства физической памяти в режиме DSM, в соответствии с вариантом осуществления настоящего изобретение;
На фиг. 3 схематично представлена блок-схема последовательности операций другого способа для определения режима управления страницей совместно используемой виртуальной памяти в соответствии с вариантом осуществления настоящего изобретение;
На фиг. 4 схематично представлена блок-схема последовательности операций другого способа для определения режима управления страницей совместно используемой виртуальной памяти в соответствии с вариантом осуществления настоящего изобретение;
На фиг. 5-а представлена схема устройства для определения режима управления страницей совместно используемой виртуальной памяти в соответствии с вариантом осуществления настоящего изобретение;
На фиг. 5-b представлена схема устройства для определения режима управления страницей совместно используемой виртуальной памяти в соответствии с вариантом осуществления настоящего изобретение;
На фиг. 5-с представлена схема устройства для определения режима управления страницей совместно используемой виртуальной памяти в соответствии с вариантом осуществления настоящего изобретение;
На фиг. 6 схематично представлена структурная схема вычислительной системы в соответствии с настоящим изобретением; и
На фиг. 7 представлена схема другой вычислительной системы, в соответствии с вариантом осуществления настоящего изобретение.
Осуществление изобретения
Настоящее изобретение направлено на способ и соответствующее устройство для определения режима управления страницей совместно используемой виртуальной памяти, в целях улучшения рабочих характеристик доступа к совместно используемой виртуальной памяти.
Для того, чтобы сделать решения настоящего изобретения более понятными для специалиста в данной области техники, ниже ясно и полностью описаны технические решения настоящего изобретения со ссылкой на приложенные чертежи вариантов осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления представляют собой просто часть, а не все варианты осуществления настоящего изобретения.
Далее представлено подробное описание изобретения.
В описании, в формуле изобретения и на приложенных чертежах настоящего изобретения термины "первый", "второй", "третий", "четвертый" и так далее (если присутствуют), предназначены для отличия между аналогичными объектами, но не обязательно обозначают конкретный порядок или последовательность. Следует понимать, что данные, обозначенные таким образом, являются взаимозаменяемыми в соответствующих обстоятельствах таким образом, что варианты осуществления настоящего изобретения, описанные здесь, могут быть воплощены в другом порядке, чем порядок, иллюстрируемый или описанный здесь. Кроме того, термины "включать в себя", "содержать" и любое их варианты охватывают неисключительные включения. Например, способ обработки, система, продукт или устройство, которые включают в себя последовательность этапов или модулей, не ограничены этапами или модулями, пронумерованным в явном виде, но могут включать в себя другие этапы или модули, которые не пронумерованы в явно выраженном виде или являются неотъемлемыми при обработке, в способе, продукте или устройстве.
В варианте осуществления настоящего изобретения способ для определения режима управления страницей совместно используемой виртуальной памяти включает в себя: отслеживают характеристики доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти; и изменяют режим управления страницей совместно используемой виртуальной памяти на режим SPM, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти, на режим DSM, и/или изменяют режим управления страницей совместно используемой виртуальной памяти на режим DSM, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим SPM.
Рассмотрим фиг. 1. На фиг. 1 показана блок-схема последовательности операций способа для детектирования режима управления страницей совместно используемой виртуальной памяти, в соответствии с вариантом осуществления настоящего изобретения. Как показано на фиг. 1, способ для определения режима управления страницей совместно используемой виртуальной памяти, в соответствии с вариантом осуществления настоящего изобретения, может включать в себя следующее содержание:
101. Отслеживают характеристики доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения характеристики доступа для доступа, выполняемого N обработками для страницы совместно используемой виртуальной памяти (для удобства цитирования ниже называется первой страницей совместно используемой виртуальной памяти), можно отслеживать, где N представляет собой положительное целое число. Например, если N равно 1, N обработок может относиться к любой обработке, в настоящее время присутствующей в системе или в определенной обработке; если N больше 1, N обработок могут относиться к части или всем обработкам, в настоящее время присутствующим в системе. Например, N обработок могут относиться к части или всем обработкам, которые в настоящее время присутствуют в системе и, возможно, к обработке первой страницы совместно используемой виртуальной памяти. В некоторых вариантах осуществления настоящего изобретения, например, счетчик характеристик (счетчики характеристик) или другое аппаратное средство, или программы CPU можно использовать для отслеживания характеристик доступа к странице совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения, например, могут отслеживаться различные характеристики доступа для доступа, выполняемого при обработке страницы совместно используемой виртуальной памяти. Характеристики доступа могут включать в себя частоту доступа и/или режим доступа, и так далее. Режимы доступа могут включать в себя доступ только для считывания, доступ для считывания-записи (доступ для считывания-записи относится к доступу, который подразумевает, как считывание, так и запись), доступ для записи и так далее. Таким образом, можно отслеживать характеристики доступа, такие как частота доступа и/или режим доступа для доступа, выполняемого при обработке страницы совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения частота доступа для доступа, выполняемого при обработке первой страницы совместно используемой виртуальной памяти, может относиться к количеству обработок, которые обращаются к первой странице совместно используемой виртуальной памяти за единицу времени. Например, частота доступа для доступа, выполняемого обработкой для первой страницы совместно используемой виртуальной памяти, может относиться к количеству обработок, которые обращаются к первой странице совместно используемой виртуальной памяти за единицу времени. Аналогично, частота доступа для доступа, выполняемого множеством обработок для первой страницы совместно используемой виртуальной памяти, может относиться к количеству раз доступа множества обработок к первой странице совместно используемой виртуальной памяти за единицу времени.
В других вариантах осуществления настоящего изобретения частота доступа для доступа, выполняемого при обработке первой страницы совместно используемой виртуальной памяти, может относиться к проценту количества раз доступа, выполняемого при обработке для первой страницы совместно используемой виртуальной памяти относительно общего количества раз доступа, выполняемого при обработке N1 страниц совместно используемой виртуальной памяти в течение длительности (такой как единица времени), где N1 страниц совместно используемой виртуальной памяти включают в себя первую страницу совместно используемой виртуальной памяти, и N1 представляет собой положительное целое число большее 1. Например, частота доступа для доступа, выполняемого при обработке первой страницы совместно используемой виртуальной памяти, может относиться к проценту количества раз доступа, выполняемого при обработке для первой страницы совместно используемой виртуальной памяти, относительно общего количества раз доступа, выполняемого при обработкой N1 страниц совместно используемой виртуальной памяти в течение определенной длительности; и частота доступа для доступа, выполняемого множеством обработок к первой странице совместно используемой виртуальной памяти, может относиться к проценту количества раз доступа, выполняемого множеством обработок для первой страницы совместно используемой виртуальной памяти, относительно общего количества раз доступа, выполняемого множеством обработок для N1 страниц совместно используемой виртуальной памяти в течение определенной длительности.
Конечно, способ расчета частоты доступа не ограничен представленным выше примером, и другие способы расчета, соответствующие законам природы, могут быть определены, если требуется.
102. Изменяют режим управления первой страницы совместно используемой виртуальной памяти на режим SPM, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим DSM, и/или изменяют режим управления первой страницы совместно используемой виртуальной памяти на режим DSM, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим SPM.
Следует понимать, что первое установленное условие и второе установленное условие могут изменяться, в зависимости от отслеживаемых характеристик доступа. Например, если отслеживаемые характеристики доступа представляют собой частоту доступа, первое установленное условие и второе установленное условие могут включать в себя установленные условия, относящиеся к частоте доступа; если отслеживаемые характеристики доступа представляют собой режим доступа, первое установленное условие и второе установленное условие могут включать в себя установленные условия, относящиеся к режиму доступа; и, если отслеживаемые характеристики доступа включают в себя частоту доступа и режим доступа, первое установленное условие и второе установленное условие могут включать в себя установленные условия, относящиеся как к частоте доступа, так и к режиму доступа.
В некоторых вариантах осуществления настоящего изобретения, если отслеживаемые характеристики доступа включают в себя частоту доступа для доступа, выполняемого при обработке первой страницы совместно используемой виртуальной памяти, первое установленное условие может включать в себя, что частота доступа ниже чем или равна первому пороговому значению (первое пороговое значение может представлять собой 1000 раз в секунду, 2000 раз в секунду, 5000 раз в секунду, или другое значение частоты); и второе установленное условие может включать в себя, что частота доступа выше, чем второе пороговое значение, где первое пороговое значение может быть меньше чем или равно второму пороговому значению, и второе пороговое значение может составлять 1000 раз в секунду, 2000 раз в секунду, 3000 раз в секунду, 5000 раз в секунду или другое значение частоты, где второе пороговое значение больше чем или равно первому пороговому значению. В этом сценарии режим управления первой страницы совместно используемой виртуальной памяти может изменяться на режим SPM, если отслеживаемая частота доступа ниже чем или равна первому пороговому значению, и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим DSM, и/или режим управления первой страницы совместно используемой виртуальной памяти может изменяться на режим DSM, если отслеживаемая частота доступа выше, чем второе пороговое значение, и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим SPM.
Следует понимать, что такая политика может рассматриваться как политика потребительского выбора, в соответствии с данными доступа.
В других вариантах осуществления настоящего изобретения, если отслеживаемые характеристики доступа включают в себя режим доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти, первое установленное условие может включать в себя, что режим доступа представляет собой доступ для записи или доступ для считывания-записи (или процент доступа для записи превышает четвертое пороговое значение, или частота доступа для записи превышает третье пороговое значение), где сценарий присутствия только доступа для записи может рассматриваться, как тот факт, что процент количества раз выполнения доступа для записи к общему количеству раз доступа для считывания-записи составляет 100%; и второе установленное условие может включать в себя, что процент доступа только для считывания или доступа для считывания превышает шестое пороговое значение или, что частота доступа для считывания превышает пятое пороговое значение, где сумма четвертого порогового значения и шестого порогового значения может быть больше чем или равна 1. В этом сценарии режим управления первой страницы совместно используемой виртуальной памяти может изменяться на режим SPM, если режим отслеживаемого доступа представляет собой доступ для записи или доступ для считывания-записи (или процент доступа для записи превышает четвертое пороговое значение, или частота доступа для записи превышает третье пороговое значение), и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим DSM; и/или режим управления первой страницы совместно используемой виртуальной памяти может быть изменен на режим DSM, если отслеживаемый режим доступа представляет собой доступ только для считывания (или процент количества доступов для считывания превышает шестое пороговое значение, или частота доступа для считывания превышает пятое пороговое значение), и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим SPM, где сценарий доступа только для считывания можно рассматривать, как факт того, что процент количества раз доступа для считывания относительно общего количества раз доступа для считывания-записи составляет 100%. Процент доступа для записи относится к проценту количества раз доступа для записи к общему количеству раз доступа для считывания-записи, и процент доступа для считывания относится к проценту количества раз доступа для считывания к общему количеству раз доступа для считывания-записи. Другие обстоятельства могут быть выведены аналогично. Следует понимать, что такая политика может рассматриваться, как политика потребительского выбора, в соответствии с синхронизацией доступа.
Следует понимать, что в разных многоядерных или многократноядерных системах, режим управления первой страницы совместно используемой виртуальной памяти может быть изменен на режим DSM разными путями.
В некоторых вариантах осуществления настоящего изобретения изменение режима управления первой страницы совместно используемой виртуальной памяти к режиму DSM может включать в себя: в первом пространстве физической памяти, выделяют первую страницу физической памяти для первой страницы совместно используемой виртуальной памяти; копируют данные, содержащиеся на второй странице физической памяти на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти (пространство совместно используемой физической памяти представляет собой пространство физической памяти, которое может совместно использоваться несколькими ядрами), и вторая страница физической памяти представляет собой страницу физической памяти, в настоящее время отображаемую с первой страницы совместно используемой виртуальной памяти; формируя взаимосвязь отображения между первой страницей совместно используемой виртуальной памяти и первой страницей физической памяти; и запись режима DSM, как режима управления первой страницы совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящее изобретения изменение режима управления страницей совместно используемой виртуальной памяти на режим SPM может включать в себя: формируют взаимосвязь отображения между первой страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья физическая память принадлежит пространству страницы совместно используемой физической памяти (пространство совместно используемой физической памяти представляет собой пространство физической памяти, которое может совместно использоваться несколькими ядрами); и записывают режим SPM, как режим управления первой страницы совместно используемой виртуальной памяти, где данные, сохраненные на странице физической памяти, ранее отображенные с первой страницы совместно используемой виртуальной памяти, остаются без изменения.
В некоторых вариантах осуществления настоящего изобретения изменение режима управления страницей совместно используемой виртуальной памяти на режим SPM может включать в себя: синхронизируют измененные данные в данных, сохраненных на четвертой физической памяти, с третьей страницы физической памяти; формируя взаимосвязь отображения между первой страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти (совместно используемое пространство физической памяти представляет собой пространство физической памяти, которое может совместно использоваться несколькими ядрами); и записывают режим SPM, как режим управления первой страницы совместно используемой виртуальной памяти, где четвертая страница физической памяти представляет собой страницу физической памяти, ранее отображенную с первой страницы совместно используемой виртуальной памяти.
Измененные данные в данных, сохраненных на четвертой странице физической памяти (данные могут изменяться при обработке), могут обращаться к переменной, значение которой изменяется, сохраненной на четвертой странице физической памяти. Например, переменную y1, переменную y2 и переменную y3, сохраненные на третьей странице физической памяти, копируют на четвертую страницу физической памяти, после сохранения переменной y1, переменной y2 и переменной y3 на четвертой странице физической памяти, значения переменной y1 и переменной y2 остаются без изменения, но значение переменной y2 изменяется с 0 на 1 в соответствии с исходной копией, и, поэтому, измененные данные сохраненные в данных на четвертой странице физической памяти включают в себя переменную y2, где переменная y2 представляет собой измененные данные, и другие обстоятельства могут быть выведены аналогично.
Режим DSM/режим SPM могут быть записан, как режим управления первой страницы совместно используемой виртуальной памяти различными способами. Например, бит флага режима управления устанавливают для первой страницы совместно используемой виртуальной памяти, и для бита флага режима управления могут быть установлены различные значения для идентификации, является ли режим управления первой страницы совместно используемой виртуальной памяти режимом DSM или режимом SPM. В качестве альтернативы, режим управления первой страницы совместно используемой виртуальной памяти, который записан в теле структуры информации страницы при обработке (или при множестве обработок или при всех обработках), может быть записан, как режим DSM или режим SPM. Другие способы записи не перечислены здесь полностью.
В некоторых вариантах осуществления настоящего изобретения режим управления (такой как режим DSM или режим SPM) может быть установлен для каждой страницы совместно используемой виртуальной памяти (такой как первая страница совместно используемой виртуальной памяти). В этом сценарии, для всех обработок, которые обращаются к первой странице совместно используемой виртуальной памяти, режим управления первой страницы совместно используемой виртуальной памяти является одинаковым. Конечно, режим управления (такой как режим DSM или режим SPM), соответствующий каждой обработке, может быть также установлен для каждой страницы совместно используемой виртуальной памяти (такой как первая страница совместно используемой виртуальной памяти). В этом сценарии, для всех обработок, которые обращаются к первой странице совместно используемой виртуальной памяти, режим управления первой страницы совместно используемой виртуальной памяти является таким же или другим. Например, предположим, что существуют обработка А и обработка В, режим управления, соответствующий обработке А на первой странице совместно используемой виртуальной памяти, может представлять собой режим DSM, и режим управления, соответствующий обработке В на первой странице совместно используемой виртуальной памяти, может представлять собой режим SPM.
В некоторых вариантах осуществления настоящего изобретения можно отслеживать характеристики доступа для доступа, выполняемого первой обработкой для первой страницы совместно используемой виртуальной памяти, где первая обработка может включать в себя обработку M1, и M1 представляет собой положительное целое число; и режим управления, соответствующий первой обработке для первой страницы совместно используемой виртуальной памяти, может изменяться на режим SPM, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим DSM; и/или режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти, может изменяться на режим DSM, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим SPM. В этом сценарии, если первая обработка включает в себя множество обработок, режимы управления, соответствующие множеству обработок на первой странице совместно используемой виртуальной памяти, являются одинаковыми (режим DSM или режим SPM).
Кроме того, можно отслеживать характеристики доступа для доступа, выполняемого второй обработкой для первой страницы совместно используемой виртуальной памяти, где вторая обработка включает в себя обработку M2, M2 представляет собой положительное целое число, и вторая обработка отличается от первой обработки; режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти, может изменяться на режим SPM, если отслеживаемые характеристики доступа для доступа, выполняемого второй обработкой для первой страницы совместно используемой виртуальной памяти, удовлетворяют третьему установленному условию, и текущий режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим DSM; и/или режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти, может изменяться на режим DSM, если отслеживаемые характеристики доступа для доступа, выполняемого второй обработкой для первой страницы совместно используемой виртуальной памяти, удовлетворяют четвертому установленному условию, и текущий режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим SPM, где третье установленное условие является таким же, как или отличным от первого условия, и четвертое установленное условие является таким же, как или отличным от второго условия.
В этом сценарии режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти, может быть таким же, как или отличным от режима управления, соответствующего второй обработке на первой странице совместно используемой виртуальной памяти, то есть, режимы управления, соответствующие разной обработке для одной и той же страницы совместно используемой виртуальной памяти, могут быть одинаковыми или разными, что называется асинхронным режимом отображения. Конечно, для второй обработки, если режим управления первой страницы совместно используемой виртуальной памяти определяют непосредственно путем отслеживания характеристик доступа для доступа, выполняемого первой обработкой для первой страницы совместно используемой виртуальной памяти, нет необходимости воплощать этап отслеживания характеристик доступа для доступа, выполняемого второй обработкой для первой страницы совместно используемой виртуальной памяти, но текущий режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти, может быть непосредственно установлен, как режим управления, который является таким же, как и текущий режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти. Например, если определяют, что режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим DSM в соответствии с результатом отслеживания характеристик доступа для доступа, выполняемого первой обработкой для первой страницы совместно используемой виртуальной памяти, режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти, может также быть установлен как режим DSM, и другие обстоятельства могут быть выведены аналогично.
В некоторых вариантах осуществления настоящего изобретения, в сценарии отслеживания характеристик доступа множества обработок (например, первая обработка или вторая обработка включает в себя множество обработок), выполняющих доступ к первой странице совместно используемой виртуальной памяти, отслеживаемые характеристики доступа одной из множества обработок (одна обработка может представлять собой любую одну из множества обработок, или обработка, которая имеет максимальное значение параметра характеристик доступа среди множества обработок), которые обращаются к первой странице совместно используемой виртуальной памяти, могут использоваться, как отслеживаемые характеристики доступа для доступа, выполняемого множеством обработок для первой страницы совместно используемой виртуальной памяти. В качестве альтернативы, отслеживаемые интегрированные характеристики доступа для доступа, выполняемого множеством обработок для первой страницы совместно используемой виртуальной памяти, могут использоваться, как отслеживаемые характеристики доступа для доступа, выполняемого множеством обработок для первой страницы совместно используемой виртуальной памяти. Например, среднее значение, взвешенное среднее значение, сумма или взвешенная сумма характеристик доступа, которые отслеживаются, соответственно, для каждой из множества обработок, обращаются к первой странице совместно используемой виртуальной памяти (или интегрированные характеристики доступа в других формах), можно использовать, как отслеживаемые характеристики доступа, для доступа, выполняемого множеством обработок для первой страницы совместно используемой виртуальной памяти. В частности, например, среднее значение, взвешенное среднее значение, сумма или взвешенная сумма частоты доступа (или частота доступа для считывания, или процент доступа для считывания, или частота доступа для записи, или процент доступа для записи), которые отслеживают, соответственно, для каждой из множества обработок, которые обращаются к первой странице совместно используемой виртуальной памяти (взвешивающее значение, соответствующее каждой обработке, может быть установлено, как это требуется, и определенно все они могут быть равны 1), могут использоваться, как отслеживаемые характеристики доступа для доступа, выполняемого множеством обработок для первой страницы совместно используемой виртуальной памяти. В сценарии, когда первая обработка или вторая обработка включают в себя множество обработок, отслеживаемые характеристики доступа для доступа, выполняемого первой обработкой или второй обработкой для первой страницы совместно используемой виртуальной памяти, могут быть определены в представленном выше подходе. Другие обстоятельства могут быть выведены аналогично.
Ниже представлено краткое описание принципов работы режима DSM и режима SPM.
На основе режима DSM, вся обработка текущей программы может иметь одинаковое пространство совместно используемого виртуального адреса. Каждая обработка отображает часть или все страницы виртуальной памяти в пространстве совместно используемого виртуального адреса на пространство частной физической памяти, поддерживаемое этой обработкой. На уровне пользователя каждая обработка видит полное пространство совместно используемого виртуального адреса, но не может воспринимать, что совместно используемые данные, включенные в страницу виртуальной памяти, в пространстве совместно используемого виртуального адреса, фактически представляют собой пространство частной физической памяти, поддерживаемой другими обработками.
Каждая обработка может выполнять любые операции с данными для пространства совместно используемого виртуального адреса. Нижний уровень DSM синхронизирует данные между всеми обработками, используя сеть на микросхеме (On-chip Network), или системную совместно используемую физическую память, которая доступна для всех обработок. Множество обработок одной одновременно работающей программы могут выполняться в ядре процессора, или каждая обработка работает в отдельном ядре процессора.
Например, как показано на фиг. 2-а, область А на фиг. 2-а представляет собой пространство совместно используемого виртуального адреса программ; но обработки P0~P3 работают в разных ядрах процессора; они имеют однородное пространство совместно используемого виртуального адреса для сохранения совместно используемых данных, где первая область в пространстве виртуального адреса отображается на пространство частной физической памяти P0, вторая область отображается на пространство частной физической памяти P1, третья область отображается на пространство частной физической памяти P2, и четвертая область отображается на пространство частной физической памяти P3.
Например, как показано на фиг. 2-b, домашняя область на фиг. 2-b представляет собой пространство частного физического адреса каждой обработки, и каждая обработка поддерживает непересекающееся пространство физической памяти (часть, обозначенная, как "дом" на фиг. 2-b) отображается для пространства совместно используемого виртуального адреса. Если обработка 1 обращается к переменной z в области физической памяти, поддерживаемой обработкой 2 в пространстве совместно используемого виртуального адреса, протокол DSM копирует страницу физической памяти, на которой содержится переменная z, и которая поддерживается обработкой 2, в физическую память обработки 1 (см. часть, обозначенную "кэш" P1 на фиг. 2-b). Таким образом, обработка 1 может обращаться к переменной z. Протокол DSM поддерживает когерентность переменной z в системе для обеспечения того, что обработка 1 и обработка 2 будут видеть одну и ту же переменную z.
Режим DSM отображает страницу виртуальной памяти в пространстве совместно используемого виртуального адреса в пространстве частной физической памяти, поддерживаемой обработкой, и данные пространства частной физической памяти, в общем, выполнены, как помещенные в кэш, используя кэш L1 и кэш L2. Поэтому, когда CPU считывает данные, частота обращений к кэш (обращения к кэш) очень высока; и, когда CPU записывает данные, частота обращений к кэш также очень высока, что является очень предпочтительным для характеристик программы.
На основе режима SPM, пространство совместно используемого виртуального адреса отображается на пространство совместно используемого физического адреса во всех обработках одной и той же одновременно выполняемой программы для достижения когерентности программного кэш. Режим SPM обычно отключает кэш L2, и кэш L1 обычно устанавливают так, чтобы использовать политику сквозной записи (WT, Write Through). Обычно, на основе режима SPM, страница памяти, в общем, поддерживает только одну копию в пространстве совместно используемой физической памяти, что позволяет экономить пространство физической памяти.
Исследование и практика показывают, что режим DSM и режим SPM имеют свои соответствующие преимущества и недостатки, и режим DSM и режим SPM имеют определенное предпочтение для разных характеристик доступа (например, разных частот доступа, разных режимов доступа). Поэтому, в решении варианта осуществления настоящего изобретения, отслеживают характеристики доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти, и отслеживаемые характеристики доступа используют, как основу для определения, следует ли выполнить сброс режима управления страницей совместно используемой виртуальной памяти. Такой адаптивный механизм между характеристиками доступа и режимом управления является хорошим для улучшения характеристик доступа к странице совместно используемой виртуальной памяти и, поэтому, хорошим для улучшения характеристик соответствующей программы и восприятия пользователя.
Как можно видеть, в варианте осуществления настоящего изобретения, отслеживаются характеристики доступа страницы совместно используемой виртуальной памяти; и режим управления страницей совместно используемой виртуальной памяти изменяется на режим SPM, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим DSM и/или режим управления страницей совместно используемой виртуальной памяти изменяется на режим DSM, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим SPM. Механизм повторной установки режима управления страницей совместно используемой виртуальной памяти, в соответствии с результатом отслеживания характеристик доступа, обеспечивает лучшее соответствие между режимом управления и характеристиками доступа, лучше проявляет преимущества режима DSM или режима SPM и устанавливает основу для механизма улучшения рабочих характеристик доступа к совместно используемой виртуальной памяти.
Для лучшего понимания и воплощения описанных выше решений настоящего изобретения, в следующем описании представлено несколько сценариев приложения в качестве примеров.
Рассмотрим фиг. 3. На фиг. 3 показана блок-схема последовательности операций другого способа для определения режима управления страницей совместно используемой виртуальной памяти, в соответствии с вариантом осуществления настоящего изобретения. Как показано на фиг. 3, другой способ определения режима управления страницей совместно используемой виртуальной памяти, в соответствии с вариантом осуществления настоящего изобретения, может включать в себя следующее содержание:
301. Отслеживают характеристики доступа для доступа, выполненного N обработками для страницы X совместно используемой виртуальной памяти.
N представляет собой положительное целое число, большее 1. Например, N обработок может относиться к части или всем обработкам, в настоящее время присутствующим в системе. Например, N обработок могут относиться к части или всем обработкам, которые в настоящее время присутствуют в системе и, возможно, будут обращаться к странице X совместно используемой виртуальной памяти.
Можно понять, что страница X совместно используемой виртуальной памяти в данном варианте осуществления может соответствовать первой странице совместно используемой виртуальной памяти в предшествующем варианте осуществления.
В некоторых вариантах осуществления настоящего изобретения можно отслеживать различные характеристики доступа для доступа, выполняемого N обработками для страницы X совместно используемой виртуальной памяти, и пример, представленный в этом варианте осуществления, предназначен для детектирования частоты доступа для доступа, выполняемого N обработками для страницы X совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения частота доступа для доступа, выполняемого N обработками для страницы X совместно используемой виртуальной памяти, может относиться к количеству обращений обработок к странице X совместно используемой виртуальной памяти за единицу времени. В других вариантах осуществления настоящего изобретения частота доступа для доступа, выполняемого N обработками для страницы X совместно используемой виртуальной памяти, может относиться к проценту количества раз, когда доступ, выполняется N обработками для страницы X совместно используемой виртуальной памяти, относительно количества раз, когда доступ, выполняется N обработками для N1 страниц совместно используемой виртуальной памяти за определенную длительность (такую как единица времени), где N1 страниц совместно используемой виртуальной памяти включают в себя страницу X совместно используемой виртуальной памяти, и N1 представляет собой положительное целое число большее 1. Конечно, способ расчета частоты доступа для доступа, выполняемого N обработками для страницы X совместно используемой виртуальной памяти не ограничен представленным выше примером, и другие способы расчета, соответствующие законам природы, могут быть определены, если это требуется.
302. Определяют, является отслеживаемая частота доступа для доступа, выполняемого N обработками для страницы X совместно используемой виртуальной памяти, меньше или равной первому пороговому значению, и
если да, выполняют этап 303; или
если нет, выполняют этап 304.
303. Если отслеживаемая частота доступа для доступа, выполняемого N обработками для страницы X совместно используемой виртуальной памяти, меньше чем или равна первому пороговому значению, и текущий режим управления, соответствующий N обработкам для страницы X совместно используемой виртуальной памяти, представляет собой режим DSM, изменяют режим управления, соответствующий N обработкам для страницы X совместно используемой виртуальной памяти на режим SPM, и возвращается на этап 301; и, если текущий режим управления, соответствующий N обработкам на странице X совместно используемой виртуальной памяти, представляет собой режим SPM, возвращаются на этап 301.
304. Если отслеживаемая частота доступа для доступа, выполняемого N обработками для страницы X совместно используемой виртуальной памяти больше, чем второе пороговое значение, и текущий режим управления, соответствующий N обработкам для страницы X совместно используемой виртуальной памяти, представляет собой режим SPM, изменяют режим управления, соответствующий N обработкам для страницы X совместно используемой виртуальной памяти на режим DSM, и возвращаются на этап 301; и, если текущий режим управления, соответствующий N обработкам страницы X совместно используемой виртуальной памяти, представляет собой режим DSM, возвращаются на этап 301.
В некоторых вариантах осуществления настоящего изобретения, например, первое пороговое значение может составлять 1000 раз в секунду, 2000 раз в секунду, 5000 раз в секунду, или другое значение частоты; и первое пороговое значение может быть меньше или равно второму пороговому значению, и второе пороговое значение может составлять 1000 раз в секунду, 2000 раз в секунду, 3000 раз в секунду, 5000 раз в секунду или другое значение частоты. В других вариантах осуществления настоящего изобретения, например, первое пороговое значение может составлять 20%, 25%, 30%, 35% или другое значение в процентах, первое пороговое значение может быть меньше чем или равно второму пороговому значению, и второе пороговое значение может составлять 20%, 25%, 30%, 35% или другое значение в процентах. Следует понимать, что такая политика может рассматриваться, как политика потребительского выбора, в соответствии с данными доступа.
Можно понять, что в разных многоядерных или многократноядерных системах, режим управления, соответствующий N обработкам для страницы X совместно используемой виртуальной памяти, может изменяться на режим DSM разным образом.
В некоторых вариантах осуществления настоящего изобретения изменение режима управления, соответствующее N обработкам для страницы совместно используемой виртуальной памяти X на режим DSM, может включать в себя: в первом пространстве физической памяти выделяют первую страницу физической памяти для первой страницы совместно используемой виртуальной памяти; копируют данные, сохраненные на второй странице физической памяти на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти, и вторая страница физической памяти представляет собой страницу физической памяти, на которую в настоящее время отображается страница X совместно используемой виртуальной памяти; формируют взаимосвязь отображения между страницей X совместно используемой виртуальной памяти и первой страницей физической памяти; и записывают режим DSM, как режим управления, соответствующий N обработкам для страницы X совместно используемой виртуальной памяти. Например, все режимы управления для страницы X совместно используемой виртуальной памяти, записанные в тело структуры информации страницы, N обработок, могут быть записаны, как режим DSM.
В некоторых вариантах осуществления настоящего изобретения изменение режима управления, соответствующего N обработкам на странице X совместно используемой виртуальной памяти на режим SPM, может включать в себя: формируют взаимосвязь отображения между страницей X совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти; и записывают режим SPM, как режим управления, соответствующий N обработкам для страницы X совместно используемой виртуальной памяти. Например, все режимы управления страницей X совместно используемой виртуальной памяти, которые записаны в теле структуры информации страницы для N обработок, могут быть записаны, как режим SPM. Кроме того, перед формированием взаимосвязи отображения между страницей X совместно используемой виртуальной памяти и третьей страницей физической памяти, способ может дополнительно включать в себя: синхронизируют измененные данные в данных, сохраненных на четвертой странице физической памяти, ранее отображенной со страницы X совместно используемой виртуальной памяти, на третью страницу физической памяти. Конечно, если данные, сохраненные на четвертой странице физической памяти, ранее отображенной со страницы X совместно используемой виртуальной памяти, остаются без изменений, этап синхронизации данных может быть исключен. Четвертая страница физической памяти представляет собой страницу физической памяти, ранее отображенную со страницы X совместно используемой виртуальной памяти.
Режим DSM и режим SPM имеют определенное преимущество для разных частот доступа. Поэтому, при решении в данном варианте осуществления, отслеживают характеристики доступа для доступа, выполняемого N обработками для страницы совместно используемой виртуальной памяти, и отслеживаемые характеристики доступа используются, как основа для определения, следует ли выполнить повторную установку режима управления, соответствующего N обработкам для страницы совместно используемой виртуальной памяти. Такой адаптивный механизм между характеристиками доступа и режимом управления хорошо подходит для улучшения рабочих характеристик доступа к странице совместно используемой виртуальной памяти и, поэтому, хорошо подходит для улучшения рабочих характеристик соответствующей программы и восприятия пользователя.
Рассмотрим фиг. 4. На фиг. 4 показана блок-схема последовательности операций другого способа для определения режима управления страницей совместно используемой виртуальной памяти, в соответствии с вариантом осуществления настоящего изобретения. Другой способ для определения режима управления страницей совместно используемой виртуальной памяти, в соответствии с вариантом осуществления настоящего изобретения, может включать в себя следующее содержание:
401. Отслеживают характеристики доступа для доступа, выполняемого обработкой А и обработкой В для страницы X совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения могут отслеживаться различные характеристики доступа для доступа, выполняемого обработкой А и обработкой В для страницы X совместно используемой виртуальной памяти и пример, представленный в данном варианте осуществления, предназначен для детектирования частоты доступа для доступа, выполняемого обработкой А и обработкой В для страницы X совместно используемой виртуальной памяти.
Можно понять, что страница X совместно используемой виртуальной памяти в данном варианте осуществления может соответствовать первой странице совместно используемой виртуальной памяти в предшествующем варианте осуществления.
В некоторых вариантах осуществления настоящего изобретения частота доступа, выполняемого обработкой А и обработкой В для страницы X совместно используемой виртуальной памяти, может относиться к количеству раз, когда обработка А и обработка В обращаются к странице X совместно используемой виртуальной памяти за еданицу времени.
В других вариантах осуществления настоящего изобретения частота доступа, выполняемого обработкой А и обработкой В для страницы X совместно используемой виртуальной памяти, может также относиться к проценту количества раз, когда обработка А и обработка В обращаются к странице X совместно используемой виртуальной памяти относительно общего количества раз, когда обработка А и обработка В, обращающиеся к N1 страницам совместно используемой виртуальной памяти в течение определенной длительности (такой, как единица времени), где N1 страниц совместно используемой виртуальной памяти включают в себя страницу X совместно используемой виртуальной памяти, и N1 представляет собой положительное целое число больше 1.
Конечно, способ расчета частоты доступа, выполняемого обработкой А и обработкой В для страницы X совместно используемой виртуальной памяти, не ограничен представленным выше примером, и другие способы расчета, соответствующие законам природы, могут быть определены, в соответствии с необходимостью.
402. Определяют, является ли отслеживаемая частота для доступа, выполняемого обработкой А для страницы X совместно используемой виртуальной памяти меньшей чем или равной первому пороговому значению, и
если да, выполняют этап 403; или
если нет, выполняют этап 404.
403. Если отслеживаемая частота доступа, выполняемая обработкой для страницы X совместно используемой виртуальной памяти, меньше чем или равна первому пороговому значению, и текущий режим управления, соответствующий обработке А для страницы X совместно используемой виртуальной памяти, представляет собой режим DSM, изменяют режим управления, соответствующий обработке А на странице X совместно используемой виртуальной памяти на режим SPM, и возвращаются на этап 401; и, если текущий режим управления, соответствующий обработке А на странице X совместно используемой виртуальной памяти, представляет собой режим SPM, возвращаются на этап 401.
404. Если отслеживаемая частота доступа, выполняемого обработкой А для страницы X совместно используемой виртуальной памяти, больше, чем второе пороговое значение, и текущий режим управления, соответствующий обработке А для страницы X совместно используемой виртуальной памяти, представляет собой режим SPM, изменяют режим управления, соответствующий обработке А на странице X совместно используемой виртуальной памяти на режим DSM, и возвращаются на этап 401; и, если текущий режим управления, соответствующий обработке А на странице X совместно используемой виртуальной памяти, представляет собой режим DSM, возвращаются на этап 401.
405. Определяют, является ли отслеживаемая частота доступа, выполняемого обработкой В для страницы X совместно используемой виртуальной памяти, меньше или равной первому пороговому значению, и
если да, выполняют этап 406; или
если нет, выполняют этап 407.
406. Если отслеживаемая частота доступа, выполняемого обработкой В для страницы X совместно используемой виртуальной памяти, меньше чем или равна первому пороговому значению, и текущий режим управления, соответствующий обработке В для страницы X совместно используемой виртуальной памяти, представляет собой режим DSM, изменяют режим управления, соответствующий обработке В на странице X совместно используемой виртуальной памяти, на режим SPM, и возвращаются на этап 401; и, если текущий режим управления, соответствующий обработке В на странице X совместно используемой виртуальной памяти, представляет собой режим SPM, возвращаются на этап 401.
407. Если отслеживаемая частота доступа, выполняемая обработкой В для страницы X совместно используемой виртуальной памяти, больше, чем второе пороговое значение, и текущий режим управления, соответствующий обработке В для страницы X совместно используемой виртуальной памяти, представляет собой режим SPM, изменяют режим управления, соответствующий обработке В на странице X совместно используемой виртуальной памяти, на режим DSM, и возвращаются на этап 401; и, если текущий режим управления, соответствующий обработке В на странице X совместно используемой виртуальной памяти, представляет собой режим DSM, возвращаются на этап 401.
Следует понимать, что этапы 402~404 и этапы 405~407 не обязательно выполняются в определенной порядке, и могут быть выполнены синхронно или последовательно.
В некоторых вариантах осуществления настоящего изобретения, например, первое пороговое значение может составлять 1000 раз в секунду, 2000 раз в секунду, 5000 раз в секунду, или другое значение частоты; и первое пороговое может быть меньше чем или равным второму порогу, и второе пороговое значение может составлять 1000 раз в секунду, 2000 раз в секунду, 3000 раз в секунду, 5000 раз в секунду или другое значение частоты. В других вариантах осуществления настоящего изобретения, например, первое пороговое значение может составлять 20%, 25%, 30%, 35% или другое значение в процентах, первое пороговое значение может быть меньше чем или равно второму пороговому значению, и второе пороговое значение может составлять 20%, 25%, 30%, 35% или другое значение в процентах.
Следует понимать, что такая политика может рассматриваться, как политика потребительского выбора, в соответствии с данными доступа.
Следует понимать, что в разных многоядерных или многократноядерных системах, режим управления, соответствующий обработке А (или обработке В) для страницы X совместно используемой виртуальной памяти, может быть изменен на режим DSM разными способами.
В некоторых вариантах осуществления настоящего изобретения изменение режима управления, соответствующего обработке А (или обработке В) первой страницы совместно используемой виртуальной памяти, на режим DSM может включать в себя: в первом пространстве физической памяти, выделяют первую страницу физической памяти для страницы X совместно используемой виртуальной памяти; копируют данные, сохраненные на второй странице физической памяти, на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти, и вторая страница физической памяти представляет собой страницу физической памяти, на которую в настоящее время отображается страница X совместно используемой виртуальной памяти; формируют взаимосвязь отображения между страницей X совместно используемой виртуальной памяти и первой страницей физической памяти; и записывают режим DSM, как режим управления, соответствующий обработке А (или обработке В) страницы X совместно используемой виртуальной памяти. Например, все режимы управления страницей X совместно используемой виртуальной памяти, которые записаны в теле информации структуры страницы для обработки А (или обработки В), могут быть записаны, как режим DSM. Кроме того, в некоторых вариантах осуществления настоящего изобретения, вторая страница физической памяти может оставаться эффективной впоследствии, и вторая страница физической памяти может использоваться, как канал синхронизации между обработками, в которых используется режим DSM, как режим управления страницей X совместно используемой виртуальной памяти, или между обработками, в которых используется режим SPM, как режим управления страницей X совместно используемой виртуальной памяти, или между обработкой, в которой используется режим DSM, как режим управления страницей X совместно используемой виртуальной памяти, и обработкой, в которой используется режим SPM, как режим управления страницей X совместно используемой виртуальной памяти, где канал синхронизации является специфичным для страницы X совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения изменение режима управления, соответствующего обработке А (или обработке В) страницы X совместно используемой виртуальной памяти, на режим SPM может включать в себя: формируют взаимосвязь отображения между страницей X совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти; и записывают режим SPM, как режим управления, соответствующий обработке А (или обработке В) страницы X совместно используемой виртуальной памяти. Например, все режимы управления страницей X совместно используемой виртуальной памяти, которые записывают в тело структуры информации страницы при обработке А (или обработке В), могут быть записаны, как режим SPM. Кроме того, перед формированием взаимосвязи отображения между страницей X совместно используемой виртуальной памяти и третьей страницей физической памяти, способ может дополнительно включать в себя: синхронизируют измененные данные с данными, сохраненными на четвертой странице физической памяти, ранее отображенные со страницы X совместно используемой виртуальной памяти, на третью страницу физической памяти.
Конечно, если данные, сохраненные на четвертой странице физической памяти, ранее отображенные со страницы X совместно используемой виртуальной памяти, остаются без изменений, этап синхронизации данных может быть исключен.
Режим DSM и режим SPM имеют определенное предпочтение для разных частот доступа. Поэтому, в решении, в данном варианте осуществления, соответственно, отслеживают характеристики доступа для доступа, выполняемого при обработке А и обработке В для страницы совместно используемой виртуальной памяти, и отслеживаемые характеристики доступа используются, как основа для определения, соответственно, следует ли выполнить повторную установку режима управления, в соответствии с обработкой А и обработкой В на странице совместно используемой виртуальной памяти. Такой адаптивный механизм между характеристиками доступа и режимом управления хорошо подходит для улучшения рабочих характеристик доступа к странице совместно используемой виртуальной памяти и, поэтому, хорошо подходит для улучшения рабочих характеристик соответствующей программы и опыта пользователя. Кроме того, характеристики доступа для разных обработок используются, как основа для определения, следует ли выполнять повторную установку режима управления, соответствующего каждой обработке для страницы совместно используемой виртуальной памяти, что делает режим управления более адаптивным и улучшает характеристики доступа.
Для обеспечения лучшего воплощения описанного выше решения в варианте осуществления настоящего изобретения, ниже описаны соответствующие устройства для воплощения описанного выше решения.
На фиг. 5-а устройство 500, для определения режима управления страницей совместно используемой виртуальной памяти, в соответствии с вариантом осуществления настоящего изобретения, может включать в себя модуль 510 мониторинга и первый модуль 520 повторного отображения.
Модуль 510 мониторинга выполнен с возможностью отслеживать характеристики доступа для доступа, выполняемого обработкой для страницы совместно используемой виртуальной памяти.
Первый модуль 520 повторного отображения, соединенный с модулем 510 мониторинга, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим SPM, если характеристики доступа, отслеживаемые модулем 510 мониторинга, удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим DSM.
Как показано на фиг. 5-b, устройство 500 для определения режима управления страницей совместно используемой виртуальной памяти может дополнительно включать в себя:
второй модуль 530 повторного отображения, соединенный с модулем 510 мониторинга, выполненный с возможностью изменять режим управления страницей совместно используемой виртуальной памяти, на режим DSM, если характеристики доступа, отслеживаемые модулем 510 мониторинга, удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим SPM.
Как показано на фиг. 5-с, устройство 500 для определения режима управления страницей совместно используемой виртуальной памяти может включать в себя:
второй модуль 530 повторного отображения, соединенный с модулем 510 мониторинга, выполненный с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим DSM, если характеристики доступа, отслеживаемые модулем 510 мониторинга, удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим SPM.
Следует понимать, что первое установленное условие и второе установленное условие могут изменяться, в зависимости от отслеживаемых характеристик доступа. Например, если отслеживаемые характеристики доступа представляют собой частоту доступа, первое установленное условие и второе установленное условие могут включать в себя установленные условия, относящиеся к частоте доступа; если отслеживаемые характеристики доступа представляют собой режим доступа, первое установленное условие и второе установленное условие могут включать в себя установленные условия, относящиеся к режиму доступа; если отслеживаемые характеристики доступа включают в себя частоту доступа и режим доступа, первое установленные условие и второе установленные условие могут включать в себя установленные условия, относящиеся как к частоте доступа, так и к режиму доступа.
В некоторых вариантах осуществления настоящего изобретения, если отслеживаемые характеристики доступа включают в себя частоту доступа для доступа, выполняемого при обработке первой страницы совместно используемой виртуальной памяти, первое установленное условие может включать в себя, что частота доступа меньше чем или равна первому пороговому значению (например, первое пороговое значение может представлять собой 1000 раз в секунду, 2000 раз в секунду, 5000 раз в секунду или другое значение частоты); и второе установленное условие может включать в себя, что частота доступа больше, чем второе пороговое значение, где первое пороговое значение может быть меньше чем или равно второму пороговому значению, и второе пороговое значение может составлять 1000 раз в секунду, 2000 раз в секунду, 3000 раз в секунду, 5000 раз в секунду или другое значение частоты, где второе пороговое значение больше чем или равно первому пороговому значению. В этом сценарии режим управления первой страницы совместно используемой виртуальной памяти может быть изменен на режим SPM, если отслеживаемая частота доступа ниже чем или равна первому пороговому значению, и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим DSM, и/или режим управления первой страницы совместно используемой виртуальной памяти может быть изменен на режим DSM, если отслеживаемая частота доступа выше, чем второе пороговое значение, и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим SPM. Следует понимать, что такая политика может рассматриваться, как политика потребительского выбора, в соответствии с данными доступа.
В других вариантах осуществления настоящего изобретения, если отслеживаемые характеристики доступа включают в себя режим доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти, первое установленное условие может включать в себя, что режим доступа представляет собой режим доступа для записи или доступ для считывания-записи (или процент доступа для записи превышает четвертое пороговое значение, или частота доступа для записи превышает третье пороговое значение); и второе установленное условие может включать в себя, что процент доступа только для считывания или доступа для считывания превышает шестое пороговое значение или что частота доступа для считывания превышает пятое пороговое значение, где сумма четвертого порогового значения и шестого порогового значения может быть больше чем или равна 1. В этом сценарии режим управления первой страницы совместно используемой виртуальной памяти может быть изменен на режим SPM, если отслеживаемый режим доступа представляет собой доступ для записи или доступ для считывания-записи (или процент доступа для записи превышает четвертое пороговое значение, или частота доступа для записи превышает третье пороговое значение), и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим DSM; и/или режим управления первой страницы совместно используемой виртуальной памяти может быть изменен на режим DSM, если отслеживаемый режим доступа представляет собой доступ, предназначенный только для считывания (или процент доступа для считывания превышает шестое пороговое значение, или частота доступа для считывания превышает пятое пороговое значение), и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим SPM, и другие обстоятельства могут быть выведены аналогично. Следует понимать, что такая политика может рассматриваться, как политика потребительского выбора, в соответствии с синхронизацией доступа.
В некоторых вариантах осуществления настоящего изобретения первое установленное условие может включать в себя, что частота доступа меньше чем или равна первому пороговому значению, или режим доступа представляет собой режим доступа для считывания-записи или доступ для записи, или частота доступа для записи выше, чем третье пороговое значение, или процент доступа для записи больше, чем четвертое пороговое значение.
В некоторых вариантах осуществления настоящего изобретения модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа для доступа, выполняемого обработкой для страницы совместно используемой виртуальной памяти.
Первый модуль 520 повторного отображения может быть специально выполнен с возможностью изменения режима управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если частота доступа, отслеживаемая модулем 510 мониторинга, меньше чем или равна первому пороговому значению, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти.
В качестве альтернативы, модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать режим доступа для доступа, выполняемого при обработке для страницы совместно используемой виртуальной памяти; и первый модуль 520 повторного отображения может быть, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если режим доступа, отслеживаемый модулем 510 мониторинга, представляет собой доступ для считывания-записи или доступ для записи, и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти.
В качестве альтернативы, модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа для записи, выполняемого при обработке для страницы совместно используемой виртуальной памяти; и первый модуль 520 повторного отображения может быть, в частности, выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если частота доступа для записи, отслеживаемая модулем 510 мониторинга, выше, чем третье пороговое значение и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти.
В качестве альтернативы, модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать процент доступа, выполняемого обработкой для страницы совместно используемой виртуальной памяти; и первый модуль 520 повторного отображения, в частности, может быть выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если процент доступа для записи, отслеживаемого модулем 510 мониторинга, больше, чем четвертое пороговое значение и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти.
В некоторых вариантах осуществления настоящего изобретения второе установленное условие включает в себя, что частота доступа выше, чем второе пороговое значение, режим доступа представляет собой доступ только для считывания, частота доступа для считывания выше, чем пятое пороговое значение, или процент доступа для считывания больше, чем шестое пороговое значение, где второе пороговое значение может быть больше, чем или равно первому пороговому значению.
Модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа, выполняемого обработкой для страницы совместно используемой виртуальной памяти; и второй модуль 530 повторного отображения, в частности, может быть выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если частота доступа, отслеживаемого модулем 510 мониторинга, выше, чем второе пороговое значение, и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
В качестве альтернативы, модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать режим доступа, выполняемого обработкой для страницы совместно используемой виртуальной памяти; и второй модуль 530 повторного отображения, в частности, может быть выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если режим доступа, отслеживаемого модулем 510 мониторинга, представляет собой доступ только для считывания, и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
В качестве альтернативы, модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать частоту доступа для считывания, выполняемого обработкой для страницы совместно используемой виртуальной памяти; и второй модуль 530 повторного отображения, в частности, может быть выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если частота доступа для считывания, отслеживаемого модулем 510 мониторинга, выше, чем пятое пороговое значение, и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
В качестве альтернативы, модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать процент доступа для считывания, выполняемого обработкой для страницы совместно используемой виртуальной памяти; и второй модуль 530 повторного отображения, в частности, может быть выполнен с возможностью изменять режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если процент доступа для считывания, отслеживаемого модулем 510 мониторинга, больше, чем шестое пороговое значение, и если текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемый физической памяти.
В некоторых вариантах осуществления настоящего изобретения первый модуль 520 повторного отображения, в частности, может быть выполнен с возможностью: если характеристики доступа, отслеживаемые модулем 510 мониторинга, удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим DSM, формировать взаимосвязь отображения между страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти; и записывать режим SPM, как режим управления страницей совместно используемой виртуальной памяти, где данные, сохраненные на странице физической памяти, ранее отображенные со страницы совместно используемой виртуальной памяти, остаются без изменения.
В некоторых вариантах осуществления настоящего изобретения первый модуль 520 повторного отображения также может быть, в частности, выполнен с возможностью: синхронизировать измененные данные в данных, сохраненных на четвертой странице физической памяти, с третьей страницы физической памяти, если характеристики доступа, отслеживаемые модулем 510 мониторинга, удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим DSM; формировать взаимосвязь отображения между страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти; и записывать режим SPM, как режим управления страницей совместно используемой виртуальной памяти, где четвертая страница физической памяти представляет собой страницу физической памяти, ранее отображенную со страницы совместно используемой виртуальной памяти, и данные, сохраненные на странице физической памяти, изменились.
В некоторых вариантах осуществления настоящего изобретения второй модуль 530 повторного отображения, в частности, может быть выполнен с возможностью: если характеристики доступа, отслеживаемые модулем 510 мониторинга, удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим SPM, тогда в первом пространстве физической памяти выделяют первую страницу физической памяти для страницы совместно используемой виртуальной памяти; копировать данные, сохраненные на второй странице физической памяти, на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти, и вторая страница физической памяти представляет собой страницу физической памяти, в настоящее время отображенную со страницы совместно используемой виртуальной памяти; формировать взаимосвязь отображения между страницей совместно используемой виртуальной памяти и первой страницей физической памяти; и записывать режим DSM, как режим управления страницей совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения модуль 510 мониторинга, в частности, выполнен с возможностью отслеживать характеристики доступа для доступа, выполняемого первой обработкой для страницы совместно используемой виртуальной памяти, где первая обработка включает в себя M1 обработок, и M1 представляет собой положительное целое число.
Первый модуль 520 повторного отображения, в частности, может быть выполнен с возможностью изменять режим управления, соответствующий первой обработке, на странице совместно используемой виртуальной памяти, на режим SPM, если характеристики доступа для доступа, выполняемого первой обработкой для страницы совместно используемой виртуальной памяти, который отслеживает модуль 510 мониторинга, удовлетворяют первому установленному условию, и если текущий режим управления, соответствующий первой обработке на странице совместно используемой виртуальной памяти, представляет собой режим DSM.
Второй модуль 530 повторного отображения может быть, в частности, выполнен с возможностью изменять режим управления, соответствующий первой обработке на странице совместно используемой виртуальной памяти, на режим DSM, если характеристики доступа для доступа, выполняемого первой обработкой для страницы совместно используемой виртуальной памяти, которые отслеживают с помощью модуля 510 мониторинга, удовлетворяют второму установленному условию, и если текущий режим управления, соответствующий первой обработке для страницы совместно используемой виртуальной памяти, представляет собой режим SPM.
В некоторых вариантах осуществления настоящего изобретения, если M1 больше чем 1, отслеживаемые характеристики доступа для доступа, выполняемого одной из обработок M1 для страницы совместно используемой виртуальной памяти, могут использоваться, как отслеживаемые характеристики для доступа для доступа, выполняемого первой обработкой для страницы совместно используемой виртуальной памяти. В качестве альтернативы, отслеживаемые интегрированные характеристики доступа для доступа, выполняемого M1 обработками для первой страницы совместно используемой виртуальной памяти, могут использоваться, как отслеживаемые характеристики доступа для доступа, выполняемого первой обработкой для страницы совместно используемой виртуальной памяти. Например, среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые отслеживаются соответственно для каждой из M1 обработок, которые обращаются к странице совместно используемой виртуальной памяти, можно использовать, как отслеживаемые характеристики доступа для доступа, выполняемого первой обработкой для страницы совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения модуль 510 мониторинга дополнительно выполнен с возможностью отслеживать характеристики доступа для доступа, выполняемого второй обработкой для страницы совместно используемой виртуальной памяти, где вторая обработка включает в себя M2 обработок, M2 представляет собой положительное целое число, и вторая обработка отличается от первой обработки.
Первый модуль 520 повторного отображения может быть дополнительно выполнен с возможностью изменять режим управления, соответствующий второй обработке на странице совместно используемой виртуальной памяти, на режим SPM, если характеристики доступа для доступа, выполняемого второй обработкой для страницы совместно используемой виртуальной памяти, которые отслеживаются модулем 510 мониторинга, удовлетворяют первому установленному условию, и, если текущий режим управления, соответствующий второй обработке на странице совместно используемой виртуальной памяти, представляет собой режим DSM.
Второй модуль 530 повторного отображения выполнен с возможностью изменять режим управления, соответствующий второй обработке, на странице совместно используемой виртуальной памяти, на режим DSM, если характеристики доступа для доступа, выполняемого второй обработкой для страницы совместно используемой виртуальной памяти, которые отслеживают с помощью модуля 510 мониторинга, удовлетворяют второму установленному условию, и если текущий режим управления, соответствующий второй обработке на странице совместно используемой виртуальной памяти, представляет собой режим SPM.
В некоторых вариантах осуществления настоящего изобретения, если M2 больше чем 1, отслеживаемые характеристики доступа для доступа, выполняемого одной из обработок M2 для страницы совместно используемой виртуальной памяти, можно использовать, как отслеживаемые характеристики доступа для доступа, выполняемого второй обработкой для страницы совместно используемой виртуальной памяти. В качестве альтернативы, отслеживаемые интегрированные характеристики доступа для доступа, выполняемого M2 обработками для первой страницы совместно используемой виртуальной памяти, можно использовать, как отслеживаемые характеристики доступа для доступа, выполняемого второй обработкой для страницы совместно используемой виртуальной памяти. Например, среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые отслеживаются соответственно каждой из M2 обработок, которые обращаются к странице совместно используемой виртуальной памяти, можно использовать, как отслеживаемые характеристики доступа для доступа, выполняемого второй обработкой для страницы совместно используемой виртуальной памяти.
Например, если первая обработка (или вторая обработка) включают в себя множество обработок, первый модуль 520 повторного отображения, в частности, может быть выполнен с возможностью: использовать среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются модулем 510 мониторинга для каждой обработки при первой обработке (или второй обработке), которые обращаются к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа первой обработки (или второй обработки), которая обращается к странице совместно используемой виртуальной памяти; или использовать характеристики доступа, которые отслеживаются с помощью модуля 510 мониторинга для одной обработки при первой обработке (или второй обработке), которая обращается к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа первой обработки (или второй обработки), которая обращается к странице совместно используемой виртуальной памяти; и изменять режим управления, соответствующий первой обработке (или второй обработке) на странице совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если отслеживаемые характеристики доступа для доступа, выполняемого при обработке страницы совместно используемой виртуальной памяти, удовлетворяют первому условию, и если текущий режим управления, соответствующий первой обработке (или второй обработке) на странице совместно используемой виртуальной памяти, представляет собой режим распределенной совместно используемой памяти.
В другом примере, если первая обработка (или вторая обработка) включают в себя множество обработок, второй модуль 530 повторного отображения, в частности, может быть выполнен с возможностью: использовать среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются с помощью модуля 510 мониторинга для каждой обработки при первой обработке (или второй обработке), которая обращается к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа первой обработки (или второй обработки), которая обращается к странице совместно используемой виртуальной памяти; или использовать характеристики доступа, которые отслеживаются модулем 510 мониторинга для одной обработки при первой обработке (или второй обработке), которая обращается к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа первой обработки (или второй обработке), которая обращается к странице совместно используемой виртуальной памяти; и изменять режим управления, соответствующий первой обработке (или второй обработке) на странице совместно используемой виртуальной памяти для режима распределенной совместно используемой памяти, если отслеживаемые характеристики доступа для доступа, выполняемого обработками для страницы совместно используемой виртуальной памяти, удовлетворяют второму условию и, если текущий режим управления, соответствующий первой обработке (или второй обработке) на странице совместно используемой виртуальной памяти, представляет собой режим совместно используемой физической памяти.
Следует понимать, что устройство 500 для определения режима управления страницей совместно используемой виртуальной памяти может быть развернуто в устройстве передачи данных, таком как устройство сетевого доступа или устройство базовой сети или маршрутизатор или другое устройство передачи данных, и устройство 500 для определения режима управления страницей совместно используемой виртуальной памяти также может быть развернуто в сервере или в персональном компьютере или другом вычислительном устройстве.
Можно понять, что функции или функциональные модули в устройстве 500 для определения режима управления страницей совместно используемой виртуальной памяти в этом варианте осуществления могут быть воплощены в соответствии со способом, описанным в варианте осуществления способа. Детальное описание обработки для воплощения устройства можно найти по ссылке на соответствующее описание в варианте осуществления способа, и повторное ее описание здесь не будет дополнительно представлено.
Как можно видеть, устройство 500 для определения режима управления страницей совместно используемой виртуальной памяти в данном варианте осуществления отслеживает характеристики доступа страницы совместно используемой виртуальной памяти; и изменяет режим управления страницей совместно используемой виртуальной памяти на режим совместно используемой физической памяти, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим распределенной совместно используемой памяти, или изменяет режим управления страницей совместно используемой виртуальной памяти на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти. Механизм повторного режима управления страницей совместно используемой виртуальной памяти, в соответствии с результатом мониторинга характеристик доступа, обеспечивает лучшее соответствие между режимом управления и характеристиками доступа, обеспечивает лучшее проявление преимущества режима DSM или режима SPM, и устанавливает механизм для улучшения рабочих характеристик доступа к совместно используемой виртуальной памяти.
На фиг. 6 схематично показана структурная схема вычислительной системы в соответствии с настоящим изобретением. Как показано на фиг. 6, вычислительная система в этом варианте осуществления включает в себя, по меньшей мере, одну шину 601, по меньшей мере, один процессор 602, соединенный с шиной 601, и, по меньшей мере, одно запоминающее устройство 603, соединенное с шиной 601.
В процессоре 602 используется шина 601 для вызова кодов в запоминающем устройстве 603 для: отслеживания характеристик доступа для страницы совместно используемой виртуальной памяти; и изменения режима управления страницей совместно используемой виртуальной памяти на режим SPM, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим DSM, и/или изменения режима управления страницей совместно используемой виртуальной памяти на режим DSM, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления страницей совместно используемой виртуальной памяти представляет собой режим SPM.
В некоторых вариантах осуществления настоящего изобретения, например, процессор 602 может отслеживать характеристики доступа для доступа, выполняемого N обработками для страницы совместно используемой виртуальной памяти (для удобства цитирования ниже называется первой страницей совместно используемой виртуальной памяти), где N представляет собой положительное целое число. Например, если N равно 1, N обработок может относиться к любой из обработок, присутствующих в настоящее время в системе, или к определенной обработке; если N больше чем 1, N обработок могут относиться к части или всем обработкам, присутствующим в настоящее время в системе. Например, N обработок могут относиться к части или всем обработкам, которые в настоящее время присутствуют в системе и которые, возможно, обращаются к первой странице совместно используемой виртуальной памяти. В некоторых вариантах осуществления настоящего изобретение, например, счетчик рабочих характеристик или другие аппаратные средства или программы можно использовать для отслеживания характеристик доступа страницы совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения, например, процессор 602 может отслеживать различные характеристики доступа для доступа, выполняемого обработкой для страницы совместно используемой виртуальной памяти. Характеристики доступа могут включать в себя частоту доступа и/или режим доступа, и так далее. Режимы доступа могут включать в себя доступ только для считывания, доступ для считывания-записи, доступ для записи и так далее. Таким образом, процессор 602 может отслеживать характеристики доступа, такие как частота доступа и/или режим доступа, для доступа, выполняемого обработкой для страницы совместно используемой виртуальной памяти.
Можно понять, что первое установленное условие и второе установленное условие могут изменяться в соответствии с отслеживаемыми характеристиками доступа. Например, если отслеживаемые характеристики доступа представляют собой частоту доступа, первое установленное условие и второе установленное условие могут включать в себя установленные условия, относящиеся к частоте доступа; если отслеживаемые характеристики доступа представляют собой режим доступа, первое установленное условие и второе установленное условие могут включать в себя установленные условия, относящиеся к режиму доступа; если отслеживаемые характеристики доступа включают в себя частоту доступа и режим доступа, первое установленное условие и второе установленное условие могут включать в себя установленные условия, относящиеся как к частоте доступа, так и к режиму доступа.
В некоторых вариантах осуществления настоящего изобретения, если отслеживаемые характеристики доступа включают в себя частоту доступа для доступа, выполняемого обработкой для первой страницы совместно используемой виртуальной памяти, первое установленное условие может включать в себя, что частота доступа ниже чем или равна первому пороговому значению (например, первое пороговое значение может составлять 1000 раз в секунду, 2000 раз в секунду, 5000 раз в секунду или другое значение частоты); и второе установленное условие может включать в себя, что частота доступа выше, чем второе пороговое значение, где первое пороговое значение может быть ниже чем или равно второму пороговому значению, и второе пороговое значение может составлять 1000 раз в секунду, 2000 раз в секунду, 3000 раз в секунду, 5000 раз в секунду или другое значение частоты. В этом сценарии, режим управления первой страницы совместно используемой виртуальной памяти может изменяться на режим SPM, если отслеживаемая частота доступа ниже чем или равна первому пороговому значению, и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим DSM, и/или режим управления первой страницы совместно используемой виртуальной памяти может быть изменен на режим DSM, если отслеживаемая частота доступа выше, чем второе пороговое значение, и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим SPM. Следует понимать, что такая политика может рассматриваться, как политика потребительского выбора в соответствии с данными доступа.
В других вариантах осуществления настоящего изобретения, если отслеживаемые характеристики доступа включают в себя режим доступа для доступа, выполняемого при обработке страницы совместно используемой виртуальной памяти, первое установленное условие может включать в себя, что режим доступа представляет собой доступ для записи или доступ для считывания-записи (или процент доступа для записи превышает четвертое пороговое значение, или частота доступа для записи превышает третье пороговое значение); и второе установленное условие может включать в себя, что процент доступа только для считывания или доступа для считывания превышает шестое пороговое значение или что частота доступа для считывания превышает пятое пороговое значение, где сумма четвертого порогового значения и шестого порогового значения может быть больше чем или равно 1. В этом сценарии, если процессор 602 может изменять режим управления первой страницы совместно используемой виртуальной памяти на режим SPM, если режим доступа, отслеживаемый процессором 602, представляет собой доступ для записи или доступ для считывания-записи (или процент доступа для записи превышает четвертое пороговое значение или частота доступа для записи превышает третье пороговое значение), и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим DSM; и/или процессор 602 может изменять режим управления первой страницы совместно используемой виртуальной памяти на режим DSM, если режим доступа, отслеживаемый процессором 602, представляет собой доступ только для считывания (или процент доступа для считывания превышает шестое пороговое значение, или частота доступа для считывания превышает пятое пороговое значение), и текущий режим управления первой страницы совместно используемой виртуальной памяти представляет собой режим SPM, и другие обстоятельства могут быть выведены аналогично.
В некоторых вариантах осуществления настоящего изобретения изменение с помощью процессора 602 режима управления первой страницы совместно используемой виртуальной памяти на режим DSM может включать в себя: в первом пространстве физической памяти выделяют первую страницу физической памяти для первой страницы совместно используемой виртуальной памяти; копируют данные, сохраненные на второй странице физической памяти на первую страницу физической памяти, где вторая страница физической памяти принадлежит пространству совместно используемой физической памяти (пространство совместно используемой физической памяти представляет собой пространство физической памяти, которое может совместно использоваться несколькими ядрами), и вторая страница физической памяти представляет собой страницу физической памяти, на которую в настоящее время отображают первую страницу совместно используемой виртуальной памяти; формируя взаимосвязь отображения между первой страницей совместно используемой виртуальной памяти и первой страницей физической памяти; и записывают режим DSM, как режим управления первой страницы совместно используемой виртуальной памяти.
В некоторых вариантах осуществления настоящего изобретения изменение, выполняемое процессором 602 режима управления страницей совместно используемой виртуальной памяти на режим SPM, может включать в себя: формируют взаимосвязь отображения между первой страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти (пространство совместно используемой физической памяти представляет собой пространство физической памяти, которое может совместно использоваться несколькими ядрами); и записывают режим SPM, как режим управления первой страницы совместно используемой виртуальной памяти, где данные, сохраненные на странице физической памяти, ранее отображенные со страницы совместно используемой виртуальной памяти, остаются без изменений.
В некоторых вариантах осуществления настоящего изобретения изменение, выполняемое процессором 602 режима управления страницей совместно используемой виртуальной памяти на режим SPM, может включать в себя: синхронизируют, используя процессор 602, измененные данные в данных, сохраненных на четвертой странице физической памяти, с третьей страницей физической памяти; формируют взаимосвязь отображения между первой страницей совместно используемой виртуальной памяти и третьей страницей физической памяти, где третья страница физической памяти принадлежит пространству совместно используемой физической памяти (пространство совместно используемой физической памяти представляет пространство физической памяти, которое может совместно использоваться несколькими ядрами); и записывают режим SPM, как режим управления первой страницы совместно используемой виртуальной памяти, где четвертая страница физической памяти представляет собой страницу физической памяти, ранее отображенную со страницы совместно используемой виртуальной памяти, и данные, сохраненные на странице физической памяти были изменены.
Процессор 602 может записывать режим DSM/режим SPM, как режим управления первой страницы совместно используемой виртуальной памяти различными способами. Например, флаг бита режима управления устанавливают для первой страницы совместно используемой виртуальной памяти, и флаг бита режима управления может быть установлен в разные значения для идентификации, является ли режим управления первой страницы совместно используемой виртуальной памяти режимом DSM или режимом SPM. В качестве альтернативы, процессор 602 может записывать режим управления первой страницы совместно используемой виртуальной памяти, которую записывают в теле структуры информации страницы обработки (или множества обработок или всех обработок), как режим DSM или режим SPM. Другие способы записи не перечислены здесь полностью.
В некоторых вариантах осуществления настоящего изобретения процессор 602 может устанавливать режим управления (такой как режим DSM или режим SPM) для каждой страницы совместно используемой виртуальной памяти (такой как первая страница совместно используемой виртуальной памяти). В этом сценарии, для всех обработок, которые обращаются к первой странице совместно используемой виртуальной памяти, режим управления первой страницы совместно используемой виртуальной памяти является одинаковым. Конечно, режим управления (такой как режим DSM или режим SPM), соответствующий каждой обработке, также может быть установлен для каждой страницы совместно используемой виртуальной памяти (такой как первая страница совместно используемой виртуальной памяти). В этом сценарии, для всех обработок, которые обращаются к первой странице совместно используемой виртуальной памяти, режим управления первой страницы совместно используемой виртуальной памяти является таким же или разным. Например, предположим, что присутствуют обработка А и обработка В, режим управления, соответствующий обработке А на первой странице совместно используемой виртуальной памяти, может представлять собой режим DSM, и режим управления, соответствующий обработке В на первой странице совместно используемой виртуальной памяти, может представлять собой режим SPM.
В некоторых вариантах осуществления настоящего изобретения процессор 602 может отслеживать характеристики доступа для доступа, выполняемого первой обработкой для первой страницы совместно используемой виртуальной памяти, где первая обработка включает в себя M1 обработок, и M1 представляет собой положительное целое число; и процессор 602 изменяет режим управления, соответствующий первой обработке, на первой странице совместно используемой виртуальной памяти, на режим SPM, если отслеживаемые характеристики доступа удовлетворяют первому установленному условию и текущий режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим DSM; и/или процессор 602 может изменять режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти, на режим DSM, если отслеживаемые характеристики доступа удовлетворяют второму установленному условию, и текущий режим управления, соответствующий первой обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим SPM.
В некоторых вариантах осуществления настоящего изобретения процессор 602 может дополнительно отслеживать характеристики доступа для доступа, выполняемого второй обработкой для первой страницы совместно используемой виртуальной памяти, где вторая обработка включает в себя M2 обработок, M2 представляет собой положительное целое число, и вторая обработка отличается от первой обработки; процессор 602 может изменять режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти на режим SPM, если отслеживаемые характеристики доступа для доступа, выполняемого второй обработкой для первой страницы совместно используемой виртуальной памяти, удовлетворяют третьему установленному условию, и текущий режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим DSM; и/или процессор 602 может изменять режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти на режим DSM, если отслеживаемые характеристики доступа для доступа, выполняемого второй обработкой для первой страницы совместно используемой виртуальной памяти, удовлетворяют четвертому установленному условию, и текущий режим управления, соответствующий второй обработке на первой странице совместно используемой виртуальной памяти, представляет собой режим SPM,
где третье установленное условие является таким же или отличается от первого условия, и четвертое установленное условие является таким же или отличается от второго условия.
Например, если первая обработка (или вторая обработка) включают в себя множество обработок, процессор 602 может использовать среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые, соответственно, отслеживаются для каждой обработки при первой обработке (или второй обработке), которая обращается к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа первой обработки (или второй обработки), которая обращается к странице совместно используемой виртуальной памяти; или использовать характеристики доступа, которые отслеживаются для одной обработки при первой обработке (или второй обработке), которая обращается к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа первой обработки (или второй обработки), которая обращается к странице совместно используемой виртуальной памяти; и изменять режим управления, соответствующий первой обработке (или второй обработке), на странице совместно используемой виртуальной памяти, на режим совместно используемой физической памяти, если отслеживаемые характеристики доступа для доступа, выполняемого обработками для страницы совместно используемой виртуальной памяти, удовлетворяют первому условию и если текущий режим управления, соответствующий первой обработке (или второй обработке) на странице совместно используемой виртуальной памяти, представляет собой режим распределенной совместно используемой памяти.
В другом примере, если первая обработка (или вторая обработка) включают в себя множество обработок, процессор 602 может использовать среднее значение, взвешенное среднее значение, сумму или взвешенную сумму характеристик доступа, которые соответственно отслеживаются для каждой обработки при первой обработке (или второй обработке), которая обращается к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа первой обработки (или второй обработки), которая обращается к странице совместно используемой виртуальной памяти; или использовать характеристики доступа, которые отслеживаются для одной обработки при первой обработке (или второй обработке), которая обращается к странице совместно используемой виртуальной памяти, как к отслеживаемым характеристикам доступа первой обработки (или второй обработки), которые обращаются к странице совместно используемой виртуальной памяти; и изменять режим управления, соответствующий первой обработке (или второй обработке) на странице совместно используемой виртуальной памяти, на режим распределенной совместно используемой памяти, если отслеживаемые характеристики доступа для доступа, выполняемого обработками для страницы совместно используемой виртуальной памяти, удовлетворяют второму условию, и если текущий режим управления, соответствующий первой обработке (или второй обработке) на странице совместно используемой виртуальной памяти представляет собой режим совместно используемой физической памяти.
Рассмотрим фиг. 7. На фиг. 7 показана схема другой вычислительной системы 600, в соответствии с вариантом осуществления настоящего изобретения. Вычислительная система 600 дополнительно включает в себя устройство 604 ввода и устройство 605 вывода, где устройство 604 ввода и устройство 605 вывода соединены с шиной 601.
Вычислительная система, предусмотренная в данном варианте осуществления, может использоваться для воплощения части, соответствующей вычислительной системе в технических решениях варианта осуществления любого из способов, показанных на фиг. 1 - фиг. 4; принципы воплощения и технические эффекты являются аналогичными и не повторяются здесь дополнительно. На фиг. 6 или фиг. 7 схематично показана только структурная схема вычислительной системы, предоставляемой в настоящем изобретении, и конкретная структура может быть подобрана в соответствии с фактическими условиями.
Следует понимать, что вычислительная система 600 в данном варианте осуществления может представлять собой устройство передачи данных, такое как устройство сетевого доступа или устройство базовой сети, или маршрутизатор, или другое устройство передачи данных, и вычислительная система 600 может представлять собой сервер или персональный компьютер, или другое вычислительное устройство.
Следует понимать, что функции компонентов в вычислительной системе 600, в данном варианте осуществления, могут быть воплощены в соответствии со способом, описанным в варианте осуществления способа. Подробное описание обработки воплощения можно найти по ссылке на соответствующее описание варианта осуществления, направленного на способ, и повторное их описание не представлено здесь дополнительно.
Вариант осуществления настоящего изобретения дополнительно направлен на компьютерный носитель информации. На компьютерном носителе информации могут быть записаны программы. Когда программы работают, программа может выполнять часть или все этапы способа для определения режима управления страницей совместно используемой виртуальной памяти, как описано в варианте осуществления, направленном на способ.
Следует отметить, что для краткости, описанные выше варианты осуществления, направленные на способ, описаны как последовательность действий. Но для специалиста в данной области техники должно быть понятно, что настоящее изобретение не ограничено порядком описанных действий, поскольку в соответствии с настоящим изобретением, некоторые этапы могут быть выполнены в другом порядке или могут возникать одновременно, для специалиста в данной области техники также должно быть понятно, что все описанные варианты осуществления представляют собой предпочтительные варианты осуществления, и используемые действия и модули не обязательно требуются в настоящем изобретении.
В представленных выше вариантах осуществления описание каждого варианта осуществления выполнено с представлением собственной значимости, и некоторые варианты осуществления могут не быть представлены подробно. Может быть представлена ссылка на соответствующее описание других вариантов осуществления.
В нескольких вариантах осуществления, представленных в настоящей заявке, следует понимать, что раскрытое устройство может быть воплощено, используя другие подходы. Например, описанный вариант осуществления, направленный на устройство, является просто примером. Например, разделение на модули представляет собой просто разделение на логические функции, и при фактическом воплощении может использоваться другое разделение. Например, множество модулей или компонентов могут быть объединены или интегрированы в другую систему, или некоторые свойства могут быть игнорированы или могут не выполняться. Кроме того, отображаемые или описанные взаимные соединения, прямые соединения или соединения для передачи данных могут быть воплощены через определенные интерфейсы. Последовательные соединения или соединения для передачи данных между устройствами или модулями могут быть воплощены в электронной, механической или других формах.
Модули, описанные как отдельные части, могут быть или могут не быть выполнены физически отдельными, и часть, отображенная, как модули могут быть или могут не быть физическими модулями, могут быть расположены в одном положении или также могут быть распределены на множестве сетевых модулей. Некоторые или все из модулей могут быть выбраны для достижения целей решения варианта осуществления в соответствии с фактической потребностью.
Кроме того, функциональные модули в вариантах осуществления настоящего изобретения могут быть интегрированы в один модуль обработки, или каждый из модулей также может существовать физически отдельно, или два, или больше модулей могут также быть интегрированы в один модуль. Интегрированные модули могут быть воплощены в форме аппаратных средств или также могут быть воплощены в форме программного функционального модуля.
Когда интегрированные модули воплощены в форме программного функционального модуля и продаются или используются, как независимый продукт, интегрированные модули могут быть сохранены на считываемом в компьютере носителе информации. На основе такого понимания, по существу, технических решений настоящего изобретения, часть, способствующая предшествующему уровню техники, или все или часть технических решений могут быть представлены в форме программного продукта. Компьютерный программный продукт содержится на носителе информации и включает в себя несколько инструкций, которые обеспечивают возможность выполнения компьютерным устройством (которое может представлять собой персональный компьютер, сервер, сетевое устройство и т.п.) всех или части этапов способов, описанных в вариантах осуществления настоящего изобретения. Представленный выше носитель информации включает в себя: любой носитель информации, на котором могут быть сохранены программные коды, такой флеш-диск USB, постоянное запоминающее устройство (Read-Only Memory, ROM), оперативное запоминающее устройство (Random Access Memory, RAM), съемный жесткий диск, магнитный диск или оптический диск.
Представленные выше варианты осуществления предусмотрены просто для описания технических решений настоящего изобретения и не направлены на ограничение настоящего изобретения. Хотя настоящее изобретение подробно описано со ссылкой на предшествующие варианты осуществления, для специалиста в данной области техники должно быть понятно, что он все еще может выполнить модификации для технических решений, описанных в представленных выше вариантах осуществления, или может выполнять эквивалентные замены для некоторых его технических свойств, без выхода за пределы объема технических решений вариантов осуществления настоящего изобретения.