ES2612951T3 - Gestión de la eficiencia energética de servidor - Google Patents

Gestión de la eficiencia energética de servidor Download PDF

Info

Publication number
ES2612951T3
ES2612951T3 ES10744134.7T ES10744134T ES2612951T3 ES 2612951 T3 ES2612951 T3 ES 2612951T3 ES 10744134 T ES10744134 T ES 10744134T ES 2612951 T3 ES2612951 T3 ES 2612951T3
Authority
ES
Spain
Prior art keywords
servers
active
transition
server
individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES10744134.7T
Other languages
English (en)
Inventor
Navendu Jain
C J Williams
James Larus
Dan Reed
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2612951T3 publication Critical patent/ES2612951T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

Un método (500), que comprende: estimar (502) un número de peticiones futuras (212) a un conjunto de servidores que incluye una pluralidad de servidores (206) configurados con un estado activo y al menos dos estados inactivos diferentes, en el que cada uno de los dos estados inactivos diferentes proporciona un tiempo distinto de latencia para hacer la transición al estado activo; modelar (504) tiempos de respuesta de la pluralidad de servidores (206) en el conjunto de servidores para responder a peticiones futuras (212) utilizando regresión de cuantiles en la que los cuantiles de una distribución condicional de un tiempo de respuesta están expresados como funciones de carga de trabajo de entrada y número de servidores activos (206) en el conjunto de servidores; calcular (506) un número de servidores para operar en el estado activo y cada uno de los estados inactivos para mantener los tiempos de respuesta en un nivel predefinido que es definido en un acuerdo de nivel de servicio, basado en las capacidades actuales como un número de servidores activos (206) y el número estimado de peticiones futuras (212) que puede ser gestionado por un servidor individual activo (206) por unidad de tiempo, en el que el cálculo (506) considera los diferentes períodos de latencia de transición entre los al menos dos estados inactivos diferentes y el estado activo y ahorros de energía asociados con los estados inactivos individuales; y causar (508) que los servidores individuales hagan la transición entre estados para satisfacer el número calculado de servidores (206).

Description

Gestión de la eficiencia energética de servidor
Antecedentes
Los centros de datos a menudo contienen un gran número de ordenadores (es decir, servidores). Muchos de estos servidores están temporalmente infrautilizados o incluso sin uso, pero son mantenidos para gestionar picos de peticiones que llegan al centro de datos. Por ejemplo, en los apuros en Navidad de los sitios de compras por internet
o en la congestión de última hora de la tarde de un sitio de información del tráfico de cercanías. Los servidores utilizados actualmente en los centros de datos consumen una gran cantidad de energía incluso cuando están inactivos (para algunos servidores, inactivo significa el 70% del total del consumo energético). Desconectando estos servidores podría ahorrarse energía, pero ello también podría afectar negativamente al tiempo de respuesta de un servicio web si llega una avalancha de clientes y no hay suficientes servidores conectados. Los presentes conceptos pueden gestionar los centros de datos de manera que satisface el tiempo de respuesta de la petición de servicio mientras tiene en cuenta el consumo de energía del centro de datos.
Gong Chen et al. describen en "Energy-Aware Server Provisioning and Load Dispatching for Connection-Intensive Internet Services", Procedimientos del 5th USENIX Symposium on Networked Systems Design & Implementation, 18 Abril 2008, páginas 337-350, San Francisco, CA, USA, un método de aprovisionamiento de eficiencia energética del servidor y distribución de la carga para servicios de conexión intensiva a Internet. El consumo de energía en los servicios de alojamiento de Internet se está convirtiendo en un problema acuciante dado que estos servicios aumentan. Técnicas de aprovisionamiento dinámico de servidor son efectivas en el apagado de servidores innecesarios para ahorrar energía. Estas técnicas, estudiadas mayormente para servicios de petición-respuesta, hacen frente a desafíos en el contexto de la conexión de servidores que alojan una gran cantidad de conexiones de TCP de larga duración. El documento caracteriza propiedades únicas, rendimiento, y modelos de potencia de la conexión de servidores, basado en un rastreo de datos real recogido desde Windows Live Messenger implementado. Utilizando los modelos, nosotros diseñamos el aprovisionamiento del servidor y los algoritmos de distribución de carga y estudiamos sutiles interacciones entre ellos. Está demostrado que los algoritmos pueden ahorrar una significativa cantidad de energía sin sacrificar las experiencias de usuario.
Peter Bodik et al: "Response-Time Modeling for Resource Allocation and Energy-Informed SLAs", 8 de Diciembre de 2007, http://homepages.inf.ed.ac.uk/csuttonlpublications/ sysml.pdf describe una estrategia de gestión de la potencia que explícitamente predice el rendimiento esperado de la aplicación, y por tanto puede gestionar el tema de la potencia para los SLA deseados. Para hacer esto, estimamos el tiempo de respuesta de la aplicación como una función de carga de trabajo, asignación de recursos, y varios entornos de gestión de potencia. Nosotros fijamos la cola de la distribución condicional utilizando métodos de regresión no lineales.
Compendio
Las implementaciones descritas se refieren a la gestión de la eficiencia energética del servidor. Más específicamente, la solicitud de patente se refiere a las herramientas para el aprovisionamiento de eficiencia energética y distribución de la carga para los servicios de petición/respuesta.
En una implementación, un sistema implica una unidad de control adaptativa configurada para estimar un número de peticiones futuras a un conjunto de servidores que incluye una pluralidad de servidores configurados con un estado activo y al menos dos estados inactivos diferentes, en los cuales cada uno de los al menos dos estados inactivos proporciona un tiempo de latencia diferente para la transición al estado activo; los tiempos de respuesta del modelo de la pluralidad de servidores en el conjunto de servidores para responder a las futuras peticiones utilizando regresión por cuantiles en la que los cuantiles de una distribución condicional de un tiempo de respuesta están expresados como funciones de carga de trabajo de entrada y número de servidores activos en el conjunto de servidores; calcular un número de servidores para operar en el estado activo y cada uno de los estados inactivos para mantener el tiempo de respuesta en un nivel predefinido que es definido en un acuerdo de nivel de servicio (SLA) basado en las capacidades actuales como un número de servidores activos y el número estimado de peticiones futuras que pueden ser manejadas por un servidor activo individual por unidad de tiempo, en el que la unidad de control adaptativa está configurada para calcular el número de servidores teniendo en cuenta ambos períodos de latencia de transición entre los estados inactivos individuales y el estado activo y los ahorros de energía asociados con los estados inactivos individuales; y que causa que servidores individuales que han de hacer la transición entre estados satisfagan la cantidad calculada de servidores; y un dispositivo de ordenador configurado para ejecutar la unidad de control adaptativa.
En otra implementación, un método implica estimar un número de peticiones futuras a un conjunto de servidores que incluye una pluralidad de servidores configurados con un estado activo y al menos dos estados inactivos diferentes, en el cual cada uno de los al menos dos estados inactivos proporciona un tiempo de latencia diferente para la transición al estado activo; modelar el tiempo de respuesta de la pluralidad de servidores en el conjunto de servidores para responder a las futuras peticiones utilizando regresión por cuantiles en la que los cuantiles de una 2 10
distribución condicional de un tiempo de respuesta están expresados como funciones de carga de trabajo de entrada y número de servidores activos en el conjunto de servidores; calcular un número de servidores para operar en el estado activo y cada uno de los estados inactivos para mantener el tiempo de respuesta en un nivel predefinido que es definido en un acuerdo de nivel de servicio, basado en las capacidades actuales como un número de servidores activos y el número estimado de peticiones futuras que pueden ser manejadas por un servidor activo individual por unidad de tiempo, en el que el cálculo tiene en cuenta los diferentes períodos de latencia de transición entre los al menos dos estados inactivos diferentes y el estado activo y los ahorros de energía asociados con los estados inactivos individuales; y hacer que servidores individuales que han de hacer la transición entre estados satisfagan la cantidad calculada de servidores.
El término “herramienta(s)” puede, por ejemplo, referirse a dispositivo(s), sistema(s), instrucciones legibles por un ordenador (por ejemplo uno o más soportes legibles por un ordenador con instrucciones ejecutables), componente(s), módulo(s), y/o métodos permitidos en el contexto anterior y en todo el documento. En varios ejemplos, las herramientas pueden ser implementadas como hardware, software, firmware, o sus combinaciones. Los ejemplos listados anteriormente están destinados a proporcionar una rápida referencia para ayudar al lector y no están destinados a definir el alcance de los conceptos descritos aquí.
Breve descripción de los dibujos
Los dibujos que se acompañan ilustran implementaciones de los conceptos explicados en la presente solicitud. Las características de las implementaciones ilustradas pueden ser más fácilmente comprendidas en referencia a la siguiente descripción tomada en conjunto con los dibujos adjuntos. Números de referencia iguales en los diferentes dibujos se utilizan siempre que sea factible para indicar elementos similares. Además, el número más a la izquierda de cada número de referencia se refiere a la Figura y la explicación asociada donde primero se introduce el número de referencia.
La FIG. 1 muestra un ejemplo de un método para desarrollar los conceptos de la gestión de la eficiencia energética del servidor de acuerdo con algunas implementaciones de los presentes conceptos.
La FIG. 2 ilustra un ejemplo de un sistema para llevar a cabo la gestión de la eficiencia energética del servidor de acuerdo con algunas implementaciones de los presentes conceptos.
La FIG. 3 ilustra un ejemplo de componentes para llevar a cabo la gestión de la eficiencia energética del servidor de acuerdo con algunas implementaciones de los presentes conceptos.
Las FIGS. 4-5 muestran diagramas de flujo asociados con métodos de gestión de la eficiencia energética del servidor de acuerdo con algunas implementaciones de los presentes conceptos.
Descripción detallada
Resumen
Esta solicitud de patente se refiere a la gestión de la eficiencia energética del servidor. Brevemente, la patente describe conceptos para el funcionamiento de un conjunto de ordenadores, como es el caso de una granja de servidores a un nivel de rendimiento esperado a la vez que se reduce el consumo de energía.
Los presentes conceptos pueden utilizar servidores multi-estado en una granja de servidores que responde a peticiones de usuario o “peticiones ”. Cuando son vistas colectivamente, las peticiones pueden ser consideradas como una “carga de trabajo” de la granja de servidores. Los servidores multi-estado pueden tener estado(s) activo(s) en los que las peticiones pueden ser procesadas y un estado inactivo que no procesa las peticiones. Algunos ordenadores multi-estado pueden tener varios estados inactivos. Por ejemplo, dormido, hibernado y/o apagado pueden ser ejemplos de estados inactivos. Los servidores en estado inactivo pueden usar sustancialmente menos energía que los servidores en estado activo. Sin embargo, puede haber un período de latencia de, por ejemplo, varios segundos a varios minutos empleados en la transición de un servidor en estado inactivo a estado activo. Este período de latencia puede producir retardo(s) de procesamiento no deseado(s) antes de que estén disponibles servidores adicionales (es decir, activos) para procesar las peticiones.
Por consiguiente, la gestión de la eficiencia energética del servidor puede considerar o equilibrar varios parámetros, tal como los criterios de latencia y rendimiento para reducir el uso de energía mientras responda a las peticiones a su debido tiempo.
La FIG. 1 ofrece un ejemplo introductorio de algunos de los actuales conceptos en la forma de un método 100. En este caso, la futura carga de trabajo de un conjunto de ordenadores, tales como ordenadores de servidor se predice
o estima en 102. La predicción puede relacionarse a un período relativamente corto de tiempo, tal como de unos pocos segundos a pocos minutos. En este caso particular, los ordenadores individuales pueden tener dos o más
estados de energía. Por ejemplo, los ordenadores pueden tener un estado activo (es decir, encendido) y uno o más estados inactivos (es decir, apagado, dormido e hibernado, entre otros).
Un ejemplo detallado de un método de predicción de la carga de trabajo es descrito bajo el título “ejemplo de predicción de la carga de trabajo”. Brevemente, en algunos casos, la predicción de la carga de trabajo puede utilizar modelos de relativamente largo plazo, historia de relativamente corto plazo, tendencias actuales, y/o conocimiento externo (por ejemplo, proyecciones de negocio, eventos programados), entre otros como parámetros considerados en el proceso de predicción de carga de trabajo.
La modelación a largo plazo puede mostrar tendencias de carga de trabajo relativas al momento del día, días de las semanas, momento del año, ciclos plurianuales, tales como elecciones, etc. Por ejemplo, puede haber una demanda constante de carga de trabajo cada mañana de la semana entre las ocho y las nueve cuando los trabajadores llegan al trabajo y ejecutan varias peticiones personales y/o relativas al trabajo ya que comienza su jornada.
La historia a corto plazo puede relacionarse con niveles de peticiones de usuario de los últimos segundos o minutos. Por ejemplo, una mención de un sitio de web en un espectáculo popular de TV puede desencadenar la avalancha para ese sitio de web durante los siguientes minutos. Indicaciones de las tendencias al alza en los últimos segundos
o minutos pueden ser útiles en la predicción de futuras peticiones para los siguientes varios segundos o minutos.
Las tendencias actuales pueden relacionarse con las peticiones de usuario que son recibidas durante el proceso de predicción de la carga de trabajo. Por ejemplo, las tendencias actuales pueden derivarse de la forma de un gráfico de peticiones sobre horarios disponibles recientemente. El gráfico puede ser constante o puede ser cambiante en una serie de distribución del tiempo (por ejemplo, lineal, exponencial).
La información externa puede ser considerada como información que no es obtenida de peticiones actuales o pasadas. En su lugar, la información externa, puede, por ejemplo, referirse a un próximo evento que puede no estar representado en los datos pasados. Por ejemplo, la información externa puede informar de que las Olimpiadas están próximas y que un número inusualmente alto de peticiones pueden tener lugar durante la duración de las Olimpiadas cuando los usuarios intenten bajarse vídeos de los eventos.
Alternativa o adicionalmente a la cantidad de peticiones, la información externa puede relacionarse con el tamaño de la petición. Por ejemplo, continuando con el ejemplo anterior, la información externa puede indicar que el número de peticiones puede crecer durante las Olimpiadas y que el tamaño de cada petición puede ser mayor de lo habitual, ya que las peticiones tienden a relacionarse con descarga de vídeo que requiere muchos datos.
La descripción anterior proporciona ejemplos de predicción de la carga de trabajo no limitativos. Otros ejemplos pueden predecir el tamaño de la petición. El tamaño de la petición prevista que luego puede ser utilizada en la predicción de la carga de trabajo. En resumen, hay potencialmente muchas formas para predecir las futuras cargas de trabajo. La futura carga de trabajo prevista puede ser entonces utilizada en los sistemas/métodos descritos a continuación, entre otros.
Una política de gestión de la eficiencia energética del servidor puede ser determinada para la carga de trabajo prevista en 104. Brevemente, la política de gestión de la eficiencia energética del servidor puede incluir capacidad de aprovisionamiento. En algunas implementaciones, la capacidad de aprovisionamiento puede ser considerada como proactiva (es decir, aprovisionamiento de capacidad proactiva) esto puede ser realizado de forma online, tiempo real como cambios de la carga de trabajo. El aprovisionamiento de capacidad proactiva puede también ser considerado como proactivo, porque puede ser realizado proactivamente para enmascarar el tiempo utilizado por los servidores para hacer la transición entre diferentes estados de energía. Esto puede ser contrastado con tomar decisiones de forma reactiva donde la decisión y cualquier acción de respuesta se realizan “después” de que un evento ha tenido lugar.
Dicho de otra forma, un conjunto de ordenadores en sus estados actuales tienen una capacidad de gestionar una carga de trabajo dada. Si la capacidad de los ordenadores en sus estados actuales es diferente que la capacidad para gestionar la carga de trabajo prevista, entonces se puede emplear el aprovisionamiento de capacidad para ajustar los estados de algunos de los ordenadores para alinear la capacidad futura con la carga de trabajo prevista.
La política de gestión de la eficiencia energética del servidor puede incluir el cambio de estado de uno o más de los ordenadores (es decir, haciendo la transición de un estado activo a un estado inactivo y viceversa). La política de gestión de la eficiencia energética del servidor puede equilibrar múltiples factores, incluyendo, pero sin limitación, el uso de la energía del conjunto de ordenadores, las expectativas de rapidez para responder a las peticiones del usuario, una fiabilidad de la predicción/ estimación, y/o otros efectos sobre una vida útil esperada de los ordenadores individuales asociados con las transiciones de estado. Estos factores son descritos en más detalle a continuación bajo el título “ejemplo de aprovisionamiento de capacidad”
Los estados de energía de los ordenadores individuales pueden ser ajustados en base a la política de gestión de la eficiencia energética del servidor en 106. Por ejemplo, algunos ordenadores pueden hacer la transición de estados activos a inactivos para conservar la energía. La política de gestión de la eficiencia energética del servidor puede también especificar cómo se asignan las peticiones entre los ordenadores.
Otro aspecto de la política de gestión de la eficiencia energética del servidor puede concretar en qué estado específico deben estar los ordenadores. Esto se podría hacer para mejorar la fiabilidad de los ordenadores. Por ejemplo, algunos tipos de ordenadores pueden experimentar consecuencias negativas a largo plazo si hacen la transición de estados activos a inactivos demasiadas veces. Por tanto la política de gestión de la eficiencia energética del servidor puede indicar que un servidor individual no debe hacer la transición más de un número determinado de veces en un determinado período de tiempo, por ejemplo un día. El sistema puede mantener un seguimiento de cuantas veces la “máquina A” ha hecho la transición y elegir una máquina diferente para hacer la transición si la máquina A ha hecho la transición demasiado a menudo. Varios aspectos de la política de gestión de la eficiencia energética del servidor serán explicados con más detalle en relación con la FIG.2 bajo el título “ejemplo de transición de estado”
Ejemplo de una configuración de sistema
La FIG. 2 muestra un sistema 200 que es sólo un ejemplo sobre el que puede ser implementada la anteriormente mencionada gestión de la eficiencia energética del servidor. En este caso, el sistema 200 incluye un repartidor de carga 202, una unidad de control adaptable 204, y un conjunto de cuatro servidores 206(1), 206(2), 206(3), and 206(n). El repartidor de carga 202, la unidad de control adaptable 204, y los servidores 206(1), 206(2), 206(3), y 206(n) pueden ser colocados y/o distribuidos entre sí en varias implementaciones.
Los usuarios, indicados generalmente como 210, pueden hacer peticiones 212(1)-212(n) que son recibidas por el repartidor de carga 202. El repartidor de carga envía peticiones individuales 212(1)-212(n) a servidores individuales 206(1)-206(n) como se indica en 214(1)-214(n) de acuerdo con una política 216 de gestión de la eficiencia energética del servidor y una lista de máquinas activas 218. La política 216 de gestión de la eficiencia energética del servidor y la lista de máquinas activas 218 son generadas por la unidad de control adaptable 204 y enviadas al repartidor de cargas 202.
La lista de máquinas activas 218 refleja las decisiones 220 de control de gestión de la energía transmitidas a los servidores 206(1)-206(n) por la unidad de control adaptable 204. Las decisiones de control de gestión de la energía pueden ser consideradas como controles que implementan la política de gestión de la eficiencia energética del servidor a nivel de servidor mediante el control de los estados de los servidores individuales 206(1)-206(n). La unidad de control adaptable 204 genera la política 216 de gestión de la eficiencia energética del servidor y la lista de máquinas activas 218 basada en varios parámetros de entrada. En este ejemplo, los parámetros de entrada incluyen, pero no se limitan a, los contadores de rendimiento 222, información requerida 224, uso de energía 226, y/o carga de trabajo de petición de entrada (no mostrada concretamente).
Los contadores de rendimiento 222 pueden ser enviados a la una unidad de control adaptable 204 desde los servidores 206(1)-206(n). Los contadores de rendimiento pueden indicar la capacidad en la que los servidores individuales y/o el conjunto colectivo de servidores están operando.
La petición de información 224, tal como tiempos de respuesta, puede ser obtenida del repartidor de carga 202. La petición de información puede manifestarse de varias maneras, como frecuencia de peticiones (es decir, peticiones por unidad de tiempo), tamaño de petición, y/o tiempos de respuesta de petición, entre otros.
El uso de energía 226 puede ser obtenido de varias fuentes, siendo una fuente única un medidor de consumo de energía en una fuente de alimentación (no mostrada) de los servidores 206(1)-206(n). Aunque no mostradas concretamente, otras implementaciones pueden proporcionar el consumo de energía de los servidores individuales, sólo o en combinación con un consumo de energía total. La unidad de control adaptable puede también recibir información de fuentes que no se muestran concretamente. Por ejemplo, la unidad de control adaptable puede obtener información de rendimiento definida en un acuerdo de nivel de servicio (SLA). Esta información de rendimiento puede ser utilizada en la formulación de la política 216 de la gestión de la eficiencia energética del servidor. Además, la unidad de control adaptable sólo puede enviar partes específicas de la política 216 de la gestión de la eficiencia energética del servidor al repartidor de carga 202. Por ejemplo, la política de la gestión de la eficiencia energética del servidor puede incluir lógica de envío que es enviada al repartidor de carga para definir como se envían las peticiones a los servidores.
En algunos casos, el repartidor de carga 202 puede funcionar como un equilibrador de carga y distribuir uniformemente las peticiones 212(1)-212(n) a los servidores activos 206(1)-206(n). En otros casos, en relación con los servidores activos, el repartidor de carga puede distribuir las peticiones estratégicamente a un subconjunto de servidores activos con una frecuencia relativamente alta para mantener esos servidores a una capacidad específica, por ejemplo al 70% de la capacidad total. Cualesquiera peticiones que puedan causar que el subconjunto de servidores exceda la capacidad especificada pueden ser enviadas a un segundo subconjunto de servidores activos. 5 10
Dicha configuración puede mantener una mayoría de servidores activos funcionando a una capacidad especificada o deseada mientras opera el segundo subconjunto en un papel de reserva, mejorando de ese modo la eficiencia energética. Desde una perspectiva, este segundo subconjunto de servidores activos puede ser considerado como una cobertura ante picos de cargas de trabajo inesperados.
Además, basado en la información obtenida de la unidad de control adaptable 204 (es decir, la política 216 de gestión de la eficiencia energética del servidor y/o la lista de máquinas activas 218), el repartidor de carga 202 puede redistribuir la carga desde cualquiera de los servidores que están haciendo la transición a un estado inactivo.
Para resumir, en algunas implementaciones el repartidor de carga 202 puede distribuir peticiones sólo entre los servidores activos y puede redistribuir peticiones desde los servidores que están haciendo la transición a estados inactivos.
En la configuración del sistema 200 ilustrada, la unidad de control adaptable 204 puede predecir la carga de trabajo futura (es decir, peticiones futuras). La unidad de control adaptable puede formular la política de gestión de la eficiencia energética del servidor para manejar la futura carga de trabajo de una manera eficiente con respecto a la energía. La unidad de control adaptable puede considerar múltiples parámetros en la formulación de la política de gestión de la eficiencia energética del servidor. Estos parámetros pueden incluir, pero no se limitan a, la petición de información 224, el uso de energía 226, y/o contadores de rendimiento 222.
Para resumir, la unidad de control adaptable 204 puede controlar el estado de los servidores 206(1)-206(n) de acuerdo a la política de gestión de la eficiencia energética del servidor a través de las decisiones 220 de control de gestión de la energía. En la configuración ilustrada, la unidad de control adaptable puede funcionar en un escenario relativamente sencillo de sistema de control de circuito cerrado porque puede controlar las funciones de sistema a través de la salida que es generada según la entrada recibida.
La unidad de control adaptable trabaja recibiendo datos de entrada relativos al rendimiento de sistema, como el uso de la unidad central de proceso (CPU) del servidor, tiempo de respuesta a la petición, y consumo de energía, por citar algunos. Los datos de entrada pueden ser considerados a la luz de la carga de trabajo prevista para determinar cómo manejar la carga de trabajo futura prevista. Por ejemplo, el número de servidores en cada estado de energía (es decir, activo, inactivo (dormido, hibernado, apagado, etc.)) pueden ser ajustados para equilibrar la capacidad con la carga de trabajo prevista y de ese modo ahorrar energía. Dicho de otra manera, la unidad de control adaptable puede aprovisionar estados de energía entre los servidores 206(1)-206(n) con el fin de manejar la carga de trabajo prevista de una manera eficiente con respecto a la energía.
En algunos casos, los servidores 206(1)-206(n) pueden emplear procesadores que fueron diseñados para usos no relacionadas con el servidor. Por ejemplo, los conceptos actuales pueden permitir procesadores diseñados para su uso en ordenadores portátiles y otras aplicaciones móviles con el fin de ser aplicados ventajosamente en escenarios de servidor. Por ejemplo, los procesadores de Atom, marca Intel, pueden ser utilizados en algunas configuraciones actuales. Los procesadores de Atom son relativamente eficientes enérgicamente en el estado activo y tienen estados inactivos dormidos que ofrecen aproximadamente un 90% de ahorro de energía sobre el estado activo.
Los estados inactivos ofrecen generalmente tiempos de latencia diferentes para hacer la transición al estado activo. Por ejemplo, un verdadero estado apagado puede ofrecer más del 99% de ahorro de energía sobre un estado activo. Sin embargo, los ahorros de energía sustanciales vienen a un costo de latencia de transición relativamente largo. Por ejemplo, la latencia de transición de un estado inactivo apagado al estado activo puede ser de varios minutos. En comparación, un estado inactivo ´dormido´ puede ofrecer por ejemplo 90% de ahorro de energía, pero una latencia de transición de, por ejemplo, 10-20 segundos. La desventaja potencial de tal transición larga es que si la predicción de carga de trabajo en realidad subestima la carga de trabajo futura, entonces un servidor que está apagado no estará disponible para ayudar durante un tiempo relativamente largo.
El estado inactivo de ’hibernado’ puede ofrecer unos ahorros de energía y latencias de transición entre los estados inactivos de dormido y apagado. Por ejemplo, hibernado puede ofrecer un 95% de ahorros de energía comparado con el estado activo y una latencia de transición de 30 segundos. Hay que tener en cuenta que en algunas caracterizaciones, hibernado se caracteriza como un nivel profundo de dormido. En relación con el procesador Atom de Intel mencionado arriba, el consumo de energía del estado activo es 28-34 vatios, pero en el estado dormido consume 3-4 vatios y en hibernado consume 1-2 vatios, los cuales ofrecen ambos al menos una reducción de diez veces en el consumo de energía de los procesadores inactivos. Los ejemplos de estado inactivo descritos anteriormente son proporcionados con objeto de explicación. Se ha de entender que los presentes conceptos no están ligados a un conjunto particular de estados inactivos que pueden ser ofrecidos con ordenadores servidores particulares. Dicho de otra manera, la funcionalidad de ahorro de energía puede ser aplicada a cualquier sistema, dispositivo, y/o componente que pueda ser desconectado y/o apagado.
Los ordenadores que tienen múltiples estados inactivos tienden a estar disponibles en algunas líneas de productos, como ordenadores portátiles. Las líneas de producto que ofrecen múltiples estados inactivos tienden a ser diseñadas para aplicaciones independientes, como el uso personal, en lugar de cómo aplicaciones coordinadas 6 10
como una granja de servidores. Una razón para la falta de estas características en aplicaciones coordinadas es la complejidad/dificultad de controlar los varios ordenadores de una manera eficiente en rendimiento y energía.
La complejidad de equilibrar la eficiencia de rendimiento y energía es incluso confirmada en los escenarios de uso único. Por ejemplo, los ordenadores portátiles son simplemente desconectados a un estado inactivo pasado un tiempo de espera (es decir, si no se recibe una entrada del usuario en un período predefinido de tiempo). La solución de un tiempo de espera no intenta de ninguna manera predecir el uso futuro y opera el ordenador de una manera que satisface ese uso futuro de una manera consciente con respecto a la energía o que es eficaz para el usuario. Así, cuando un usuario vuelve a ese equipo que ha hecho la transición a un estado inactivo, el usuario tiene que proporcionar alguna entrada y esperar mientras el ordenador vuelve al estado activo.
La política 216 de gestión de la eficiencia energética del servidor puede permitir que la potencial eficiencia de la energía de ordenadores multi-estado se realice en una configuración colectiva como una granja de servidores. Brevemente, la gestión de la eficiencia energética del servidor puede determinar cuándo los servidores individuales 206(1)-206(n) deben hacer la transición entre un estado inactivo y el estado activo para servir cargas de trabajo actuales y previstas en el futuro.
La FIG. 3 muestra un ejemplo de módulos de lógica de la unidad de control adaptable 204 para llevar a cabo la gestión de la eficiencia energética del servidor. En este caso, los módulos de lógica se manifiestan como un módulo 304 de predicción de la carga de trabajo, un módulo 306 de estrategia o política, y un módulo de ajuste de estado
308.
El módulo 304 de predicción de la carga de trabajo puede determinar la carga de trabajo actual y predecir la carga de trabajo futura. Desde una perspectiva, la carga de trabajo puede ser considerada como el número de peticiones por unidad de tiempo multiplicado por el tamaño de las peticiones. En escenarios de operación que involucren un número relativamente grande de peticiones, un tamaño medio de petición puede ser calculado con un grado bastante alto de precisión. En aquellos casos, la carga de trabajo puede simplemente ser calculada como el número de peticiones por unidad de tiempo multiplicado por el tamaño medio de la petición. El módulo de predicción de la carga de trabajo puede predecir la carga de trabajo futura utilizando varias técnicas, algunas de las cuales se han explicado anteriormente y algunas de las cuales se explican a continuación con mayor detalle. Brevemente, en el sistema de la FIG. 2, el módulo 304 de predicción de la carga de trabajo puede utilizar la información de peticiones 224 como dato de entrada para prever la carga de trabajo futura. En otros casos, el módulo de predicción de la carga de trabajo puede recibir y utilizar información externa. En algunas implementaciones, el módulo de predicción de la carga de trabajo puede recoger, modelar y almacenar tendencias históricas de largo plazo para usarlas en la estimación o predicción de cargas de trabajo futuras.
El módulo de política 306 puede formular una política de gestión de la eficiencia energética del servidor para satisfacer la predicción de la carga de trabajo suministrada por el módulo 304 de predicción de la carga de trabajo. Por ejemplo, El módulo de política puede calcular la capacidad actual como un número de servidores activos y el número de peticiones que pueden ser manejadas por un servidor activo individual por unidad de tiempo. El módulo de política puede calcular la capacidad apropiada para la carga de trabajo prevista. Para resumir, la política de la gestión de la eficiencia energética del servidor puede incluir el aprovisionamiento de capacidad para manejar la carga de trabajo prevista.
El módulo de política 306 puede formular una política de gestión de la eficiencia energética del servidor para reconfigurar los servidores desde la actual configuración a la capacidad apropiada para la carga de trabajo prevista. Por ejemplo, considérese un escenario hipotético que implique una granja de servidores de 10 donde cada servidor activo puede manejar 10 peticiones por segundo. La actual carga de trabajo es de 67 peticiones por segundo que están siendo manejadas por 7 servidores activos (los restantes tres servidores están inactivos). La predicción de la carga de trabajo indica que en un futuro tiempo t + Δt la carga de trabajo será de 38 peticiones por segundo. En ese caso, el módulo de política puede formular una política de gestión de la eficiencia energética del servidor que reduzca el número de servidores activos.
El módulo de política 306 puede incluir múltiples factores en un análisis de coste-beneficio cuando se formula la política de gestión de la eficiencia energética del servidor. Por ejemplo, el módulo de política puede considerar cuántas veces los servidores individuales está siendo activados e inactivados con el fin de optimizar el tiempo de vida del servidor. Un tiempo de vida de un servidor tiende a ser inversamente proporcional al número de transiciones entre los estados de energía activos e inactivos. Otro factor puede ser un SLA que defina los niveles de rendimiento para el sistema 200. Otro factor que puede ser considerado es un nivel de confianza en la predicción de la carga de trabajo. Por ejemplo, en un caso en el que el nivel de confianza es alto, entonces el módulo de política puede concluir que cuatro servidores serán suficientes para la carga de trabajo prevista e incluir la inactivación de tres servidores más para un total de seis servidores inactivos. Si el nivel de confianza es bajo, el módulo de política puede formular una política de gestión de la eficiencia energética del servidor que mantenga cinco servidores activos.
En algunas implementaciones, el módulo de política 306 puede emplear un módulo de aprendizaje de rendimiento que puede incluir diferentes parámetros o métricas tales como CPU, memoria, disco, red, etc., en la formulación de la política de gestión de la eficiencia energética del servidor. Además, para facilitar la explicación, la anterior descripción ha tratado a todos los servidores por igual. Sin embargo, el módulo de política puede formular una política 216 de gestión de la eficiencia energética del servidor que reconoce y/o aborda las diferencias o heterogeneidad entre servidores. Las diferencias pueden ser internas y/o externas a los servidores. Por ejemplo, la política de la gestión de la eficiencia energética del servidor puede reflejar que los servidores individuales tienen diferente capacidad, diferentes huellas de energía, y diferentes tiempos de transición entre los estados de energía. De forma similar, los servidores pueden verse afectados por factores externos, como puntos calientes de temperatura, tareas de reparación y mantenimiento.
La política de gestión de la eficiencia energética del servidor puede también especificar a qué estados inactivos han de ser pasados los servidores individuales. Por ejemplo, puesto que el estado inactivo dormido se ofrece una transición de vuelta más rápida a un estado activo, la política de la gestión de la eficiencia energética del servidor puede especificar que algunos servidores deberían ser mantenidos en el estado dormido mientras otros pueden ser hechos pasar a estados inactivos que ofrecen mayores ahorros de energía.
La política de gestión de la eficiencia energética del servidor puede usar factores adicionales para decidir las transiciones de servidor. Por ejemplo, para tareas de reparación/mantenimiento tales como actualizaciones de software, un servidor activo puede ser hecho pasar a apagado mientras otro servidor en un estado inactivo puede hacer la transición a activo de forma que la capacidad del sistema no se vea afectada.
El módulo 308 de aprovisionamiento de estado puede causar que haya transiciones de estado a servidores individuales compatibles con la política de gestión de la eficiencia energética del servidor proporcionada por el módulo de política 306. Además, el módulo de ajuste de estado puede transmitir qué servidores están activos para el repartidor de carga 202 (FIG. 2) para evitar que el repartidor de carga envíe peticiones a servidores inactivos.
Ejemplo de predicción de la carga de trabajo
En una implementación, la predicción de la carga de trabajo se puede lograr utilizando regresión lineal ponderada. En este caso, la regresión lineal ponderada puede considerarse como una forma de análisis de regresión en la que las observaciones se representan utilizando una función matemática de una o más variables independientes. Por ejemplo, las observaciones pueden ser variables dependientes, tales como peticiones por segundo. Ejemplos de variables independientes pueden ser entradas, como el tiempo. Para la regresión lineal ponderada, la función puede expresarse como una combinación lineal de coeficientes de regresión. Un objetivo de la regresión lineal ponderada puede ser reducir (y potencialmente minimizar) la suma ponderada de los cuadrados entre las observaciones y los valores previstos por la función. Los pesos se utilizan para asignar diferentes valores de importancia a diferentes observaciones. En resumen, este método de predicción de la carga de trabajo combina análisis de regresión con tendencias históricas, modelos a largo plazo, conocimiento externo, etc., para predecir la futura carga de trabajo.
Ejemplo de aprovisionamiento de capacidad
En algunos ejemplos concretos el aprovisionamiento de capacidad se puede lograr utilizando el aprendizaje de la máquina en un modelo de aprendizaje de actuación. En un tal caso, el aprovisionamiento de capacidad emplea el método de aprendizaje de la máquina de regresión por cuantiles en la que los cuantiles de una distribución condicional de un tiempo de respuesta están expresados como funciones de carga de trabajo de entrada (peticiones por segundo) y número de servidores activos.
Este método de regresión por cuantiles tiene en cuenta el hecho de que el tiempo de respuesta crece casi linealmente cuando la utilización del servidor es baja y aumenta rápidamente (por ejemplo, potencialmente de manera exponencial) a medida que la carga de trabajo de entrada se acerca a la capacidad de procesamiento de los servidores. En otras palabras, el método de aprovisionamiento de capacidad puede conocer en estado apagado el tiempo de respuesta de un sistema mediante la variación de los parámetros de la carga de trabajo de entrada y el número de servidores activos. Entonces, para una petición de SLA dado y una estimación de la carga de trabajo prevista, calcula el número de servidores necesarios para satisfacer la carga de trabajo dentro del SLA especificado.
Ejemplo de transición de estado
La FIG. 4 ofrece un diagrama de flujo de un método 400 para lograr la transición de estado de acuerdo con la gestión de la eficiencia energética del servidor. El método 400 empieza en el bloque 402. En el bloque 404, el método ordena los servidores (es decir, los servidores de una granja de servidores u otro grupo de servidores). El bloque 404 puede ordenar los servidores de acuerdo a uno o más parámetros. Por ejemplo, los servidores pueden ser ordenados de acuerdo al estado de energía (es decir, activo o inactivo). Además, los servidores inactivos pueden ser ordenados en grupos clasificados que reflejen sus ahorros de energía relativos. Por ejemplo, los servidores activos pueden ser listados seguidos de los servidores inactivos en estado dormido, y después los servidores inactivos en el estado hibernado y finalmente el estado apagado.
El bloque 406 ordena los estados de energía. En un caso, los estados de energía pueden ser ordenados en base a la latencia de transición entre los estados inactivo y activo. Alternativa o adicionalmente, los estados de energía pueden ser ordenados o clasificados en base a su uso de energía o huella. Así, por ejemplo, los estados de energía pueden ser listados de mayor energía consumida (es decir, activo) a menor energía consumida (es decir, apagado).
El bloque 408 calcula una diferencia o Δ entre la demanda prevista de servidor (es decir, carga de trabajo) en un tiempo futuro (tf) y una capacidad disponible en el tiempo tf. Las técnicas para predecir la carga de trabajo están descritas anteriormente. Para resumir, el bloque 408 sirve para identificar en algún tiempo futuro si la capacidad del servidor disponible es correcta, demasiado alta o demasiado baja.
Si, en el bloque 408, la diferencia es igual a cero (es decir, la carga de trabajo prevista es igual que la capacidad futura), entonces el método continúa al bloque 410. El bloque 410 detiene el proceso para el control de los servidores en el momento presente si no es necesario ningún ajuste de la capacidad. Después de algún tiempo, tal como 30 segundos, el método vuelve entonces al principio 402 y se repite el método.
Si en el bloque 408 existe una diferencia (es decir, la diferencia no es cero), entonces el método continúa en el bloque 412.
En el bloque 412 se reconoce un conjunto de servidores (del total de servidores introducidos en el bloque 404) que han realizado la transición de estado en un período intermedio entre el tiempo presente t y el tiempo futuro tf. Dicho de otra manera, en el bloque 412 se identifican los servidores que han realizado la transición entre estados y/o ya están programados para hacerlo. En un ejemplo donde la diferencia en el bloque 408 es un valor positivo (es decir, Δ>0), entonces el método continúa al bloque 414; de lo contrario, si la diferencia es negativa (es decir, Δ<0), entonces el método continúa al bloque 416.
En el bloque 414, el método incrementa la capacidad de servidor para un tiempo tf mediante la identificación de los servidores inactivos que van a hacer la transición al estado activo. Los estados de los servidores individuales están listados anteriormente en el bloque 404. Los servidores inactivos que se consideran para la identificación no pertenecen al conjunto reconocido en 412. Dicho de otra manera, los servidores identificados son servidores inactivos que no están haciendo la transición o no está programado que hagan la transición en el período intermedio.
Otros parámetros diferentes pueden ser utilizados para seleccionar los servidores identificados. Por ejemplo, la latencia de transición puede ser considerada. Por ejemplo, si el tiempo futuro tf es de 30 segundos, el método puede considerar las latencias de transición como una razón de qué servidores hacen la transición. Por ejemplo, si una latencia de transición de dormido a activo son 20 segundos y una latencia de transición de apagado a activo es un minuto, entonces el método puede seleccionar un servidor de estado dormido de forma que la transición sea completa en tiempo futuro tf (es decir, 30 segundos).
El método puede también considerar un número de veces en que los servidores individuales han hecho la transición en un período de tiempo dado. Por ejemplo, si uno de los servidores en estado dormido ha hecho la transición ya un número de veces límite, entonces el método puede seleccionar otro servidor en estado dormido para hacer la transición que está por debajo del límite. Otros parámetros pueden también ser utilizados en el proceso de identificación de un análisis de coste-beneficio. Por ejemplo, los costes pueden incluir un riesgo de tiempos de respuesta mayores y una esperanza de vida menor debido a las frecuentes transiciones de estado, entre otros. Los beneficios pueden ser menor uso de la energía, entre otros.
El bloque 416 aborda un escenario donde la capacidad del servidor en un tiempo futuro tf es mayor que la carga de trabajo prevista. El bloque 416 reduce la capacidad del servidor para un tiempo tf clasificando los servidores individuales activos para la transición a estado inactivo. Los servidores activos que se han considerado no incluyen aquellos identificados en conjunto {ts} en el bloque 412 que ya pueden hacer la transición. Los servidores activos pueden ser seleccionados en base a uno o más parámetros que pueden ser considerados utilizando un análisis de coste-beneficio. Ejemplos de parámetros se han descrito anteriormente en relación con el bloque 414. Brevemente, si un servidor dado ha hecho la transición ya un número de veces límite, entonces el análisis de coste-beneficio puede inclinarse por la no transición de ese servidor otra vez. En vez de ello, otro servidor puede ser seleccionado para la transición.
Otro parámetro que puede ser considerado se refiere a la prevención contra la capacidad insuficiente. Por ejemplo, supóngase que la transición de un servidor necesita 20 segundos cada vez y que el proceso no se puede parar una vez que se ha iniciado. Por lo tanto, para tener un servidor activo (llamado servidor 1) reactivado una vez que la transición comienza se necesitan 40 segundos (es decir, 20 segundos de activo a inactivo y 20 segundos más de inactivo a activo). Suponiendo, con fines explicativos, que tf es igual a 30 segundos en el futuro. Ahora si otro servidor inactivo (llamado servidor 2) está disponible para la transición a estado activo, entonces el riesgo asociado con la transición del servidor 1 es relativamente bajo durante los primeros 10 segundos, porque el servidor 2 puede ser activado a tiempo siempre que el tiempo tf sea al menos de 20 segundos en el futuro. Así, por ejemplo, si se toma una decisión de inactivar el servidor 1 y ocho segundos después se detecta en relación con el tiempo tf que se ha subestimado, entonces el servidor 2 puede ser activado a tiempo para cubrir el requisito de capacidad adicional 9 10
(es decir, ocho segundos más 20 segundos en la transición de poner el servidor 2 en estado activo en 28 segundos ó 2 segundos antes de que la capacidad pueda ser inadecuada). Por lo tanto, la disponibilidad del servidor 2 puede inclinar el análisis de coste-beneficio hacia la inactivación del servidor 1.
Otro parámetro similar se refiere a la capacidad del servidor 1 para cubrir por sí mismo cualquier subestimación. Por ejemplo, continuando con el ejemplo anterior, supóngase que el servidor 1 necesita 20 segundos para la transición, durante una transición de activo a activo de 40 segundos. Considérese un primer escenario donde el tiempo futuro es de 30 segundos. En tal caso, el servidor 1 no estará disponible para cubrir la demanda adicional en el tiempo futuro tf si se detecta que se ha subestimado. En ese escenario, este parámetro puede decidir la no transición del servidor 1. Considerando otro escenario donde el tiempo futuro tf es de 60 segundos. En tal caso, el servidor 1 puede ser inactivado y reactivado antes del tiempo tf (es decir, en 40 segundos) si se detecta que se ha subestimado. En este escenario, este parámetro puede decidir la inactivación del servidor 1. El técnico experto debe reconocer que este análisis de coste-beneficio puede considerar muchos parámetros para proporcionar niveles de servicio esperados a la vez que se conserva la energía.
Como con el bloque 410, después de un tiempo incremental, como unos 30 segundos, el método entonces vuelve al
principio 402 y el método puede ser repetido. El algoritmo 1 muestra un método específico de transición de estado que emplea análisis de coste-beneficio para generar parte de una política de gestión de la eficiencia energética del servidor.
Algoritmo 1
Paso 0. Ordenar los servidores de acuerdo a una secuencia en la que los servidores en el estado activo están ordenados antes que los servidores en estados inactivos --llamada SSecuencia. Ordenar los estados de energía en orden ascendente de latencias de transición desde ese estado de energía a
estado activo — llamada ESecuencia. Ordenar los estados de energía en orden ascendente de la huella de energía --llamada PSecuencia. Paso 1. Calcular la diferencia entre la demanda prevista de servidores (por ejemplo P servidores) y el número de
servidores disponibles en un paso de tiempo futuro predeterminado (por ejemplo F servidores). (El número de servidores disponibles en el paso de tiempo futuro predeterminado depende del número de servidores
actualmente activos, del número de servidores actualmente en transición, y del número de servidores que van a estar en transición antes de ese paso de tiempo predeterminado). Paso 2. Si la diferencia es cero, parar (diferencia llamada = D = P -F). Paso 3. Tomar los primeros T servidores de SSecuencia y pasarlos al estado activo (si no están ya activos o hacer
la transición a activos), donde T = MíNIMO (P, F). Para cada i en los T servidores, establecer NoCambiarHastaTiempo[i] := paso de tiempo futuro predeterminado. Paso 4. Si D es positivo (es decir, añadir más capacidad) Entonces Coger los siguientes (con respecto al paso 3) D servidores de SSecuencia en orden CRECIENTE de ESecuencia Para cada servidor (por ejemplo s) establecer NoCanbiarHastaTiempo[s] := predeterminado paso de tiempo futuro si (paso de tiempo futuro – tiempo actual > transición-desde-ese-estado-de energía-a-activo) (es decir, algún tiempo todavía restante) planificar la transición de ese servidor s a estado activo en tiempo FUTURO
(paso de tiempo futuro – tiempo actual) de otro modo planificar la transición de ese servidor s a estado activo ahora
5 terminar si terminar para de otro modo Si D es negativo (es decir, capacidad más baja) entonces
10 coger los siguientes (con respecto al Paso 3) D servidores en estado activo de SSequence y para cada servidor ( por ejemplo j) NoTransiciónHastaTiempo[j] <= tiempo actual PASO 4.A. Para cada estado de energía en PSecuencia
15 si (paso de -tiempo futuro – tiempo actual >= transición-desde-ese-estado-de energía-a-activo
+ transición-desde–activo-a–ese-estado-de energía) planificar D para ir a ese estado de energía ahora; parar
20 de otro modo si (paso-tiempo futuro tiempo actual >= transición-desde-ese–estado-de energía-a-activo) Y (hay un número D de servidores en ese estado de energía) entonces
25 planificar D para ir a ese estado de energía ahora; parar de otro modo planificar (D – número de servidores en ese estado de energía) para ir a ese
30 estado de energía ahora D = D – número de servidores en ese estado de energía IR AL PASO 4.A (y considerar el siguiente estado de energía en ese orden)
35 terminar si
terminar para
terminar si
terminar si
Para resumir, el método de aprovisionamiento de capacidad coge una aproximación proactiva para hacer la transición de servidores a diferentes estados de energía con el fin de enmascarar la latencia de estas transiciones y retrasa las transiciones para reducir el uso de energía mientras sigue cumpliendo con las demandas de carga.
Segundo, la implementación aplica las transiciones mientras se tienen en cuenta factores adicionales tales como la historia de número de transiciones por servidor, puntos calientes, acciones de reparación/mantenimiento, fallos, y así sucesivamente. Por ejemplo, para equilibrar el número de transiciones a través de nodos, puede poner algunos servidores activos en estados de menor energía y viceversa.
Ejemplo del método
La FIG. 5 ilustra un diagrama de flujo de un método o técnica 500 que es compatible con al menos algunas implementaciones de los conceptos actuales. El orden en que el método 500 es descrito no tiene el propósito de ser interpretado como una limitación, y cualquier número de los bloques descritos pueden ser combinados en cualquier orden para implementar el método, o un método alternativo. Además, el método puede ser implementado en cualquier hardware, software, firmware adecuados o combinación de los mismos, de tal forma que un dispositivo de ordenador puede implementar el método. En un caso, el método es almacenado en un medio de almacenamiento legible por un ordenador como un conjunto de instrucciones de tal manera que la ejecución por un dispositivo informático hace que el dispositivo informático ejecute el método.
En el bloque 502, el método predice un número de peticiones futuras a un conjunto de servidores que incluye servidores individuales configurados con un estado activo y al menos dos estados inactivos diferentes.
En el bloque 504, el método modela tiempos de respuesta para las peticiones futuras en función del número de peticiones futuras y un número de servidores activos.
En el bloque 506, el método calcula un número de servidores para operar en el estado activo y cada uno de los estados inactivos para satisfacer los tiempos de respuesta.
En el bloque 508, el método hace que servidores individuales hagan la transición entre estados para satisfacer los números calculados.
El método descrito anteriormente puede satisfacer las expectativas de los usuarios (es decir, satisfaciendo los términos de un SLA) mientras reduce el uso de energía por parte de los servidores.
CONCLUSION
Aunque técnicas, métodos, dispositivos, sistemas, etc,. pertenecientes a la gestión de la eficiencia energética del servidor se han descrito en lenguaje específico de características estructurales y/o actos metodológicos, se ha de entender que el objeto en cuestión definido en las reivindicaciones adjuntas no está necesariamente limitado a las características específicas o actos descritos. Más bien, las características específicas y los actos se exponen como formas ejemplares de implementación de los métodos, dispositivos, sistemas, etc. reivindicados.

Claims (9)

  1. REIVINDICACIONES
    1. Un método (500), que comprende:
    estimar (502) un número de peticiones futuras (212) a un conjunto de servidores que incluye una pluralidad de servidores (206) configurados con un estado activo y al menos dos estados inactivos diferentes, en el que cada uno de los dos estados inactivos diferentes proporciona un tiempo distinto de latencia para hacer la transición al estado activo;
    modelar (504) tiempos de respuesta de la pluralidad de servidores (206) en el conjunto de servidores para responder a peticiones futuras (212) utilizando regresión de cuantiles en la que los cuantiles de una distribución condicional de un tiempo de respuesta están expresados como funciones de carga de trabajo de entrada y número de servidores activos (206) en el conjunto de servidores;
    calcular (506) un número de servidores para operar en el estado activo y cada uno de los estados inactivos para mantener los tiempos de respuesta en un nivel predefinido que es definido en un acuerdo de nivel de servicio, basado en las capacidades actuales como un número de servidores activos (206) y el número estimado de peticiones futuras (212) que puede ser gestionado por un servidor individual activo (206) por unidad de tiempo, en el que el cálculo (506) considera los diferentes períodos de latencia de transición entre los al menos dos estados inactivos diferentes y el estado activo y ahorros de energía asociados con los estados inactivos individuales; y
    causar (508) que los servidores individuales hagan la transición entre estados para satisfacer el número calculado de servidores (206).
  2. 2.
    El método (500) de la reivindicación 1, en el que el paso de estimar (502) está basado en el análisis de las tendencias a relativamente corto plazo, modelos a relativamente largo plazo, tendencias actuales o conocimiento externo.
  3. 3.
    El método (500) de la reivindicación 1, en el que el paso de estimar (502) comprende la estimación del número así como el tamaño y el contenido de las futuras peticiones individuales (212).
  4. 4.
    El método (500) de la reivindicación 1, en el que el paso de calcular (506) tiene en cuenta las ramificaciones de las transiciones de estado en un período de vida de los servidores individuales (206).
  5. 5.
    El método (500) de la reivindicación 1, en el que el paso de causar (508) comprende enviar de una señal a servidores individuales para causar transiciones de estado entre el estado activo y los al menos dos diferentes estados inactivos.
  6. 6.
    Un medio de almacenamiento legible por ordenador que comprende instrucciones que causan que un dispositivo de ordenador ejecute los métodos de cualquiera de las reivindicaciones anteriores.
  7. 7.
    Un sistema (200), que comprende:
    una unidad de control adaptable (204) configurada para:
    estimar (502) un número de peticiones futuras a un conjunto de servidores que incluye una pluralidad de servidores
    (206) configurados con un estado activo y al menos dos estados inactivos diferentes, en el que cada uno de los dos estados inactivos diferentes proporciona un tiempo de latencia distinto para hacer la transición al estado activo; modelar (504) tiempos de respuesta de la pluralidad de servidores (206) en el conjunto de servidores para responder a peticiones futuras (212) utilizando regresión por cuantiles en la que los cuantiles de una distribución condicional de un tiempo de respuesta están expresados como funciones de carga de trabajo de entrada y número de servidores activos (206) en el conjunto de servidores;
    calcular (506) un número de servidores (206) para operar en el estado activo y cada uno de los estados inactivos para mantener los tiempos de respuesta a un nivel predefinido que está definido en un acuerdo de nivel de servicio, basado en las capacidades actuales como un número de servidores activos (206) y el número estimado de peticiones futuras (212) que puede ser gestionado por un servidor individual activo (206) por unidad de tiempo,
    en el que la unidad de control adaptable (204) es configurada para calcular el número de servidores (206) teniendo en cuenta ambos períodos de latencia de transición entre estados inactivos individuales y el estado activo y los ahorros de energía asociados con los estados inactivos individuales; y
    causar (508) que servidores individuales (206) hagan la transición entre estados para satisfacer el número calculado de servidores (206); y
    un dispositivo de ordenador configurado para ejecutar la unidad de control adaptable (204).
  8. 8. El sistema (200) de la reivindicación 7, en el que la unidad de control adaptable (204) es configurada para estimar el número de peticiones futuras (212) mediante el análisis de las tendencias a relativamente corto plazo, modelos a relativamente largo plazo, tendencias actuales o conocimiento externo.
    5 9. El sistema (200) de la reivindicación 7 u 8, en el que la unidad de control adaptable (204) está configurada para estimar el número así como el tamaño y el contenido de futuras peticiones individuales (212).
  9. 10. El sistema (200) de cualquiera de las reivindicaciones 7 a 9, en el que la unidad de control adaptable (204) es configurada para calcular el número de servidores (206) considerando las ramificaciones de las transiciones de estado en un período de vida de los servidores individuales (206).
ES10744134.7T 2009-02-23 2010-02-04 Gestión de la eficiencia energética de servidor Active ES2612951T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US391188 2009-02-23
US12/391,188 US8225119B2 (en) 2009-02-23 2009-02-23 Energy-aware server management
PCT/US2010/023253 WO2010096283A2 (en) 2009-02-23 2010-02-04 Energy-aware server management

Publications (1)

Publication Number Publication Date
ES2612951T3 true ES2612951T3 (es) 2017-05-19

Family

ID=42631937

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10744134.7T Active ES2612951T3 (es) 2009-02-23 2010-02-04 Gestión de la eficiencia energética de servidor

Country Status (7)

Country Link
US (1) US8225119B2 (es)
EP (1) EP2399183B1 (es)
JP (1) JP5666482B2 (es)
KR (1) KR101624765B1 (es)
CN (1) CN102326134B (es)
ES (1) ES2612951T3 (es)
WO (1) WO2010096283A2 (es)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651558B (zh) * 2008-08-15 2012-06-06 中兴通讯股份有限公司 节电管理方法和***
US8839254B2 (en) * 2009-06-26 2014-09-16 Microsoft Corporation Precomputation for data center load balancing
US8190939B2 (en) * 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
US8230249B2 (en) * 2009-07-15 2012-07-24 International Business Machines Corporation Dynamic selection of server states for servers in a cluster of servers
US8219833B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Two-level guarded predictive power gating
US8219834B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Predictive power gating with optional guard mechanism
US20110087522A1 (en) * 2009-10-08 2011-04-14 International Business Machines Corporation Method for deploying a probing environment for provisioned services to recommend optimal balance in service level agreement user experience and environmental metrics
KR101620103B1 (ko) * 2009-10-21 2016-05-13 삼성전자주식회사 멀티 코어 시스템에서 중앙 처리 장치의 전력 제어 장치 및 방법
JP5645647B2 (ja) * 2010-03-01 2014-12-24 キヤノン株式会社 電力制御システムおよびその制御方法
US9207993B2 (en) 2010-05-13 2015-12-08 Microsoft Technology Licensing, Llc Dynamic application placement based on cost and availability of energy in datacenters
US8438410B2 (en) * 2010-06-23 2013-05-07 Intel Corporation Memory power management via dynamic memory operation states
WO2012004418A2 (en) * 2010-07-09 2012-01-12 Stratergia Ltd. Power profiling and auditing consumption systems and methods
US20120053925A1 (en) * 2010-08-31 2012-03-01 Steven Geffin Method and System for Computer Power and Resource Consumption Modeling
US8849469B2 (en) 2010-10-28 2014-09-30 Microsoft Corporation Data center system that accommodates episodic computation
US8516284B2 (en) * 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint
US8626902B2 (en) * 2010-12-03 2014-01-07 International Business Machines Corporation Modeling and reducing power consumption in large IT systems
CN102043676B (zh) * 2010-12-08 2012-09-05 北京航空航天大学 虚拟化数据中心调度方法及***
US8527994B2 (en) 2011-02-10 2013-09-03 International Business Machines Corporation Guarded, multi-metric resource control for safe and efficient microprocessor management
US20120221373A1 (en) * 2011-02-28 2012-08-30 Manish Marwah Estimating Business Service Responsiveness
US20120265881A1 (en) * 2011-04-14 2012-10-18 Yuan Chen Provisioning data center resources
US10122653B2 (en) * 2011-04-28 2018-11-06 International Business Machines Corporation Energy management system for a data center network
US9595054B2 (en) 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US8595525B2 (en) * 2011-09-22 2013-11-26 Qualcomm Incorporated On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
US8904209B2 (en) * 2011-11-14 2014-12-02 Microsoft Corporation Estimating and managing power consumption of computing devices using power models
US9648138B1 (en) 2012-03-27 2017-05-09 Open Text Corporation Method and system for virtual server dormancy
US9319274B1 (en) * 2012-03-29 2016-04-19 Emc Corporation Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
US10067547B2 (en) * 2012-06-28 2018-09-04 Intel Corporation Power management control of remote servers
US10652318B2 (en) * 2012-08-13 2020-05-12 Verisign, Inc. Systems and methods for load balancing using predictive routing
US9568966B2 (en) * 2012-08-31 2017-02-14 Dell Products L.P. Dynamic power budget allocation
US20140067453A1 (en) * 2012-09-05 2014-03-06 International Business Machines Corporation Shared asset management
US8972491B2 (en) * 2012-10-05 2015-03-03 Microsoft Technology Licensing, Llc Consistency-based service-level agreements in cloud storage environments
CN103778474A (zh) * 2012-10-18 2014-05-07 华为技术有限公司 资源负载量预测方法、分析预测***及业务运营监控***
US9182807B2 (en) * 2012-12-31 2015-11-10 Hewlett-Packard Development Company, L.P. Systems and methods for predictive power management in a computing center
CN103490956A (zh) * 2013-09-22 2014-01-01 杭州华为数字技术有限公司 基于业务量预测的自适应节能控制方法及设备、***
US9753782B2 (en) 2014-04-24 2017-09-05 Empire Technology Development Llc Resource consumption optimization
US9933804B2 (en) 2014-07-11 2018-04-03 Microsoft Technology Licensing, Llc Server installation as a grid condition sensor
US10234835B2 (en) 2014-07-11 2019-03-19 Microsoft Technology Licensing, Llc Management of computing devices using modulated electricity
EP3089034B1 (en) * 2015-04-29 2019-06-12 Tata Consultancy Services Limited System and method for optimizing energy consumption by processors
US10379560B2 (en) * 2015-10-05 2019-08-13 Savant Systems, Llc Home automation system device power optimization
US9766693B2 (en) * 2016-01-07 2017-09-19 International Business Machines Corporation Scheduling framework for virtual machine power modes
US10133610B2 (en) * 2016-08-16 2018-11-20 International Business Machines Corporation System, method and recording medium for temperature-aware task scheduling
US10545567B2 (en) * 2017-01-06 2020-01-28 International Business Machines Corporation Method and apparatus for power savings in communications equipment
EP3610354A4 (en) 2017-07-12 2021-01-13 Wiliot, Ltd. ENERGY CONSCIOUS COMPUTING SYSTEM
US11347295B2 (en) * 2017-07-19 2022-05-31 Citrix Systems, Inc. Virtual machine power management
US10896070B2 (en) 2017-09-22 2021-01-19 Open Text Corporation Stateless content management system
WO2019186243A1 (en) * 2018-03-29 2019-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Global data center cost/performance validation based on machine intelligence
US11226667B2 (en) 2018-07-12 2022-01-18 Wiliot Ltd. Microcontroller operable in a battery-less wireless device
US11023287B2 (en) * 2019-03-27 2021-06-01 International Business Machines Corporation Cloud data center with reduced energy consumption
RU2751441C1 (ru) * 2020-09-11 2021-07-13 Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет имени М.В.Ломоносова» (МГУ) Способ формирования вычислительного комплекса
US11711282B2 (en) * 2020-12-16 2023-07-25 Capital One Services, Llc TCP/IP socket resiliency and health management
CN118093301A (zh) * 2022-11-28 2024-05-28 中兴通讯股份有限公司 一种服务器集群温度调节方法和装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018A (en) * 1849-01-09 Improvement in bog-cutters
US5396635A (en) 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US7032119B2 (en) 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US20030196126A1 (en) 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
US7337333B2 (en) 2001-09-19 2008-02-26 Dell Products L.P. System and method for strategic power supply sequencing in a computer system with multiple processing resources and multiple power supplies
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US6795928B2 (en) * 2002-03-18 2004-09-21 International Business Machines Corporation Method for managing power consumption of multiple computer servers
JP2003324956A (ja) * 2002-05-09 2003-11-14 Origin Electric Co Ltd 直列共振型ブリッジインバータ回路の制御方法及び直列共振型ブリッジインバータ回路
US7870241B2 (en) * 2002-11-27 2011-01-11 International Business Machines Corporation Automated power control policies based on application-specific redundancy characteristics
US20040122950A1 (en) * 2002-12-20 2004-06-24 Morgan Stephen Paul Method for managing workloads in an autonomic computer system for improved performance
JP3964909B2 (ja) * 2003-04-14 2007-08-22 富士通株式会社 サーバ割当制御方法
US7392314B2 (en) 2003-08-15 2008-06-24 International Business Machines Corporation System and method for load—balancing in a resource infrastructure running application programs
US7379884B2 (en) * 2003-09-11 2008-05-27 International Business Machines Corporation Power on demand tiered response time pricing
US8015289B2 (en) * 2003-12-11 2011-09-06 Ziti Technologies Limited Liability Company System and method predicting and managing network capacity requirements
US8856312B2 (en) * 2004-12-24 2014-10-07 International Business Machines Corporation Method and system for monitoring transaction based system
US8041967B2 (en) * 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7756972B2 (en) * 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
JP2007324956A (ja) 2006-06-01 2007-12-13 Canon Inc 画像処理装置及び画像処理方法
US7797563B1 (en) * 2006-06-09 2010-09-14 Oracle America System and method for conserving power
US7844839B2 (en) 2006-12-07 2010-11-30 Juniper Networks, Inc. Distribution of network communications based on server power consumption
WO2009055368A2 (en) * 2007-10-21 2009-04-30 Citrix Systems, Inc. Systems and methods to adaptively load balance user sessions to reduce energy consumption
US7756652B2 (en) * 2008-04-24 2010-07-13 Oracle America, Inc. Estimating a power utilization of a computer system
US8892916B2 (en) * 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management

Also Published As

Publication number Publication date
JP5666482B2 (ja) 2015-02-12
WO2010096283A3 (en) 2010-11-25
US8225119B2 (en) 2012-07-17
EP2399183A2 (en) 2011-12-28
EP2399183A4 (en) 2012-12-12
JP2012518842A (ja) 2012-08-16
CN102326134A (zh) 2012-01-18
US20100218005A1 (en) 2010-08-26
CN102326134B (zh) 2015-07-29
WO2010096283A2 (en) 2010-08-26
EP2399183B1 (en) 2016-11-09
KR20110128825A (ko) 2011-11-30
KR101624765B1 (ko) 2016-05-26

Similar Documents

Publication Publication Date Title
ES2612951T3 (es) Gestión de la eficiencia energética de servidor
US8140868B2 (en) Performance conserving power consumption reduction in a server system
Rahmani et al. Reliability-aware runtime power management for many-core systems in the dark silicon era
Moreno et al. Customer-aware resource overallocation to improve energy efficiency in realtime cloud computing data centers
Borghesi et al. Scheduling-based power capping in high performance computing systems
Lim et al. A dynamic energy management scheme for multi-tier data centers
Lent Analysis of an energy proportional data center
Shao et al. Energy-aware dynamic resource allocation on hadoop YARN cluster
Hwang et al. A comparative study of the effectiveness of cpu consolidation versus dynamic voltage and frequency scaling in a virtualized multicore server
Wang et al. Virtual batching: Request batching for server energy conservation in virtualized data centers
Orgerie et al. ERIDIS: energy-efficient reservation infrastructure for large-scale distributed systems
Sahoo et al. An energy-efficient scheduling framework for cloud using learning automata
Armenta-Cano et al. Heterogeneous job consolidation for power aware scheduling with quality of service
US11640195B2 (en) Service-level feedback-driven power management framework
Menarini et al. Green web services: Improving energy efficiency in data centers via workload predictions
Kant Distributed energy adaptive computing
Kant et al. Enhancing data center sustainability through energy-adaptive computing
Aschberger et al. Energy efficiency in cloud computing
Singh et al. A survey on techniques to achive energy efficiency in cloud computing
Paya et al. Energy-aware application scaling on a cloud
Lee et al. Multi-speed DVS algorithms for periodic tasks with non-preemptible sections
Tsai et al. Prevent vm migration in virtualized clusters via deadline driven placement policy
Niu et al. Leakage-aware scheduling for embedded real-time systems with (m, k)-constraints
Wu et al. EC 3: Cutting cooling energy consumption through weather-aware geo-scheduling across multiple datacenters
Liu et al. A power provision and capping architecture for large scale systems