• Nenhum resultado encontrado

A.4 Mascaramento de Bytes

3.3 An´alise Quantitativa: M´etricas

3.3.5 M´etrica de Karp-Flatt

Uma outra m´etrica foi proposta por Karp e Flatt em 1990. A m´etrica de Karp-Flatt pode ser usada para medir tanto o overhead de comunica¸c˜ao quanto a paraleliza¸c˜ao do c´odigo, o que ´e especialmente ´util para avaliar o limitante do fator de speedup num programa para- lelo (KARP; FLATT, 1990).

Considerando uma computa¸c˜ao paralela com fator de speedup S usando p processadores (p > 1), a fra¸c˜ao da tarefa serial determinada experimentalmente γe ´e dada por:

γe= 1 S − 1 p 1 − 1 p (3.15) A fra¸c˜ao serial determinada experimentalmente atrav´es da m´etrica de Karp-Flatt ´e uma fun¸c˜ao do fator de speedup observado e do n´umero de processadores. Em sistemas que tenham baixo fator de speedup, principalmente devido `a limitante serial, o aumento do n´umero de processadores n˜ao refletir´a diretamente sobre γe. Por outro lado, se o principal respons´avel

pelo baixo fator de speedup for o overhead em comunica¸c˜ao, haver´a um crescimento de γe

com o aumento do n´umero de processadores.

3.3.6

Fator de Multiprocessamento (MPF)

O fator de multiprocessamento (MPF - MultiProcessing Factor ) ´e uma m´etrica freq¨uente- mente utilizada para avaliar o desempenho de multiprocessadores (GUNTHER, 2002 apud ARTIS, 1991) (GUNTHER, 2002 apud MCGALLIARD, 1995).

Considere-se uma tarefa sendo executada num monoprocessador que tem throughput me- dido de X(1) = 100 transa¸c˜oes por segundo (TPS). Quando a mesma ´e executada num

3.3. AN ´ALISE QUANTITATIVA: M´ETRICAS 45 biprocessador, o throughput agregado medido ´e de X(2) = 180 TPS. Logo, X(2) representa menos do que o dobro de X(1) de forma que pode ser extra´ıda uma rela¸c˜ao entre os dois valores: 180 = (1 + φ) · 100; onde φ = 0, 8 ´e chamado de fator de multiprocessamento (MPF). Percebe-se que a introdu¸c˜ao do segundo processador contribuiu com 80% da capacidade com- putacional do primeiro. O acr´escimo de um terceiro processador contribuiria com 80% da capacidade do segundo, o que equivale a 64% da capacidade do primeiro. Deste racioc´ınio chega-se `a seguinte rela¸c˜ao:

X(n + 1) = (1 − φ) · X(n) (3.16) Para calcular o fator de speedup utilizando o fator de multiprocessamento, basta somar as contribui¸c˜oes para o ganho de velocidade de cada um dos p processadores, o que resulta em uma soma geom´etrica:

S(p) = 1 + φ + φ2+ φ3+ · · · + φp−1 = 1 − φ

p

1 − φ (3.17)

Uma vez que φ, por defini¸c˜ao, ´e positivo e menor do que 1, o fator de speedup m´aximo para um dado MPF ser´a:

lim

p→∞S(p) =

1

1 − φ (3.18)

3.3.7

Eficiˆencia

Para se obter o valor do fator de speedup normalizado em uma escala de 0 a 1, dividi-se o mesmo pelo n´umero de processadores utilizados (p). Isto define a “eficiˆencia” ξ(p) de execu¸c˜ao da tarefa. A eficiˆencia mede a taxa de utiliza¸c˜ao dos processadores na execu¸c˜ao de um programa paralelo e reflete, portanto, a qualidade da paraleliza¸c˜ao. Em termos matem´aticos a eficiˆencia pode ser expressa como:

ξ(p) = S(p)

p (3.19)

3.3.8

Redundˆancia

Sendo C(p) o custo computacional de um dado problema, a redundˆancia da solu¸c˜ao paralela ser´a dada por:

R(p) = C(p)

C(1) (3.20)

A redundˆancia reflete a quantidade adicional de processamento necess´aria na paraleliza- ¸c˜ao.

3.3.9

Utiliza¸c˜ao

A medida da fra¸c˜ao de recursos que foi mantida ocupada durante a execu¸c˜ao de um programa ´e chamada utiliza¸c˜ao U(p). Para um sistema utilizando p processadores, a utiliza¸c˜ao ´e definida como:

U(p) = R(p) · ξ(p) (3.21)

3.3.10

Qualidade do Paralelismo

A qualidade do paralelismo ´e uma medida artificial que re´une os principais aspectos da execu¸c˜ao em paralelo e pode ser definida como:

Q(p) = S(p) · ξ(p)

R(p) (3.22)

3.3.11

M´etricas de Comunica¸c˜ao

Largura de Banda: Largura de banda ´e a taxa m´axima na qual a informa¸c˜ao pode se pro- pagar. Ela est´a idealmente limitada pelas larguras de banda da mem´oria, do processador e do canal, al´em dos mecanismos de comunica¸c˜ao (PATTERSON; HENNESSY, 1997).

´

E medida em bits por segundo (bps).

Taxa de Transferˆencia Efetiva (Throughput): Difere da largura de banda nominal por nesta medida serem descontadas as perdas de informa¸c˜ao, compartilhamento do meio e outros fatores redutores de desempenho.

Latˆencia: A latˆencia de comunica¸c˜ao ´e o tempo que a mensagem leva para ser transmitida. Ela possui quatro componentes b´asicos: overhead do transmissor, tempo de transmis- s˜ao, tempo de percurso, overhead do receptor. O overhead representa o tempo gasto em

3.3. AN ´ALISE QUANTITATIVA: M´ETRICAS 47 sincroniza¸c˜ao e coordena¸c˜ao da comunica¸c˜ao. Tempo de percurso s˜ao os atrasos inseri- dos por elementos de repeti¸c˜ao, comuta¸c˜ao ou outro hardware qualquer da rede. Tempo de transmiss˜ao ´e o tempo para a mensagem passar atrav´es da rede (n˜ao incluindo o tempo de percurso), ou seja, ´e o tamanho da mensagem dividido pela largura de banda. T´ecnicas que utilizam o tempo de processamento que seria perdido devido `a latˆencia de comunica¸c˜ao geralmente s˜ao implementadas de forma a sobrepor comunica¸c˜ao com computa¸c˜ao ou mesmo comunica¸c˜ao com comunica¸c˜ao, e s˜ao coletivamente chamadas de compensa¸c˜ao de latˆencia as quais, dependendo da aplica¸c˜ao, exigem hardware e/ou software adicionais (PATTERSON; HENNESSY, 1997).

A escolha da m´etrica a ser utilizada na avalia¸c˜ao de performance de um sistema de processamento paralelo ´e de grande importˆancia, podendo influenciar bastante nos resultados obtidos. A busca por sistemas de medida mais gerais, uniformes e independentes da topologia de rede de interconex˜ao ´e necess´aria, de modo a garantir uma referˆencia consistente no comparativo entre diversos sistemas.

As classifica¸c˜oes e m´etricas de processamento paralelo vistas neste cap´ıtulo complemen- tam a base te´orica necess´aria `a compreens˜ao dos trabalhos desenvolvidos neste projeto.

Cap´ıtulo 4

Descri¸c˜ao e An´alise do Projeto

Conforme visto no cap´ıtulo 2, as facilidades oferecidas pela tecnologia de eletrˆonica recon- figur´avel, em especial os FPGAs, permitem a prototipa¸c˜ao de sistemas com complexidade relativamente elevada em tempo reduzido. Por outro lado, sistemas paralelos demandam a integra¸c˜ao de processadores, mem´orias e perif´ericos atrav´es de uma rede de interconex˜ao que pode tornar-se de roteamento muito dif´ıcil, dependendo do n´umero de n´os e da sua topologia, conforme tratado no cap´ıtulo 3. A realiza¸c˜ao de sistemas como estes sobre eletrˆonica reconfi- gur´avel tem-se tornado vi´avel com o surgimento de FPGAs de grande capacidade l´ogica. Este projeto explora esta possibilidade, buscando a implementa¸c˜ao e teste de um multiprocessador em FPGA, visando aplica¸c˜oes de controle rob´otico.

O sistema proposto neste trabalho foi desenvolvido inicialmente utilizando uma placa- prot´otipo (GUARDIA-FILHO, 2005) projetada no Laborat´orio de Sistemas Modulares Ro- b´oticos da Unicamp. Esta placa, baseada no dispositivo FPGA Altera EP1C20 da fam´ılia Cyclone, possui mem´orias Flash e SDRAM, conversores A/D e D/A, interfaces padr˜ao RS- 232C e USB 2.0, duas entradas de v´ıdeo anal´ogico e CIs para codifica¸c˜ao e decodifica¸c˜ao de v´ıdeo. Os primeiros testes de multiprocessador monol´ıtico foram desenvolvidos sobre esta placa onde foi implementado um sistema contendo trˆes n´ucleos processadores.

Como algumas corre¸c˜oes estavam sendo realizadas no hardware da placa-prot´otipo, foi decidido dar prosseguimento ao projeto do sistema multiprocessador em outra plataforma, uma placa de desenvolvimento Altera – a DE2 da Terasic – que ´e brevemente descrita na se¸c˜ao seguinte.

Conforme ser´a comentado ao longo deste cap´ıtulo, o Sistema Multiprocessado Monol´ıtico (SMM) principal foi concebido com quatro n´ucleos processadores e, portanto, ser´a denomi-

50 CAP´ITULO 4: DESCRI ¸C ˜AO E AN ´ALISE DO PROJETO

Figura 4.1: Placa de desenvolvimento Altera DE2. nado de SMM-41.

4.1

Ambiente de Desenvolvimento

Esta se¸c˜ao descreve de forma r´apida os elementos de hardware e software utilizados no de- senvolvimento do projeto.

Documentos relacionados