Red de conocimiento informático - Material del sitio web - Cómo optimizar estrategias para reducir el consumo energético del sistema

Cómo optimizar estrategias para reducir el consumo energético del sistema

Apuntando al problema del desperdicio de energía de una gran cantidad de consumo de energía inactivo debido a nodos informáticos inactivos durante el funcionamiento del sistema de computación en la nube y una gran cantidad de consumo de energía "de lujo" debido a una programación de tareas no coincidente. , este artículo propone un método de gestión de optimización del consumo de energía mediante la programación de tareas.

El alto consumo energético es uno de los problemas más graves de los sistemas de computación en la nube

En los sistemas de computación en la nube, además del gasto energético necesario para procesar las tareas, también existe un consumo energético durante su operación el fenómeno del desperdicio

Solución

Utilice el modelo de colas para modelar el sistema de computación en la nube, analice el tiempo de respuesta promedio y la potencia promedio del sistema de computación en la nube, y establezca. un modelo de consumo de energía del sistema de computación en la nube;

Proponer una estrategia de programación de tareas basada en una gran intensidad de servicio y un pequeño consumo de energía de ejecución, y optimizar y controlar el consumo de energía inactivo y el consumo de energía "de lujo", respectivamente. Con base en esta estrategia de programación, se diseña un algoritmo de programación de energía de ejecución de expectativa mínima ME3PC (energía de ejecución de expectativa mínima con restricciones de rendimiento) que satisface las restricciones de rendimiento.

Resultados

Una gran cantidad de experimentos muestran que el método propuesto en este artículo El método de gestión de optimización del consumo de energía reduce significativamente el consumo de energía del sistema de computación en la nube al tiempo que garantiza su rendimiento

El siguiente paso del trabajo

estudiará el rendimiento de Computación en la nube dada y real Bajo la arquitectura del sistema, cómo determinar la cantidad de computadoras en funcionamiento en el sistema en función del tamaño y la distribución de las tasas de llegada de tareas, combinadas con tecnología de apagado / suspensión y tecnología de ajuste dinámico de voltaje, para optimizar y controlar aún más la consumo de energía del sistema de computación en la nube y evaluar los resultados teóricos de la investigación en la plataforma de nube real para verificar su exactitud

Consumo de energía

Clasificación del consumo de energía

Consumo de energía inactivo: debido a la aleatoriedad de la llegada de las tareas informáticas, la cantidad de tareas que llegan por unidad de tiempo es a veces escasa y a veces densa. Sin embargo, los sistemas de computación en la nube existentes suelen estar encendidos durante mucho tiempo, esperando la llegada. de tareas informáticas. Pero cuando la computadora está inactiva, su energía inactiva representará entre el 50% y el 60% de la potencia máxima. Por tanto, los sistemas de computación en la nube generan una gran cantidad de consumo de energía inactivo. Consumo de energía lujoso: dado que los sistemas de computación en la nube generalmente contienen diferentes computadoras, los resultados experimentales muestran que la potencia de ejecución y el tiempo de respuesta de diferentes computadoras para diferentes tareas informáticas son generalmente diferentes. Por ejemplo, la misma tarea de procesamiento de imágenes tiene diferente potencia de ejecución y tiempo de respuesta en la CPU y la GPU, y el consumo total de energía una vez completada la tarea también es diferente. Por lo tanto, cuando no se consideran los factores de consumo de energía, los métodos de programación no coincidentes causarán: el problema se puede resolver con un menor consumo de energía, pero se utiliza un mayor consumo de energía. Este artículo denomina consumo de energía "de lujo" al consumo de energía desperdiciado debido a una programación irrazonable de tareas. Consumo de energía de ejecución: el consumo de energía de ejecución se puede definir como: el consumo de energía generado por las instrucciones y los datos que impulsan el hardware de la computadora cuando se ejecuta una tarea en la computadora

Métodos tradicionales de ahorro de energía

Tecnología de cierre/hibernación: minimiza el consumo de energía en inactividad. La desventaja es que tarda mucho en iniciarse cuando se utiliza la computadora, lo que resulta en un cierto grado de degradación del rendimiento del sistema.

Tecnología de ajuste dinámico de voltaje: para Para facilitar la investigación, este artículo supone que la potencia de ejecución es el consumo de energía promedio durante toda la ejecución de la tarea. Según la fórmula de potencia dinámica del circuito CMOS Pdynamic~αCV2f, se puede ver que la potencia dinámica es proporcional al cuadrado del voltaje. Por lo tanto, reducir el voltaje del procesador reduce la potencia dinámica del procesador. Sin embargo, la desventaja de este método es que a medida que disminuye el voltaje, el rendimiento del procesador disminuirá.

Tecnología de virtualización: se pueden ejecutar múltiples tareas en diferentes máquinas virtuales de una computadora mejorando los recursos de la computadora. utilización, reduciendo el consumo de energía al reducir el número de ordenadores necesarios. La tecnología de virtualización realiza la migración de recursos informáticos de entidades físicas a entidades virtuales y mejora la utilización de los recursos informáticos. Sin embargo, la virtualización, especialmente la virtualización profunda en sí, también tiene un alto precio de rendimiento, porque la tecnología de virtualización virtualiza capas de componentes de hardware subyacentes en aplicaciones de servicio de alto nivel, y cada nivel de virtualización provoca una pérdida de rendimiento.

Modelos de tareas y sistemas

Modelos de tareas aleatorias

Según los requisitos de las tareas en los recursos informáticos, se pueden dividir en uso intensivo de computación y uso intensivo de comunicación. , y tipo intensivo de datos y E/S intensivo, etc.

Las tareas que llegan aleatoriamente al sistema de computación en la nube se pueden representar mediante tripletas (T, Λ, W), y el i-ésimo tipo de tareas se puede representar como (ti, λi, wi). ti representa el i-ésimo tipo de tarea, λi representa el número promedio de llegada de tareas ti por unidad de tiempo y wi representa la cantidad calculada de tareas ti

Modelo de sistema de computación en la nube

Base de hardware de las plataformas de computación en la nube existentes Las instalaciones generalmente se construyen en grupos de servidores económicos a gran escala. Los diferentes servidores o computadoras del sistema generalmente son producidos por diferentes empresas y tienen diferentes configuraciones de hardware. Estas computadoras no solo tienen diferentes funciones y rendimientos, sino que también consumen diferente energía, que puede manifestarse como: funciones heterogéneas, rendimiento heterogéneo, potencia inactiva y potencia máxima heterogénea y potencia de ejecución heterogénea;

La computación en la nube El sistema se puede definir como una tupla de seis: (C, Pbusym×n, Pidle, Ppeak, Um×n, S)

qqO6srvNrMDg0M3Izs7x0tSyu82stcTL2cLKy a7 rW9tO/Ptc2zo6y197bIxvfU8rj5vt3Izs7xwODQzaGiyM7O8bW9tO /K sbv6oaLPtc2z1tDL dPQvMbL47v6tbHHsLXE1rTQ0Ne0zKy1yNDFz6K21MjOzvG9 NDQus/A7dOzyeSjrNfuuvO197bI1rTQ0Dxicj4KICAgICAgICAgxL 1xMrHvbW1zc 1zbPUzzy9DQuf2 NbQsvrJ rXEv9XP0MTcusS6zda00NDE3LrEPGJyPgogICAgICAgICCxvs7E1N2yu7 8wsfUxrzGy PPtc2z1tDT682o0MXP4LnYtcTE3LrEus3Ksbzkv6rP jwvcD4KPGNlbnRlcj4KPGltZyBzcmM9"/uploadfile/files/2014/0508/20140508200129405.jpg alt="\"gt;

Descripción del problema

Basado en el análisis de la Sección 2.1 y la Sección 2.2 , y combinando La fórmula de cálculo del consumo de energía es E=P*T, entonces el consumo de energía esperado de cualquier tarea desde que ingresa al sistema de computación en la nube hasta que completa la ejecución y sale se puede expresar como

\

En las condiciones dadas para determinar el tipo de tarea y determinar la arquitectura del sistema de computación en la nube, solo el valor de la probabilidad de programación Pij cambia dinámicamente de acuerdo con diferentes estrategias de programación. El consumo de energía esperado del sistema de computación en la nube está relacionado. a la estrategia de programación entre tareas y ordenadores

Gestión de optimización del consumo de energía

Esencia

Programar tareas de forma razonable en función de la hora de llegada y el tipo de tareas, la potencia y rendimiento de diferentes computadoras y las condiciones de carga en tiempo real de las computadoras, de modo que el sistema pueda reducir el consumo de energía inactivo y de ejecución generado durante la operación del sistema de computación en la nube bajo la condición de que cumpla con ciertas condiciones de rendimiento

Hipótesis

Según las características de demanda de los recursos informáticos de la tarea, se puede dividir en informática intensiva, intensiva en comunicación, intensiva en datos y intensiva en E/S. Los diferentes tipos de tareas generalmente tienen diferentes formatos de datos y tamaños de problemas.

Para facilitar la investigación, este artículo supone que la cantidad de cálculo del mismo tipo de tareas es la misma

Debido a la autonomía y la distribución geográfica de las solicitudes de servicio de los usuarios, generalmente no existe una relación de restricción de prioridad entre las tareas. enviadas por diferentes usuarios, es decir, las tareas son independientes

Supongamos que para cada computadora en el sistema, los intervalos de llegada de las tareas son independientes entre sí y obedecen a la distribución exponencial negativa de los mismos parámetros

El tiempo de servicio de cada computadora para diferentes tareas también es independiente entre sí y está sujeto a la distribución exponencial negativa de los mismos parámetros

El tiempo entre llegadas y el tiempo de servicio son independientes entre sí

Se programan diferentes tipos de tareas informáticas en diferentes computadoras con diferentes probabilidades

Algoritmo de programación de energía de ejecución mínima esperada con restricciones de rendimiento ME3PC (energía de ejecución mínima esperada con restricciones de rendimiento)

El planificador adopta diferentes estrategias de programación para diferentes situaciones. Consulte el Capítulo 3 para obtener más detalles.

Según la carga, los nodos se dividen en tres colas: Clight, Cnormal y Chigh.

Si Clight no está vacío, se dará prioridad a las computadoras en Clight y, según La estrategia de programación de tareas con alta intensidad de servicio permite que la computadora cCj con alta intensidad de servicio para tareas tCi tenga una mayor probabilidad de programación, donde j ∈Clight

Clight está vacío y Cnormal no está disponible ky"/qq/" target="_blank" class="keylink"gt;qq/1aOsssnTw7v509q9z9Ch1rTQ0MTcusS1xLX3tsiy38LULMq5ttR0QzxzdWI aTwvc3ViPsDgyM7O8dPQvc/Qoda00NDE 3LrEtcS8xsvju/pjQzxzdWI ajwvc3Vi ptPQvc 087 c3ViPrK7zqq/1aOsvLTL dPQvMbL47v6try0ptPa1tjU2Ne0zKyho9Xi0fmjrNTayM7O8bX3tsjKsaOssNHIzs7xtfe2yLW9uLrU2 Nfu0KG1xLzGy O7 snPCjxwPgo8aW1nIHNyYz0="/up loadfile/files/2014/0508/20140508200130420.jpg" alt="\"gt ;

La peor complejidad temporal de ME3PC, el algoritmo de programación de consumo de energía de ejecución mínima que satisface las restricciones de rendimiento, es O (3mn), donde m es el número de tipos de tareas y n es el número de computadoras en el sistema de computación en la nube.

Experimento

Configuración del entorno experimental

Para verificar la efectividad del algoritmo ME3PC, este artículo utiliza la herramienta de simulación de eventos discretos de Matlab para realizar experimentos de simulación. . Los parámetros relevantes involucrados en el entorno experimental y sus valores o rangos de valores se muestran en la siguiente tabla.

Las tareas del experimento se dividen en 4 categorías. El tiempo entre llegadas del i-ésimo tipo de tarea sigue una distribución exponencial negativa con el parámetro 1/λi. Este intervalo puede generarse mediante la función de distribución exponencial negativa exprnd(1/λi), donde el valor de λi se genera aleatoriamente en el intervalo [10, 15]. Según el intervalo de llegada de las tareas, la función cumsum(?) se puede utilizar para obtener el momento en que cada tarea aleatoria de la i-ésima categoría llega al sistema. Finalmente, se puede determinar el momento en que las 6000 tareas llegan al sistema.

El tiempo de servicio de la computadora cj para tareas ti obedece a la distribución exponencial negativa con el parámetro 1/μij. De manera similar, el tiempo de servicio también se genera mediante la función exprnd(1/μij). , 5]

Para que el sistema de simulación funcione en un estado equilibrado, se deben cumplir las condiciones\

\

Análisis de experimentos y resultados

Para explicar mejor ME3PC Para mejorar la efectividad del algoritmo, este artículo también diseña un algoritmo de programación de potencia de ejecución mínima (potencia de ejecución mínima, denominado MEP) y compara ME3PC con MEP y el clásico. Algoritmo MIN-MIN. Entre ellos, la idea del algoritmo de MEP es: al programar tareas, las tareas se programan en la máquina con la potencia de ejecución más pequeña, independientemente de la condición de carga actual de la computadora y el tiempo de servicio para ejecutar la tarea. MIN-MIN es un algoritmo de programación dinámica para tareas independientes. Se usa ampliamente en entornos informáticos paralelos distribuidos homogéneos o heterogéneos y tiene un buen rendimiento de programación. Este artículo realiza un análisis comparativo de los tres algoritmos desde cinco aspectos: consumo de energía promedio de las tareas de ejecución del sistema, tiempo promedio de respuesta de la tarea, potencia promedio del sistema, equilibrio de carga y escalabilidad.

De la Figura 2, podemos Se puede ver que cuando se usa el algoritmo MEP, la potencia promedio del sistema es la más pequeña, ME3PC es ligeramente mayor que MEP y la potencia de MIN-MIN es la mayor, mucho mayor que ME3PC y MEP. La razón del análisis es que el algoritmo MEP se enfoca en optimizar la potencia de ejecución del sistema. Al programar tareas, solo programa tareas para la máquina con la potencia de ejecución más pequeña, por lo que la potencia promedio del sistema es la más pequeña, pero no la considera. el rendimiento de la máquina programada, por lo que el rendimiento general es el peor. El algoritmo MIN-MIN, por el contrario, solo se centra en el tiempo de finalización de la tarea sin considerar otros factores como el consumo de energía y el equilibrio de carga. Por lo tanto, el tiempo de respuesta es el más pequeño, pero la potencia promedio del sistema es la más grande. El algoritmo ME3PC considera factores de potencia y rendimiento. Aunque la potencia del sistema aumenta en un 6,4 en promedio en comparación con el algoritmo MEP y el tiempo de respuesta aumenta en un 5,7 en promedio en comparación con el algoritmo MIN-MIN, el consumo de energía generado por las tareas en el sistema. es mínimo, como se muestra en la Figura 4. Las razones son: (1) Debido a que el algoritmo ME3PC adopta una estrategia de programación con alta prioridad de intensidad de servicio para computadoras inactivas o con poca carga, reduce en gran medida la probabilidad de que haya computadoras inactivas en el sistema, lo que hace que la utilización del sistema sea mayor que MEP y MIN-MIN. . Entre ellos, cuando se utiliza el algoritmo ME3PC, el consumo promedio de energía inactiva generado por el sistema es 81 y 73 veces mayor que el de los algoritmos MEP y MIN-MIN, como se muestra en la Figura 5. (2) Dado que se priorizan las computadoras inactivas y con poca carga para la programación, se evita en la mayor medida la aparición de desequilibrios de carga. Por lo tanto, el algoritmo ME3PC garantiza el equilibrio de carga del sistema, como se muestra en la Figura 6 (a) y la Figura 6 (b). Se puede ver que sólo considerando tanto los factores de potencia como de rendimiento se puede reducir realmente el consumo de energía de los sistemas de computación en la nube.

A partir de los resultados experimentales, descubrimos un fenómeno interesante: cuando el número de computadoras es 1, la potencia promedio del sistema, el tiempo promedio de respuesta de la tarea y el consumo promedio de energía de la tarea bajo los tres algoritmos son naturalmente iguales. Sin embargo, a medida que aumenta el número de computadoras, el consumo promedio de energía del sistema que realiza las tareas disminuye linealmente. Cuando el número de computadoras es 8, el consumo promedio de energía del sistema para ejecutar tareas es el más pequeño. A medida que la cantidad de computadoras continúa aumentando, el consumo promedio de energía de las tareas de ejecución del sistema comienza a aumentar y crece exponencialmente. Las razones son: (1) Cuando el número de computadoras aumenta de 1 a 8, el tiempo promedio de respuesta de la tarea disminuye exponencialmente (como se muestra en la Figura 3), pero el aumento en la potencia promedio del sistema básicamente se estabiliza (como se muestra en. Figura 2), esto hace que el consumo de energía promedio del sistema para realizar tareas disminuya gradualmente durante el proceso, y dado que el valor absoluto de la potencia promedio del sistema es pequeño en este momento, la tendencia decreciente es lineal. (2) Cuando el número de computadoras aumenta de 8 a 128, la tendencia decreciente del tiempo promedio de respuesta a la tarea tiende a ser plana (como se muestra en la Figura 3), pero la potencia promedio del sistema aumenta exponencialmente (como se muestra en la Figura 3 ) 2), esto hace que el consumo de energía promedio del sistema para realizar tareas aumente gradualmente durante el proceso, y dado que el valor absoluto de la potencia promedio del sistema es grande en este momento, la tendencia de crecimiento es exponencial.

Se puede ver que bajo la condición de igual consumo de energía, el sistema tiene la mejor escalabilidad cuando el número de computadoras es 8. Para los sistemas de computación en la nube reales, cómo determinar la cantidad de máquinas que deben encenderse o apagarse en el sistema en función de la arquitectura del sistema y el patrón de llegada de tareas, así como qué máquinas deben encenderse o apagarse para un control óptimo de El consumo de energía, será el siguiente paso de la investigación.