Prévia do material em texto
Métricas de desempenho na programação paralela Exercícios 1. No processamento que acontece na programação paralela, os dados são gerados, armazenados e transmitidos na rede. Enquanto isso, o disco tem a responsabilidade de mover os dados para o processador que gerencia diferentes estágios. Para medir essa entrega são necessárias as métricas de desempenho. E para realizar a medição do desempenho de um sistema paralelo devem ser levados em conta alguns fatores e o comportamento de cada um. A respeito desses fatores, considere as seguintes afirmações e classifique-as em verdadeiras (V) ou falsas (F). ( ) Não é necessário o uso das métricas de desempenho em algumas situações, entretanto, em outras elas são rigorosas. ( ) Na medição do desempenho de um sistema paralelo, o tempo de execução não está condicionado ao tamanho da entrada de dados. ( ) A escalabilidade é a medida da capacidade do sistema paralelo de ampliar o número de processadores para envio dos dados. ( ) A escalabilidade apresenta, especialmente, a capacidade com que os recursos de processamento podem oferecer eficácia. Assinale a alternativa que contenha a sequência correta. Você acertou! B. V – F – F – V. Para medir o desempenho de um sistema paralelo, é preciso considerar diversos fatores e o comportamento de cada um deles, podendo ser uma tarefa complexa. A importância do uso de métricas de desempenho está condicionada à natureza do problema que necessita ser resolvido. Em algumas situações, as métricas de desempenho consideradas são bastante rigorosas, enquanto em outras elas podem não ser usadas. O tempo de execução em um sistema paralelo está condicionado ao tamanho da entrada de dados e à arquitetura do computador que está executando o paralelismo, considerando, principalmente, o número de processadores que compõe a estrutura. A escalabilidade diz respeito à medida da capacidade do sistema paralelo de aumentar o fator de aceleração em relação ao número de processadores disponíveis. Sendo que a escalabilidade mostra, em especial, a habilidade dos recursos de processamento entregarem eficácia. 2. A medição de desempenho na programação paralela tem como objetivo mais importante examinar se algum aspecto da funcionalidade poderá influenciar de forma negativa na utilização dos recursos e na aplicabilidade dos sistemas e aplicações. Existem algumas etapas a serem seguidas para assegurar que a medição de desempenho aconteça corretamente. A respeito dessas etapas, escolha a alternativa correta. Você acertou! A. Para efetuar a avaliação de desempenho na programação paralela, as características da funcionalidade do sistema ou da aplicação precisam ser levadas em conta. Para garantir que a medição de desempenho na programação paralela seja realizada da forma correta, podem ser adotadas algumas etapas para a avaliação de desempenho. Todo sistema ou aplicação pode ser avaliado conforme os dados que recebe ou que fornece, ou conforme as informações consumidas, considerando as particularidades de sua funcionalidade. Mesmo com o uso de parâmetros, fatores e métricas de análise de desempenho utilizados em um mesmo experimento, considerando a mudança da quantidade de dados processados e o uso de recursos computacionais, resultados diferentes podem ser esperados. Quando são analisados dados que resultam de um experimento com objetivo de analisar o desempenho de aplicações que usam a programação paralela, é preciso considerar que esses componentes podem ser aleatórios, pois ocorrerrem variações entre as vezes que o experimento é realizado, apesar dos fatores, dos parâmetros e das métricas utilizados serem os mesmos. Os parâmetros podem ser modificados durante a medição do desempenho, sendo as informações necessárias para caracterizar a maneira como as métricas serão aplicadas. Os fatores são as variações de um ou mais parâmetros, especialmente usados em casos em que mais de um sistema é analisado. Os parâmetros escolhidos para serem avaliados e a variação que podem sofrer estão associados aos fatores. 3. São muitas as métricas de desempenho que podem ser usadas na programação paralela. Existem métricas para medir o desempenho de processadores e de aplicações. Entre as métricas para medir o desempenho de aplicações, pode-se citar a speedup e a redundância. A respeito das métricas speedup e redundância, analise as afirmativas. I. A speedup faz a medição do rácio entre a quantidade de operações feitas pela execução sequencial e pela paralela. II. A redundância realiza a medição do rácio entre o tempo de execução contínuo e o tempo de execução paralelo. III. A speedup pode ser usada para avaliar o efeito do desempenho após o melhoramento de recurso computacional. IV. A redundância mede o rácio entre a quantidade de operações efetuadas pela execução paralela e pela sequencial. Assinale a alternativa com as afirmativas corretas. Você acertou! C. III e IV. A speedup (aceleração) é uma medida do grau de desempenho que realiza a medição do rácio ou da razão entre o tempo de execução sequencial e o tempo de execução em paralelo. A principal finalidade da speedup é oferecer melhoria na velocidade de execução de uma tarefa executada em duas arquiteturas semelhantes, mas que usam recursos diferentes. A métrica speedup pode também ser usada para analisar o efeito do desempenho depois de algum aprimoramento de recurso computacional. A redundância é a medida do grau de aumento da computação. Ela mede o rácio entre o número de operações realizadas pela execução paralela e pela sequencial. 4. O comportamento de uma aplicação paralela pode ser medido por muitos fatores, como o comportamento do programa paralelo, por meio de cálculos para analisar as métricas de desempenho. Nas diversas situações e tratando de uma diversidade de problemas com a programação paralela, o programador pode usar as métricas para isolar parte do programa que necessita da implementação de alguma melhoria. A qualidade é uma das métricas utilizadas para medir o desempenho das aplicações. A respeito da qualidade, considere as seguintes afirmações e classifique-as em verdadeiras (V) ou falsas (F). ( ) A qualidade de um algoritmo paralelo é medida a partir da fração do tempo de atividade que os processadores apresentam. ( ) Um ponto a ser considerado é que, para realizar a medição da qualidade, um fator também utilizado é a escalabilidade. ( ) O cálculo para medir a qualidade das aplicações é fácil, já que analisa apenas a quantidade de processadores implementados. Assinale a alternativa que contenha a sequência correta. Você acertou! D. V – V – F. A qualidade mede o grau de importância de usar programação paralela, sendo que a qualidade de um algoritmo paralelo é medida levando em conta a fração do tempo de atividade que os processadores representam. Especialmente ao medir a qualidade, a escalabilidade (um dos fatores para medir a entrega dos recursos) também é usada. O cálculo da qualidade não é muito simples, pois leva em consideração a razão entre a aceleração no processamento e o número de processadores implementados para uma tarefa específica. 5. Normalmente, o objetivo da análise de desempenho de uma aplicação é compreender como a aplicação comporta-se em relação a um referencial determinado. Para possibilitar essa análise poderão ser aplicadas diferentes leis, entre elas a Lei de Amdahl e a Lei de Gustafson-Barsis. A respeito dessas duas leis, analise as afirmativas. I. Para medir o desempenho de programas paralelos é muito utilizada a Lei de Amdahl como referência. II. A Lei de Amdahl surgiu, em especial, para repensar alguns conceitos trazidos pela Lei de Gustafson-Barsis. III. A teoria da Lei de Gustafson-Barsis oferece uma aceleração teóricana latência de execução de tarefas. IV. Uma das limitações da Lei de Amdahl é que ela desconsidera as operações ligadas à programação paralela. V. A Lei de Gustafson-Barsis recebeu esse nome depois da apresentação de um artigo feito por dois cientistas. Assinale a alternativa com as afirmativas corretas. Você acertou! E. I, III e V. A Lei de Amdahl é geralmente utilizada como referência para medir o desempenho de programas paralelos. Por exemplo, quando é necessário medir as áreas serial (o processo de envio de dados um bit de cada vez) e paralela (o processo de envio de todos os bits de um símbolo de dados enviados juntos) da aplicação e comparar o speedup com o modelo teórico. A Lei de Amdahl tem algumas limitações, pois ignora o custo das operações de comunicação/sincronização associadas ao uso da programação paralela em aplicações. A Lei de Gustafson (ou Gustafson-Barsis) surgiu especialmente para reavaliar alguns conceitos apresentados pela Lei de Amdahl. A teoria oferece uma aceleração teórica na latência de execução de tarefas em um tempo de execução fixo, o que pode ser esperado de um sistema que funciona por meio da utilização de recursos aprimorados. A Lei de Gustafson-Barsis recebeu esse nome após o cientista John L. Gustafson e seu colega Edwin H. Barsis apresentarem um artigo em 1988, estimando a fração de aceleração (sem se beneficiar do paralelismo) alcançada, usando mais de um processador ao mesmo tempo para executar tarefas seriais. Métricas de desempenho na programação paralela Exercícios