СПОСОБ ДЛЯ УПРАВЛЕНИЯ ПИТАНИЕМ СИСТЕМЫ И ЕГО ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА
METHOD FOR POWERING THE SYSTEM AND ITS COMPUTER SYSTEM

Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к управлению множеством блоков подачи питания, и, в частности, к способу для управления питанием системы и к вычислительной системе, использующей этот способ.
Уровень техники
[0002] Обычно система сервера данных или высокоскоростная вычислительная система содержит два или более блоков подачи питания (БПП) для формирования набора для подачи резервного питания, так чтобы обеспечить соответствие требованию энергопотребления, согласно которому каждый из БПП является резервным блоком другого блока. В наборе для подачи резервного питания каждый отдельный БПП может независимо соответствовать требованию энергопотребления системы. Например, если максимальное энергопотребление системы составляет 2000 Вт, обычно каждый БПП системы может выводить максимальную выходную мощность, составляющую 2200 Вт. Если какой-либо из БПП неисправен, оставшийся БПП может поддерживать работу системы. Однако если все БПП находятся в нормальном состоянии, высокая величина резервной выходной мощности становится неиспользуемым ресурсом; в упомянутом выше примере величина резервной выходной мощности, составляющая 2200 Вт, становится неиспользуемой и излишней, когда оба БПП находятся в нормальном состоянии.
[0003] Для решения указанной проблемы в данной области техники применяют подход, который заключается в использовании БПП, имеющих более низкую отдельную максимальную выходную мощность, при этом максимальная сумма выходных мощностей указанных БПП может соответствовать максимальному энергопотреблению системы. Отдельная максимальная выходная мощность каждого БПП эффективно используется, при этом меньшая величина резервной выходной мощности не используется. Согласно указанному подходу, если один БПП неисправен, система переключает указанный неисправный БПП в автономный режим, и переключает режим работы системы в режим со сверхнизкой частотой (РСНЧ). В это время производительность системы резко снижается. Однако энергопотребление, вызванное запросом доступа к данным или запросом системной службы извне, не всегда уменьшается одновременно, и приводит к нестабильной работе системы.
Раскрытие сущности изобретения
[0004] С учетом указанных выше технических проблем настоящее изобретение направлено на решение технических проблем, связанных с высокой величиной резервной выходной мощности или неустойчивой работой системы в режиме с низкой частотой, посредством способа для управления питанием системы и вычислительной системы, использующей указанный способ.
[0005] Согласно настоящему изобретению предлагается способ для управления питанием системы, содержащий этапы, на которых: выполняют обнаружение максимальной суммы выходных мощностей множества блоков подачи питания; выполняют соответственное обнаружение отдельной выходной мощности в реальном времени каждого из блоков подачи питания и энергопотребления узла в реальном времени каждого из множества вычислительных узлов, выполняют добавление отдельных выходных мощностей в реальном времени к сумме выходных мощностей в реальном времени, и выполняют добавление энергопотреблений узлов в реальном времени к сумме энергопотреблений в реальном времени, и применяют разницу между суммой выходных мощностей в реальном времени и суммой энергопотреблений в реальном времени как дополнительное энергопотребление в реальном времени вспомогательного блока; обеспечивают непрерывное получение дополнительного энергопотребления в реальном времени для актуализации максимального дополнительного энергопотребления вспомогательного блока; выполняют обнаружение неисправности каждого из блоков подачи питания, и выполняют обновление максимальной суммы выходных мощностей других блоков подачи питания, если один из блоков подачи питания неисправен; и применяют разницу между обновленной максимальной суммой выходных мощностей и максимальным дополнительным энергопотреблением как первую сумму энергопотреблений узлов вычислительных узлов; и сокращают энергопотребление по меньшей мере одного из вычислительных узлов до первого энергопотребления узла; в соответствии с первым допустимым полным энергопотреблением.
[0006] В одном варианте осуществления актуализация максимального дополнительного энергопотребления содержит этапы, на которых: записывают первое дополнительное энергопотребление в реальном времени как максимальное энергопотребление и обеспечивают непрерывное получение второго дополнительного энергопотребления в реальном времени вспомогательного блока; и сравнивают второе дополнительное энергопотребление в реальном времени с максимальным дополнительным энергопотреблением, и выполняют замену максимального дополнительного энергопотребления на второе дополнительное энергопотребление в реальном времени, если второе дополнительное энергопотребление в реальном времени больше максимального дополнительного энергопотребления.
[0007] В одном варианте осуществления сокращение энергопотребления по меньшей мере одного из вычислительных узлов до первого энергопотребления узла содержит этап, на котором равномерно распределяют первую сумму энергопотреблений узлов по вычислительным узлам.
[0008] В одном варианте осуществления сокращение энергопотребления по меньшей мере одного из вычислительных узлов до энергопотребления узла содержит этапы, на которых: выполняют классификацию вычислительных узлов на первичную группу и вторичную группу; применяют разницу между первой суммой энергопотреблений узлов и энергопотреблениями узлов в реальном времени первичной группы и равномерно распределяют указанную разницу по вторичной группе.
[0009] В одном варианте осуществления, если все блоки подачи питания восстановлены после неисправности, останавливают сокращение энергопотребления по меньшей мере одного из вычислительных узлов до первого энергопотребления узла.
[0010] В одном варианте осуществления после возникновения неисправности в работе одного из блоков подачи питания, если сумма выходных мощностей в реальном времени не превышает обновленной максимальной суммы выходных мощностей, поддерживают энергопотребление узла в реальном времени каждого из вычислительных узлов.
[0011] В одном варианте осуществления сокращение энергопотребления по меньшей мере одного из вычислительных узлов до первого энергопотребления узла содержит этапы, на которых: выполняют классификацию вычислительных узлов на первичную группу и вторичную группу; и определяют, включен ли режим управления питанием; если режим управления питанием включен, применяют разницу между первой суммой энергопотреблений узлов и энергопотреблениями узлов в реальном времени первичной группы и равномерно распределяют указанную разницу по вторичной группе; если режим управления питанием не включен, равномерно распределяют первую сумму энергопотреблений узлов по первичной группе и вторичной группе.
[0012] В одном варианте осуществления после сокращения энергопотребления по меньшей мере одного из вычислительных узлов до первого энергопотребления узла, способ дополнительно содержит этапы, на которых: обеспечивают получение максимального дополнительного энергопотребления в течение установленного периода времени; по истечении установленного периода времени, определяют, меньше ли максимальное дополнительное энергопотребление в течение установленного периода времени максимального дополнительного энергопотребления до указанного периода времени; если да, обеспечивают получение второй суммы энергопотреблений узлов в соответствии с максимальным дополнительным энергопотреблением в течение установленного периода времени; и, в соответствии со второй суммой энергопотреблений узлов, выполняют корректировку энергопотребления узла по меньшей мере одного из вычислительных узлов до второго энергопотребления узла.
[0013] В одном варианте осуществления обнаружение неисправности каждого из блоков подачи питания, содержит этапы, на которых: обеспечивают непрерывное получение сигнала нормального состояния от каждого из блоков подачи питания; и если сигнал нормального состояния прерывается, определяют, что соответствующий блок подачи питания неисправен.
[0014] В одном варианте осуществления обнаружение неисправности каждого из блоков подачи питания, содержит этап, на котором обеспечивают подачу блоком подачи питания сигнала состояния отклонения от нормы, и если блок подачи питания неисправен, определяют, что блок подачи питания неисправен, после получения сигнала состояния отклонения от нормы.
[0015] Согласно настоящему изобретению также предлагается вычислительная система, использующая способ для управления питанием системы. Вычислительная система содержит множество блоков подачи питания, множество вычислительных узлов, по меньшей мере один вспомогательный блок и контроллер управления шасси.
[0016] БПП соответственно обеспечивают подачу электроэнергии, причем каждый из БПП имеет отдельную максимальную выходную мощность, добавляемую к максимуму выходных мощностей блоков подачи питания. Каждый из блоков подачи питания выполнен с возможностью возврата отдельной выходной мощности в реальном времени, при этом отдельные выходные мощности в реальном времени блоков подачи питания добавляют к сумме полных выходных мощностей в реальном времени. Вычислительные узлы соответственно имеют функцию обработки данных и получают электроэнергию от блоков подачи питания. Каждый из вычислительных узлов выполнен с возможностью возврата энергопотребления в реальном времени, при этом энергопотребления в реальном времени вычислительных узлов добавляют к сумме энергопотреблений в реальном времени. Вспомогательный блок получает электроэнергию от блоков подачи питания, при этом вспомогательный блок имеет дополнительное энергопотребление в реальном времени и максимальное дополнительное энергопотребление. Контроллер управления шасси электрически соединен с блоками подачи питания и управляет указанными блоками подачи питания и вычислительными узлами для получения максимальной суммы выходных мощностей, суммы выходных мощностей в реальном времени и суммы энергопотреблений в реальном времени. Контроллер управления шасси выполнен с возможностью применения разницы между суммой выходных мощностей в реальном времени и суммой энергопотреблений в реальном времени как дополнительного энергопотребления в реальном времени и с возможностью непрерывной актуализации максимального дополнительного энергопотребления в соответствии с изменением дополнительного энергопотребления в реальном времени.
[0017] Если контроллер управления шасси обнаруживает, что один из блоков подачи питания неисправен, контроллер управления шасси обеспечивает обновление максимальной суммы выходных мощностей других блоков подачи питания и обеспечивает применение разницы между обновленной максимальной суммой выходных мощностей и максимальным дополнительным энергопотреблением как первой суммы энергопотреблений узлов вычислительных узлов.
[0018] Затем контроллер управления шасси сокращает энергопотребление по меньшей мере одного из вычислительных узлов до первого энергопотребления узла в соответствии с первой суммой энергопотреблений узлов.
[0019] В одном варианте осуществления контроллер управления шасси выполнен с возможностью записи первого дополнительного энергопотребления в реальном времени вспомогательного блока как максимального дополнительного энергопотребления и с возможностью непрерывного получения второго дополнительного энергопотребления в реальном времени вспомогательного блока, и с возможностью сравнения второго дополнительного энергопотребления в реальном времени с максимальным дополнительным энергопотреблением; при этом если второе дополнительное энергопотребление в реальном времени больше максимального дополнительного энергопотребления, контроллер управления шасси обеспечивает замену максимального дополнительного энергопотребления на второе дополнительное энергопотребление в реальном времени.
[0020] В одном варианте осуществления контроллер управления шасси выполнен с возможностью равномерного распределения первой суммы энергопотреблений узлов по вычислительным узлам.
[0021] В одном варианте осуществления обеспечена возможность классификации вычислительных узлов на первичную группу и вторичную группу, при этом контроллер управления шасси выполнен с возможностью получения разницы между первой суммой энергопотреблений узлов и энергопотреблениями узлов в реальном времени первичной группы и с возможностью равномерного распределения указанной разницы по вторичной группе.
[0022] В одном варианте осуществления, если все блоки подачи питания восстановлены после неисправности, контроллер управления шасси останавливает сокращение энергопотребления по меньшей мере одного из вычислительных узлов до первого энергопотребления узла.
[0023] В одном варианте осуществления, если один из блоков подачи питания неисправен и сумма выходных мощностей в реальном времени не превышает обновленной максимальной суммы выходных мощностей, контроллер управления шасси обеспечивает возможность поддерживания энергопотребления узла в реальном времени каждого из вычислительных узлов.
[0024] В одном варианте осуществления обеспечена возможность классификации вычислительных узлов на первичную группу и вторичную группу, при этом контроллер управления шасси выполнен с возможностью определения, включен ли режим управления питанием; если режим управления питанием включен, контроллер управления шасси обеспечивает возможность получения разницы между первой суммой энергопотреблений узлов и энергопотреблениями узлов в реальном времени первичной группы и возможность равномерного распределения указанной разницы по вторичной группе; если режим управления питанием не включен, контроллер управления шасси обеспечивает возможность равномерного распределения первой суммы энергопотреблений узлов по первичной группе и вторичной группе.
[0025] В одном варианте осуществления, после сокращения энергопотребления по меньшей мере одного из вычислительных узлов до первого энергопотребления узла, контроллер управления шасси обеспечивает возможность получения максимального дополнительного энергопотребления в течение установленного периода времени; при этом по истечении установленного периода времени, контроллер управления шасси обеспечивает возможность определения, меньше ли максимальное дополнительное энергопотребление в течение установленного периода времени максимального дополнительного энергопотребления до указанного периода времени; если да, контроллер управления шасси обеспечивает возможность получения второй суммы энергопотреблений узлов в соответствии с максимальным дополнительным энергопотреблением в течение установленного периода времени и возможность корректировки энергопотребления по меньшей мере одного из вычислительных узлов до второго энергопотребления узла в соответствии со второй суммой энергопотреблений узлов.
[0026] В одном варианте осуществления каждый из блоков подачи питания выполнен с возможностью непрерывной подачи сигнала нормального состояния, при этом если сигнал нормального состояния прерывается, контроллер управления шасси обеспечивает возможность определения неисправности соответствующего блока подачи питания.
[0027] В одном варианте осуществления каждый из блоков подачи питания выполнен с возможностью подачи сигнала состояния отклонения от нормы, если блок подачи питания неисправен, при этом контроллер управления шасси обеспечивает возможность определения неисправности блока подачи питания после получения сигнала состояния отклонения от нормы.
[0028] В соответствии со способом для управления питанием системы и вычислительной системой согласно настоящему изобретению обеспечивается возможность мгновенного обнаружения и записи состояния подачи питания и состояния энергопотребления в вычислительной системе. Если какой-либо из блоков подачи питания неисправен, контроллер управления шасси обеспечивает возможность точного и мгновенного вычисления поправки в полном энергопотреблении и, опционально, обеспечивает возможность сокращения энергопотребления узла вычислительного узла, имеющего низкую рабочую нагрузку, и обеспечивает возможность сохранения энергопотреблений узлов других вычислительных узлов. Таким образом, общая производительность обработки вычислительной системы может поддерживаться после того, как неисправный блок подачи питания отключен и переключен в автономный режим, при этом обеспечивается увеличение стабильности вычислительной системы.
Краткое описание чертежей
[0029] Изобретение станет более понято после прочтения подробного описания, приведенного в качестве примера и, таким образом, не ограничивающего настоящее изобретение.
[0030] На фиг. 1 показана структурная схема контура вычислительной системы согласно первому варианту осуществления настоящего изобретения.
[0031] На фиг. 2 и фиг. 3 показана блок-схема способа для управления питанием системы согласно первому варианту осуществления настоящего изобретения.
[0032] На фиг. 4 показана структурная схема контура вычислительной системы согласно второму варианту осуществления настоящего изобретения.
[0033] На фиг. 5-9 показаны блок-схемы способа для управления питанием системы согласно второму варианту осуществления настоящего изобретения.
Осуществление изобретения
[0034] На фиг. 1 показана структурная схема контура вычислительной системы 100 согласно первому варианту осуществления настоящего изобретения, сконфигурированной для выполнения способа для управления питанием системы. Вычислительная система 100 содержит контроллер 110 управления шасси (КУШ), множество вычислительных узлов 120, множество блоков 130 подачи питания (БПП) и по меньшей мере один вспомогательный блок 140.
[0035] Как показано на фиг. 1, вычислительные узлы 120 соответственно имеют функцию обработки данных для обеспечения одной или более служб вычислительной системы 100. Каждый из вычислительных узлов 120 электрически соединен с КУШ 110 с возможностью нахождения под управлением и контролем КУШ 110 для направления потоков обработки данных и выделения системного ресурса для вычислительных узлов 120.
[0036] Как показано на фиг. 1, вычислительные узлы 120 электрически соединены с БПП 130 для получения требуемой электроэнергии. Обычно вычислительный узел 120 содержит материнскую плату компьютера и корпус компьютера, вмещающий материнскую плату компьютера, причем указанный узел расположен в корпусе вычислительной системы 100 и может быть заменен. Вычислительный узел 120 содержит центральный процессор 122 (ЦП), набор 124 системных логических микросхем, блоки 126 памяти и необходимые шины данных. Упомянутые выше шины данных содержат, но не ограничиваясь этим, шину управления системой (ШУС), шину управления питанием (ШУП) и интерфейс управления окружением (ИУО).
[0037] Набор 124 системных логических микросхем, показанный на фиг. 1, является примером и включает в себя управляющий концентратор 124а, контроллер 124b управления платами (КУП) и логическую интегральную схему 124с (ИС). Управляющий концентратор 124а представляет собой, но не ограничиваясь этим, комбинацию южного моста и северного моста, концентратор управления платформой (КУП), концентратор контроллера памяти (ККП), концентратор управления вводом-выводом (КУВВ) или концентратор контроллера AMD Fusion. Набор 124 системных логических микросхем, показанный на фиг. 1, является примером, не ограничивающим реализацию набора 124 системных логических микросхем. В основном электронный чип, сконфигурированный для обработки ввода-вывода между ЦП 122 и другими устройствами, представляет собой набор 124 системных логических микросхем.
[0038] Как показано на фиг. 1, каждый из вычислительных узлов 120 электрически соединен с КУШ 110 через ШУС, ШУП или шину данных, адаптированные к другому протоколу так, чтобы соединять внешний узел через КУШ 110. При этом КУШ 110 управляет вычислительными узлами 120, так чтобы выделять системный ресурс для вычислительных узлов 120.
[0039] В одном примере вычислительная система 100 выполняет множество служебных программ, причем каждая служебная программа обрабатывается группой вычислительных узлов 120, при этом каждая группа содержит один или более вычислительных узлов 120.
[0040] Как показано на фиг. 1, БПП 130 соответственно обеспечивают подачу электроэнергии, причем каждый из БПП 130 имеет отдельную максимальную выходную мощность. БПП 130 возвращает параметры, по меньшей мере включающие в себя отдельную максимальную выходную мощность, отдельную выходную мощность в реальном времени и сигнал нормального состояния (PW_OK), в КУШ 110 через ШУП. Указанные параметры также передаются в набор 124 системных логических микросхем внутри каждого из вычислительных узлов 120. Отдельная максимальная выходная мощность представляет собой максимальное значение выходной мощности отдельного БПП 130. При этом отдельные максимальные выходные мощности множества БПП 130 добавляют к максимальной сумме выходных мощностей множества БПП 130. При этом выходные мощности в реальном времени множества БПП 130 добавляют к полной выходной мощности в реальном времени множества БПП 130.
[0041] В основном максимальная сумма выходных питаний питания равна максимальному энергопотреблению вычислительной системы 100. При фактическом проектировании системы, БПП 130 непосредственно покупают на коммерческом рынке, а не изготавливают по заказу для обеспечения энергопотребления вычислительной системы 100. Таким образом, максимальную сумму выходных мощностей обычно устанавливают больше максимального энергопотребления вычислительной системы 100, так чтобы упростить процесс проектирования системы.
[0042] Например, обычная вычислительная система 100 имеет два идентичных БПП 130. Когда максимальное энергопотребление вычислительной системы 100 составляет 3000 Вт. БПП 130, который может быть куплен непосредственно на коммерческом рынке, подает максимальную выходную мощность, составляющую 1200 Вт, 1600 Вт и 2000 Вт, при этом могут быть использованы два БПП 130, подающие отдельную максимальную мощность, составляющую 1600 Вт. Максимальная сумма выходных мощностей может достигать 3200 Вт, что немного больше максимального энергопотребления 3000 Вт вычислительной системы 100. В результате эта конфигурация БПП 130 соответствует максимальному энергопотреблению 3000 Вт, которое требуется для вычислительной системы 100, при этом конфигурация БПП 130 не является излишне усложненной.
[0043] Как показано на фиг. 1, вспомогательный блок 140 получает электроэнергию от БПП 130, при этом вспомогательный блок 140 имеет дополнительное энергопотребление в реальном времени и максимальное дополнительное энергопотребление. В вычислительной системе 100, КУШ 110 обычно не может получать дополнительное энергопотребление в реальном времени и максимальное дополнительное энергопотребление вспомогательного блока 140 через шины данных.
[0044] В вычислительной системе 100 устройство, не являющееся частью КУШ 120 или частью вычислительного узла 120, представляет собой вспомогательный блок 140. Вспомогательный блок 140 содержит, но не ограничиваясь этим, набор жестких дисков, набор вентиляторов, считыватель съемных носителей данных, карту расширения (карта PCI Express, карта PCIe и т.д.) на гнезде шины данных, или их комбинацию. Вспомогательный блок 140 электрически соединен с цепью через гнездо шины данных (гнездо PCI Express, гнездо PCIe и т.д.), и затем соединен с КУШ 110 через соединительный интерфейс. Следует отметить, что иногда отдельный жесткий диск или вентилятор размещен непосредственно внутри вычислительного узла 120 и получает электроэнергию непосредственно от шины данных вычислительного узла 120; такой жесткий диск или вентилятор является частью вычислительного узла 120 и не является вспомогательным блоком 140. В этом варианте осуществления комбинация набора жестких дисков и набора вентиляторов, независимая от вычислительного узла 120, показана в виде примера вспомогательного блока 140.
[0045] Как показано на фиг. 1, КУШ 110 электрически соединен с БПП 130 и вычислительными узлами 120 и управляет ими, так чтобы получить максимальную сумму выходных мощностей, сумму выходных мощностей в реальном времени и сумму энергопотреблений в реальном времени. КУШ 110 применяет разницу между суммой выходных мощностей в реальном времени и суммой энергопотреблений в реальном времени как дополнительное энергопотребление в реальном времени. Указанная разница между суммой выходных мощностей в реальном времени и суммой энергопотреблений в реальном времени представляет собой дополнительное энергопотребление в реальном времени. КУШ 110 непрерывно получает самое последнее дополнительное энергопотребление в реальном времени и непрерывно актуализирует максимальное дополнительное энергопотребление в соответствии с изменением дополнительного энергопотребления в реальном времени.
[0046] На фиг. 2 и фиг. 3 показаны блок-схемы способа для управления питанием системы согласно первому варианту осуществления.
[0047] Как показано на фиг. 1 и фиг. 2, после подачи питания в вычислительную систему 100, КУШ 110 сначала обнаруживает энергетические параметры, как показано на этапе 110. Обнаружение энергетических параметров на этом этапе заключается в получении параметров с учетом выходных мощностей и энергопотреблений.
[0048] Как показано на фиг. 1 и фиг. 3, параметры, полученные КУШ 110 на этапе 110, описываются ниже. Описываемый порядок не ограничивает порядок получения каждого параметра; порядок получения может быть произвольно изменен.
[0049] КУШ 110 получает энергетические сведения о каждом БПП 130 через ШУП, включая сведения об аппаратных средствах, сведения о программно-аппаратных средствах и рабочее состояние в реальном времени. Таким образом, КУШ 110 получает отдельные максимальные выходные мощности и отдельные выходные мощности в реальном времени БПП 130, как показано на этапе 112.
[0050] При этом через соединение, установленное посредством ШУП, каждый БПП 130 непрерывно возвращает сигнал нормального состояния (PW_OK) в КУШ 110. Если сигнал нормального состояния прерывается, КУШ 110 определяет, что соответствующий БПП 130 неисправен.
[0051] На этапе 112 обнаружение отдельных максимальных выходных мощностей БПП 130 может быть частью процесса инициализации системы, если вычислительная система 100 включена. В ходе инициализации системы каждый БПП 130 возвращает энергетические сведения, включая сведения об аппаратных средствах, сведения о программно-аппаратных средствах и рабочее состояние в реальном времени, в КУШ 110, так что КУШ 110 получает отдельную максимальную выходную мощность каждого БПП 110 после подачи питания в КУШ 110. После получения отдельной максимальной выходной мощности каждого БПП 130 КУШ 110 суммирует отдельные максимальные выходные мощности для получения максимальной суммы выходных мощностей всех БПП 130, при этом соответствующее значение записывается в адресное пространство буфера данных КУШ 110. Аналогичным образом, после получения отдельной выходной мощности в реальном времени каждого БПП 130, КУШ 110 суммирует выходные мощности в реальном времени для получения суммы выходных мощностей в реальном времени всех БПП 130, при этом соответствующее значение записывается в другое адресное пространство.
[0052] Как показано на фиг. 1 и фиг. 3, аналогичным образом, посредством соединения, установленного посредством ШУП или другой шины данных, КУШ 110 получает рабочее состояние каждого вычислительного узла 120, включая энергопотребление узла в реальном времени каждого вычислительного узла 120, как показано на этапе 114. Как описано выше, КУШ 110 соединен с КУП 124b каждого вычислительного узла 120, так чтобы получать энергопотребления узлов в реальном времени и максимальные энергопотребления для добавления энергопотреблений узлов в реальном времени к сумме полных энергопотреблений в реальном времени всех вычислительных узлов 120.
[0053] Максимальное энергопотребление каждого вычислительного узла 120 необязательно равно максимальному энергопотреблению аппаратных средств вычислительного узла 120, которое может быть достигнуто, при этом максимальное энергопотребление обычно устанавливают меньше, чем максимальное энергопотребление аппаратных средств.
[0054] Как показано на фиг. 1 и фиг. 3, после получения упомянутых выше значений, КУШ 110 вычисляет разницу между суммой выходных мощностей в реальном времени БПП 130 и суммой энергопотреблений в реальном времени вычислительных узлов 120, так чтобы получить дополнительное энергопотребление в реальном времени вспомогательного блока 140, как показано на этапе 116.
[0055] Как показано на фиг. 1 и фиг. 3, КУШ 110 непрерывно получает самое последнее дополнительное энергопотребление в реальном времени вспомогательного блока 140, так чтобы обеспечить актуализацию максимального дополнительного энергопотребления вспомогательного блока 140, как показано на этапе 118.
[0056] КУШ 110 записывает максимальное дополнительное энергопотребление вспомогательного блока 140 в буфер данных. Для актуализации максимального дополнительного энергопотребления вспомогательного блока 140 КУШ 110 записывает в буфер данных первое дополнительное энергопотребление в реальном времени как максимальное дополнительное энергопотребление. Затем КУШ 110 непрерывно получает второе дополнительное энергопотребление в реальном времени вспомогательного блока 140, при этом КУШ 110 сравнивает второе дополнительное энергопотребление в реальном времени с максимальным дополнительным энергопотреблением, записанным в буфере данных. Если второе дополнительное энергопотребление в реальном времени больше записанного максимального дополнительного энергопотребления, КУШ 110 заменяет максимальное дополнительное энергопотребление на второе дополнительное энергопотребление в реальном времени для актуализации максимального дополнительного энергопотребления. Если второе дополнительное энергопотребление в реальном времени не превышает максимального дополнительного энергопотребления, которое записано в буфере данных, КУШ 110 сохраняет значение, записанное в буфере данных, как максимальное дополнительное энергопотребление вспомогательного блока 140.
[0057] Как показано на фиг. 1 и фиг. 2, после получения энергетических параметров КУШ 110 начинает выполнять мониторинг работы БПП 130 так, чтобы обнаружить, неисправен ли БПП 130, как показано на этапе 120.
[0058] Как показано на фиг. 1 и фиг. 2, БПП 130 также выполняет самомониторинг, при этом если вход или выход не являются нормальными, например, выход является нестабильным или невозможно повысить выходную мощность, БПП 130 генерирует изменение сигнала по отношению к этому состоянию неисправности на контактах соединительного интерфейса. КУШ 110 устанавливает соединение с БПП 130 через сквозное соединение, установленное ШУП или другой шиной данных, и обнаруживает, неисправен ли БПП 130 в соответствии с изменениями сигнала на контактах соединительного интерфейса, как показано на этапе 120.
[0059] Как описано выше, один подход к обнаружению неисправности заключается в том, что КУШ 110 подает сигнал получения информации о состоянии через неиспользуемый контакт ШУП. Каждый БПП 130 возвращает сигнал нормального состояния (PW_OK) в ответ на сигнал получения информации о состоянии, при этом КУШ 110 получает сигнал нормального состояния (PW_OK) БПП 130 через неиспользуемый контакт ШУП. Если сигнал нормального состояния (PW_OK) прерывается, КУШ 110 определяет, что соответствующий БПП 130 неисправен. В другом примере обнаружение неисправности заключается в обнаружении состояния контакта данных и контакта сигнала синхронизации, при этом каждый БПП 130 непрерывно подает сигнал нормального состояния, а КУШ 110 получает сигнал нормального состояния БПП 110 через контакт данных и контакт сигнала синхронизации. Упомянутые выше методы обнаружения неисправности могут быть выполнены одновременно.
[0060] Другой подход к обнаружению неисправности может быть применен к программируемому БПП 130. Если БПП 130 неисправен, то БПП 130 подает предупреждение ШУП в виде предупреждающего сообщения в КУШ 110 через ШУП, при этом КУШ 110 определяет, что БПП 130 неисправен после получения предупреждающего сообщения. Случаи неисправности включают в себя избыточную температуру, избыточное напряжение, пониженное напряжение, избыточную силу тока, неисправность охлаждающего вентилятора и т.д.
[0061] Как показано на фиг. 1 и фиг. 2, если один из БПП 130 неисправен, КУШ 110 обновляет максимальную сумму выходных мощностей других БПП 130. КУШ 110 применяет разницу между обновленной максимальной суммой выходных мощностей и максимальным дополнительным энергопотреблением как первую сумму энергопотреблений узлов вычислительных узлов 120, как показано на этапе 130.
[0062] Как показано на фиг. 1 и фиг. 2, в результате КУШ 110 сокращает энергопотребление по меньшей мере одного из вычислительных узлов 120 до первого энергопотребления узла в соответствии с первой суммой энергопотреблений узлов, как показано на этапе 140.
[0063] Энергопотребление одного из вычислительных узлов 120 сокращается до первого энергопотребления узла в соответствии с изменением максимальной суммы выходных мощностей БПП 130. Корректируемое максимальное энергопотребление вычислительной системы 100 не будет превышать обновленной максимальной суммы выходных мощностей других БПП 130. Если энергопотребления множества вычислительных узлов 130 будут корректироваться, корректировка энергопотребления равномерно распределяется по множеству вычислительных узлов 120. Другими словами, разница между первой суммой энергопотреблений узлов и энергопотреблениями узлов других вычислительных узлов 120 равномерно распределяется по вычислительным узлам 120, подлежащим корректировке.
[0064] Корректировка энергопотребления заключается в оценке, сколько выходной мощности может быть подано на вычислительные узлы 120 после переключения неисправного БПП 130 в автономный режим, и в последующем снижении энергопотребления заданного вычислительного узла 120 или заданной группы вычислительных узлов 120, так чтобы обновленная максимальная сумма выходных мощностей функциональных БПП 130 могла соответствовать требованиям энергопотребления вычислительной системы 100, при этом часть вычислительных узлов 120 может по-прежнему сохранять исходную производительность.
[0065] Другими словами, согласно настоящему изобретению корректировке подвергается только часть вычислительных узлов 120, а не все вычислительные узлы 120 переключаются в режим с низким питанием, при этом производительность системы остается по возможности прежней, если один или более БПП 130 не могут работать. В частности, узлы с высокой нагрузкой, такие как вычислительные узлы 120, служащие в качестве файлового сервера, остаются в исходном режиме питания, а узлы с низким уровнем использования, такие как вычислительные узлы 120, служащие в качестве сервера управления учетными записями пользователей, выборочно переключаются в режим с низким питанием. Таким образом, в соответствии с вычислительной системой 100, если источник питания неисправен, только часть вычислительных узлов 120 выбирается для замедления, при этом общая производительность системы не будет резко сокращаться, так чтобы обеспечить возможность временного поддержания стабильности вычислительной системы 100.
[0066] На фиг. 4 показана структурная схема контура вычислительной системы 100 согласно второму варианту осуществления настоящего изобретения, сконфигурированной для выполнения способа для управления питанием системы. Вычислительная система 100 во втором варианте осуществления является той же, что и в первом варианте осуществления, при этом различие заключается в том, что вычислительные узлы 120а, 120b классифицированы для обеспечения точного управления питанием.
[0067] Как показано на фиг. 4, вычислительные узлы 120а, 120b классифицированы на первичную группу и вторичную группу. Первичная группа включает в себя по меньшей мере один вычислительный узел 120а, при этом вторичная группа включает в себя по меньшей мере один вычислительный узел 120b. Первичная группа и вторичная группа на фиг. 4, соответственно включающие в себя один вычислительный узел 120а и один вычислительный узел 120b, показаны в качестве примеров и не ограничивают количество вычислительных узлов в каждой группе. Фактически, первичная группа и вторичная группа могут соответственно включать в себя множество вычислительных узлов 120а и множество вычислительных узлов 120b. Принцип классификации на первичную группу и вторичную группу основан на средней рабочей нагрузке каждого вычислительного узла. Вычислительный узел 120а, имеющий более высокую рабочую нагрузку, классифицируется в качестве первичной группы, а вычислительный узел 120b, имеющий более низкую рабочую нагрузку, классифицируется в качестве вторичной группы. Например, в файловом сервере вычислительный узел 120а, обеспечивающий службу доступа к файлам, классифицируется в качестве первичной группы, при этом вычислительный узел 120b, управляющий информацией учетных записей пользователей, классифицируется в качестве вторичной группы.
[0068] На фиг. 5-9 показаны блок-схемы способа для управления питанием системы согласно второму варианту осуществления настоящего изобретения.
[0069] Как показано на фиг. 5, способ согласно второму варианту осуществления заключается в обнаружении энергетических параметров в первую очередь с использованием КУШ 110, как показано на этапе 210.
[0070] На этапе 210 КУШ 110 обнаруживает максимальную сумму выходных мощностей множества БПП 130. Затем КУШ 110 получает выходные мощности в реальном времени БПП 130 и сумму энергопотреблений в реальном времени вычислительных узлов 120а, 120b. КУШ 110 применяет разницу между суммой выходных мощностей в реальном времени и суммой полного энергопотребления питания в реальном времени для получения дополнительного энергопотребления в реальном времени вспомогательного блока 140. КУШ 110 непрерывно получает самое последнее дополнительное энергопотребление в реальном времени для актуализации максимального дополнительного энергопотребления вспомогательного блока 140, причем этап 210 второго варианта осуществления приблизительно идентичен этапу 110 первого варианта осуществления, поэтому подробное описание этого этапа опущено.
[0071] Как показано на фиг. 5, после получения энергетических параметров, КУШ 110 начинает выполнять мониторинг работы БПП 130 и обнаруживает, неисправен ли БПП 130, как показано на этапе 220.
[0072] Как показано на фиг. 5 и фиг. 6, если все БПП 130 восстановлены после неисправности, КУШ 110 дополнительно определяет, включено ли ограничение допустимого энергопотребления, то есть КУШ 110 определяет, откорректирован ли какой-либо вычислительный узел 120а, 120b для уменьшения его энергопотребления до первого энергопотребления узла. Если выполняется корректировка вычислительного узла 120а, 120b, то ограничение допустимого энергопотребления отключается, КУШ 110 останавливает сокращение энергопотребления вычислительного узла 120а, 120b до первого энергопотребления узла и останавливает управление питанием, как показано на этапе 221 и на этапе 223.
[0073] Как показано на фиг. 5, если один из БПП 130 неисправен, КУШ 110 обновляет максимальную сумму выходных мощностей других БПП 130 и определяет, больше ли полная выходная мощность в реальном времени обновленной максимальной суммы выходных мощностей, как показано на этапе 222.
[0074] Как показано на фиг. 5 и фиг. 6, если сумма выходных мощностей в реальном времени не превышает обновленной максимальной суммы выходных мощностей, то вычислительная система 100 остается в состоянии нормальной работы и не ограничивает или не сокращает энергопотребление любого вычислительного узла 120а, 120b, как показано на этапе 225, и прекращает управление питанием.
[0075] Как показано на фиг. 5, если сумма выходных мощностей в реальном времени больше обновленной максимальной суммы выходных мощностей, КУШ 110 дополнительно определяет, включен ли режим управления питанием, как показано на этапе 224. Режим управления питанием обычно записан в адресах установки значений BIOS вычислительной системы 110; если это значение равно TRUE, то режим управления питанием включен; если это значение равно FALSE, то режим управления питанием отключен.
[0076] Как показано на фиг. 5, если режим управления питанием включен, КУШ 110 применяет разницу между обновленной максимальной суммой выходных мощностей других БПП 130 и максимальным дополнительным энергопотреблением вспомогательного блока 140 для актуализации первой суммы энергопотреблений узлов вычислительных узлов 120а, 120b, как показано на этапе 230.
[0077] На этапе 230 энергопотребление вычислительного узла 120а первичной группы не корректируется, при этом КУШ 110 применяет разницу между первой суммой энергопотреблений узлов и энергопотреблением узла в реальном времени первичной группы и равномерно распределяет указанную разницу по каждому вычислительному узлу 120b вторичной группы.
[0078] Как показано на фиг. 5, в результате, в соответствии с первой суммой энергопотреблений узлов, КУШ 110 устанавливает первое энергопотребление узла для каждого вычислительного узла 120b вторичной группы и сокращает энергопотребление вычислительного узла 120b до первого энергопотребления узла, как показано на этапе 240. Общий подход состоит в применении разницы между первой суммой энергопотреблений узлов и допустимым энергопотреблением вычислительного узла 120а первичной группы и равномерное распределение указанной разницы по каждому вычислительному узлу 120b вторичной группы так, чтобы она представляла собой первое энергопотребление узла.
[0079] Если энергопотребление узла в реальном времени вычислительного узла уменьшается, то максимальное дополнительное энергопотребление вспомогательного блока 140, такое как энергопотребление набора жестких дисков или набора вентиляторов, также уменьшается. Другими словами, если энергопотребление одного или более вычислительных узлов 120 сокращается до первого энергопотребления узла, одновременно уменьшается максимальное дополнительное энергопотребление вспомогательного блока.
[0080] В связи с этим в настоящем описании дополнительно раскрыта процедура освобождения резервной части энергопотребления для вычислительных узлов 120.
[0081] На фиг. 7 показана блок-схема процедуры освобождения способа для управления питанием системы согласно настоящему изобретению.
[0082] Как показано на фиг. 7, после этапа 240, КУШ 110 записывает, что ограничение допустимого энергопотребления включено, как показано на этапе 250.
[0083] Как показано на фиг. 7 и фиг. 8, после того, как энергопотребление вычислительного узла 120b сокращается до первого энергопотребления узла, то есть, включается ограничение допустимого энергопотребления, КУШ 110 запускает обратный отсчет установленного периода времени Т и переходит к следующему этапу по истечении установленного периода времени Т, как показано на этапе 260.
[0084] Как показано на фиг. 7 и фиг. 8, вспомогательный блок 140 содержит по меньшей мере один вентилятор. Причина выполнения обратного отсчета установленного периода времени Т заключается в том, что после сокращения энергопотребления по меньшей мере одного вычислительного узла 120 до первого энергопотребления узла, интенсивность теплообразования подвергнутого корректировке вычислительного узла 120 уменьшается и в вычислительной системе 100 устанавливается новое тепловое равновесие. Указанный установленный период времени Т требуется для установления указанного нового теплового равновесия, при этом с установлением нового теплового равновесия также меняется работа вентилятора. Как правило, для достижения нового теплового равновесия вентилятору требуется 30 минут (1800 секунд). В это время максимальное дополнительное энергопотребление вспомогательного блока 140 (вентилятора) уменьшается, и теперь блоки 130 подачи питания должны распределить величину резервной выходной мощности по вычислительным узлам 120. Процедура обратного отсчета показана в виде этапов 262-268 на фиг. 8.
[0085] Как показано на фиг. 7, КУШ 110 снова обнаруживает энергетические параметры для получения максимального дополнительного энергопотребления вспомогательного блока 140 в течение установленного периода времени Т, как показано на этапе 270.
[0086] Как показано на фиг. 7, по истечении установленного периода времени Т, КУШ 110 определяет, меньше ли максимальное дополнительное энергопотребление в течение установленного периода времени Т максимального дополнительного энергопотребления до периода времени Т; то есть КУШ 110 определяет, уменьшается ли максимальное дополнительное энергопотребление вспомогательного блока 140 по истечении установленного периода времени Т, как показано на этапе 280.
[0087] Как показано на фиг. 7, если максимальное дополнительное в течение установленного периода времени Т меньше максимального дополнительного энергопотребления до установленного периода времени Т, блоки 130 подачи питания должны распределить величину резервной выходной мощности по вычислительным узлам 120. При этом КУШ 110 получает вторую сумму энергопотреблений узлов в соответствии с максимальным дополнительным энергопотреблением в течение установленного периода времени Т, как показано на этапе 290.
[0088] Затем, как показано на фиг. 7, КУШ 110 выполняет корректировку энергопотребления вычислительного узла 120b во вторичной группе до второго энергопотребления узла в соответствии со второй суммой энергопотреблений узлов, как показано на этапе 292. Затем КУШ 110 записывает, что установлено и включено новое ограничение энергопотребления, как показано на этапе 294. Наконец, процесс снова возвращается к этапу 260 для обратного отсчета.
[0089] Как показано на фиг. 5 и фиг. 9, если на этапе 224 режим управления питанием не включен, КУШ 110 все еще выполняет корректировку энергопотребление вычислительного узла 120. При этом КУШ 110 вычисляет первую сумму энергопотреблений узлов, а именно, применяет разницу между обновленной максимальной суммой выходных мощностей и максимальным дополнительным энергопотреблением вспомогательного блока 140 для получения первой суммы энергопотреблений узлов, как показано на этапе 224а. Затем КУШ 110 равномерно распределяет первую сумму энергопотреблений узлов по вычислительным узлам 120а, 120b первичной группы и вторичной группы так, чтобы она представляла собой первое энергопотребление узла каждого из вычислительных узлов 120а, 120b, как показано на этапе 224b. Наконец, КУШ 110 прерывает процесс управления питанием.
[0090] Состояние подачи питания и состояние энергопотребления в вычислительной системе 100 мгновенно обнаруживаются и записываются. Таким образом, если какой-либо из БПП 130 неисправен, КУШ 110 может точно и сразу вычислить корректировку в полном энергопотреблении и, опционально, уменьшить энергопотребление узла вычислительного узла 120/120b, имеющего низкую рабочую нагрузку, и сохранить энергопотребления узлов других вычислительных узлов 120/120b. Общая производительность обработки вычислительной системы 100 может поддерживаться после того, как неисправный БПП 130 отключен и переключен в автономный режим, при этом увеличивается стабильность вычислительной системы.