CHAPTER 5 ARTICLE 2 EFFECTIVE CONNECTIVITY ANALYSIS OF OPERCULO-
5.3 Materials and Methods
5.4.3 Individual results
En el modelo de registro y reporte de agentes propuesto anteriormente, el controlador sabe el uso de recursos realizado en cada uno de ellos. Con esto tiene una idea de cuál tiene más disponibilidad para alojar un nuevo OTM pero una métrica basada en la CPU es muy basta. Resulta evidente que un cierto porcentaje de CPU disponible puede servir para alojar diferente número de OTMs dependiendo de las características de cada agente (número de núcleos de procesamiento, tipo de procesador, etc.). Además, dado un OTM, puede consumir más o menos recursos dependiendo del número de suscriptores que tenga. En el caso de la videoconferencia dependiendo del número de participantes de la sesión en la que se encuentra. Por lo tanto es necesario definir una métrica que nos permita estimar cuántos OTMs puede alojar un agente independientemente de sus características y teniendo en cuenta el número de participantes de la sala.
En el modelo de OTMs, cada uno de los agentes disponibles está monitorizando el consumo de CPU para cada uno de los OTMs que gestiona. Esto es posible porque cada OTM está ejecutándose en un proceso diferente del sistema. Si un agente está gestionandonOTMs:
4.4. ESTIMACIÓN DE CONSUMO DE RECURSOS EN MCUS DISTRIBUIDAS
Ui,i=0,1, ...n (4.1)
Urepresenta el uso de CPU por cada OTM. El controlador recibe de forma periódica el reporte de todos los agentes disponibles. En su condición de capa de control, tiene conocimiento de cuántos suscriptores están gestionados por cada OTM, independientemente del agente en el que este OTM se encuentre. Por lo tanto, para cada agente es capaz de calcular una tupla con el número de suscriptores y el uso de CPU correspondiente:
{S,Ui}ni=0 (4.2)
dondeSes el número de suscriptores correspondientes a dada medida recibida. Así, dado que el controlador recibemmedidas correspondientes a un número determinado de OTMs con el mismo número de suscriptores, siendosel máximo número de suscriptores recibidos durante los reportes, recolecta una serie de conjuntos de datos con la forma:
{
xj,yj1, ...,yjm
}s
j=1 (4.3)
dondexj representa el número de suscriptores yyjmel uso de CPU por jsuscriptores recibido en
la medidam. Como se explica en la referencia del modelo OTM [Rodríguez 2014], el uso de CPU en un OTM crece de forma lineal con el número de suscriptores. Consecuentemente, se puede estimar la relación entre el número de suscriptores de un OTM y su uso de CPU como la regresión lineal resultante de los conjuntos de datos del vector 4.3:
y=α+βx (4.4)
Con esta expresión, dado un OTM conx suscriptores, se puede estimar su consumo de CPU
y. Es importante remarcar que esta ecuación corresponde a un agente específico ya que se ha calculado utilizando las medidas reportadas por él. Existirá por tanto una ecuación diferente por cada agente disponible y dicha ecuación dependerá de las características y rendimiento del agente. Como he introducido antes, en una sesión de videoconferencia cada participante publica su flujo multimedia de audio/vídeo en una sala y se suscribe al resto de flujos presentes en dicha sala (correspondientes al resto de participantes). Esto significa que cuando un nuevo participante se
conecta a una sala con p participantes el sistema debe asignar a un agente un nuevo OTM que tendrá psuscriptores, uno por cada participante ya conectado. En términos de CPU y según la expresión 4.4, el consumo de CPU causado al añadir este OTM a un determinado agente sería:
Q=α+βp (4.5)
Por otra parte, los OTMs de los participantes ya existentes en la sala incrementarán su número de suscriptores en una unidad cada uno. Esto ocurre porque el nuevo participante también se suscribirá a sus flujos multimedia para poder recibirlos. Esto producirá un incremento de CPU según la siguiente ecuación:
Rk=α+βp−[α+β(p−1) ],k=1,2...o;o≤n (4.6)
Rk=β,k=1,2...o;o≤n (4.7)
siendok el OTM y o el número total de OTMs de esa sala que están alojados en el agente del que hablamos. Como siempre hablamos de OTMs distribuidos, hemos de recordar que una sala puede estar también distribuida entre diferentes agentes. Por lo tanto cada agente tiene que tener en cuenta solamente los OTMs que está gestionando. Teniendo en cuenta estas consideraciones, el consumo de CPU producido por los OTMs ya existentes en un agente será:
R= o
∑
k=1 Rk (4.8) R=βo (4.9)Y de acuerdo a las expresiones 4.5 y 4.9 el uso total de CPU producido al añadir el OTM será:
∆CPU =R+Q (4.10)
∆CPU=α+β(p+o) (4.11) Como podemos ver, la expresión 4.11 estima el incremento de CPU producido en un agente
4.4. ESTIMACIÓN DE CONSUMO DE RECURSOS EN MCUS DISTRIBUIDAS
de coeficientesα y β en su regresión lineal cuando un nuevo participante se une a una sala con
p participantes y ya se encuentra alojandoo OTMs de la misma sala. Los agentes reportan de manera periódica su actual consumo de CPU,CPUuse. Por ello, con este dato podemos estimar
cuántos OTMs podría gestionar cada uno de ellos. Estableciendo un umbral máximo de uso de CPUT H evitamos posbles saturaciones en el sistema. Y finalmente, el número de OTMs que un agente puede alojar:
Notms= T H−CPUuse ∆CPU (4.12) Notms= T H−CPUuse α+β(p+o) (4.13)
Gracias a esta nueva métrica, cuando un participante se une a una sala de videoconferencia y es necesario asignar la gestión de un OTM a un agente, podemos estimar el número de OTMs de ese tipo que podría alojar cada uno de los agentes disponibles. Y con ello tomar la decisión correspondiente.