arquitetura de computadores - resenha 05
TRANSCRIPT
-
8/3/2019 Arquitetura de Computadores - Resenha 05
1/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 BritoPerodo: 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.Advances in Engineering Software 42 (2011) 2592651.
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) 807 8123.
Avaliao de processamento paralelo com biblioteca
do FrameworkMicrosoft .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
conceito de tarefa4 (Task) - inspirado por novos recursos do OpenMP 3.05 - 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 multi-
propsito (Multi-Objective Evolutionary Algorithm - MOEA) em arquiteturas duale quadcore.
1http://www.sciencedirect.com/science/article/pii/S09659978100012622http://www.sciencedirect.com/science/article/pii/S0065245810790021
3http://www.sciencedirect.com/science/article/pii/S0743731509000653
4Workloadatmica 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/
-
8/3/2019 Arquitetura de Computadores - Resenha 05
2/2
Foram usados os seguintes algoritmos nos experimentos para determinar um adequado
academictimetabling6:
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.
2. Mixed Spreading PESA (msPESA) algoritmo hbrido que combina aspectos de PESA7,NSGA II e busca local (local search, LS), com a finalidade de otimizar a seleo das
solues geradas para o problema em questo.
3. Algoritmo para paralelizao da gerao de populao usando Parallel.For8 (dabiblioteca Parallel.Fx)
4. Algoritmo para paralelizao da gerao de populao usando threads comuns.
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 multie
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.
6 Neste caso, academic timetabling refere-se a um conjunto de sesses organizadas no tempo numauniversidade. Cada sesso usa simultaneamente recursos como salas, equipamentos e pessoas. Sabe-seque um problema de complexidade NP-completo, sendo um dos tipos mais difceis de se resolver emtempo hbil.7 Pareto-Envelope based Selection Algorithm.8 Instruo que paraleliza automaticamente a execuo dos passos de umforeach comum.