weac-2009-artigo-07

Upload: bruno-marques

Post on 03-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 WEAC-2009-Artigo-07

    1/4

    Computao Paralela e Educao: um Elo Promissor

    Breno S. Arajo; Igor Alves Perdigo; Jorge Moiss Assis

    Pontifcia Universidade Catlica de Minas Gerais{brenopuc, igorperdigaobh, jorge.moises.assis}@gmail.com

    Resumo

    inegvel a importncia do ensino de programaoparalela nos cursos de graduao em Tecnologia daInformao. Contudo, a importncia merecida no dada desde o incio do curso. Eventos isolados no socapazes de mudar a filosofia daqueles que lecionam.Assim, necessrio alertar sobre a importncia do

    paralelismo nas mais diversas reas da computao.Oobjetivo deste artigo propor medidas para solidificaro ensino de programao paralela nos cursos degraduao. Desta forma a arquitetura hoje disponvel ea programao ficaro em sintonia.

    1. Introduo

    As dificuldades encontradas na programaoparalela no so novidade. Existem pesquisasreferentes a esta rea h pelo menos trs dcadas [1].Alm disso, nos dias de hoje a maioria doscomputadores vendidos, inclusive para uso domstico,

    possuem processadores com no mnimo dois ncleosfsicos [2]. Porm, o ensino da programao paralelanos cursos de graduao ainda no proporcional acrescente utilizao desta arquitetura.

    O constante aumento da demanda de processamentopor aplicaes atuais e as limitaes fsicas definidascomo dissipao de calor e consumo de energia estofazendo com que os processadores mono-ncleoentrem em desuso. O paralelismo est substituindogradativamente o modelo sequencial. Entretanto, a

    programao sequencial ainda possui um destaquemuito maior do que a paralela nos cursos de graduaoem computao.

    Vrias conferncias abordam o paralelismo, comopor exemplo, Grandes Desafios da SBC [3]. Todavia,estes eventos no vm surtindo efeito nas salas de aula.

    Nenhum deles destaca a importncia do ensino decomputao paralela, de maneira mais aprofundada, noincio dos cursos de tecnologia da informao.

    preciso tornar a programao paralela algo tonatural quanto a programao sequencial. necessrio

    mostrar aos profissionais que lecionam na rea o quoimportante a utilizao de cdigos paralelos para,ento, conseguir extrair a capacidade mxima dasarquiteturas paralelas emergentes. De nada adiantaexistirem arquiteturas paralelas com grande potencialse no houversoftwares adequados s mesmas.

    O uso de multi-ncleos no demonstra vantagemcaso o software seja seqencial. Por exemplo, a

    aplicao NotePad comumente encontrada nos sistemasWindows seqencial. J a aplicao NotePad++ [11] paralela capacitando o usurio a abrir mais de umarquivo sob um mesmo processo e realizar pesquisas

    pelo texto de forma paralela. No primeiro caso, apenasum ncleo trabalha enquanto os demais ficam

    inativos. J no segundo, caso o usurio mandepesquisar por uma palavra observado que os doisncleos entram em uso.

    Introduzir a programao paralela durante o inciodos cursos de graduao o fator primordial para queesta tcnica seja difundida e consequentemente maisexplorada. Desenvolver sistemas de qualidade que

    atendam as demandas dos processos atuais e que faammelhor uso das arquiteturas paralelas tornou-se algonecessrio [1].

    2. Situao Atual

    Artigos e congressos do tipo grandes desafios que

    tratavam, em alguma parte, sobre computao paralelaj foram realizados nacional e internacionalmente.Entretanto, os resultados esperados no foram - e noso fceis de ser - alcanados.

    De um modo geral, no comum encontrar desafiospropostos completos ao final do tempo esperado. No

    caso da computao paralela, no difcil perceberque, apesar dos desafios e propostas, o ensino damesma continua praticamente igual ao de 10 anos atrs,sem nenhuma melhoria ou aprimoramentosignificativo.

    Em contrapartida, a realidade outra.Computadores com vrios ncleos no so novidade nomercado. Qualquer mquina pessoal domstica com

    Workshop sobre Educao em Arquitetura de Computadores - WEAC 2009

    38

  • 7/28/2019 WEAC-2009-Artigo-07

    2/4

    mais de um ncleo pode ser encontrada em vrias lojas.Assim, o ensino de computao paralela fortementerecomendado para atender a demanda do mercado encleos de pesquisa.

    J existem cursos especializados em computaodistribuda [4]. No entanto, essa uma abordagem

    excludente. O aluno ficaria demasiadamente atreladoem um paradigma. O que proposto a simbiose entreo ensino da programao sequencial com a

    programao paralela.Outro problema atual a falta de literatura

    especfica. Os livros referentes a algoritmos geralmentepossuem foco nas arquiteturas sequenciais [5]. Oslivros que contm material sobre algoritmos paralelosdestinam um ou dois captulos para este assunto. Umdos livros que se tem conhecimento e que abordaalgoritmos paralelos [6] extremamente complexo paraalunos que se encontram no incio de um curso degraduao.

    A seguir so apresentadas algumas propostas queobjetivam mudar a situao atual em que nosencontramos. As medidas vo desde a introduo daarquitetura paralela em simpsios at sua efetivaonas salas de aula. A abordagem de ensino ideal estlonge de ser definida. Sugerimos que os leitoresacessem o seguinte grupo de discusso [10] para queseja possvel formular uma metodologia mais agradvelaos alunos iniciantes.

    3. Proposta

    Existem vrias medidas que podem ser adotadas

    para solidificar o ensino de programao paralela nagraduao. Solidificao esta que possui como objetivodisseminar o interesse e a pesquisa em arquiteturas

    paralelas. Neste captulo as principais medidas seroapresentadas.

    Cada subseo desta seo representa um passo aser seguido. A ordem dos mesmos representa asequncia ideal de execuo para obter o melhorresultado.

    importante que se ressalte que todas as propostascontidas neste documento so resultados de reflexes ediscusses. Portanto, possvel existir discordncia,dada a subjetividade do contedo.

    3.1. Ramificao em Outros Simpsios

    No h melhor meio para disseminar o ensino decomputao paralela do que demonstrar como o mesmo importante nas mais diversas reas. Simpsios quetratam do processamento de imagens digitais, como oSimpsio Brasileiro de Computao Grfica e

    Processamento de Imagens, so meios frteis para quea idia seja ampliada.

    Outras reas como engenharia de software tambmdeveriam ser focadas para que os processos dedesenvolvimento evolussem. Uma vez que os

    processos acatassem a computao paralela, ficaria

    mais explcito para os especificadores eimplementadores a importncia desse paradigma. J sesabe, por exemplo, que operaes sobre matrizes

    podem ser feitas de forma paralela, baixando o tempocomputacional de processamento significativamente.

    Por qu simpsios? A explicao simples: so nossimpsios que se renem professores e pesquisadoresdas respectivas reas de abordagem. Logo, essesencontros se tornam lugares ideais para troca de idiase conhecimento, alm de abrigar um pblico comgrande potencial na pesquisa e na inovao.

    possvel concluir ento que, as pessoas que devemser convencidas da importncia da computao

    paralela so aquelas que representam o meioacadmico, local de pesquisa e busca por meios eresultados novos.

    3.2. Consolidao da Literatura

    Como visto em [2, 6], os livros que tratam doensino de programao paralela so escassos. Existem

    poucos livros que abordam o assunto de maneiraespecifica. Os outros poucos que tomam este temacomo sua abordagem central so demasiadamentecomplexos para alunos ingressantes nos cursos decomputao.

    Parte do desinteresse dos alunos em relao programao paralela causada pela falta de literaturaneste assunto [6]. Assim como a ramificao emsimpsios, o aumento da literatura sobre algoritmos

    paralelos um dos passos fundamentais para despertarinteresse de professores e alunos.

    Existem muitos artigos que enfocam o ensino deprogramao paralela no incio dos cursos decomputao. Mas no existe nenhum material como,

    por exemplo, livros que abordem este assunto demaneira introdutria. A produo de material bsicosobre computao paralela fundamental para os

    passos que se seguem.

    3.2. Incentivo aos Professores

    medida que os alunos se inserem no contexto domundo paralelo, tanto no mercado como no meioacadmico, eles se vem mais motivados a aprender tal

    paradigma. Os professores em geral se sentem maisconfortveis em lecionar aquilo que dominam e, ao

    Workshop sobre Educao em Arquitetura de Computadores - WEAC 2009

    39

  • 7/28/2019 WEAC-2009-Artigo-07

    3/4

    mesmo tempo, aquilo que interessa aos alunos. Assimum fato incentivador aos professores est na atenoque os alunos tendem a despertar quando se trata dessenovo paradigma.

    O prprio aumento da literatura na rea deprogramao paralela ser um estimulo para os

    professores. Estes sero capazes de preparar melhorsuas aulas. Tero o apoio de materiais concretos quealm de reforar a teoria, iro ajud-los a proporexerccios prticos.

    Outro ponto incentivador est no fato da computaoparalela ser tratada como pesquisa de ponta. A maioriados alunos gosta de trabalhar sobre aquilo que aindavai acontecer, ou seja, tecnologias emergentes edesafiadoras, que ainda esto atingindo o mercado. Issod uma idia de fazer a diferena, pesquisar sobre

    algo que realmente pode alterar e inovar conceitos jconhecidos. Da o grande interesse.

    medida que os professores comearem a introduzir

    a computao paralela nos cursos de graduao, iroconsolidar mais seus conhecimentos no assunto. Como de consenso geral que o paralelismo algonecessrio, os professores j estaro mais preparados

    para quando a computao paralela substituir de fato asequencial. Alm disso, um maior nmero de

    professores capacitados implica num maior nmero dealunos capacitados.

    3.4. Motivar o Aluno

    Para inserir e atrair os alunos ao aprendizado dessenovo paradigma seria interessante abordar algumas

    prticas em sala de aula. Entre eles, se destacam, porexemplo:Melhoria de desempenho: nesta prtica, oaluno teria a oportunidade de alterar umsoftware, hardware ou ambos para medir oquo mais rpido fica um sistema. Issoevidenciaria a importncia de um sistema

    paralelo.Sistemas que deveriam ser paralelos e sotratados sequencialmente: sistemas comoredes neurais artificiais [4] so naturalmente

    paralelos. Contudo a maioria das redes neuraisimplementadas em software so desenvolvidas

    de forma sequencial. muito mais naturalpara o aluno pensar em uma rede comounidade paralela do que sequencial. Mostrarao aluno esse fato essencial.Aprimoramento de algoritmos: algoritmos deordenao como o QuickSort soconsiderados rpidos quando comparados aooutros, como o BubleSort. E quanto ao

    QuickSort paralelo? Deve-se mostrar ao alunocomo a mudana na estrutura de um algoritmomelhora seu desempenho sem modificar suaidia.Modelos paralelos: atualmente, a engenhariade software, lecionada nas universidades, trata

    muito pouco de paralelismo em seus modelos.Diagramas de atividades possuem nodos detransio paralela, mas que so poucoabordados em sala. Deve-se dar a devidaimportncia modelagem de sistemas

    paralelos. Alm disso, no se deve esquecerque os requisitos no funcionais podemmodificar completamente a deciso de qual

    paradigma deve-se seguir.Ao lecionar programao paralela, os professores

    devem ficar atentos s dificuldades dos alunos.Condies de Corrida e excluso mtua so mais fceisde assimilar, enquanto determinar a escalabilidade e

    diviso de tarefas se mostram mais complexas [7].Sendo assim, deve-se dedicar mais tempo s tarefascom grau de dificuldade maior. A comunicao entreos processos, ou threads, tambm deve ser lecionadacom mais cautela. Os desenvolvedores em geral tmdificuldade em modelar essa interao [7]. Existemdiversas ferramentas como o Eclipse Parallel Tools

    Platform [8], que podem auxiliar os alunos a depurar eentender seus programas paralelos.

    Outra abordagem interessante comear a lecionarconceitos sobre algoritmos paralelos e engenharia desoftware no ensino mdio [9] ou, no caso do Brasil, noscursos tcnicos. Essa concepo defende que nunca

    cedo demais para inserir os conceitos consideradoscomplexos da computao na realidade dos alunos.A abordagem citada acima faz grande sentido.

    fcil e natural perceber que, quanto mais contato umapessoa tem com determinado assunto o mais cedopossvel (mesmo que de forma simplificada), maiordomnio sobre o assunto ela ter e, principalmente, tergrandes chances de ter idias inovadoras relacionadasao tema.

    4. Efeitos Esperados

    Para que a computao paralela seja abordada desde

    o incio dos cursos de graduao preciso comearatravs dos professores. Estes so os maioresfrequentadores de simpsios e conferncias. Assim,caso a maioria desses eventos mostrem a devidaimportncia da computao paralela, inevitvel queesse conhecimento seja passado para frente em salade aula.

    Workshop sobre Educao em Arquitetura de Computadores - WEAC 2009

    40

  • 7/28/2019 WEAC-2009-Artigo-07

    4/4