Você está na página 1de 4

Workshop sobre Educao em Arquitetura de Computadores - WEAC 2010

Abordagem prtica fundamentada em anlises e modificaes de programas


paralelos para motivao ao aprendizado de Arquitetura de Computadores
Alisson Rodrigo da Silva, Eduardo Felipe Fonseca Valado,
Rosinei Soares de Figueiredo, Carlos Augusto Paiva da Silva Martins4
Programa de Ps Graduao em Engenharia Eltrica - PPGEE
Pontifcia Universidade Catlica de Minas Gerais PUC Minas
alisson.rodrigo@ieee.org, eduardo.valadao@toshiba.com.br,
rosineisfigueiredo@ieee.org, capsm@ieee.org4

Assim, torna-se necessria a criao de meios que


possibilitem um aprendizado mais efetivo de AC, o que
impactar na forma como os novos padres de
arquitetura so utilizados e na qualidade dos sistemas
de computao (hardware + software) construdos.
Neste contexto, o problema a ser resolvido a
desmotivao da maioria dos alunos em relao ao
aprendizado de AC aliada deficincia de tcnicas
estimulantes para o seu ensino.
Nos cursos focados em desenvolvimento de
software, esse problema surge e persiste devido,
principalmente, a alguns projetos pedaggicos que no
tratam devidamente a correlao entre AC e as demais
disciplinas, alm de no formarem no aluno a
percepo da necessidade do seu entendimento para a
melhoria da qualidade e do desempenho das aplicaes
[1,3]. J nos cursos relacionados ao desenvolvimento
de hardware, o problema se relaciona principalmente
ao desconhecimento do papel do hardware no
desempenho dos sistemas de software que utilizem
arquiteturas das quais faz parte [4].
O objetivo geral deste artigo , ento, apresentar
uma abordagem para motivao ao aprendizado de AC,
partindo do pressuposto que os alunos aprendero mais
efetivamente se estiverem motivados para tal.

Resumo
Muitos problemas relacionados ao ensino e
aprendizagem de Arquitetura de Computadores podem
ser observados atualmente. Um dos principais
problemas a falta de motivao da maioria dos
alunos para o seu aprendizado. Este artigo apresenta
uma proposta de abordagem prtica para motivao
ao aprendizado de Arquitetura de Computadores. Esta
tem a finalidade de despertar nos alunos a conscincia
de que o entendimento de aspectos arquiteturais
fundamental para o desenvolvimento de sistemas de
software de qualidade. Seu foco principal criar tal
motivao de forma atrativa e estimulante aos alunos,
utilizando para isto, anlises e modificaes de
programas paralelos prontos.

1. Introduo
Atualmente, a rea do conhecimento Arquitetura de
Computadores (AC) no gera, na maioria dos alunos, a
motivao para buscar mais aprendizado e se
aprofundar no assunto. Esse fato torna ineficiente o
aprendizado da mesma, culminando com a formao de
profissionais incapazes de construrem sistemas de
software mais efetivos na explorao dos recursos de
hardware oferecidos pela arquitetura utilizada [1].
Um agravante surge neste momento em que os
novos modelos de sistemas de computao com
mltiplos ncleos de processamento dominam o
mercado [1,2]. Nesses modelos, os algoritmos precisam
ser criados e implementados observando as
caractersticas de paralelismo para se buscar a mxima
eficincia oferecida pelo hardware, pois o paralelismo
no est mais transparente para o desenvolvedor.

2. Trabalhos Relacionados
Alguns trabalhos [1,3,5,6] relacionados citam a
necessidade de se criar novos mtodos de ensino para
AC, principalmente utilizando o paralelismo nos
cdigos de programao. Isto se d devido evoluo
do hardware, sobretudo a inovao arquitetural e
tecnolgica dos processadores, com a utilizao de
mltiplos ncleos, gerando a necessidade de formao

Workshop sobre Educao em Arquitetura de Computadores - WEAC 2010

programas paralelos com qualidade utilizando os


recursos de alto processamento dessas novas
arquiteturas, criando nos alunos a necessidade de se
estudar e aprender AC.

de profissionais com os conhecimentos necessrios


para a construo de aplicaes paralelas de qualidade.
O artigo [3] apresentou uma proposta de motivao
para alunos de graduao do 1 perodo do curso de
Sistemas de Informao. A abordagem baseou-se no
uso de iniciao cientfica na disciplina Introduo
Computao para incentivar os alunos a aprender AC.
Segundo esse artigo, esses alunos ainda no possuem
conceitos formados em relao AC, e se mostram
motivados a estudar e entender reas de pesquisas
diferentes quando aguados pela curiosidade. O artigo
ainda discutiu a importncia de outras disciplinas do
curso trabalharem em conjunto com a disciplina AC,
para que os alunos entendam sua correlao de
importncia, ficando assim mais motivados a estudar e
aprender AC, por compreender tal necessidade.
Em [5] a proposta foi motivar os alunos ensinandolhes conceitos de vrios paradigmas de computao e
programao, estabelecendo um mtodo para resoluo
de verses simplificadas e reduzidas de problemas
computacionais, baseados nos desafios da computao
levantados no Seminrio Grandes Desafios da
Computao no Brasil (GDC) [7]. Os alunos devero
propor a soluo mais adequada natureza do
problema em questo, de acordo com o seu nvel de
conhecimento, implementar e testar a soluo. Dessa
forma, do primeiro at os perodos finais do curso, o
aluno ir aprimorar a soluo do mesmo.
Em [6] a proposta de motivao baseou-se na
incluso de atividades prticas e simples nas disciplinas
de laboratrio relacionadas com AC. Essas atividades
consideradas simples permitiram aos alunos um contato
prtico e serviram como introduo a diversos
conceitos de AC. Os exemplos de atividades propostas
consistiram na implementao de algoritmos em
linguagem C utilizando matrizes e/ou vetores e diversas
operaes como multiplicao, acesso a dados, etc.
Atravs das atividades, o aluno pode analisar o tempo
de processamento, impacto em todos os nveis de cache
e previso de saltos no processador. Outra atividade foi
a comparao do desempenho de diversos
computadores com pacotes de benchmark.
No artigo [1] a proposta foi a revitalizao da
educao em AC com a construo de programas
paralelos com qualidade. Nesse artigo foram abordadas
diversas causas que desmotivam os alunos a
aprenderem AC. A proposta de soluo fundamentouse nas mudanas promovidas pelas novas arquiteturas
com mltiplos ncleos de processamento, considerando
o momento oportuno para o ensino de AC, pois a
construo de programas paralelos se tornou
importante e inevitvel. Discutiu-se, tambm, sobre a
motivao dos alunos para a implementao de

3. Proposta de Abordagem
A proposta de abordagem est baseada no interesse
dos alunos de cursos de tecnologia pelas novidades da
rea, mas levando em considerao que cada aluno
nico no que se refere a fatores motivantes. Esta a
razo da necessidade de uma abordagem que permita
um reconhecimento prvio dos perfis dos alunos e um
tratamento diferenciado, conforme o perfil. Para
explorar o interesse por novas tecnologias, sero
utilizados programas paralelos prontos, em face ao
desenvolvimento das novas arquiteturas de hardware
baseadas em processadores com mltiplos ncleos, a
qual os cursos vem se adaptando, rpida ou lentamente.
J a heterogeneidade dos perfis dos alunos ser
explorada disponibilizando uma variedade de temas a
serem trabalhados pelos programas paralelos, de forma
que cada aluno escolha algo adequado ao seu interesse.
Inicialmente, sero utilizados programas multimdia,
jogos de ao e jogos de estratgia, eles aceitaro
mudanas em atributos como nmero de threads, modo
de acesso s estruturas de dados, etc., refletindo na
forma como o processador, a memria cache e outros
componentes do computador so utilizados, e ainda,
permitiro uma avaliao de desempenho, atravs de
relatrios e com a prpria observao da qualidade da
execuo do programa.
Os alunos executaro os programas que mais se
interessarem, orientados por um professor, um monitor,
ou acessando uma aula virtual. Tendo executado as
atividades iniciais, ele produz um relatrio com os
resultados das anlises, buscando apresent-los de
forma mais condensada, com tabelas e grficos. Este
relatrio tambm deve ser utilizado para definir o nvel
de conhecimento de cada aluno, que neste momento
poder ter percebido que precisa estudar e aprender AC
para efetuar melhorias no programa utilizando melhor
os recursos de hardware.
Inicia-se, ento, a fase interativa incremental do
aprendizado. Atividades compatveis ao nvel de cada
aluno ou grupo, avaliado atravs do relatrio da
atividade anterior, devem ser aplicadas para guiar a
aquisio de novos conhecimentos em AC, sendo
necessrio que exista um novo retorno para a prxima
fase, na forma de relatrio, questionrio, etc. Faz parte
do conjunto de atividades a interao com os outros
grupos, para troca de conhecimento e experincias de
aprendizado, o que contribuir para o nivelamento

10

Workshop sobre Educao em Arquitetura de Computadores - WEAC 2010

contnuo dos alunos. A abordagem deve ser aplicada


antes das disciplinas relacionadas com AC, como
forma de motivao inicial; durante essas disciplinas,
para consolidao e aprofundamento do conhecimento
terico; e ainda, depois dessas, como meio de criar um
ambiente de aprendizagem contnuo para o aluno.
Resumidamente, suas atividades consistem em:
1. Execuo e anlise de programas prontos, com
gerao de relatrios;
2. Manipulao paramtrica e anlise, com
gerao de relatrios;
3. Modificao de cdigo fonte, execuo e
anlise, com gerao de relatrios;
4. Execuo de atividades de nivelamento.
As atividades 3 e 4 formam um ciclo que pode ser
repetido at a assimilao de todo contedo ou o
trmino do tempo disponvel.

O experimento foi realizado no laboratrio do


PPGEE PUC Minas, utilizando um pequeno grupo de
alunos ingressantes no Mestrado em Engenharia
Eltrica, egressos de cursos variados como Engenharia
Eltrica e Sistemas de Informao. Estes alunos
experimentaram as atividades 1 e 2 da abordagem,
executando o programa, ao mesmo tempo que
alteravam seus parmetros, e construram relatrios
com os resultados, contendo anlise textual, tabelas e
grficos.
Para a elaborao do relatrio foram realizadas 30
execues para cada conjunto de parmetros, variando
o tamanho [1024x1024, 2048x2048, 4096x4096] e a
direo de varredura [horizontal, vertical] das matrizes
e a quantidades de threads utilizadas [1, 2, 4, 8].
A Figura 2 apresenta um dos grficos construdos
pelos alunos. Ele mostra o desempenho da varredura
vertical da matriz, em um computador com processador
AMD Turion(TM) 64 X2 Mobile, 1.90GHz, 2 GB de
RAM, 128 KB de Cache L1, 512 KB de Cache L2 e
Windows XP Professional SP 3, contexto que
apresentou as diferenas de desempenho mais
perceptivas.

4. Resultados da Aplicao da Abordagem


A abordagem est em processo de teste e validao.
Os resultados apresentados referem-se aplicao das
atividades 1 e 2 (focadas na motivao inicial dos
alunos) e sem a construo da variedade de programas
necessrios. Utilizou-se, ento, um programa de
manipulao de matrizes com multithread em
linguagem Java, refletindo a manipulao de imagens
em nvel da sua representao de dados.
O programa utilizado executa operaes matriciais,
permitindo em sua interface a alterao de alguns
parmetros principais, como tamanho e direo de
varredura das matrizes, nmero de threads e nmero de
repetio do experimento, para clculo do tempo mdio
de execuo. Ao final, apresentado um relatrio
contendo a configurao dos parmetros e o
desempenho alcanado. A interface principal do
programa pode ser visualiza na Figura 1, a seguir.

Grfico Soma Vertical


Matriz 1024 x 1024

Matriz 2048 x 2048

Matriz 4096 x 4096

5000000000
Tempo (ns)

4000000000
3000000000
2000000000
1000000000
0
1 trhead

2 trheads

4 trheads

8 trheads

Figura 2. Tempo de execuo por nmero de Threads e tamanho


de matriz.

Observando os alunos enquanto utilizavam a


abordagem e analisando os relatrios produzidos,
percebeu-se que estes foram capazes de identificar as
diferenas de desempenho, quando variavam os
parmetros. Eles observaram a influncia da arquitetura
do computador, mas no as compreenderam de forma
especfica, principalmente em aspectos menos
discutidos como memria cache, conjunto de
instrues, entre outros, e com menor intensidade em
aspectos mais comuns como o nmero de ncleos do
processador. Percebeu-se tambm, que estas dvidas
geraram nos alunos a motivao de se aprender AC,
para ento compreenderem o comportamento
observado e tornarem-se aptos a produzir sistemas de
software de melhor desempenho.
Os alunos puderam perceber que, dependendo do
parmetro, gerada uma pequena ou grande variao

Figura 1. Janela do Programa de Operaes Matriciais em Java


multithread.

11

Workshop sobre Educao em Arquitetura de Computadores - WEAC 2010

do tempo de processamento, deixando o programa mais


rpido ou mais lento. A partir deste processo, surgiu a
curiosidade de se entender a razo pela qual um mesmo
cdigo fonte com poucos parmetros alterados
executado mais rapidamente sem modificar o hardware
do computador. Esta curiosidade forneceu subsdios
para se buscar mais informaes acerca de AC,
gerando, portanto, a motivao para a busca de
conhecimento em AC, cumprindo o objetivo da
abordagem.
Os alunos egressos dos cursos da rea de
Computao puderam, devido sua experincia prvia
com AC, comparar a abordagem com os mtodos
tradicionais. J os alunos das reas de Engenharia
puderam
experimentar
uma
facilidade
para
entendimento dos conceitos introdutrios de AC, mas
no quanto os alunos da Computao, principalmente
nos conceitos mais avanados, o que pode ser
justificado pelo nvel de conhecimento prvio
relacionado com AC dos alunos.
Para os alunos, a abordagem facilita o aprendizado e
ajuda na construo de um conhecimento de melhor
qualidade, uma vez que complementa a teoria, ligando
a rea do conhecimento AC com aplicaes reais.
No futuro, sero aplicadas as atividades 3 e 4,
conforme prev a abordagem, para que ela possa,
ento, ser analisada de forma completa.

como C/C++, C#, etc.


motivao dos alunos.
atividades da abordagem
alunos (antes, durante
relacionadas com AC),
abrangente.

e avaliar seus efeitos na


Enfim, aplicar todas as
com um nmero maior de
e depois de disciplinas
para uma anlise mais

5. Concluso

[4] Anselmo, D. N.; Campos Jnior, R. O. Proposta


para o Processo de Ensino e Aprendizagem de
Arquitetura de Computadores nos Cursos de
Engenharia Eletrnica. Workshop sobre Educao em
Arquitetura de Computadores (WEAC), 2009, So
Paulo, SP, Brasil. p. 52-55.

6. Referncias Bibliogrficas
[1] Campos Jnior, R. O. ; Anselmo, D. N.
Revitalizao da educao em arquitetura de
computadores, atravs do foco na construo de
aplicaes paralelas com qualidade. Workshop sobre
Educao em Arquitetura de Computadores (WEAC),
2009, So Paulo, SP, Brasil. p. 99-102.
[2] Maciel, E.; Machado, F. R. S.; Junio, L. Ensino de
Arquitetura Paralela ao Longo da Graduao em
Computao. Workshop sobre Educao em
Arquitetura de Computadores (WEAC), 2008, Campo
Grande, MS, Brasil. p. 33-36.
[3] Freitas, H. C. Pesquisa Cientfica no 1 Perodo
como Motivao para o Estudo de Arquitetura de
Computadores. Workshop sobre Educao em
Arquitetura de Computadores (WEAC), 2009, So
Paulo, SP, Brasil. p. 88-91.

Os resultados iniciais mostram que o uso da


abordagem proposta tem o potencial de motivar os
alunos para o aprendizado de AC. A execuo e
manipulao do programa ajudou os alunos a
perceberem que determinadas caractersticas da
arquitetura dos computadores podem influenciar
substancialmente no desempenho das aplicaes;
fornecem tambm subsdios para a classificao dos
alunos com base no nvel de conhecimento para
posterior tratamento focalizado; alm de chamarem a
ateno por serem aplicaes reais.
Em relao aos trabalhos relacionados, a principal
contribuio da abordagem est na utilizao de
aplicaes multimdia de interesse dos para motiv-los
ao aprendizado de AC. Especificamente em relao
[1], a contribuio est no fato da abordagem basear-se
em modificaes de programas paralelos prontos, para
anlise do efeito da arquitetura do computador em seu
desempenho, ao invs de tentar alcanar a qualidade a
partir da sua construo.
Como trabalhos futuros prope-se a implementao
e utilizao da variedade de softwares propostos,
utilizando tambm outras linguagens de programao

[5] Ribeiro, A. I. J. T.; Rimsa, A. Tcnica


Motivacional Para o Ensino de Arquitetura de
Computadores com nfase nos Grandes Desafios da
Computao. Workshop sobre Educao em
Arquitetura de Computadores (WEAC), 2008, Campo
Grande, MS, Brasil. p. 29-32.
[6] Azevedo, R. J. Arquitetura de Computadores Um
conjunto de Exerccios de Motivao. Workshop sobre
Educao em Arquitetura de Computadores (WEAC),
2009, So Paulo, SP, Brasil. p. 68-71.
[7] Relatrio sobre o Seminrio realizado em 8 e 9 de
maio de 2006. Grandes desafios da Pesquisa em
Computao no Brasil 2006-2016. Disponvel em:
http://www.sbc.org.br/index.php?language=1&content
=downloads&id=272. Acesso em agosto 2010.

12

Você também pode gostar