Informática en nube: Administre sus recursos

Gestión de los recursos para un sistema inherentemente complejo tal como la computación en nube requiere diferentes formas de medición y asignación de recursos.

Dan Marinescu

Adaptado de "Cloud Computing: Teoría y práctica"(Elsevier Science & Libros de tecnología)

Gestión de los recursos es una función esencial necesaria de cualquier sistema artificial. Afecta a los tres criterios básicos para la evaluación del sistema: rendimiento, funcionalidad y costo. Manejo ineficiente de recursos tiene un efecto negativo directo sobre performance y costo. Indirectamente también puede afectar a la funcionalidad de sistema. El sistema proporciona algunas funciones podrían ser demasiado costosos o ineficaces debido al pobre desempeño.

Una infraestructura de cloud computing es un sistema complejo con un gran número de recursos compartidos. Éstos están sujetos a las solicitudes impredecibles y pueden verse afectadas por acontecimientos externos fuera de su control. Gestión de los recursos nube requiere las decisiones y políticas complejas para optimización multi-objetivo. Es extremadamente difícil debido a la complejidad del sistema, lo que hace imposible tener información precisa estado global. También es objeto de incesantes e impredecibles interacciones con el medio ambiente.

Las estrategias para la gestión de los recursos nube asociados con los modelos de entrega de tres nubes, infraestructura como servicio (IaaS), plataforma como servicio (PaaS) y Software como servicio (SaaS), difieren unos de otros. En todos los casos, los proveedores de servicios de nube se enfrentan con grandes cargas fluctuantes que impugnar la reclamación de la elasticidad de la nube. En algunos casos, cuando puede predecir que un pico puede predecirse, ellos pueden aprovisionar recursos por adelantado. Por ejemplo, servicios Web temporada pueden ser objeto de espigas.

Para un pico no planificado, la situación es un poco más complicada. Usted puede utilizar Auto escala para las cargas pico imprevisto, siempre que haya un pool de recursos puede liberar o asignar en la demanda y un sistema de control que le permite decidir en tiempo real para reasignar los recursos. Auto escala es apoyada por PaaS servicios como Google App Engine. Escalado automático de IaaS es complicada debido a la falta de normas.

En la nube, donde los cambios son frecuentes e impredecibles, es poco probable que proporcionen garantías de servicio y rendimiento continuas control centralizado. De hecho, control centralizado no puede proporcionar soluciones adecuadas a la sede de las políticas de gestión de la nube que tiene que cumplir.

Las políticas autonómicas son de gran interés debido a la escala del sistema, el gran número de solicitudes de servicio, la población de usuarios grande y la imprevisibilidad de la carga. La proporción de la media en el recurso de pico necesidades pueden ser grande.

Políticas y mecanismos

Una política se refiere normalmente a orientar las decisiones, los principales mecanismos representan los medios necesarios para implementar políticas. Separar las políticas de mecanismos es un principio rector en Ciencias de la computación. Butler Lampson y Per Brinch Hansen ofrecen argumentos sólidos para esta separación en el contexto del diseño de sistema operativo.

Políticas de gestión de recursos nube libremente se pueden agrupar en cinco clases:

El objetivo explícito de una política de control de admisión es evitar que el sistema de la aceptación de cargas de trabajo en violación de las políticas de alto nivel del sistema. Por ejemplo, un sistema no puede aceptar una carga adicional de trabajo que lo impediría completar trabajo ya en curso o contratados. Limitación de la carga de trabajo requiere algún conocimiento sobre el estado del sistema global. En un sistema dinámico, esta información es a menudo obsoleta.

Asignación de capacidad significa asignar recursos para casos individuales. Un ejemplo es una activación del servicio. Localizar los recursos que están sujetos a varias limitaciones de optimización global requiere a una búsqueda de un gran espacio cuando el estado de los sistemas individuales está cambiando tan rápidamente.

Puede realizar balanceo de carga y optimización energética local, pero las políticas de balanceo de carga y optimización energética globales encuentran las mismas dificultades que los ya discutidos. Optimización de energía y equilibrio de carga están correlacionados y afectar el costo de la prestación de los servicios.

El significado común del término el equilibrio de la carga es la de distribuir uniformemente la carga a un conjunto de servidores. Por ejemplo, consideremos el caso de cuatro servidores idénticos, A, B, C y D. Las cargas relativas son 80, 60 por ciento, 40 por ciento y 20 por ciento, respectivamente, de su capacidad. Balanceo de carga perfecto resultaría en todos los servidores con la misma carga de trabajo — 50 por ciento de la capacidad de cada servidor.

En cloud computing, uno de los objetivos es reducir al mínimo el costo de la prestación del servicio. En particular, esto también significa minimizar el consumo de energía. Esto conduce a un significado diferente del equilibrio de carga de término. En lugar de tener la carga uniformemente distribuida entre todos los servidores, queremos para concentrarla y utilizar el menor número de servidores mientras los demás cambia al modo de espera, un estado en el cual un servidor utiliza menos energía. En nuestro ejemplo, la carga D emigrará a la A y la carga de C emigrará a B. Por lo tanto, A y B se cargarán a plena capacidad, mientras que C y D se cambiará al modo de espera.

La calidad del servicio es que aspecto de la gestión de los recursos que es probablemente el más difícil atender y, al mismo tiempo, posiblemente el más crítico para el futuro de la computación en la nube. Estrategias de gestión de recursos dirigidos a menudo conjuntamente rendimiento y consumo de energía.

Tensión dinámica y frecuencia escala técnicas (DVD5) como Intel SpeedStep o AMD PowerNow bajan la tensión y la frecuencia para disminuir el consumo de energía. Motivado inicialmente por la necesidad de ahorrar energía para dispositivos móviles, estas técnicas han emigrado a prácticamente todos los procesadores, los utilizados en servidores de alto rendimiento incluidos. Como resultado más bajos voltajes y frecuencias, disminuye el rendimiento del procesador. Sin embargo, lo hace a un ritmo considerablemente más lento que el consumo de energía.

Prácticamente todos los mecanismos óptima o casi óptima para abordar las clases cinco política no escalan. Típicamente se apunta a un aspecto de la gestión de los recursos, tales como control de la admisión, pero ignora la conservación de energía. Muchos requieren cálculos complejos que no pueden hacerse efectiva en el tiempo disponible para responder. Modelos de rendimiento son complejos, soluciones analíticas son insuperables, y los sistemas de vigilancia utilizados para recopilar información sobre el estado para estos modelos pueden ser demasiado intrusivo e incapaz de proporcionar los datos exactos.

Por lo tanto, muchas técnicas se concentran en el rendimiento del sistema en términos de rendimiento y tiempo en sistema. Rara vez incluyen intercambios de energía o garantías de QoS. Algunas técnicas se basan en suposiciones poco realistas. Por ejemplo, la asignación de capacidad es visto como un problema de optimización, pero bajo la suposición de que los servidores están protegidos contra sobrecarga.

Control de la nube

Técnicas de asignación en nubes de equipo deben basarse en un enfoque disciplinado, en lugar de métodos ad hoc. Los cuatro mecanismos básicos para la implementación de políticas de gestión de recursos son:

  • **Teoría de control:**Teoría de control utiliza retroalimentación para garantizar la estabilidad del sistema y predecir el comportamiento transitorio, pero sólo lo predice un comportamiento local.
  • **Aprendizaje automático:**Una ventaja importante de técnicas de aprendizaje máquina es que no necesitan un modelo de rendimiento del sistema. Se podría aplicar esta técnica a la coordinación de varios directivos del sistema nervioso autónomo.
  • **Base de utilidad:**Los enfoques basados en la utilidad requieren un modelo de rendimiento y un mecanismo para correlacionar la performance de nivel de usuario con coste.
  • **Mecanismos de mercado-orientado y económica:**Tales mecanismos no requieren un modelo del sistema, tales como combinar las subastas para paquetes de recursos.

Debe hacerse una distinción entre las cargas de trabajo interactivos y no interactivo. Las técnicas de gestión para cargas de trabajo interactivos (servicios Web, por ejemplo) implican control de flujo y aplicación dinámica de colocación, mientras que las cargas de trabajo no interactivo se centran en programación.

Una buena cantidad de trabajo divulgado en la literatura se dedica a la gestión de los recursos de las cargas de trabajo interactivos — algunos no interactivo y sólo unas pocas cargas a heterogéneos, una combinación de los dos. Planificación de cómo vas a manejar estos ayudará a asegurar una transición fluida para trabajar con la nube.

Dan C. Marinescu

Dan C. Marinescu fue profesor de Ciencias de la computación en la Universidad de Purdue de 1984 al 2001. Luego ingresó en el Departamento de informática en la Universidad de Florida Central. Ha ocupado cargos visita Facultad en la IBM T. J. Centro de investigación Watson, el Instituto de Ciencias de la información en Beijing, la división de sistemas escalables de Intel Corp., Deutsche Telecom AG y Rocquancourt INRIA en Francia. Sus intereses cubierta paralelo y distribuido sistemas de investigación, de cloud computing, científico de computación, computación cuántica y teoría de información cuántica.

Para más información sobre este u otros títulos de Elsevier, echa un vistazo Elsevier Science & Libros de tecnología.

Contenido relacionado