A Computação Paralela
Por: João Vitor • 1/12/2021 • Trabalho acadêmico • 3.048 Palavras (13 Páginas) • 123 Visualizações
Slide 1- Introdução – João Vitor
Slide 2 – João Vitor
Introdução
Nas últimas décadas a taxa de crescimento do poder de processamento de computadores e os tradicionais supercomputadores tem sido algo em torno de 20% ao ano, enquanto que a taxa de crescimento do poder de processamento de microprocessadores tem sido algo em torno de 40% ao ano.
A computação paralela surgiu para tentar resolver uma das maiores restrições computacionais que é o processamento das informações de forma sequencial. A constante demanda de poder computacional vem gerando a necessidade de processadores cada vez mais rápidos para viabilizar aplicações com elevada taxa de computação e diminuir o tempo de resposta desejado pelos usuários.
Explique: Então nas melhorias da arquitetura servem para diminuir o esforço necessário para processar uma instrução por ciclo de máquina, enquanto que avanços tecnológicos tendem a reduzir o tempo necessário por ciclo de instrução. Mas existe a necessidade de sistemas computacionais melhores, e essa evolução pode ser conseguida através do uso de redes de interconexão modernas que facilite interligar diversos computadores através de um barramento externo de alta velocidade. E existem alguns problemas a serem resolvidos que requerem um grande poder de processamento de dados, por exemplo, simulações numéricas em sistemas complexos como clima, computação gráfica, aplicações aerodinâmicas, programas de exploração sísmica, engenharia genética, entre inúmeras outras aplicações. O modelo de execução sequencial foi proposto nos primórdios da computação, seu precursor foi John von Neumann. Um computador sequencial é formado basicamente pelos seguintes elementos de hardware: um único processador, memória e dispositivos de entrada e saída.
Slide 3 – João Vitor
Pois sistemas paralelos de uma forma ou de outra sofrem influência de outros fatores que não o do processador, tais como:
Mudar a programação do modelo sequencial para a programação paralela é muito difícil, pois já existe toda uma cultura criada quanto à maneira sequencial de projetar programas.
Explique: Existem trechos de códigos para resolução de alguns problemas que são intrinsecamente sequenciais não podendo ser paralelizados;
Á comunicação entre os processadores para a divisão de tarefas.
Explique: Esse problema gera um outro gargalo que não o do processamento, que é o do tempo gasto para enviar um dado a ser processado em um determinado processador. Os esforços tecnológicos para melhorar as redes de interconexão e minimizar essa restrição física são tão grandes quanto o de se construir processadores sequenciais mais rápidos.
Concorrência entre os processadores para acessar a memória compartilhada.
Explique: Qual processador teria direito à escrita e à leitura em um determinado trecho na memória. Existem outros inúmeros fatores que influenciam a computação paralela e serão abordados no decorrer do trabalho.
Slide 4 – João Vitor
Mas o que é computação paralela? A definição clássica dada por é : “Um computador paralelo é um conjunto de elementos de processamento que se comunicam e cooperam para resolver rapidamente grandes problemas”.
PROCESSAMENTO SEQÜENCIAL
O modelo de processamento sequencial, bem como o computador, teve dentre seus criadores Blaise Pascal, Charles Babbage e John von Neumann (cada um em sua época). John von Neumann apresentou um modelo elementar de execução sequencial, composto basicamente por memória, unidade aritmética lógica, unidade de controle e os dispositivos de entrada/saída.
Slide 5 – João Vitor
A paralelização proporcionou grandes mudanças nas arquiteturas que evoluíram ao longo dos anos com o surgimento de diversas características nas máquinas, tais como:
O aparecimento do conceito de palavra (word), leva à manipulação de vários bits em paralelo, ao invés da unidade básica (byte);
Os processadores de entrada e saída possibilitaram o paralelismo entre os periféricos e o processador principal, tornando as tarefas de E/S mais independentes;
Como as memórias também eram lentas e criavam um gargalo, surgiram técnicas como o uso da memória cache;
O aparecimento dos pipelines ou vias internas do microprocessador, que paralelizam a execução de instruções e operações aritméticas de uma forma implícita;
Slides 6 – João Vitor
No período de 1953 a 1970, o paralelismo existente era transparente ao usuário, influenciando apenas na melhoria do desempenho da máquina, sendo denominado paralelismo de baixo nível;
Em 1975 o Illiac, com 64 processadores, a primeira forma em que o paralelismo diferencia do paralelismo de baixo nível;
O surgimento da filosofia VLSI para projetos de microcomputadores, oferece maior facilidade e menor custo no desenvolvimento de microcomputadores cada vez mais complexos e menores;
A partir dessa época surgiram dois caminhos distintos: Arquiteturas paralelas e sistemas distribuídos ou baseados em redes e as máquinas vetoriais;
Slide 7 - Davi
Michael Flynn (GUTZMANN, 1996) em 1966 classificou os inúmeros modelos de arquitetura computacional de acordo o número de instruções executadas e o número de conjuntos de dados tratados, essa caracterização produziu quatro classes de computadores, que são:
Arquitetura SISD - Single Instruction, Single Data: conjunto único de instruções, conjunto único de dados.
Explique: É a identificação mais simples, em que a máquina é considerada sequencial, pois só processa uma única instrução sobre um único dado por vez.
Arquitetura MISD - Multiple Instruction, Single Data: conjunto único de instruções, múltiplos conjuntos de dados.
Explique: Seriam computadores que executam várias instruções ao mesmo tempo sobre um único dado. Não existe nenhuma máquina implementada neste modelo, e até mesmo Flynn duvidou que algum dia isso pudesse existir.
Arquitetura SIMD – Single Instruction, Multiple Data: conjunto único de instruções, múltiplos conjuntos de dados.
Explique: É o equivalente ao paralelismo de dados,
...