Você está na página 1de 2

Universidade Federal da Paraba Centro de Cincias Exatas e da Natureza Departamento de Informtica Programa de Ps-Graduao em Informtica - PPGI Disciplina: Arquitetura

de Computadores Professor: Alisson Brito Perodo: 2011.2

Aluna: Andrea Fernanda

Resenha 05 Processamento paralelo

Referncia: MRQUEZ, AL, GIL, C., BAOS, R., GMEZ, J. Parallelism on multicore processors using Parallel.FX. 1 Advances in Engineering Software 42 (2011) 259265 .

Adicionais: MAROWKA, A. Pitfalls and Issues of Manycore Programming. In: Advances in Computers, Elsevier, vol. 79, 20102. TRFF, JL. What the parallel-processing community has (failed) to offer the multi-many core generation. J. Parallel Distrib. Comput. 69 (2009) 8078123.

Avaliao de processamento paralelo com biblioteca do Framework Microsoft .NET

A biblioteca Parallel.FX foi desenvolvida pela Microsoft Corporation para a plataforma .NET como implementao da Task Parallel Library (TPL) e objetiva otimizao de programao paralela para arquiteturas multicore. A biblioteca possui vrios recursos, tornando a programao mais fcil e eficiente. Uma das caractersticas mais importantes desta biblioteca, segundo os autores, o uso do 4 5 conceito de tarefa (Task) - inspirado por novos recursos do OpenMP 3.0 - permitindo paralelizao de alta granularidade para aplicaes desenvolvidas para .NET. As arquiteturas multicore surgiram devido limitao determinada pela lei de Moore, visto que os computadores atuais tem alcanado a barreira fsica que interfere no desempenho de componentes eletrnicos. Com isto, para que os processadores tenham maior eficincia, adicionam-se mais ncleos em um nico microchip, criando-se com isso uma arquitetura multicore. O trabalho em questo se trata de um estudo da eficincia em termos de runtime do uso da biblioteca Parallel.FX para resolver problemas de timetabling usando um algoritmo evolucionrio multipropsito (Multi-Objective Evolutionary Algorithm - MOEA) em arquiteturas dual e quad core.

http://www.sciencedirect.com/science/article/pii/S0965997810001262 http://www.sciencedirect.com/science/article/pii/S0065245810790021 3 http://www.sciencedirect.com/science/article/pii/S0743731509000653 4 Workload atmica que pode ser posta para execuo em qualquer ncleo disponvel no sistema, enquanto que cada ncleo pode receber somente uma tarefa. 5 OpenMP 3.0 especificao de API para programao paralela para C/C++. http://openmp.org/wp/
2

Foram usados os seguintes algoritmos nos experimentos para determinar um adequado 6 academic timetabling : 1. Non-determinated Sorting Genetic Algorithm II, que uma verso estendida de NSGA, usa uma populao P interna e uma populao Q externa, com finalidade de gerar solues para o problema em questo, avaliando-se a adequabilidade de cada uma, nos moldes da programao evolucionria. 7 Mixed Spreading PESA (msPESA) algoritmo hbrido que combina aspectos de PESA , NSGA II e busca local (local search, LS), com a finalidade de otimizar a seleo das solues geradas para o problema em questo. 8 Algoritmo para paralelizao da gerao de populao usando Parallel.For (da biblioteca Parallel.Fx) Algoritmo para paralelizao da gerao de populao usando threads comuns.

2.

3. 4.

Para testar o desempenho e capacidade da Task Parallel Library (TPL), os algoritmos evolucionrios 1 e 2 foram paralelizados com uso desta biblioteca, o que elevou o desempenho no processamento dos mesmos, j que os procedimentos computacionalmente complexos so realizados principalmente na avaliao de populao. Gerao de populao tambm contribui com carga de trabalho computacional, especialmente em situaes onde as solues que no apresentam certos requerimentos so consideradas invlidas e devem ser, ento, descartadas. Nota-se que o trabalho foi realizado para demonstrar a eficincia de uma biblioteca de uma poderosa corporao de informtica. Entretanto, independente disto, pesquisas nesta rea de programao paralela devem ser sempre conduzidas de modo a validar a eficincia de arquiteturas multicore. Contudo, em termos de realidade acadmica, os programadores precisam ser instrudos sobre quando, em que tipos de aplicaes e como aplicar programao paralela com eficincia, relacionando o tipo de software a ser desenvolvido com a arquitetura de hardware disponvel. Isto tem sido criticado em algumas publicaes as quais tive oportunidade de pesquisar (TRFF, 2009; MAROWKA, 2010). Enquanto no houver uma revoluo acadmica no sentido de como os alunos so ensinados a programar, permanecero subutilizados os avanos em hardware das arquiteturas multi e manycore, bem como API para programao paralela. Admira-me a indstria de processadores a maior interessada no ter aparentemente tanta influncia neste sentido para promover uma revoluo acadmica nos currculos dos cursos e oferecer incentivos a alunos e professores/pesquisadores para um engajamento maior no ensino/aprendizado de programao de softwares para arquiteturas multicore.

Neste caso, academic timetabling refere-se a um conjunto de sesses organizadas no tempo numa universidade. Cada sesso usa simultaneamente recursos como salas, equipamentos e pessoas. Sabe-se que um problema de complexidade NP-completo, sendo um dos tipos mais difceis de se resolver em tempo hbil. 7 Pareto-Envelope based Selection Algorithm. 8 Instruo que paraleliza automaticamente a execuo dos passos de um foreach comum.

Você também pode gostar