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.