• No results found

CHAPTER 6 ARTICLE 3 LEVERAGING HIGHER ORDER SPECTRA AND ARTIFICIAL

6.3 Methods

6.4.1 Statistical Analysis

Una vez planteada la métrica de estimación de uso de recursos, en esta sección voy a evaluar si ésta ofrece ventajas en comparación con una solución en la que para tomar las decisiones de asignación únicamente se tiene en cuenta el nivel de CPU usado en los agentes. Para ello he diseñado un experimento consistente en conectar de forma consecutiva un número determinado de clientes a un conjunto de salas de videoconferencia. Todos los clientes están gestionados por el mismo agente pero establezco un umbral de consumo de CPU para asegurar que no se satura. Cuando el límite se sobrepasa empiezo a asignar OTMs a un segundo agente.

Para realizar el experimento he implementado en Licode un módulo que gestiona la métrica propuesta. Este módulo forma parte de ECCH y dispone de los métodos detallados en la Tabla 4.3. De esta manera cada vez que ECCH recibe un reporte de los agentes, utiliza el método

updateRegresionpara actualizar la regresión correspondiente al agente con un nuevo valor. Por otra parte, cuando se necesita un nuevo OTM, la política de decisión del ECCH tiene acceso al métodogetEstimatedUsagemediante el que obtiene para cada agente registrado una estimación de la CPU que supondría alojarlo en ellos. Con esta estimación y el consumo en tiempo real

Tabla 4.3 : Interfaz del módulo de gestión de regresiones lineales

updateRegresion

Introduce una nueva muestra CPU - suscriptores en la regresión lineal de un agente y recalcula la regresión.

Parameters agent id, nSubscribers, usage

Returns -

getEstimatedUsage

Devuelve el uso de CPU estimado para un nuevo OTM con un número determinado de suscriptores en un agente concreto.

Parameters agent id, nSubscribers

Returns cpu use

reportado, es capaz de calcular el número de OTMs que podría alojar cada agente según la métrica propuesta.

En mi implentación los agentes monitorizan su consumo de CPU utilizando el módulo NPM

useique parsea los datos obtenidos medianteLinuxprocFile System.

Para este experimento he desplegado los componentes de Licode en máquinas virtuales de Amazon Web Services EC2. Para los agentes he utilizado instancias de tipom3.mediumcon 1 CPU virtual y 3.75 GiB de memoria. He desplegado el controlador en una máquina aparte y Nuve, la aplicación Web y el servidor de AMQP en otra. Las características de éstas dos últimas instancias no son relevantes para el experimento. Todas ellas tienen el sistema operativo Ubuntu 14.04 LTS y los clientes utilizan de nuevo el navegador Chromium versión 45. De igual manera que en los anteriores experimentos la baja capacidad de los agentes no es un problema. Al contrario, nos conviene saturarlos rápidamente para hacer el experimento más ágil y descriptivo.

En la Figura 4.7 se puede observar la evolución de uso de CPU en los agentes en ambas configuraciones, sin y con métrica, cuando los usuarios se conectan de forma aleatoria a cinco salas diferentes. En ambos casosAgent 1representa el agente principal en el que alojamos todas las nuevas conexiones. En el caso en el que no uso la métrica sigo asignando OTMs a este agente siempre y cuando el uso de CPU no sobrepase el umbral del 80 % establecido. En el caso de usar la métrica, cuando un nuevo cliente se conecta y es necesario asignar un nuevo OTM, utilizo la ecuación 4.13 para, a partir de los datos disponibles en la regresión lineal del agente, calcular el

4.4. ESTIMACIÓN DE CONSUMO DE RECURSOS EN MCUS DISTRIBUIDAS 0 10 20 30 40 50 60 70 80 90 100 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 C P U U se (%) Participants

Agent 1 Agent 2 Threshold

(a) Uso de CPU sin métrica

0 10 20 30 40 50 60 70 80 90 100 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 C P U U se (%) Participants

Agent 1 Agent 2 Threshold

(b) Uso de CPU con métrica

Figura 4.7 : Uso de CPU en los experimentos

número de OTMs que podría alojar para el cliente que se conecta. Si ese número es mayor que 0 procedo con la asignación en ese agente. En caso contrario asigno su creación al segundo. Para poder realizar una comparativa entre los dos escenarios, he utilizado el mismo orden de conexión de clientes para ambos. En la Figura 4.8 se puede observar la regresión lineal del agente principal una vez terminado el experimento.

Podemos observar como al principio, para los primeros 20 participantes, el comportamiento es muy similar en ambos casos. El uso de CPU del agente principal crece de manera constante

0 1 2 3 4 5 6 7 8 0 2 4 6 8 10 C P U U se (%) Subscribers

Figura 4.8 : Agent 1 OTMs Linear Regression

hasta que se aproxima al umbral establecido. En el caso en el que no se utiliza la métrica, el participante número 21 puede alojarse en el agente principal ya que el consumo se encuentra por debajo del límite. Lo mismo ocurre para el 22. Como consecuencia el umbral acaba sobrepasándose considerablemente, alcanzado el consumo de CPU prácticamente el 100 % con la consecuente saturación del sistema. Esto podría producir pérdidas de calidad en las comunicaciones ya establecidas. El resto de participantes a partir de ese momento se asignan al

Agent 2, cuyo consumo de CPU comienza a incrementarse.

Por otra parte, en el segundo caso (con métrica) el agente es capaz de predecir que la conexión de participante 21 va a hacer que se sobrepase el límite de uso. La sala a la que el cliente va a conectarse tiene una ocupación de 4 participantes y como hasta entonces solamente se ha utilizado un agente, los 4 OTMs correspondientes están alojados en él. Así, los parámetros pando de la expresión 4.11 corresponden a 4. Según la ecuación 4.4 el incremento de CPU corresponde al causado por 8 suscriptores. Comprobando la regresión lineal del agente (Figura 4.8) ese valor está en torno a 4.5%. En ese momento el uso de CPU por parte deAgent 1asciende al 78%, un 2% por debajo del umbral. Por lo tanto no es capaz de alojar este nuevo OTM y se éste será asignado aAgent 2.

A partir de ese momento Agent 1continúa denegando nuevas conexiones hasta que ECCH detecta que un nuevo OTM es lo suficientemente pequeño como para cumplir los requisitos, lo que ocurre para el participante número 25. El umbal se sobrepasa en algunos momentos del experimento debido a la fluctuación en las medidas pero la variación es realmente pequeña en

Related documents