arquitetura de computadores - resenha 05

Upload: andrea-fernanda

Post on 07-Apr-2018

216 views

Category:

Documents


0 download

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.