• Nenhum resultado encontrado

Teoria (Estudo das Derivadas) x Prática (Velocidade de Processamento Paralelo): Dosagem de Sucesso na Universidade Positivo

N/A
N/A
Protected

Academic year: 2021

Share "Teoria (Estudo das Derivadas) x Prática (Velocidade de Processamento Paralelo): Dosagem de Sucesso na Universidade Positivo"

Copied!
7
0
0

Texto

(1)

Teoria (Estudo das Derivadas) x Prática (Velocidade de

Processamento Paralelo): Dosagem de Sucesso na

Universidade Positivo

Giancarlo de França Aguiar1, Edson Pedro Ferlin1, Maurício Perreto1 e Bárbara de Cássia Xavier Cassins Aguiar2

1Engenharia da Computação – Universidade Positivo (UP) – Curitiba – PR – Brasil 2Coordenação Regional de Tecnologia Educacional -

Secretaria de Estado de Educação do Paraná (SEED-PR) – Curitiba, PR – Brasil

giancarl@up.edu.br, ferlin@up.edu.br, mperreto@up.edu.br e babimatematica@yahoo.com.br

Abstract. The use of computational resources for data treatment (qualitative or quantitative) became essential. The market demands agility and precision in this treatment. In this paper a composition dosed between theory (derivatives study) and practical (parallel processing speed) can successfully be boarded in teach-learning process, is illustrated. One of main results achieved by the experience is the student’s motivation (they feel more motivated for research when they perceive that concepts seen in room still can to be applied in its period of permanence in academy).

Keywords: Partial Derivatives, Parallel Processing, Teaching/Apprenticeship Relation.

Resumo. A utilização de recursos computacionais para o tratamento de dados (qualitativos ou quantitativos) tornou-se imprescindível. O mercado demanda agilidade e precisão neste tratamento. Neste artigo está ilustrado como uma composição dosada entre teoria (estudo das derivadas) e prática (velocidade em processamento paralelo) pode ser abordada com sucesso no processo de ensino e aprendizagem. Um dos principais resultados obtido pela experiência é a motivação dos estudantes (eles se sentem mais motivados para a pesquisa quando percebem que os conceitos vistos em sala podem ser aplicados ainda em seu período de permanência na academia).

Palavras-chave: Derivadas Parciais, Processamento Paralelo, Relação Ensino-Aprendizagem.

1. Introdução

O que é processamento paralelo? Segundo a definição de Hwang et al. (1985): é uma forma eficiente do processamento da informação com ênfase na exploração de eventos concorrentes no processo computacional. A razão para o surgimento do Processamento Paralelo é a capacidade de aumentar o processamento com uma única máquina. Como o aumento da velocidade nas máquinas seqüenciais é limitado pela tecnologia, à solução

(2)

empregada para aumentar o poder de processamento é a utilização de processadores em paralelo.

As linguagens de programação hoje disponíveis em computadores paralelos podem ser grosseiramente classificadas em três grupos. O primeiro grupo é formado por novas linguagens projetadas especificamente para processamento paralelo. O segundo por linguagens convencionais ampliadas por primitivas para expressar o paralelismo; e o terceiro por linguagens convencionais sem extensões, onde o paralelismo é extraído automaticamente pelo compilador, de acordo com Mokarzel et al. (1988), Perrott (1990).

Atualmente, todos os computadores paralelos comercialmente disponíveis são programados ou por meio de linguagens convencionais com extensões ou por meio de novas linguagens paralelas. Este fato é inconveniente para os usuários, visto que o uso de tais linguagens exige alterações nos seus programas. Para evitar tal esforço, devem-se utilizar linguagens convencionais sem extensões, onde a tarefa de extrair paralelismo é efetuada automaticamente pelo compilador [Ferlin 1997].

Os sistemas de processamento paralelo, geralmente vistos como a opção mais viável para a computação de alto desempenho, apresentam-se atualmente em uma crise. Apesar de terem sido desenvolvidos diversas arquiteturas paralelas alternativas, e de muitas dessas arquiteturas apresentarem a possibilidade de bom crescimento da performance com o número de processadores e boas razões preço/desempenho, no entanto, o uso de processamento paralelo é ainda extremamente restrito. O problema básico que tem limitado o uso mais amplo de arquiteturas paralelas é relacionado à programação dessas máquinas. Outro fator a considerar, é velocidade de processamento em função da fração serial dos programas (que são rodados nas máquinas paralelas).

Por sua vez, o aumento da velocidade (Speedup) de um programa que faz uso de múltiplos processadores em computação distribuída torna-se limitado devido a porção serial (fração seqüencial) que deve seguir o programa [Amdahl 1967].

Diante disso, foi discutido neste trabalho, como uma composição dosada entre teoria (estudo de derivadas parciais na obtenção teórica da velocidade de máquinas em processamento paralelo) trabalhada na disciplina de Cálculo Aplicado, e prática (simulação da velocidade de processamento paralelo em laboratório) discutida na disciplina de Fundamentos de Programação, pode ser abordada com sucesso no processo de ensino e aprendizagem. O tratado desenvolveu-se em dois momentos a discutir: estudo teórico e comprovação prática.

2. Desenvolvimento

A maioria dos computadores tem apenas um processador que pode ser utilizado para cálculos. Os supercomputadores modernos, entretanto, têm entre dois e vários milhares de processadores. Um supercomputador multi-processador é comparado a um computador uni-processador em termos de speedup.

A speedup S é o número de vezes mais rápido que um cálculo pode ser feito com um multi-processador, do que com um uni-processador. A Figura 1 a seguir ilustra uma representação de um diagrama de processamento paralelo em nível de

(3)

Macrotasking (processamento paralelo em nível de laços), onde as tarefas são divididas entre os processadores alocados na arquitetura.

Figura 1. Processamento paralelo em nível de macrotasking.

Após toda uma discussão teórica (do tema derivadas parciais e suas aplicações no cálculo do tempo de execução de processamento paralelo em nível de macrotasking) e desenvolvimento de exercícios em sala de aula (8 horas/aula), na disciplina de Cálculo Aplicado (2° ano de Engenharia da Computação) e com tarefas domiciliares (4horas/aula), os estudantes são convidados a desenvolverem a resolução de uma atividade (em grupos) em sala.

O exercício teórico consiste na resolução de quatro questões envolvendo derivadas parciais (ilustradas a seguir) segundo o modelo de Amdahl. A lei de Amdahl (Equação 1 abaixo) é uma relação matemática originada para quantificar a velocidade (S) em processamento paralelo. ) 1 ( . ) , ( q p q p q p S − + = (1) Em que p é o número de processadores e q é a fração do cálculo que pode ser realizada utilizando todos os processadores disponíveis em paralelo, ou seja, usando-os de maneira que os dados sejam processados ao mesmo tempo por unidades separadas. A situação é considerada ideal para o paralelismo completo quando q=1. São quatro as questões a discutir:

1. Se q=0,8, ache a speedup quando p =10; p=100 e p=1000. Discuta os resultados e dê suas opiniões a respeito.

2. Se q=0,8. Mostre que a speedup S não pode exceder 5, independentemente do número de processadores disponíveis.

S1 S2 S3 S4 Tempo de Execução Processador 0 Macrotasking S1 S2 S3 S4 Processador 0 Processador 1 Processador 2 Processador 3

(4)

3. Ache a taxa instantânea de variação de S em relação à q no ponto ) 8 , 0 , 100 ( ) , (p q = .

4. Qual a taxa instantânea de variação no item anterior se há paralelismo completo,

e como o número de processadores afeta esta taxa de variação? Explique.

Ao final do encontro os estudantes entregaram um relatório (manuscrito) com os resultados teóricos e suas conclusões. A Figura 2 abaixo ilustra uma parte de um dos relatórios recebidos.

Figura 2. Resolução da questão 4 por um grupo de estudantes.

Os estudantes resolveram a derivada parcial da função (lei de Amdahl) em relação q e afirmaram que: quando existe o paralelismo completo, à medida que o número de processadores aumenta a sua taxa de variação (derivada) speedup também aumenta.

Na disciplina de Programação, os estudantes foram levados ao laboratório da Universidade (laboratório que possui o cluster de processamento paralelo), e testaram na prática a Speedup do cluster para valores de q diversos. Novamente os alunos

entregaram um relatório (final), que por sua vez, comprovou na prática a utilidade de cálculos experimentais (vistos na teoria).

3. Discussão e Resultados

Ilustramos a seguir (Tabela 1) um conjunto de dados constante em um relatório entregue na disciplina de Fundamentos de Programação, com as velocidades de processamento, número de processadores rodando, número de processos e outros dados medidos no laboratório e entregues por um grupo de estudantes.

(5)

Tabela 1. Dados de velocidade de processamento de um grupo de trabalho. TTG TC TE QC QDT QDR QDC TMC NL NP NPR VP 0,60 0,59 0,0089 8192,0 16384,0 4096,0 20480,0 0,00007180 4096,0 2,0 7(1) 1,68 0,49 0,48 0,0090 8192,0 16384,0 4096,0 20480,0 0,00005910 4096,0 3,0 7(1) 2,03 0,34 0,33 0,0091 8192,0 16384,0 4096,0 20480,0 0,00004020 4096,0 4,0 7(1) 2,95 0,33 0,32 0,0098 8192,0 16384,0 4096,0 20480,0 0,00003940 4096,0 5,0 7(1) 3,01 0,28 0,27 0,0100 8192,0 16384,0 4096,0 20480,0 0,00003240 4096,0 6,0 7(1) 3,63 0,21 0,20 0,0105 8192,0 16384,0 4096,0 20480,0 0,00002390 4096,0 7,0 7(1) 4,85 0,20 0,19 0,0120 8192,0 16384,0 4096,0 20480,0 0,00002280 4096,0 8,0 7(1) 5,02 Onde: TTG: Tempo total gasto; TC: Tempo de comunicação; TE: Tempo de execução; QC: Quantidade de comunicações; QDT: Quantidade de dados transmitidos; QDR: Quantidade de dados recebidos; QDC: Quantidade de dados comunicados; TMC: Tempo médio de comunicação; NL: Número de loops; NP: Número de processos; NPR: Número de processadores rodando e VP: Velocidade de Processamento.

A Figura 3 ilustra a relação entre número de processadores e velocidade de processamento. Ao aumentarmos o número de processadores trabalhando em paralelo aumentamos a velocidade de processamento.

Figura 3. Relação número de processos x velocidade de processamento.

Após todo o decorrer do processo de ensino-aprendizagem, os estudantes foram convidados a responder um questionário de satisfação com 5 apontamentos (os alunos mensuravam notas de 1,0 a 10,0) . A seguir ilustramos o questionário e os resultados obtidos nesta pesquisa de opinião realizada com os alunos participantes do projeto realizado no ano de 2009 no 2° ano do curso de Engenharia da Computação da Universidade Positivo.

1. Qual o grau de relacionamento entre o trabalho proposto e as disciplinas

de seu curso?

2. O trabalho está adequado ao seu curso e/ou a alguma disciplina que você

(6)

3. O trabalho proporcionou aquisição de novos conhecimentos práticos?

4. O professor que acompanhou o trabalho conduziu e interagiu

adequadamente com o grupo de alunos? 5. Dê uma nota geral para o trabalho proposto.

Estão contidos na Tabela 2 os dados da pesquisa realizada com os 16 estudantes participantes.

Tabela 2. Notas mensuradas por 16 alunos participantes do trabalho.

Questão Notas atribuídas de 1,0 a 10,0 Média por

Questão 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 1 1 -- -- -- -- -- 1 4 4 6 8,5 2 -- -- -- -- -- 1 1 2 7 5 8,88 3 -- -- -- -- -- -- -- 2 2 12 9,63 4 -- -- -- -- -- -- 2 2 3 9 9,19 5 -- -- -- -- 1 -- 1 3 6 5 8,75 Média Total: 8,99

Como exemplo, temos na linha 2 em negrito, que um estudante deu nota 6,0 ao questionamento 2 (O trabalho está adequado ao seu curso e/ou a alguma disciplina que você freqüenta ou freqüentou?) um estudante deu nota 7,0, dois estudantes deram nota 8,0, sete estudantes deram nota 9,0 e cinco estudantes deram nota 10,0.

A média amostral para a questão (2) foi 8,88. Ou seja, o índice indica que os estudantes aprovaram a relação entre a prática presenciada no trabalho e os conceitos discutidos em sala de aula pelos professores.

4. Considerações Finais

O índice (média geral) igual a 8,99 relata a satisfação dos estudantes em terem participado do trabalho, e podem indicar uma dosagem apropriada entre teoria e prática em sala de aula.

Nas avaliações gerais (provas bimestrais do curso de engenharia da computação) os estudantes também obtiveram melhores notas nas duas disciplinas do projeto.

Com as respostas e comentários do questionário podemos relatar que o fator motivacional é significativo. A seguir tecemos dois comentários de estudantes que participaram do trabalho:

“Apesar de um pouco cansativo o trabalho foi muito bom. Acho interessante esse tipo de atividade, pois creio que apenas a teoria da sala de aula não basta. Nós precisamos ver na prática os procedimentos para facilitar e complementar o aprendizado”.

“O trabalho foi satisfatório, e acrescentou bastante conhecimento na minha área, com assuntos abordados no dia a dia de programação paralela, os professores

(7)

corresponderam às expectativas. Acredito que o trabalho tenha saído como o planejado, correspondeu às expectativas e ajudou bastante no entendimento da matéria”.

5. Referencias

Amdahl, G. (1967) “Validity of the Single Processor Approach to Achieving Large-Scale Computing Capabilities” AFIPS Conference Proceedings, (30), pp. 483-485. Ferlin, E. P. (1997) “Avaliação de Métodos de Paralelização Automática”, Dissertação

de Mestrado, Universidade de São Paulo, IFSC, São Carlos, SP.

Hwang, K. (1984) Advanced Parallel Processing with Supercomputer Architectures Proceeding of the IEEE, vol. 75, n. 10, Pág. 1348-79.

Mokarzel, F. C. & Panetta, J. (1988) “Reestruturação Automática de Programas Sequenciais para Processamento Paralelo” II Simpósio Brasileiro de Arquitetura de Computadores - Processamento Paralelo (II -SBAC-PP) - Anais Vol 1, Pág. 5.B.1.1. Perrott, R. H. (1990) “Parallel Languages and Parallel Programming” Parallel

Referências

Documentos relacionados

[1] A presença de cálculos urinários foi confirmada por ecografia abdominal, onde se observavam vários cálculos de radiodensidade elevada, cuja constituição mineral veio

Dois termos têm sido utilizados para descrever a vegetação arbórea de áreas urbanas, arborização urbana e florestas urbanas, o primeiro, segundo MILANO (1992), é o

Quanto ao tratamento periodontal em pacientes com coagulopatas hereditárias, é correto afirmar: a Polimentos coronarianos devem ser realizados de maneira esporádica, pois

APRENDIZAGEM ATIVA NA EDUCAÇÃO INFANTIL: TRANSFORMANDO A SALA DE AULA EM UM ESPAÇO DE CRIATIVIDADE Eloá Fernanda de Freitas1* Elizabeth Ramalho Soares Bastos2** Resumo: Este artigo

Através das observações realizadas em campo, buscamos enfatizar de forma simples a perspectiva dos conselhos escolares como peça essencial para o desenvolvimento do trabalho

O Mapeamento dos Processos é fundamental para implementação da Lean Construction, porque sem ele é difícil identificar as atividades de fluxo e as atividades

Embora o momento ideal para obtenção de sementes de alta qualidade, seja logo após a maturidade fisiológica, a alta umidade da semente e da própria planta, associada ao

Traçar um perfil das mulheres trabalhadoras não trata apenas de definir características dessas mulheres, mas também de compará-las aos homens trabalhadores, para