• Aucun résultat trouvé

Les enjeux du recrutement et de la gestion des personnels enseignants

Dans le document AVIS SÉNAT N° 74 (Page 36-40)

Além de avaliar comparativamente o desempenho em geral dos algoritmos no conjunto com- pleto de instâncias, podemos estudar o comportamento de cada um deles em instâncias indi- viduais. Essa análise permite observar características presentes nas soluções devolvidas pelos algoritmos e pode prover uma intuição de como aperfeiçoá-los.

Escolhemos uma instância de tamanho intermediário para analisar, cujos parâmetros estão indicados na Tabela 5.2.1. Os valores de makespan das soluções obtidas por cada algoritmo estão indicados na Tabela 5.2.2. Em seguida, temos um conjunto de gráficos gerados a partir das soluções para ajudar na análise.

Os histogramas da Figura 5.2.5 mostram a distribuição dos tempos de todos os acessos a dados na solução de cada algoritmo. Em todos os gráficos (representados em escala logarítmica para permitir uma melhor visualização das barras menores), os acessos se concentram forte- mente na primeira barra, correspondendo ao menores tempos de acesso possíveis (menor que 1 segundo). Isso indica que as tarefas nessas soluções já fazem a maioria dos acessos a dados de forma bastante eficiente, provavelmente na própria máquina ou em máquinas próximas. Em ge- ral, podemos observar que as primeiras barras decrescem praticamente exponencialmente (isso

5.2. Análise Experimental 63 equivale a uma reta na escala logarítmica) e sobram poucos acessos de tempo maior que 10 segundos, exceto nos histogramas dos algoritmos DR e RA.

É importante notar que temos uma anomalia no histograma do algoritmo CM, no qual po- demos observar um número muito grande de acessos (cerca de 200) na faixa entre 16 e 17 segundos. Como já foi mostrado no gráfico da Figura 5.2.3b, o desempenho do algoritmo CM fica prejudicado em instâncias com número grande de dados, como ocorre aqui.

Os gráficos da Figura 5.2.6 indicam o tempo de execução de cada tarefa dividido entre o tempo de processamento (barras inferiores) e os tempos de acesso aos dados (barras superiores) na solução de cada algoritmo. Em todos esses gráficos, a maioria das tarefas é executada com um tempo baixo (em geral, entre 50 e 100 segundos). Porém, um pequeno número delas gasta um tempo muito maior em acesso a dados, levando seu tempo de execução a valores em torno de 250 a 300 segundos, chegando até 400, em alguns casos.

Finalmente, os gráficos da Figura 5.2.7 representam o escalonamento temporal das tarefas (em ordem arbitrária) na solução de cada algoritmo. Podemos observar que em todos os casos, as máquinas 5 e 7 apresentam o menor número de tarefas escalonadas e os tempos de execução das tarefas nessas máquinas são maiores. Isso deve ter acontecido pois essas máquinas são justamente as que possuem menor largura de banda para as demais (correspondem aos nós Milano e Catania na Figura 5.2.1, cujos enlaces são de apenas 100M). Portanto, os acesso a dados externos são significativamente mais caros nessas máquinas. Mesmo assim, os algoritmos ainda escalonam algumas tarefas nelas, de forma a distribuir a carga sem prejudicar o makespan. Podemos então relacionar a existência dessas tarefas com tempos de execução alto aos picos observados nos gráficos de tempo de execução por tarefa (Figura 5.2.6) e concluir que esses picos não indicam, pelo menos neste caso, uma ineficiência por parte das heurísticas.

5.2. Análise Experimental 64

(a) Algoritmo CM

(b) Algoritmo DR (c) Algoritmo PE

(d) Algoritmo IRE (e) Algoritmo RA

Figura 5.2.5: Histogramas (todos na mesma escala logarítmica) das durações de cada acesso a dado na solução da instância de análise em cada um dos algoritmos.

5.2. Análise Experimental 65

(a) Algoritmo CM

(b) Algoritmo DR (c) Algoritmo PE

(d) Algoritmo IRE (e) Algoritmo RA

Figura 5.2.6: Gráficos (todos na mesma escala) do tempo de execução por tarefa (em ordem arbitrária). As barras inferiores correspondem ao tempo de processamento, enquanto as superi- ores representam o tempo total de acesso a dados.

5.2. Análise Experimental 66

(a) Algoritmo CM

(b) Algoritmo DR (c) Algoritmo PE

(d) Algoritmo IRE (e) Algoritmo RA

Figura 5.2.7: Gráficos (todos na mesma escala) mostrando o escalonamento de tarefas (barras verticais) para cada máquina (eixo horizontal).

Capítulo 6

Conclusão

Neste trabalho, apresentamos a formulação de um problema estático que combina os problemas de replicação de dados e escalonamento de tarefas em grids. Tais problemas têm sido alvo de pesquisa recente tanto isoladamente ou em conjunto, porém nosso trabalho é o primeiro (até onde sabemos) a incluir uma análise teórica da combinação desses problemas, incluindo um resultado de aproximação.

Em nosso estudo teórico a respeito do problema, fornecemos um modelo de PLI de tama- nho polinomial para resolver o problema. Apresentamos uma análise de aproximabilidade, na qual mostramos, ao estender uma demonstração de inaproximabilidade para um problema de replicação de dados, que o nosso problema não pode ser aproximado a menos que P = NP . No entanto, fomos capazes de desenvolver um algoritmo aproximado considerando uma for- mulação mais restrita do problema. Este algoritmo é relativamente eficiente e possui um fator de aproximação baseado na razão máxima entre determinados parâmetros da entrada, dado por 4–“(— + 2–“)2 + k. Apresentamos também demonstrações de vários algoritmos aproxima-

dos para problemas relacionados ao nosso, incluindo os principais resultados disponíveis na literatura.

Do ponto de vista prático, desenvolvemos duas heurísticas originais. A primeira é base- ada em agrupar máquinas do grid em clusters com alta largura de banda disponível, distribuir réplicas dos dados de acordo com uma função de prioridade e finalmente criar um escalona- mento guloso das tarefas, podendo ainda ser melhorado através de busca local. A segunda heurística funciona através do agrupamento de dados comumente acessados em conjunto para formar certos grupos de dados relacionados, em seguida esses grupos são mapeados a clusters de máquinas, nos quais cria-se réplicas desses dados.

Comparamos o desempenho (custo da solução e tempo de execução) dessas heurísticas com os de dois algoritmos adaptados da literatura para um problema similar, pois não foi encon- trada uma formulação exatamente igual ao nosso problema. Usamos um extenso conjunto de instâncias baseadas em grids reais e parâmetros de entrada comumente empregados por outros

68 autores. Através de gráficos dos perfis de desempenho dos algoritmos, observamos que nossa primeira heurística superou as outras em cerca de 80% das instâncias e também foi bastante rápida, resolvendo todas as instâncias em menos de 15 segundos enquanto as heurísticas da literatura resolveram no máximo 85% dos casos em até 5 minutos. Mesmo desconsiderando a eficiência, nossa heurística ainda se mostrou ligeiramente melhor, em geral. Nossa segunda heurística atingiu resultados relativamente piores, porém foi ainda mais rápida, sendo pratica- mente tão rápida quanto um simples algoritmo de replicação aleatória. Fizemos também uma análise gráfica da variação de parâmetros das instâncias, além de uma análise individual de- talhada de uma instância, o que nos permitiu observar aspectos qualitativos a respeito desses algoritmos.

Referências Bibliográficas

[1] Lakshmi Ravi Anikode and Bin Tang. Integrating scheduling and replication in data grids with performance guarantee. In Global Telecommunications Conference (GLOBECOM 2011), 2011 IEEE, pages 1–6. IEEE, 2011.

[2] Ivan Baev, Rajmohan Rajaraman, and Chaitanya Swamy. Approximation algorithms for data placement problems. SIAM Journal on Computing, 38(4):1411–1429, 2008.

[3] William H Bell, David G Cameron, A Paul Millar, Luigi Capozza, Kurt Stockinger, and Floriano Zini. Optorsim: A grid simulator for studying dynamic data replication strate- gies. International Journal of High Performance Computing Applications, 17(4):403–416, 2003.

[4] Rajkumar Buyya and Manzur Murshed. Gridsim: A toolkit for the modeling and simula- tion of distributed resource management and scheduling for grid computing. Concurrency and computation: practice and experience, 14(13-15):1175–1220, 2002.

[5] Anirban Chakrabarti and Shubhashis Sengupta. Scalable and distributed mechanisms for integrated scheduling and replication in data grids. In Distributed computing and networ- king, pages 227–238. Springer, 2008.

[6] Ruay-Shiung Chang, Jih-Sheng Chang, and Shin-Yi Lin. Job scheduling and data replica- tion on data grids. Future Generation Computer Systems, 23(7):846–860, 2007.

[7] Uroš ˇCibej, Boštjan Slivnik, and Borut Robiˇc. The complexity of static data replication in data grids. Parallel Computing, 31(8):900–912, 2005.

[8] Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein, et al. Introduc- tion to Algorithms, volume 2. MIT press Cambridge, 2001.

[9] Nhan Nguyen Dang, Sang Boem Lim, and CK Yeo. Combination of replication and scheduling in data grids. Int. J. of Computer Science and Network Security, 7(3):304–308, 2007.

REFERÊNCIAS BIBLIOGRÁFICAS 70 [10] Elizabeth D Dolan and Jorge J Moré. Benchmarking optimization software with perfor-

mance profiles. Mathematical programming, 91(2):201–213, 2002.

[11] Ali Elghirani, Riky Subrata, and Albert Y Zomaya. Intelligent scheduling and replication in datagrids: a synergistic approach. In Cluster Computing and the Grid, 2007. CCGRID 2007. Seventh IEEE International Symposium on, pages 179–182. IEEE, 2007.

[12] Ian Foster, Carl Kesselman, and Steven Tuecke. The anatomy of the grid: Enabling scala- ble virtual organizations. International journal of high performance computing applicati- ons, 15(3):200–222, 2001.

[13] Teofilo F Gonzalez. Clustering to minimize the maximum intercluster distance. Theoreti- cal Computer Science, 38:293–306, 1985.

[14] Teofilo F Gonzalez. Scheduling tasks to minimize the total computation and communica- tion makespan. Int. J. Advanced Networking and Applications, 3(04):1215–1228, 2012. [15] Ronald L Graham. Bounds for certain multiprocessing anomalies. Bell System Technical

Journal, 45(9):1563–1581, 1966.

[16] Ronald L Graham, Eugene L Lawler, Jan Karel Lenstra, and AHG Kan. Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of discrete Mathematics, 5:287–326, 1979.

[17] Dorit S Hochbaum. Approximation algorithms for NP-hard problems. PWS Publishing Co., 1996.

[18] Dorit S Hochbaum and David B Shmoys. A polynomial approximation scheme for sche- duling on uniform processors: Using the dual approximation approach. SIAM journal on computing, 17(3):539–551, 1988.

[19] Thilo Kielmann, Rutger FH Hofman, Henri E Bal, Aske Plaat, and Raoul AF Bhoedjang. Magpie: Mpi’s collective communication operations for clustered wide area systems. In ACM Sigplan Notices, volume 34, pages 131–140. ACM, 1999.

[20] Jan Karel Lenstra, David B Shmoys, and Éva Tardos. Approximation algorithms for sche- duling unrelated parallel machines. Mathematical programming, 46(1-3):259–271, 1990. [21] Najme Mansouri, GholamHosein Dastghaibyfard, and Ehsan Mansouri. Combination of data replication and scheduling algorithm for improving data availability in data grids. Journal of Network and Computer Applications, 2013.

REFERÊNCIAS BIBLIOGRÁFICAS 71 [22] Zbigniew. Michalewicz and David B Fogel. How to solve it: Modern Heuristics. Springer

New York, 2000.

[23] Dharma Teja Nukarapu, Bin Tang, Liqiang Wang, and Shiyong Lu. Data replication in data intensive scientific applications with performance guarantee. Parallel and Distributed Systems, IEEE Transactions on, 22(8):1299–1306, 2011.

[24] Ioan Raicu, Ian T Foster, Yong Zhao, Philip Little, Christopher M Moretti, Amitabh Chaudhary, and Douglas Thain. The quest for scalable support of data-intensive wor- kloads in distributed systems. In Proceedings of the 18th ACM international symposium on High performance distributed computing, pages 207–216. ACM, 2009.

[25] Kavitha Ranganathan and Ian Foster. Identifying dynamic replication strategies for a high- performance data grid. In Grid Computing—GRID 2001, pages 75–86. Springer, 2001. [26] N. Sadashiv and S.M.D. Kumar. Cluster, grid and cloud computing: A detailed compa-

rison. In Computer Science Education (ICCSE), 2011 6th International Conference on, pages 477–482, 2011.

[27] Satu Elisa Schaeffer. Graph clustering. Computer Science Review, 1(1):27–64, 2007. [28] H.I. Stern and Universit.at Ben-Guryon ba Negev. Minimizing Makespan for Independent

Jobs on Nonidentical Parallel Machines: An Optimal Procedure. Ben-Gurion University of the Negev, 1975.

[29] Vijay V Vazirani. Approximation Algorithms. Springer-Verlag, New York, NY, 2001. [30] Laurence A Wolsey. Integer Programming. Wiley-Interscience, 1998.

[31] Sharrukh Zaman and Daniel Grosu. A distributed algorithm for the replica placement pro- blem. Parallel and Distributed Systems, IEEE Transactions on, 22(9):1455–1468, 2011.

Dans le document AVIS SÉNAT N° 74 (Page 36-40)