Reducing Network Energy Consumption via Sleeping and Rate-Adaptation
Sergiu Nedevschi, Lucian Popa, Gianluca Iannaccone, Sylvia Ratnasamy, David Wetherall
El texto se centra en dos formas para reducir el uso de energía en redes, el primero esta basado en poner a dormir componentes de la red cuando estos estén inactivos, el segundo esta basado en adaptar el ritmo de operación de la red reduciendo la energía consumida por estar activamente procesando paquetes.
Razones por las cuales es importante ahorrar energía:
- En los últimos tiempos las redes computaciones han tenido un gran crecimiento a nivel mundial.
- Los equipos requieren cada vez mas energía para sus procesos y para enfriarse.
Oportunidades para reducir el consumo de energía en redes:
- Existen en redes las horas pico de energía.
- La segunda es que aun cuando la red esta inactiva el equipo aun sigue gastando gran cantidad de energía.
Para poder aprovechar las oportunidades el documento señala que necesita dos pasos:
- Que los elementos conectados a la red tengan funciones primitivas de administración de energía a nivel de hardware, con diferentes estados de sueño de la maquina.
- Que los protocolos de software necesitaran poder hacer uso de estas funciones primitivas del hardware.
Para determinar si un componente esta activo o ocioso, el documento señala que el elemento esta activo cuando esta procesando trafico de entrada o salida, y esta ocioso cuando no procesa ningún paquete, pero esta consumiendo energía.
Entonces la formula para calcular la energía usada por un componente es la siguiente:
$E = p_{a}T_{a} + p_{i}T_{i}$
Donde $p_{a}$ y $p_{i}$ son la energía gastada cuando el componente esta activo(a) y ocioso (i) y las $T$ representan el tiempo.
Entonces si ponemos a dormir el componente cuando esta inactivo por lógica reduciremos $p_{i}$ a $p_{s}$ obteniendo que $p_{s} < p_{i}$ por lo tanto se reduce el consumo de energía del componente.
Poniendo elementos a dormir
Esta parte se basa en una técnica muy conocida para reducir energía que es poner sub-componentes electrónicos a dormir. En el modelo manejan diferentes estados de "sueño" para algunos procesadores pero para simplificar se explica el modelo solo con un estado de "sueño" que es dormir.
Para este modelo se toman en cuenta las siguientes variables:
- $p_{s}$ el cual se considera una fracción de $p_{i}$
- $\delta$ el cuál es el tiempo que toma en pasar de estado activo a dormir y viceversa. Si este tiempo es muy alto, disminuye la cantidad de energía ahorrada del sistema, además de que pone una cota inferior al tiempo que debe dormir cada componente.
El tiempo $\delta$ además puede provocar una perdida de paquetes puesto que en el tiempo en el que esto sucede no puede escuchar paquetes, para evitar esto en el documento se especifica que los componentes mandan paquetes vacíos para despertar a los vecinos.
Enfoques y potenciales ahorros
Un enfoque que puede servir para explotar estados de sueño es el llamado sueño oportunista en el que las interfaces en la red duermen cuando están inactivas y son despertadas por un paquete vacío, después de esto vuelve a dormir cuando no recibe paquetes después de un tiempo.
El problema con este enfoque es que pueden ocurrir frecuentes transiciones de se activo a sueño lo cual limita la cantidad de energía ahorrada, por tanto esta técnica solo es útil cuando existen pequeños $/ delta$ y hardware mas sofisticado.
Enfoque en grupos
El siguiente enfoque se centra en mandar en grupos llamadas explosiones los paquetes para maximizar el tiempo en el que los componentes están ociosos, con lo cuál se aprovecharían mas los estados de sueño.
Normalmente se buscan evitar este tipo de agrupamiento de paquetes para evitar congestionamiento en la red pero en el documento se utilizan intervalos de envío de grupos y además los componentes no se van a dormir hasta asegurar que no haya grupos pendientes para evitar congestionamiento.
[imagen obtenida de:"http://static.usenix.org/event/nsdi08/tech/full_papers/nedevschi/nedevschi_html/figures/motivate-peregress.png"]
Adaptación del ritmo de la red
Modelo y suposiciones
Bueno se basa en dos suposiciones muy simples si haces que el componente trabaje mas lento gastara menos energía,
El modelo busca que cada conexión entre componentes de la red tenga una rito de transmisión independiente del otro.
En este modelo $\delta$ es el tiempo que tarda en pasar de un ritmo a otro.
Una estrategia óptima
Cuando el ritmo de llegada de los paquetes es uniforme se busca reducir la cantidad de energía mandando los paquetes aun ritmo promedio al de llegada, pero si el ritmo de llegada no es uniforme esto puede traer problemas, por lo tanto lo que se busca es un algoritmo uniforme que minimice el consumo de la energía dependiendo de los ritmos de llegada de paquetes.
Mi opinión
En lo personal creo que estos algoritmos se están volviendo muy importantes dado al crecimiento de las redes, y me gusto mucho el enfoque y la forma en que se resuelven los mismos y mi primer pensamiento para arregla este problema sobre el consumo de energía fue reducir el número de nodos en redes y optimizando la energía que consumen los componentes de la red como unidad.
Referencia:
Reducing Network Energy Consumption via Sleeping and Rate-Adaptation-Sergiu Nedevschi, Lucian Popa, Gianluca Iannaccone, Sylvia Ratnasamy, David Wetherall