6-informe.md 3.6 KB

Ejercicio 6

En este ejercicio se nos pide leer el siguiente artículo[^ej6footnote], para luego responder siguientes preguntas.

A. ¿Qué problema están intentando resolver los autores?

Los autores afirman que los scheduler tradicionales no son tan efectivos cuando se trata de Cloud computing, ya que esta "nueva" tecnología implica tener en cuenta factores que anteriormente no eran relevantes. Ellos afirman que para pensar nuevos algoritmos de asignación de recursos(scheduling) hay que considerar más factores, algunos de ellos dinámicos, como restricciones de red, tiempos de espera, procesamiento distribuido a través de diferentes cpu's, costos económicos, etc.

B. ¿Qué algoritmo generan para resolverlo?

Proponen dos algoritmo de scheduling que hace task grouping en colas de prioridad con SJF (shortest-job-first), donde la primer propuesta solo tiene en cuenta los requerimientos de procesamiento y la segunda solo considera los requerimientos de ancho de banda de las tareas.

El algoritmo propuesto se comporta de la siguiente manera primero necesita ser inicializado con una lista de los recursos que dispone para ordenarlos de mayor a menor, por su capidad de procesamiento o la de ancho de banda según la variante elegida, además por otro lado se define la granuralidad o tamaño máximo de las tareas, medido en segundos. Luego de la inicialización, se toma la lista de tareas a procesar, ordenadas de mayor a menor y se las pasar a separar en grupos de tareas, en este momento pueden suceder dos escenarios, que la tarea tenga una duración mayor( en procesamiento o ancho de banda) a la granularidad ya definida y por lo tanto esa tarea pasa a conformarse como la única tarea de ese grupo. En el segundo escenario, el requerimiento de recursos de la tarea es menor al tamaño máximo asignado al grupo y por lo tanto se completará el grupo con la mayor cantidad de tareas posibles. Finalmente, una vez que se generaron los diferentes grupos de tareas, se los vuelve a ordenar, pero esta vez de menor a mayor según el criterio elegido(cuanto procesamiento o ancho de banda requieran los grupos), y a partir de aquí es donde entra en escena la política de SJF (Shortest Job First) que tiene por objetivo reducir el tiempo de espera, asignandole recursos a los grupos con menos requerimientos primero.

C. Explicar brevemente las pruebas realizadas

Para probar el algoritmo propuesto, usan CloudSim un framework que les simular diferentes escenarios sobre el scheduler propuesto y otros para luego poder comparar con las métricas(average waiting time, processing cost, total processing time). Para todas la generación de los diferentes escenarios se basaron en generar tasks y recursos de forma aleatoria con una distribución normal, lo cual garantizaba la variablidad de las mismas, además aclaran que este algoritmo de scheduling nunca fue probado en entornos reales. Las conclusiones que obtienen los investigadores es que, su algoritmo propuesto es siempre mejor que los demás con los que compararon, logrando hasta un 30% de mejora en average waiting time para granuralidades chicas y mejoras marginales para granularidades grandes. Por otro lado también llegan a la conclusión que el scheduler con task grouping y ordenamiento por requerimientos de procesador u ordenamiento por requerimientos de ancho de banda se comportaron de forma muy similar en todos los aspectos de comparación.

[^ej6footnote]: Jia Ru and Jack Keung*. AN Empirical Investigation on the Simulation of Priority and Shortest-Job-First Scheduling for Cloud based Software Systems, 2013 22nd Australian Conference on software Engineering. \newpage