• No results found

Chapter 4 Establishing a testing apparatus for liquid filtration

4.2 Filtration efficiency

4.2.1 Selecting components

El algoritmo CoPEFT toma como base los algoritmos PEFT [AB14] y CEFT [Kha12]. Con respecto al algoritmo PEFT aprovecha la característica de lookahead propuesto en el algoritmo, explicado en la Sección3.4, en el cual utiliza una tabla de costos optimista, dado a que no considera la disponibilidad del procesador para el cálculo del costo.

El algoritmo PEFT realiza las fases de priorización de tareas y asignación de recursos utilizando la tabla de costos optimista. Con respecto al algoritmo CEFT, en el cual propone un algoritmo para la generación de caminos críticos con restricciones, visto en la Sección 3.3, el cual proporciona una visión global del grafo de entrada. Una característica que el algoritmo PEFT no toma en cuenta.

Entonces, en su primera etapa se deben calcular los caminos críticos en base a los costos de computación y comunicación. En esta etapa, se utilizará el Algoritmo3.3para calcular los caminos críticos, sin embargo, y de acuerdo a un análisis realizado, se le hará algunas modicaciones las cuales se verán reejadas en el Algoritmo 7.2, como se puede observar ya no tiene el bucle while en el algoritmo, puesto que el algoritmo generará un camino crítico en cada llamada, lo que si se mantiene es el cálculo del camino crítico en sí y la poda de los nodos. El criterio de quitar el bucle principalmente fue por conservar el espacio en memoria consumido en el algoritm CEFT, puesto que ellos retornaban un arreglo de arreglos, el cual contenia arreglos de tareas, esto se puede mejorar llamando progresivamente a la función.

Porteriormente, se debe cálcular la tabla de costos optimista (como lo plantea el algoritmo PEFT), y seleccionar las tareas del camino crítico, a las tareas del camino crítico con restricciones. y en base a estos costos en el algoritmo para encontrar el recurso computacional se realizan llamadas a la función gen_CP_M odif icado() para ir encontrando tareas en caminos críticos y hallar las

7.2 ALGORITMO CONSTRAINED PREDICT EARLIEST FINISH TIME - COPEFT 61

Algoritmo 7.2 Algoritmo gen_CP_Modicado() para generar caminos críticos [Kha12].

1: //Sea Gtmp contiene vérticesVT en orden topológico y aristas E

2: count= 0; Gtmp= (VT, E)

3: //Encontrar la longitud del camino crítico

4: InicializarL(vi) = 0, para cadavi ∈VT

5: for cadavi∈VT do

6: for cada aristavi →wj do

7: AEC(wj) =

P|P|

k=1Tpk(wj)

|P|

8: // Sea Π(vi, wj) el peso de la aristavi→wj

9: if L(wj)≤L(vi) +AEC(wj) + Π(vi, wj) then

10: L(wj) =L(vi) +AEC(wj) + Π(vi, wj) 11: P redC(wj) =vi 12: end if 13: end for 14: end for 15: loc= 1,maxL= 0 16: fork= 1 hasta |VT|do 17: if L(vk)≥maxLthen 18: maxL=L(vk) 19: loc = k 20: end if 21: end for

22: Sea node=Vloc //último nodo del camino crítico

23: //Adiciona nodos al camino crítico actual CPcount

24: CPcount ={Vloc} 25: whilenode6=startdo

26: node=P redC(node)

27: CPcount =CPcount∪node

28: end while

29: //Podar el grafo y adicionar pseudo-aristas

30: G0= (CPcount, ECP) // son las aristas de los nodos en elCPcount

31: Gtmp=Gtmp−G0

32: for cadauk∈CPcount do

33: if |P red(uk)|== 0 then

34: Gtmp =Gtmp∪(null, start→uk))

35: else if |Succ(uk)|== 0 then

36: Gtmp =Gtmp∪(null, uk →exit))

37: end if

38: end for 39: returnCP

Capítulo 8

Conclusiones

8.1. Consideraciones Finales

El procesamiento de grandes cantidades de datos es requerido por diferentes áreas. Para alcanzar el gran poder computacional requerido se utilizan los sistemas computacionales heterogé- neos, sin embargo, un aspecto muy importante en el procesamiento es la planicación de tareas.

En el presente trabajo se ha realizado un estudio minucioso del problema de planicación de tareas dependentes, las cuales son representadas por grafos acíclicos dirigidos. Posteriormente se analizaron algoritmos de planicación de tareas para este ámbito, entre los cuales se tienen: (i) HEFT, (ii) Lookahead; (iii) PEFT; (iv) CEFT y (v) IPEFT.

También se consideró el estudio de sistemas computacionales heterogéneos reales, entre los cuales se tiene a los proyectos: (i) DAS-4, de Holanda; (ii) Grid5000 de Francia y (iii) GridPP del Reino Unido. En general, los trabajos de invetigación sobre planicación de tareas, toman como sistema heterogéneo un único formato pre-establecido por los autores, dejando de lado características importantes que se tienen en ambientes reales, motivo por el cual en este trabajo se consideró sistemas computacionales reales. De la misma forma para las aplicaciones, las cuales son generadas a partir de aplicaciones reales, entre ellas se tienen: (i) Montage; (ii) Cybershake; (iii) Epigenomics y (iv) Ligo. Para los experimentos ejecutados, se utilizó el simulador Simgrid, dado a que es el simulador que tiene todo lo requerido para la ejecución de los experimentos.

Para evaluar el desempeño de un algoritmo de planicación, métricas como el makespan y SLR son muy útiles, pues brindan un análisis del desempeño del algoritmo, el cual debe orientarse siempre a minimizar el makespan, esto es, el tiempo de ejecución de toda la aplicación.

Para evaluar el comportamiento de un algoritmo de planicación, métricas como: Desem- peño nos proporciona una visión del comportamiento global del algoritmo; Escalabilidad, el cual realizar una evaluación para aplicaciones regulares, dado que para aplicaciones irregulares, esta métrica no mostrará resultados adecuados a medida que se incrementen tareas. Adaptabilidad, con esta métrica se podrá ver si el algoritmo de planicación tendrá buen desempeño sobre cambios

en la infraestructura computacional. Y nalmente, Distribución de la Carga do Trabajo, la distribución de tareas debe guardar relación con la estructura de la aplicación.

De esta forma, para evaluar desempeño del algoritmo en la planicación se recomienda usar makespan y SLR; y para evaluar comportamiento del algoritmo sea con respecto a la aplicación o al sistema heterogéneo se recomienda usar las métricas denominadas: desempeño, escalabilidad, adaptabilidad, y distribución de la carga de trabajo.

La presente tesis, tambien propone dos algoritmos de planicación, los cuales son una alternativa para la literatura. Predict Earliest Finish Time with Clustering - PEFTC, el cual toma en cuenta las mejores características del algoritmo PEFT, pero en la etapa de asignación de recursos lo realiza en agrupaciones de tareas, esto mejora el desempeño al minimizar la comunicación entre tareas; Constrained Predict Earliest Finish Time - CoPEFT, el cual fue basado en las mejores características de los algoritmos PEFT y CEFT, aprovecha el cálculo que se realiza en el algoritmo CEFT, al encontrar caminos críticos restringidos, y en la fase de asignación de recursos utiliza la tabla de costos optimista propuesto por el algoritmo PEFT, preservando la complejidad algorítmica

Related documents