Avaliação e Comparação de Desempenho de Computadores

download Avaliação e Comparação de Desempenho de Computadores

of 60

Transcript of Avaliação e Comparação de Desempenho de Computadores

UNIVERSIDADE FEDERAL DE PERNAMBUCOCENTRO DE INFORMTICA CURSO DE GRADUAO EM ENGENHARIA DA COMPUTAO

Avaliao e Comparao de Desempenho de Computadores: Metodologia e Estudo de CasoTrabalho de Graduao

Aluno: Nelson Azoubel Ramos ([email protected]) Orientador: Paulo Romero Martins Maciel ([email protected])

Recife, 28 de novembro de 2008

AssinaturasEste trabalho resultado do esforo do aluno de graduao em Engenharia da Computao Nelson Azoubel Ramos, sob a orientao do professor Paulo Romero Martins Maciel. Foi conduzido no Centro de Informtica da Universidade Federal de Pernambuco. Todos abaixo esto de acordo com o contedo deste documento

__________________________________ Paulo Romero Martins Maciel

__________________________________ Nelson Azoubel Ramos

2

AgradecimentosAgradeo primeiramente aos meus pais, Carlos e Clarice, a meus irmos, Bruno e Carla, por me proporcionarem totais condies de chegar a este momento e aos meus avs: La ZL, Mendel ZL e Maria do Carmo pelo incondicional apoio. Ao meu orientador Paulo Maciel pela oportunidade de realizar este trabalho e Erica Sousa pela importante ajuda. Agradeo aos amigos que fiz no CIn pelas interminveis horas de estudo. coordenadora do curso, Edna Barros, pela assistncia prestada sempre que necessitei. Ao meu amigo Vitor Braga por emprestar seu notebook para o meu estudo de caso. Agradeo Rodolfo, o gerente, e a toda minha equipe de projeto, Smart Solutions. Aos meus amigos pelo compartilhamento dos momentos bons e ruins ao longo da vida acadmica. Agradeo Conceio Bezerra e a toda equipe do DEF do projeto efisco: Thiago, Silvia, Davison, Sandra e Edmar. Agradeo a todos, que direta ou indiretamente, contriburam para minha vida acadmica.

3

ResumoA concorrncia no mercado de T.I impulsiona a melhoria das aplicaes computacionais, que torna competitivas as solues desenvolvidas. Este cenrio propicia o surgimento de alternativas para solucionar, melhorar e satisfazer os requisitos computacionais dos diversos sistemas. Este trabalho tem como objetivo propor uma metodologia para avaliao de desempenho e comparao de dois computadores. Para validar o procedimento proposto, estudos de caso sero considerados para avaliar e comparar o desempenho de sistemas computacionais baseados na famlia de processadores X86. Sero adotados Benchmarks e Cargas Particulares durante o estudo de caso. Palavras Chaves: Desempenho, Metodologia, Benchmarks.

4

SumrioResumo Sumrio 1. Introduo. ....................................................................................8 1.1Estrutura do Trabalho...................................................................10 1.2 Trabalhos Relacionados..............................................................11 2. Fundamentos.................................................................................13 2.1 Intervalos de confiana................................................................15 2.2 Teste T Pareado..........................................................................18 2.3 Tcnica de Bootstrap...................................................................19 3. Medio e mtricas de desempenho.............................................21 3.1 ndices de tendncia central..................................,.....................23 3.2 Variabilidade................................................................................24 3.3. Benchmarks................................................................................25 3.3.1 Tipos de Benchmarks...............................................................25 3.3.2 Estratgias de Benchmark........................................................28 4. Metodologia....................................................................................31 4.1 Descrio do cenrio....................................................................31 4.2 Cargas de trabalho.......................................................................33 4.3 Medio........................................................................................34 5. Estudo de caso...............................................................................39 5.1 Descrio do cenrio....................................................................39 5.2 Definio das cargas de trabalho.................................................41 5.3 Medio........................................................................................41 6. Concluso.......................................................................................53 6.1 Trabalhos Futuros.........................................................................54 7. Referncias.....................................................................................55 Apndices

5

ndices de figurasFigura 2.1 - Resoluo, exatido e preciso................................................13 Figura 2.2 - Funo distribuio de probabilidade normal reduzida.............16 Figura 2.3 Intervalo de confiana...............................................................17 Figura 4.1 - Fluxograma da metodologia.......................................................31 Figura 4.2 - Fluxograma do processo de medio........................................34 Figura 5.1 - Funcionalidades utilizadas do Minitab.......................................44 Figura 5.2 - Funcionalidade utilizada do Statdisk..........................................45 Figura 5.3 - Resumo estatstico do Turion X2 (Whetstone)...........................45 Figura 5.4 - Resumo estatstico do Core 2 duo (Whetstone).........................46 Figura 5.5 - Teste T de paridade do Turion X2 X Core 2 Duo(Whetstone)...46 Figura 5.3 - Resumo estatstico do Turion X2 (Dhrystone)...........................48 Figura 5.4 - Resumo estatstico do Core 2 duo (Dhrystone).........................49 Figura 5.5 - Teste T de paridade do Turion X2 X Core 2 Duo (Dhrystone)...49 Figura 5.3 - Resumo estatstico do Turion X2 ( Everest)...............................50 Figura 5.4 - Resumo estatstico do Core 2 duo (Everest)..............................51 Figura 5.5 - Teste T de paridade do Turion X2 X Core 2 Duo (Everest).......51

6

ndices de tabelasTabela 4.1 Resumo das precondies estabelecidas para metodologia.....33 Tabela 5.1 Especificao do Turion X2.......................................................40 Tabela 5.2 Especificao do Core 2 Duo....................................................41 Tabela 5.3 Resumo dos valores para o Turion X2 (Whetstone)..................46 Tabela 5.4 Resumo dos valores para o Core 2 Duo (Whetstone)...............46 Tabela 5.5 Resumo dos valores para o Turion X2 (Whetstone)..................49 Tabela 5.6 Resumo dos valores para o Core 2 Duo (Whetstone)...............49 Tabela 5.7 Resumo dos valores para o Turion X2 (Whetstone)..................51 Tabela 5.8 Resumo dos valores para o Core 2 Duo (Whetstone)................51

7

1. IntroduoA anlise de desempenho de sistemas computacionais est se tornando uma rea de estudo crescente devido constante busca pela satisfao dos clientes por parte das empresas que visam a uma contnua evoluo dos produtos e servios oferecidos. Sistemas criados sem a preocupao com o desempenho podem gerar atrasos, o no fornecimento do servio desejado, falhas, perdas financeiras. Por exemplo, [8]: O oramento planejado para o desenvolvimento do sistema de reservas de lugares do aeroporto de Denver teve um reajuste de mais dois bilhes de dlares devido s caractersticas de desempenho errneas. O sistema de informao, desenvolvido pela IBM, para avaliao das competies individuais das Olimpadas de Atlanta foi testado com 150 usurios e entrou em colapso, pois o nmero de usurios durante o perodo operacional ultrapassou a quantidade de mil pessoas. A anlise de desempenho o conjunto de mtodos que possibilita a anlise temporal de um sistema, ela entra como uma ferramenta para auxiliar engenheiros e cientistas na busca do melhor desempenho aliado aos menores custos. A avaliao de desempenho de sistemas computacionais surgiu na dcada de 60 e uma combinao de medio, interpretao e comunicao. Podemos destacar os seguintes objetivos: comparar alternativas, determinar o impacto de uma nova funcionalidade ou identificar o desempenho relativo entre dois sistemas. Para estudar um determinado sistema computacional necessria a existncia de alguma carga de trabalho, em execuo, para alterar o estado natural do sistema. No presente trabalho utilizaremos Benchmarks que so testes padronizados usados para medir o desempenho de diferentes sistemas em tipos especficos de aplicaes. O analista precisa ter em mente o aspecto

8

do sistema que se deseja avaliar, ou seja, qual o objetivo da anlise que est sendo feita para com isso selecionar o Benchmark adequado. A partir das mudanas no estado do sistema geradas pelas cargas de trabalho, possvel a obteno de parmetros que expressem os estados do sistema. O processo de medio desses parmetros composto de vrias etapas. preciso a escolha de uma boa mtrica para representar o aspecto em estudo. muito comum a escolha de uma mtrica equivocada, portanto o analista precisa ter o conhecimento terico para saber quando uma determinada mtrica boa e til para o estudo. muito difcil para o analista obter o valor verdadeiro no processo de medio, praticamente impossvel, pois, incertezas so associadas aos valores coletados devido s limitaes experimentais que so denominadas de erros. Essas incertezas podem alterar os resultados obtidos, logo essencial um estudo detalhado dos erros para saber como control-los. Com o resultado da medio o analista pode utilizar de modelos estatsticos para auxiliar o estudo do comportamento do sistema, para com isso conseguir prever e comparar, com um determinado grau de segurana, o comportamento dos sistemas computacionais. Os modelos proporcionam a avaliao dos resultados obtidos e dependendo da situao o analista pode sugerir melhorias e modificaes nos sistemas para se obter o desempenho desejado, ou at mesmo impedir a continuidade de um projeto por inviabilidade. Este trabalho propor uma metodologia para avaliao computacional de desempenho e comparao cujos microprocessadores pertenam a famlia x86. Ser realizada atravs de um estudo dos conceitos e tcnicas de medio para obteno dos dados corretos e de tcnicas estatsticas para anlise e comparao. Ser uma metodologia que proporcionar ao analista que a utilizar flexibilidade para poder utiliz-la para os mais diversos objetivos.

9

Devido crescente concorrncia na indstria de microprocessadores, cujo custo relativamente elevado em comparao com outros dispositivos, o estudo de caso ser direcionado anlise de microprocessadores. Utilizaremos Benchmarks de interesse geral para microprocessadores com o intuito de termos bons parmetros de estudo. A anlise dos dados far uso de ferramentas estatsticas para validarmos os resultados obtidos. Aps o estudo dos resultados obtidos poderemos tirar concluses sobre as arquiteturas dos processadores e a natureza dos Benchmarks utilizados no estudo de caso. 1.1 Estrutura do Trabalho Este trabalho foi estruturado para permitir o perfeito entendimento da metodologia, at para os profissionais sem conhecimento da rea de anlise de desempenho. Est dividido da seguinte maneira: na prxima Seo apresentamos trabalhos e publicaes relacionados, direta ou indiretamente, com nosso trabalho. No captulo 2, sero comentados os fundamentos da anlise estatstica que ser realizada no estudo de caso proposto. No captulo 3, apresentaremos a teoria de medies e mtricas de desempenho que so importantes para o desenvolvimento da metodologia e entendimento do estudo de caso e Benchmarks que sero as nossas cargas de trabalho. Os captulos 4 e 5 apresentaro a metodologia proposta e o estudo de caso respectivamente.

10

1.2 Trabalhos Relacionados Em [6], o texto comenta sobre as novas tcnicas de benchmarking que esto surgindo para fazer melhor uso das caractersticas multicores dos microprocessadores mais novos. Comenta que muitos arquitetos de sistemas embarcados questionam-se da existncia de ganho real na migrao dos sistemas para microprocessadores multicores. Para se comprovar se vantagem a adoo de microprocessadores multicores esto surgindo uma nova gerao de Benchmarks um pouco diferentes das anteriores, pois os benchmarks antigos somente exercitavam os processadores e no havia um grande relacionamento com fatores externos ao microprocessador. Para ter um bom rendimento, os Benchmarks para microprocessadores multicores devem utilizar o mximo possvel a largura da banda de memria. Alm da largura de banda de memria, outro critrio de novos benchmarks para microprocessadores a escalabilidade que ele possui, ou seja, a capacidade de aumentar a utilizao dos recursos da mquina, no s do processador. O material conclui que as arquiteturas multicores necessitam de uma nova idia de Benchmarking. Em [5], o trabalho apresenta um conjunto de Benchmarks para conduzir anlises de desempenho em software e hardware com aplicaes de ponto flutuante decimal. D nfase em aplicaes aritmticas, so flexveis e modulares para serem usados nas mais variadas solues. So elas computao monetria e anlise financeira. Foram desenvolvidos em C utilizando a biblioteca Decnumber modificada para aperfeioar as operaes. A partir das modificaes realizadas na biblioteca, a maioria dos Benchmarks passou mais de 75% da sua execuo em funes decimais de ponto-flutuante e com um rpido suporte de hardware a essas instrues os resultados podem melhorar sensivelmente. Em [7], o trabalho descreve uma ferramenta para simulao de memria cache, o DCMSim. destinada a anlise e comparao de desempenho de memrias cache de microprocessadores. Pode ser configurado para vrios tipos de arquitetura de memria cache. A motivao surgiu da dificuldade na aprendizagem dos conceitos de memria cache pelos meios tradicionais. A 11

ferramenta oferece ao analista a possibilidade de adequ-la aos mais diferentes cenrios reais e foi desenvolvida em Java devido capacidade multiplataforma proporcionada. Em [10], a publicao prope uma metodologia, juntamente, com um framework para avaliao de desempenho de uma aplicao baseada no desempenho de outras aplicaes existentes que j possuam um conjunto de Benchmark para a avaliao pretendida. So comparadas as caractersticas da aplicao de interesse com s das aplicaes que possuem um Benchmark. Baseado nas similariedades pode-se prever o desempenho da aplicao de interesse, o ponto central do estudo foi como diferenas de caractersticas podem ser traduzidas em diferenas de desempenho.

12

2 - FundamentosPara um perfeito entendimento do estado real de um sistema, necessrio o conhecimento de alguns conceitos essenciais. Este captulo abordar esses conceitos que sero utilizados posteriormente. Na avaliao da qualidade das amostras em estudo existem trs critrios inerentes aos dados da medio que, em muitos casos, so interpretados de forma incorreta, so eles[1][8]: Exatido(Accuracy): Diferena entre o valor medido e o valor referncia. Preciso(Precision): uma medida da disperso do conjunto de dados obtidos na medio. Est relacionada repetitibilidade dos dados. Resoluo(Resolution): a menor alterao do dado que pode ser detectada pelo instrumento de medio

Figura 2.1 Resoluo, exatido e preciso

13

Erros, no processo de medio, so tudo que modificam os valores dos dados coletados para estudo. Por exemplo, o compartilhamento do sistema entre diferentes processos que fogem ao controle do analista pode alterar as amostras obtidas. Como conseqncia, vrias medies de um mesmo evento podem levar a resultados diferentes[1]. Basicamente, podemos dividir os erros em dois tipos: Sistemtico: resultado de problemas na medio, como o mau uso do aparelho de medio. Por exemplo, uma mudana na temperatura pode causar uma alterao no perodo do clock levando a resultados distorcidos. Erros sistemticos tendem a ser constantes durante as medies e alteram a exatido dos dados coletados. Aleatrio: Erros aleatrios so erros no determinsticos e incrontrolveis. Afetam a preciso dos dados obtidos e so resultado de limitaes da ferramenta de medio, leitura feita pelo observador do experimento ou presena de uma atividade aleatria, no compreendida, no sistema. de difcil controle, portanto, so usados procedimentos estatsticos para caracteriz-lo e quantific-lo. Controlar o experimento que est sendo realizado minimiza o impacto dos erros sistemticos na exatido das medies. Erros aleatrios obedecem tipicamente uma curva Gaussiana, ou seja, quando se obtm amostras grandes da populao os valores tendem a seguir uma curva de Gauss ( curva normal ) centrada na mdia dos valores. difcil quantificar a exatido do processo de medio, pois a exatido atribuda ao erro sistemtico. preciso a calibragem do aparelho de medio para um valor padro e um cuidado durante a medio. Porm, podemos utilizar um intervalo estimado do parmetro estatstico para quantificar o erro aleatrio do processo de medio, intervalo de confiana.

14

2.1 Intervalo de confiana Expressa a idia de um determinado nvel de confiana de que a mdia dos valores se encontra naquele intervalo. Se a mdia real estiver fora desse intervalo, as chances de observarmos as amostras que observamos de fato seriam muito pequenas. [1][4] Dada uma funo densidade de probabilidade f(x) e uma varivel aleatria X, temos por definio que:

Suponha que X tenha distribuio normal, logo a f.d.p tem a forma de uma Gaussiana centrada na mdia, N(, ), sendo a mdia e a varincia(seo 4.2), a f.d.p ser da forma:

A distribuio normal pode estar na forma normal reduzida se = 0 e = 1, ento efetuando os clculos, a f.d.p ser da forma:

Frmula da distribuio de probabilidade normal reduzida

15

Figura 2.2 - Funo distribuio de probabilidade normal reduzida

A frmula normal padro no pode ser calculada pelos caminhos comuns. O problema reside no fato de que no podemos aplicar o teorema fundamental do clculo( Apndice A). Porm, mtodos de integrao numrica podem ser empregados para calcular integrais na forma normal reduzida. As integrais da forma reduzida so tabuladas para P( X s ). Podemos transforma na forma reduzida qualquer distribuio normal e assim utilizarmos a tabulao. Tendo X distribuio N(, ), ento, fazendo Y = ( X - ) / ter distribuio N(0,1). Conseqentemente: P( a X b) = P( (a - ) / Y ( b - ) / ) = ( ( b - ) / ) - ( ( a - ) / ), sendo a frmula tabelada. De acordo com o teorema central do limite: qualquer que seja a distribuio de probabilidade da varivel aleatria, a distribuio das mdias amostrais da populao tender a uma distribuio normal medida que o tamanho da amostra cresce, com mdia e desvio padro / n1/2. O teorema central do limite muito importante, pois permite utilizar a distribuio normal

16

para realizar inferncias da mdia amostral seja qual for a forma da distribuio da populao.

Tendo X uma distribuio normal qualquer,

ter uma distribuio da

forma N(, / n), sendo n o tamanho amostral. Para obtermos uma mdia com uma confiana de (1- ) no resultado, utilizaremos a tcnica do intervalo de confiana como mostra a figura abaixo:

Figura 2.3 - A probabilidade do valor real, x, est no intervalo de confiana (c1, c2) 1

Sabemos que fato da seguinte maneira: Considere,

tem distribuio N( 0 ; 1 ). Usaremos este

(z) (-z) = P ( -z

z )

(z) (1- (z)) = P (-z

z )

2(z) 1 = P ( -z

z )

=P(

- ( z )/

+ ( z )/

) 17

Esta ultima expresso de probabilidade deve ser interpretada de forma cuidadosa. Ela no significa que a probabilidade do parmetro cair dentro de um intervalo seja igual a 2(z) 1. Ela significa que 2(z) 1 a probabilidade de que o intervalo aleatrio ( - ( z )/ + ( z )/ ) contenha .

Exemplo [4]: Suponha-se que X represente a durao da vida de uma pea de equipamento. Admita-se que 100 peas sejam ensaiadas, fornecendo uma durao de vida mdia mdia , teremos: = 501,2 horas. Suponha-se que seja conhecido e

igual a 4 horas, e que se deseje obter um intervalo de confiana de 95% para a

2(z) 1 = P ( -z (z) = (0,95 + 1) / 2 (z) = 0,975

z ) = (1- ) = 0,95

Consultando a tabela de distribuio normal reduzida(Apndice C), chegamos z = 1,96. O intervalo de confiana ser: I.C = (501,2 4/10 * 1,96; 501,2 + 4/10 * 1,96 ) I.C = (500,4; 502,0 ) Ao afirmar que (500,4; 502,0 ) constitui um intervalo de confiana de 95% para , no quer dizer que 95% das vezes a mdia amostral cair nesse intervalo. Estamos afirmando que 95% das vezes a mdia estar contida no inveralo ( - ( z )/ ; + ( z )/ ).

2.2 Teste T pareado Este teste utilizado para verificar se existe alguma diferena estatstica entre duas mdias. Por exemplo, dada duas mdias com seus respectivos intervalos de confiana desejamos saber se elas so equivalentes do ponto de vista de estatstico[1].

18

Os valores de ambos os conjuntos de medies so relacionados para a formao de pares correspondentes, para isso, as amostras devero ter o mesmo tamanho. Para verificar se existe uma diferena estatstica significante entre mdias de dois conjuntos distintos de valores, precisamos calcular o intervalo de confiana da mdia das diferenas dos pares relacionados. Se este intervalo incluir o 0, concluiremos que no existe uma diferena estatstica significante. Sendo b1, b2,, bn o cojunto das medies do conjunto B e a1, a2, , an o conjunto das medies do conjunto A. Idealizamos um conjunto das respectivas diferenas D={ d1, d2,....,

dn, }

tal que d1 = b1

-

a1 e assim

sucessivamente, ou seja, relacionamos cada par das medies para formar um novo conjunto. Utilizando a mesma derivao da seo anterior chegaremos a um intervalo de confiana (c1, c2) para mdia das diferenas, considerando uma amostra grande com n>30, teremos: , onde a mdia aritmtica das

diferenas di e sd o correspondente desvio padro das amostras.

2.3 - Tcnica de Bootstrap um procedimento utilizado para obtermos aproximaes de

distribuies amostrais quando a teoria no pode dizer-nos qual a forma de distribuio da populao. Aplicada principalmente quando o tamanho da amostra pequeno (dificuldade ou alto custo para obteno de amostras maiores). [8] A idia bsica que no tendo toda a populao para estudo, o ideal fazer o melhor com a amostra que se dispe, ou seja, a tcnica trata a amostra observada como se ela representasse exatamente toda a populao. As reamostragens desta amostra mestre representam o que se deve obter quando se retiram muitas amostras da populao original. A distribuio Bootstrap da

19

estatstica, baseada em muitas reamostras, representa uma distribuio amostral desta estatstica. Com um nmero grande de reamostras, acabamos encontrando uma distribuio normal centrada na mdia das mdias da reamostragem, logo podemos aplicar a teoria de intervalo de confiana. Segue abaixo o processo: [8] 1. Selecione uma amostra aleatria de tamanho n. 2. Selecione uma amostra da amostra (re-amostra) de tamanho n com reposio. 3. Calcule a estatstica (a mdia, por exemplo) desta amostra. 4. Repita os passos de 1 a 3, m vezes. (m grande) 5. Classifique as m estatsticas (mdias, por exemplo) em ordem ascendente. 6. Em funo do nvel de confiana desejado (1 - ), determine os valores que estejam a (( /2)*100%) acima do menor valor e (( /2)*100%) abaixo do maior valor.

20

3 Medio e mtricas de desempenhoAntes de estudar desempenho de sistemas, devemos determinar quais os parmetros so de interesse para medio. As caractersticas bsicas de um sistema que se precisa medir esto ligadas idia de evento, que entendido como a mudana no estado de um sistema. Fica a critrio do analista a sua definio, tipicamente so[1]: a contagem de quantas vezes um evento ocorre, durao do evento ou o valor atribudo ao evento. Com a juno das medies acima, podemos derivar uma mtrica para o estudo do desempenho de um sistema. Existem vrias mtricas utilizadas na avaliao de desempenho de sistemas, porm nem todas as mtricas so boas o suficiente para evitar erros e concluses precipitadas. Existe a necessidade de uma boa mtrica para avaliao de desempenho. Um critrio criado e utilizado por analistas de desempenho classifica uma mtrica como ideal quando ela satisfaz as seguintes caractersticas: Linearidade: Se o valor da mtrica se modificar a uma determinada taxa, o desempenho da mquina deve se modificar mesma taxa. Confiana: Uma mtrica de desempenho dita confivel se dados dois sistemas A e B, o sistema A tem desempenho superior ao sistema B, logo a mtrica ter que indicar o mesmo. Repetibilidade: Uma mtrica tem repetibilidade, se o mesmo valor medido a cada vez que o experimento executado. Isso significa que uma boa mtrica dever ser determinstica. Fcil medio: Se uma mtrica de difcil medio improvvel que desejem utiliz-la em algum estudo. Vrias mtricas de desempenho propostas para uso no campo computacional no so adequadas ou so interpretadas de forma incorreta[1].

21

A taxa de clock, muito utilizada como indicador de desempenho, presume que um microprocessador de 250 MHz mais rpido na resoluo de um problema que um de 200 MHz. Porm, essa avaliao ignora a computao envolvida em cada ciclo de clock, a comunicao entre o processador e a memria, a comunicao entre o processador e os subsistemas de entrada/sada, portanto a taxa de clock, por si s, no nos garante que um sistema tem melhor desempenho. Mips, milhes de instruo por segundo, uma mtrica que tenta representar uma velocidade. Enquanto no mundo fsico uma velocidade representada pela distncia por segundo, Mips define a unidade de distncia como sendo a execuo de uma instruo. O problema, na utilizao do Mips como uma mtrica, deve-se ao fato que dependendo da arquitetura, os processadores podem realizar diferentes quantidades de operaes em uma mesma instruo. Por exemplo, processadores podem calcular funes senoidais em uma simples instruo, enquanto outros podem requerer vrias multiplicaes, adies dentre outras.Frmula da mtrica, n = nmero de instrues, te = tempo total

Freqentemente, estamos interessados na rapidez que um dado programa executado, portanto, uma mtrica fundamental na anlise de desempenho de um determinado sistema o tempo decorrido na execuo de uma rotina. Simplesmente, o sistema que executa uma determinada aplicao em menos tempo ter melhor desempenho. Podemos comparar o tempo diretamente ou utilizar taxas relacionadas. Sem uma medio de tempo, precisa e exata, fica impossvel comparar e analisar o desempenho de diferentes sistemas. A tcnica padro para medio de tempo em um sistema computacional o uso de um cronmetro para medir o tempo decorrido para realizao de um determinado evento. Em vez de um cronmetro propriamente, um sistema computacional possui um contador que 22

incrementado a cada ciclo de clock. O intervalo de tempo medido subtraindo a contagem inicial da contagem final do contador, portanto teremos o nmero de ciclos de clock decorridos. 3.1 - ndices de tendncia central O desempenho de um sistema algo complexo e depende de vrios fatores. , portanto, difcil relacion-lo com um nico valor. Por exemplo, um determinado microprocessador pode ser otimizado para uma classe de aplicaes, logo quando forem executadas outras aplicaes o desempenho ser inferior. Efetuar medies em aplicaes que utilizem diferentes tipos de instrues e represent-las por um nico nmero pode levar o analista a concluses precipitadas[1]. Na tentativa de relacionar um conjunto de medies a um nico nmero, foram criadas relaes que indiquem a tendncia central das medies, so elas: Mdia: a mtrica mais comum para representar a tendncia central. Importante para o analista o entendimento da definio das diferentes mdias, para saber us-las apropriadamente, so elas: 1. - Mdia Aritmtica, utilizada quando a soma total dos dados tem algum valor fsico de interesse. Por exemplo, a soma dos tempos de uma determinada rotina. 2. - Mdia Harmnica Usada para taxas de valores inversamente proporcionais como velocidade e tempo. No apropriada para dados que se encaixem na mdia aritmtica.

3.

- Mdia Geomtrica utilizada para valores normalizados.

23

4. aritmtica.

- Mdia Ponderada um tipo de mdia

Mediana: a medida que separa a metade inferior da amostra, da metade superior. Metade da populao ter valores inferiores ou iguais mediana e a outra metade ter valores superiores ou iguais mediana. Exemplo: Mediana(1, 4, 5, 6,7) = 5 Mediana(1, 2, 3, 5, 7,8) = (5+3) / 2 = 4

.

Moda: o valor que surge com mais freqncia nas medies. Exemplo: Moda(1, 2, 3, 4, 2, 2,1) = 2

3.2 Variabilidade Quando representamos uma quantidade de dados por um nico valor, omitimos o grau de disperso dos dados que esto sendo representados. Nesse contexto, entra o conceito de variabilidade. Quando os dados medidos esto muito prximos um dos outros indica uma pequena variabilidade[1][4]. Dado que o desvio padro da amostra, uma mtrica muito utilizada. Temos por definio que a variabilidade . O desvio padro da mesma unidade dos valores medidos, ou seja, se estamos medindo tempo em segundos, o desvio padro ser em segundos tambm.Variabilidade de uma amostra: note que nela esto contidas todas as variaes dos dados em relao mdia

24

3.3 Benchmarks Para medir a velocidade mxima de um carro preciso que ele esteja em movimento. Do mesmo jeito, para avaliar o desempenho de um sistema computacional necessrio que um programa esteja em execuo. A melhor e mais fcil maneira de avaliar o desempenho de uma determinada aplicao execut-la no sistema de estudo, porm nem sempre possvel, pois o custo para execut-la pode no ser vantajoso. s vezes, a aplicao no existe e o desenvolvedor precisa saber se possvel desenvolver determinado tipo de aplicao para um sistema[1]. Nesse contexto de dificuldades, surgem os Programas de Benchmarks que so programas usados para medir o desempenho de um sistema computacional. A idia central que os Benchmarks possuam caractersticas das aplicaes que o desenvolvedor planeja executar no sistema computacional, portanto cada Benchmark criado para simular um

determinado tipo de aplicao. O analista utiliza os Benchmarks para obter mtricas e com elas avaliar o desempenho do sistema. 3.3.1 Tipos de Benchmarks importante que um Benchmark seja de fcil utilizao em diferentes sistemas. Se no for de fcil utilizao bem provvel que no seja usado ou utilizado de forma incorreta. No uma tarefa fcil a portabilidade dos Benchmarks nos diferentes sistemas. O trabalho do analista se tornou mais fcil com o surgimento de tecnologias portveis. Dada a variedade dos domnios de aplicaes que possuem diferentes caractersticas de execuo, existe uma infinidade de Benchmarks que so criados um para atender s necessidades dos diferentes so domnios e por conseqentemente aos diferentes usurios. Por exemplo, desenvolvedores de novo sistema computacional, geralmente, interessados

25

Benchmarks que exercitem componentes especficos ao longo da evoluo do projeto. Podemos dividir os Benchmarks em vrios tipos de acordo com algumas caractersticas. A definio de desempenho relativa. Uma das primeiras e mais aceitas medidas de desempenho o tempo gasto para a execuo de uma simples instruo. Desde que quase todas as instrues de um computador durassem quase o mesmo tempo para a execuo, saber o tempo para execuo de uma instruo seria suficiente para determinar o desempenho. Ento seria simples, se a instruo escolhida for a adio, a mquina que detiver a adio mais rpida ter melhor desempenho como um todo, tornando o critrio extremamente vago. Com intuito de melhorar o desempenho, os arquitetos comearam a desenvolver instrues de microprocessadores que utilizem o mnimo de instrues de clock possveis. Uma instruo de acesso a memria principal utiliza mais ciclos de clock que uma operao aritmtica que se desenvolve com os registradores do processador. O fato das instrues no serem homogneas torna os processadores e os sistemas cada vez mais complexos, conseqentemente, a avaliao de desempenho a partir de uma nica instruo imprecisa. Dentro desse contexto de dificuldades, Jack C.Gibson props, em 1950, a Gibson instruction mix, mistura de instrues de Gibson, como uma mtrica de desempenho. A idia chave foi agrupar as instrues em diferentes classes sendo que duas instrues que pertenam a uma mesma classe necessitam do mesmo nmero de ciclos de clock para serem processadas. O nmero de instrues de uma classe executadas por uma aplicao usado para formulao de uma mdia ponderada. A mdia ponderada , portanto, a mtrica utilizada para comparao entre dois sistemas. O tempo total requerido por uma aplicao expresso pela seguinte frmula: Tempo de execuo = N X CPI X Tclock 26

Onde

N

o

numero

total

de

instrues,

CPI,

Cycles Per

Instruction(nmeros de ciclos de clock por instruo), a mdia ponderada do numero de ciclos de clock necessrios para a execuo de todas as instrues do programa e Tclock o tempo de um ciclo de clock. A idia central da Gibson instruction mix est na CPI, note que quando usado como mtrica de desempenho um pequeno CPI corresponde a um melhor desempenho. Por exemplo, dada a tabela abaixo:Classe de Porcentagem Instruo 1 2 3 4 5 6 executadas 33.4 23.2 18.1 10.3 7.8 7.2 das instrues Nmeros de ciclos de clock utilizados 2 3 3 4 5 7

Calculando a CPI, temos: CPI=(2*0.334)+(3*0.232)+(3*0.181)+(4*0.103)+5*(0.078)+7*(0.072)= 3.213 Se o Tclock do processador for 8ns, por exemplo, o tempo de execuo total ser: Tempo de execuo = 23, 842, 128 3.213 8 10-9 = 0.61 s. Nota-se, que usando a CPI, a avaliao de desempenho fica prejudicada, pois est fortemente ligada ao conjunto de instrues que est sendo executado no estudo. O valor da CPI para um sistema especfico depende, exclusivamente, do conjunto de instrues que est em execuo. O nmero de ciclos de clock por instruo varia de sistema para outro, o que dificulta o uso da mtrica. A mtrica ignora os efeitos no desempenho ocasionados pelas operaes de Entrada/Sada e hierarquia de memria, por exemplo.

27

Benchmarks Sintticos Enquanto a idia anterior se baseia nas instrues que esto sendo executadas no programa, a idia do Benchmark Sinttico desenvolver um programa que execute um determinado mix de instrues. Em outras palavras, um Benchmark Sinttico um complemento do tem anterior. Um Benchmark sinttico um programa artificial no qual o conjunto de operaes que ele executa selecionado para simular uma determinada classe de aplicaes. O objetivo que sendo o conjunto de instrues, o mesmo, das aplicaes reais, o desempenho obtido na execuo ser um bom parmetro para a avaliao do desempenho da aplicao real. Existem alguns problemas na utlizao de Bechmarks Sintticos, os mesmos no conseguem simular o impacto sobre o desempenho com a modificao na ordem das instrues, pois diferentes ordens de instrues podem ocasionar diferentes dependncias entre elas. Com o aumento da complexidade das aplicaes fica difcil a escolha de um Benchmark especfico para ela. Porm, mesmo com os problemas relatados o uso atrativo, pois ele abstrai muito detalhes das aplicaes reais.

3.3.2 - Estratgias de Benchmark A maioria dos Benchmarks baseia a medida do desempenho no tempo requerido para sua execuo. Existem outras estratgias que podem ser empregadas em um Benchmark. Podemos dividir as estratgias em trs categorias: Medida do tempo requerido para executar computao fixa de instrues. Medida da quantidade de computao em um determinado tempo.

28

Hbrida, uma mistura das duas estratgias anteriores

Benchmarks de computao fixa A velocidade um termo comum para uso quando se avalia desempenho em qualquer rea. Na fsica, velocidade a distncia percorrida por unidade de tempo. Em sistemas computacionais no temos uma distncia como na fsica, mas podemos fazer uma analogia com alguma mtrica de interesse. O que desejamos ento definir uma velocidade ou taxa para os sistemas computacionais, definida como R = W / T, onde W a computao efetuada e T o tempo de durao, o valor de W pode ser intrseco ao benchmark. Como a computao pode variar de mquina para outra, se quisermos comparar duas mquinas teremos que calcular a computao em ambas e s ento apresentarmos a velocidade relativa S. Abaixo o sistema 1 ser S vezes mais rpido que o sistema 2.Velocidade relativa

S= R1 / R2 = (W1/T1) / (W2/T2) R1 = S*R2 O conceito de computao fixa segue o conceito proposto por Gene Amdahl, conhecido como lei de Amdahl. Segundo a lei: O maior aumento de desempenho possvel introduzindo melhorias numa determinada caracterstica limitado pela percentagem em que essa caracterstica utilizada. Para avaliarmos o desempenho de um determinado tipo de aplicao, simulamos as classes de intrues mais comuns. 3.3.3 - Exemplos de Bechnmarks O Whetstone, foi desenvolvido primeiramente em Algol 60 em 1972 pelo National Physical Laboratory na Inglaterra, faz parte de vrios programas de benchmark atuais, cujo resultado indica o nmero de vezes por segundo em que o processador capaz de executar a sua rotina. O desempenho do processador neste teste um bom indicativo do seu desempenho em jogos 3D 29

e em aplicativos cientficos. A unidade de medida do Whetstone o Millions of Whetstone Instructions per Second (MWIPS). Este valor est relacionado capacidade do processador em executar os seguintes tipos de instrues: ponto flutuante, lgicas( if then else) e matemticas (seno ,cosseno). As vantagens deste Benchmark so o seu tamanho reduzido e simplicidade no cdigo. Desenvolvido em 1984 inicialmente em ADA, o benchmark Dhrystone tem por objetivo a avaliao de operaes aritmticas simples, operaes com string, decises lgicas, e acessos de memria com inteno de refletir as atividades da CPU nas aplicaes de computao de propsito mais geral. Tem como unidade de medida o Dhrystone Millions of Instruction per Second (DMIPS). A principal diferena entre os dois que o Whetstone tem maior nfase nas operaes numricas, enquanto o Dhrystone tem sua maior nfase nas funes de String. Sua aplicao principal na anlise da eficincia de combinaes hardware/compilador em mquinas de pequeno e mdio porte, devido ao parse que gerado, internamente, para anlise sinttica do cdigo. O Everest Ultimate Edition um programa propietrio, completo, de diagnstico para o computador. fabricado pela Lavalys e utilizado pela HP (Hewlett-Packard) para diagnsticos. Exibe as caractersticas do hardware, oferece parmetros para comparao, gera e exibe relatrios e apresenta alguns aspectos do que est ocorrendo em tempo no computador (como processos em andamento). um sistema profissional de informaes e diagnstico de hardware e software que oferece uma srie de Benchmarks para avaliao de desempenho, dentre os quais a velocidade de leitura na memria principal. Pode ser encontrado juntamente com sua documentao no endereo: http://www.lavalys.com/

30

4 MetodologiaEste captulo tem como objetivo propor uma metodologia para avaliao computacional de desempenho e comparao de computadores. Este processo contemplar a mensurao de dados das plataformas, seleo e definio de mtricas de interesse. A metodologia proposta ter flexibilidade para poder ser usada em diferentes plataformas e arquiteturas de computadores e para os mais diversos objetivos. Ficar a critrio do analista a escolha. Como o sistema em estudo j existe, podemos realizar medies, caso o sistema no existisse poderamos desenvolver modelos tericos de desempenho, porm esto fora do escopo do trabalho. Muitos fatores precisam ser levados em considerao no planejamento de uma anlise de desempenho como: o tempo disponvel para estudo, a flexibilidade do sistema, custo do projeto, clareza e o nvel de exatido dos resultados. Com a utilizao de cargas de trabalho, respeitando determinadas precondies, realizaremos coletas de mtricas de interesse com o objetivo de obtermos dados para realizao de um estudo detalhado. Logo, apontaremos que computador tem melhor desempenho sobre as determinadas condies, com cargas de trabalho utilizadas e o grau de confiana no resultado apresentado. Poderemos propor melhorias ou inviabilizar um projeto a partir da anlise dos dados.A metodologia ser desenvolvida seguindo seguintes passos:

Figura 4.1 Fluxograma da metodologia

5. 1 Descrio do cenrio Definido o objetivo(Seo anterior), nessa fase, preciso o conhecimento do(s) sistema(s) do experimento e entender como estaro configuradas as 31

mquinas. Cabe ao analista um estudo detalhado do(s) sistema(s) que ele pretende avaliar. Aqui, identificaremos os componentes a serem avaliados e o estado desses componentes, ou seja, precisamos padronizar o ponto de partida da avaliao. Como nossa metodologia de avaliao e comparao, precisamos proporcionar aos sistemas computacionais condies equivalentes. O cenrio para avaliao sero dois computadores. Os computadores utilizados no experimento em questo devero ter as configuraes analisadas referindo aos seguintes aspectos: sistema operacional, processadores, memria RAM e disco rgido. Determinaremos precondies para os sistemas em questo. Tero como objetivo proporcionar condies iguais aos computadores e padronizar o estado inicial das medies. Sendo assim, apontaremos que computadores tm melhor desempenho respeitando um determinado conjunto de precondies. A memria cache dos microprocessadores desempenha importante papel no processamento das mquinas. O uso da cache diminui o overhead sobre os processadores, uma vez que a memria RAM bem mais lenta que os processadores. Portanto interessante que os processadores acessem a cache em vez da memria principal. Eliminaremos todos os processos no vitais s mquinas em questo. O objetivo ser dedicar o maior processamento possvel da mquina s cargas de trabalho. Ser um trabalho manual haja vista a dificuldade de automatizar a funcionalidade. Desativaremos as placas de rede para desconectarmos as mquinas de redes internas ou externas. Processamento gasto na implementao dos protocolos de comunicao. Ambos os sistemas devero permanecer sobre a mesma temperatura ambiente, pois a temperatura influencia bastante no desempenho dos circuitos integrados. 32

Ambos os sistemas devero ficar isolados, pois precisamos evitar interferncia de terceiros. O sistema operacional ser configurado para no entrar em estado de espera, porque o estado de espera pode interromper a execuo dos processos. As precondies, resumidas, sero as seguintes.Tabela 4.1 Resumo das precondies estabelecidas para metodologia

Precondio Reiniciar o sistema operacional Eliminar todos os processos no vitais mquina Desconectar a mquina de conexes Manter a mesma temperatura Sistema operacional no dever entrar em estado de espera

Objetivo Limpar a memria cache do processador Muitos processos consomem processamento e podem alterar o resultado da medio Processamento gasto nas comunicaes entre mquinas A temperatura pode alterar os resultados obtidos Evitar a interrupo da medio.

4.2 Cargas de Trabalho Com o cenrio definido, preciso decidir o rumo da avaliao que est sendo feita. O analista precisa responder a pergunta: O que queremos avaliar?. Precisa ficar claro o objetivo do estudo que est sendo realizado, ou seja, que aspecto dos dois sistemas deseja-se comparar. Por exemplo, pode-se querer comparar a capacidade de operaes com ponto flutuante dos dois sistemas. A reposta aos questionamentos anteriores ser dada pelo analista com a escolha da carga de trabalho a ser utilizada no experimento. As cargas geraro, no sistema, os estmulos necessrios para criao das mtricas de interesse que sero coletadas na fase posterior da metodologia. Para a carga de trabalho faremos o uso da tcnica de Benchmarking que o processo de comparao de desempenho em diferentes sistemas. Em ambientes computacionais, um Benchmark tipicamente um software que realiza um conjunto restrito e pr-definido de operaes e retorna um resultado em algum formato (uma mtrica), que descreve o estado do sistema. ( Seo 3.3)

33

Devido complexidade do trabalho de Benchmarking, muitos erros so cometidos por parte da equipe de analistas por no conhecimento da mtrica utilizada, erros no processo de coleta ou fatores externos podem alterar o resultado normal do Benchmarking. A portabilidade vem sendo uma tendncia natural das tecnologias emergentes. Esta metodologia pretende acompanh-la. Deixar a critrio do analista a utilizao de cargas portveis. 4.3 - Medio Na fase de medio, o analista precisa ter compreendido o sistema como um todo: cenrio, componentes relevantes, cargas de trabalho e objetivo da anlise que est sendo efetuada, pois esta a fase mais importante da metodologia. Erros na medio podero provocar concluses equivocadas, consequentemente, resultados catastrficos no futuro. O processo de medio seguir um roteiro estabelecido visando a um andamento correto e padronizado. Utilizaremos, durante o processo, o documento de protocolo de medio. ( Apndice E) Ser feita a coleta dos dados para um estudo detalhado e a partir dos resultados teremos como apontar com um determinado grau de segurana, que sistema desempenhar melhor sobre o cenrio proposto. Ao final os resultados podero ser analisados e justificados.Nosso processo de medio seguir o seguinte fluxograma:

Figura 4.2 Fluxograma do processo de medio

34

Planejar Medio Com o perfeito conhecimento do sistema, seus componentes relevantes, interfaces e critrios de avaliao[8]. O analista pode planejar todo o processo de medio que ser realizado. O insumo desta etapa ser um documento de medio(Apndice E) que ser utilizado no decorrer das outras etapas do processo de medio. Nesta fase devero ser designados os analistas responsveis pela medio e anlise dos dados. Existem diferentes tipos de mtricas de desempenho que podemos desejar utilizar. O analista precisa selecionar uma boa mtrica que reflita a caracterstica que ele deseja comparar ou avaliar (Seo 3). As diferentes estratgias de medio dos valores esto ligadas a idia de evento ( Seo 3). necessria a definio da frequncia de medio, ou seja, o nmero de medies em um determinado tempo e a resoluo utilizada no experimento(Seo 2). A classificao do evento a ser medido ser uma mtrica de contagem. Mtricas, nesta categoria, contam o nmero de vezes que determinado evento ocorre. Por exemplo, uma mtrica de contagem de eventos seria o nmero de faltas de pgina em um sistema de memria virtual. Com a classificao do evento definida, podemos definir a estratgia de medio a ser utilizada no experimento. Utilizaremos a estratgia de Tracing na carga de trabalho. Alm da contagem do nmero de eventos ocorridos, o tracing armazena informaes secundrias. Por exemplo, armazenaremos a quantidade de eventos juntamente com o tempo decorrido para o mesmo. Dentre as vrias tcnicas para gerar um tracing, utilizaremos a modificao do cdigo fonte. a tcnica mais simples e caracteriza-se pela colocao de um tracing em determinados locais do cdigo para gerao das mtricas de interesse. Uma vantagem que o analista pode escolher, somente, eventos especficos para serem registrados. A desvantagem que inserir muitos pontos de tracing no cdigo pode perturbar o resultado do experimento, pois aumenta o overhead sobre o sistema, portanto utilizaremos apenas um ponto de trace. 35

Com a definio da estratgia de medio, a carga de trabalho e do tipo de evento a ser avaliado, poderemos planejar como e onde sero coletados os dados para estudo. Por se tratar de uma metodologia de comparao, os dados devero ser coletados, preferencialmente, paralelamente no mesmo local, pois evitaremos alteraes nos dados devido temperatura. O ideal uma coleta feita por meio de um arquivo de texto. A carga de trabalho dever gravar se possvel, em texto, as mtricas de interesse, e assim, facilitar o trabalho do analista encarregado da coleta, pois ter, facilmente, todos os dados de forma prtica, afastando a possibilidade de erro humano na coleta(Erro sistemtico). Sero gravadas somente as mtricas de interesse para evitarmos alguma leitura de um dado, de forma errada, na etapa de anlise dos dados, pois o analista encarregado da anlise pode se confundir na leitura dos mesmos. Dever ser realizado um nmero de medies suficientemente grande, n>>30, nas respectivas mquinas para termos uma boa estimativa da populao(Seo 2). Durante o processo de medio, as mquinas permanecero isoladas para evitarmos interferncias externas. O produto desta fase ser um protocolo (Apndice E ) onde o avaliador especificar todos os detalhes da coleta para garantir a representatividade dos dados[8]. O analista encarregado da coleta dos dados ter a responsabilidade sobre o documento, que deve ser conhecido e entendido por todos aqueles que iro utilizlo. Coletar Dados Com o documento de protocolo, o analista reponsvel pela medio dar incio ao processo de coleta para obteno dos dados planejado na fase anterior. Dever registrar, alm dos dados, as condies no momento da medio. medio. O analista deve ter um perfeito conhecimento da metodologia e da ferramenta

36

Com o final da medio o analista dever realizar uma aferio sobre os dados coletados. Ele dever verificar se a resoluo, preciso e exatido foram aceitveis. (Seo 2) Se no forem, ele dever tentar ajustar o processo de medio ou at mesmo voltar etapa de planejamento da medio. O experimento pode ser revisto, pois melhor corrigir neste momento que deixar para depois, seria bem mais custoso. O analista dever verificar a existncia de outliers, dados completamente discrepantes da maioria das medies, e tentar justific-los. O produto desta etapa ser o mesmo protocolo de medio com todas as informaes sobre a coleta, juntamente, com os dados coletados. O analista ter total responsabilidade sobre os dados coletados. Analisar Dados Com o documento de medio preenchido e em mos(Apndice E), o analista responsvel pela anlise pode dar incio anlise dos dados que feita interpretando os resultados obtidos. A anlise necessria para o estudo das caractersticas de desempenho de um sistema. A partir da interpretao dos resultados, o analista pode inferir que sistema desempenhar melhor sobre o determinado cenrio com a carga de trabalho utilizada, podendo ento justificar o porqu daqueles resultados foram obtidos. A metodologia utilizar para estimao e comparao de parmetros, respectivamente as tcnicas estatsticas: Intervalo de confiana e Teste T pareado. (Seo 2). recomendvel a utilizao de Softwares estatsticos para auxiliar o analista no desenvolver das tcnicas. Com o intervalo de confiana poderemos estimar, a partir da amostra coletada, a mdia dos valores com um determinado grau de segurana. Vemos ento porque extremamente importante uma medio bem feita, ela estimar o valor da mdia, ou seja, ser o retrato do sistema. Com o teste T pareado, podemos verificar se as mdias de dois sistemas computacionais, com um determinado grau de segurana, so equivalentes

37

estatisticamente. Se for comprovada a equivalncia, podemos concluir, para as amostras coletadas, a semelhana de desempenho. s vezes, a distribuio amostral no normal, porm precisamos de uma distribuio normal para fazer uso da tcnica de Intervalo de confiana e teste T pareado. Para resolver esse problema, a metodologia far uso da tcnica de Bootstrap que a partir de reamostragens tender a uma distribuio normal centrada na mdia que queremos estimar. (Seo 2) De posse dos resultados do estudo em questo, o analista pode interpret-los e, ento, tomar decises para melhorar o desempenho de um determinado sistema, modificaes em hardware/ software ou impedir o desenvolvimento do sistema por inviabilidade. importante salientar que o analista pode necessitar voltar s etapas anteriores da metodologia para reavaliar possveis decises que foram tomadas. Por exemplo, o analista pode querer uma nova mtrica, modificar o cenrio utilizado ou alterar as cargas de trabalhos.

38

5.0 Estudo de casoEste captulo realizar um estudo de caso com dois computadores portteis que tm microprocessadores da famlia x86, seguindo a metodologia apresentada no captulo anterior (Figura 4.1). Devido crescente concorrncia, o estudo de caso para anlise de desempenho dos dois computadores ser direcionado para a avaliao dos microprocessadores. O mercado atual de processadores apresenta-se, basicamente, dividido entre duas grandes empresas do setor: AMD e INTEL, portanto ser comparado o desempenho de produtos das respectivas marcas com o intuito de obtermos um parmetro no que diz respeito ao desempenho de produtos concorrentes de mercado. A AMD, Advanced Micro Devices, uma empresa americana fundada em 1969, fabricante de circuitos integrados com sede em Sunnyvale, Califrnia. a segunda maior fabricante de processadores da famlia x86. A Intel, Intel Corporation, uma empresa americana, maior fabricante de circuitos integrados. Foi a criadora da srie de processadores da famlia x86. Com sede em Santa Clara, Califrnia. Nosso estudo ser direcionado anlise de desempenho de processadores da famlia x86, mais especificamente, trataremos de microprocessadores Dual Core(Apndice D). So microprocessadores com duas unidades de processamento, cores, trabalhando em conjunto. O processador Dual Core foi lanado por uma razo especfica, os recursos atuais em busca do maior desempenho esto acabando. O clock dos microprocessadores no pode mais ser aumentado com facilidade e o aumento da memria cache no traz um ganho de desempenho considervel assim como o barramento externo FSB.

39

5.1 Descries do cenrio Utilizaremos computadores que possuem os microprocessadores concorrentes de mercado: AMD Turion X2 e o INTEL Core 2 Duo. Ambos dominam o mercado de microprocessadores Dual Core para computadores portteis. Para coloc-los como foco principal de anlise sero oferecidos aos microprocessadores recursos computacionais similares: memria principal, sistema operacional e disco rgido. O AMD Turion 64 X2 um processador de 64-bits destinado a computadores mveis criado para concorrer com o Core 2 Duo. O Turion foi lanado no dia 17 de maio de 2006. O INTEL Core 2 Duo foi lanado em 27 de julho de 2006, significou tambm a reunio das linhas de processadores de mesa e portteis em um s microprocessador. Apesar de ser o sucessor do Pentium IV, sua arquitetura foi baseada no Pentium III. O cenrio utilizado no experimento em questo dever satisfazer as precondies da Tabela 5.2 do captulo anterior. Os computadores tm a seguinte configurao: Sistema operacional: Microsoft Windows XP Professional SP2 Hard Disk: 120 GB com 5400 RPM Memria RAM: 2GB, DDR2 667MHZ Utilizaremos para avaliao os seguintes processadores:Tabela 5.1 Especificao do Turion X2

Turion X2 64 bits Modelo Barramento FSB Cache Clock 667 MHZ 1 MB 1900 MHz por core TL 58

40

Tabela 5.2- Especificao do Core 2 Duo

Core 2 Duo Modelo Barramento FSB Cache Clock 667 MHZ 2 MB 1800 MHz por core T 7100

5.2 Definies das Cargas de trabalho Como est definido na metodologia (Seo 4.2), precisamos aferir aqui o objetivo do estudo que est sendo realizado. Realizaremos trs anlises de diferentes tipos de aplicaes. Utilizaremos no experimento em questo os Benchmarks Sintticos (Seo 3.3): Whetstone na verso em C/C++ e o Dhrystone na verso em Java e o Everest, aplicativo de diagnstico. Analisaremos os sistemas com relao a aplicaes cientficas com o Whetstone. Manipulao de Strings com o Dhrystone, muito importante na realizao do parser na anlise sinttica em compiladores. Em [6], vemos que um aspecto importante para o desempenho em microprocessadores multicores a capacidade de leitura/escrita na memria principal, logo, por estarmos tratando de processadores multicores, utilizaremos o Everest para avaliar a leitura na memria principal. Com estes trs aspectos, poderemos ter uma boa anlise por se tratarem de caractersticas distintas. 5.3 - Medio O processo de medio ser conduzido conforme o fluxograma Figura 4.2. O analista encarregado do projeto da medio analisou os dois sistemas detalhadamente e as cargas de trabalho utilizadas. Nesta fase, utilizamos o protocolo de medio (Apndice E).

41

Planejamento da Medio Como em 4.3 foi determinado, definimos os dados a serem medidos: Whetstone: MWIPS Dhrystone: DMIPS Everest: Mega Bytes por segundo

Os dados medidos sero os intrnsecos aos Benchmarks utilizados como carga de trabalho. So mtricas, amplamente, aceitas para os tipos de aplicaes a que se destinam(Seo 3). Os Benchmarks Dhrystone e Whetstone foram compilados nas respectivas mquinas, modificamos os cdigos-fonte para gerao do tracing desejado. Utilizaremos apenas um tracing para diminuir o overhead sobre o sistema. O Everest por se tratar de um executvel o tracing j interno, portanto no foi possvel modificar o cdigo. Como pudemos modificar o cdigo fonte no caso dos Benchmarks Wheststone e Dhrystone, foi possvel a escrita da mtrica de interesse pelo prprio Benchmark em um arquivo de texto. No caso do Everest, como no pudemos alterar o cdigo fonte, a coleta ter que ser feita manualmente pelo analista responsvel pela coleta. Para obtermos uma boa aproximao utilizaremos a resoluo (Seo 2) de trs casas decimais. Planejamos realizar um total de 50 medies em cada sistema. Optamos pelas medies sequenciais, um dado aps o outro, pois as mquinas no puderam ficar disponveis por muito tempo. Foram criados os trs protocolos de medio referentes aos trs Benchmarks, (Apndice E) com os dados dos sistemas em anlise para uso na fase posterior do processo de medio.

Coleta dos Dados Foram colocados ambos os computadores sobre o mesmo ambiente refrigerado a 25 graus Celsius, pois alteraes de temperatura podem modificar o desempenho dos mesmos. Portanto, todo processo de coleta foi feito paralelamente para os dois sistemas computacionais. 42

Os pontos de tracing gerados foram guardados em um arquivo de texto na raiz do disco rgido, no caso dos Benchmarks whetstone e Dhrystone. Para o Everest foram feitas coletas sequenciais pelo analista, pois se trata de um aplicativo que no oferece o recurso para a gravao em um arquivo de texto. Foram realizadas paralelamente cinquenta medies em sequencia nos sistemas do estudo de caso, porm, devido ao alto custo de medio, fizemos apenas dez medies para o Benchmark Everest. Na aferio dos dados, a analista no detectou grandes discordncias nas medies. Os dados foram aceitveis. Aps o trmino das medies, o analista preencheu o protocolo de medio com as informaes da coleta e com os dados obtidos para anlise e estudo na fase posterior da metodologia. Anlise dos dados Com o protocolo de medio preenchido com as caractersticas do sistema e com os dados coletados, o analista responsvel pela anlise deu incio ao processo de anlise dos dados. Ao final pudemos avaliar os resultados obtidos e tentar justific-los. Utilizamos na anlise dos dados a ferramenta estatstica Minitab. Minitab que um programa de computador proprietrio voltado para fins estatsticos. muito utilizado nas universidades nos cursos introdutrios de estatstica. Tambm utilizado em empresas num nvel mais avanado de utilizao, tendo funes mais especficas voltadas para gerenciamento. Pode ser encontrado, juntamente com uma documentao prpria, no endereo: http://www.minitab.com/. Utilizaremos, na anlise, as funcionalidades Graphical Summary e T paired test do Minitab, ambas encontram-se nas funcionalidades estatsticas bsicas. O Graphical Summary apresenta um resumo estatstico da amostra coletada (Seo 2). Colocamos a amostra coletada em uma das colunas e executamos a 43

funcionalidade, que alm da mdia e do intervalo de confiana a partir da amostra coletada oferece outras informaes importantes para a anlise: desvio padro e grfico Box-plot. (Apndice B) O T paired test executa o Teste T pareado, verificar se os dois sistemas so equivalentes estatisticamente (Seo 2). O teste nos dar como resultado a mdia e o intervalo de confiana da diferena entre as mdias. Se o 0 estiver contido no intervalo, podemos concluir com o determinado grau de segurana que para as amostras coletadas, os sistemas so equivalentes em desempenho. (Seo 2) Faremos uso da tcnica de Bootstrap. Utilizaremos a ferramenta estatstica Statdisk que pode ser encontrada em: http://www.statdisk.org/. (Seo 2)

Figura 5.1 Funcionalidades utilizadas do Minitab

44

Figura 5.2 Funcionalidade utilizada do Statdisk

Abaixo,

as

anlises

com

as

respectivas

cargas

de

trabalho

com

reamostragens nos dados obtidos, tcnica de Bootstrap: Whetstone

Figura 5.3 Resumo estatstico do Turion X2 para o Whetstone

45

Figura 5.4 - Resumo estatstico do Core 2 duo para o Whetstone

Figura 5.5 Teste T de paridade do Turion X2 X Core 2 Duo para o Whetstone Tabela 5.3 Resumo dos valores para o Turion x2 (Apndice B)

Mdia

Terceiro I.Confiana 95% Primeiro da mdia Desvio Padro Quartil Mediana Quartil 712,46 0,13 712,38 712,46 712,54 ( 712,45 ; 712,47)

Tabela 5.4 Resumo dos valores para o Core 2 Duo (Apndice B)

Mdia

Terceiro I.Confiana 95% Primeiro da mdia Desvio Padro Quartil Mediana Quartil 834,66 0,15 834,56 834,66 834,76 (834,65; 835,68)

46

Analisando as informaes da Figura 5.3 para o Turion X2, a mdia a partir da amostra coletada est contida com 95% de confiana no intervalo( 712,45; 712,47) MWPS. Vemos a ocorrncia de outliers(Apndice B), no processo de medio, que podem ter sido resultado de processos que compartilharam o processador com o Benchmark. No Core 2 Duo, Figura 5.4, vemos um processo mais estvel, pois existiram somente dois outliers. A mdia a partir da amostra coletada est contida com 95% de confiana no intervalo ( 834,65; 835,68) MWPS. Analisando o t pair test, Figura 5.5 (Seo 2), de se notar que 0 no pertence ao intervalo de confiana da mdia das diferenas. Podemos concluir, a partir das amostras coletadas que os sistemas no so equivalentes estatisticamente, o Core 2 Duo obteve um melhor rendimento no cenrio proposto. O experimento mostrou que provavelmente existiram processos no Turion x2 que utilizaram o processador durante a medio. No Core 2 Duo, aparemente, a precondio de encerramento de processos foi mais bem executada. Podemos inferir que o Core 2 Duo um microprocessador mais indicado para aplicaes cientficas ou matemticas no dado cenrio proposto, considerando as amostras coletadas, com 95% de confiana. Exemplo: Matlab, mathcad ou Scilab.

47

Dhrystone

Figura 5.7 - Resumo estatstico do Turion X2 para o Dhrystone

Figura 5.8- Resumo estatstico do Core 2 Duo para o Dhrystone com

48

Figura 5.9 - Teste T de paridade do Turion X2 X Core 2 Duo para o Dhrystone

Tabela 5.5 Resumo dos valores para o Turion x2 (Apndice B)

Mdia

Terceiro I.Confiana 95% Primeiro da mdia Mediana Quartil Desvio Padro Quartil 4198,6 29 4180,3 4201,2 4218,8 (4196,1 ; 4201,2)

Tabela 5.6 Resumo dos valores para o Core 2 Duo (Apndice B)

Mdia

Terceiro I.Confiana 95% Primeiro da mdia Desvio Padro Quartil Mediana Quartil 3582,1 6,8 3577,9 3583 3586,6 (3581,5; 3582,7)

Analisando as informaes da Figura 5.7 para o Turion X2, a

partir da

amostra coletada, a mdia est contida com 95% de confiana no intervalo( 4191,9; 4200,5) DMIPS. Caracterizou-se por ser um procedimento extremamente instvel, pois existem muitos outliers. No core 2 Duo, Figura 5.8, vemos tambm uma grande instabilidade. A partir das amostras coletadas, a mdia est contida com 95% de confiana no intervalo( 3568,6; 3595,9) DMWPS. Analisando o teste t pareado, Figura 5.9, de se notar que 0 no pertence ao intervalo de confiana da mdia das diferenas com 95% de confiana. Podemos 49

concluir que os sistemas no so equivalentes estatisticamente, o Turion X2 obteve um melhor redimento no cenrio que foi proposto. O analista pode concluir a partir do estudo realizado que o Turion X2 um processador mais indicado para manipulao de Strings e nmeros inteiros. comum em compiladores devido ao parser, que o processo de analisar uma sequncia de entrada para determinar sua estrutura gramatical segundo uma determinada gramtica formal. Essa anlise faz parte de um compilador, junto com a anlise lxica e anlise semntica. Podemos justificar a grande instabilidade das medies ao uso da tecnologia Java no Benchmark Dhrystone. O Benchmark acaba sendo suportado pela mquina virtual, que um outro processo em execuo, portanto executa rotinas outras rotinas Everest Como a utilizao da ferramenta Everest tem um alto custo de tempo, fizemos 10 medies e aplicamos a tcnica de Bootstrap nos dados para 50 reamostragens. Os resultados seguem abaixo:

Figura 5.10 - Resumo estatstico do Turion X2 para o Everest

50

Figura 5.11- Resumo estatstico do Core 2 Duo para o Everest

Figura 5.12 - Teste T de paridade do Turion X2 X Core 2 Duo para o Everest

Tabela 5.7 Resumo dos valores para o Turion x2 (Apndice B)

Mdia

Terceiro I.Confiana 95% Primeiro da mdia Desvio Padro Quartil Mediana Quartil 3980,7 0,6 3980,4 3980,7 3981,3 (3980,5; 3980,9)Tabela 5.8 Resumo dos valores para o Core 2 Duo (Apndice B)

Mdia

Terceiro I.Confiana 95% Primeiro da mdia Desvio Padro Quartil Mediana Quartil 5120,9 20,7 5108,3 5121 5132,3 (5115,0; 5126,8)

Analisando os grficos acima, conclumos que em ambos os sistemas as amostras coletadas foram precisas e exatas, foi uma excelente coleta. Deve-se 51

bastante a qualidade do Everest como Benchmark, pois um aplicativo profissional. Vemos o intervalo de confiana de 95% das mdias do Turion X2 e do Core 2 duo respectivamente (3980,5; 3980,9) e (5115,0; 5126,8) MB/s. Com o T pair test, fica claro a superiodade na leitura da memria principal do core 2 duo sobre o turion x2. Este fato de extrema importncia para o desempenho geral dos microprocessadores multicores segundo [6]. O resultado no surpresa devido cache do Core 2 duo ter 2 MB(Tabela 5.2), enquanto a memria cache do turion x2 ter 1 MB(Tabela 5.1). A memria cache torna a leitura bem mais rpida, pois a leitura na memria principal custa mais, computacionalmente. Comentrios As ferramentas estatsticas utilizadas so muito prticas e eficientes, porque tornam a anlise um procedimento bastante acessvel, pois o analista no necessita de um domnio profundo das tcnicas utilizadas. Porm, preciso um estudo prvio sobre como utiliz-las para no prejudicar o processo. So ferramentas amplamente documentadas, o que facilita o aprendizado. Alm dos resultados obtidos que foram comentados anteriormente, um fato chamou ateno no processo de medio e anlise: a extrema instabilidade do Bechmark em Java. Apesar do ganho em portabilidade, a tecnologia mostrou-se no muito eficiente para utilizao como Benchmarks. Pois, sua mquina virtual, que ao mesmo tempo em que d suporte aplicao, realiza outras atividades como o Garbage Collector, que um processo usado no gerenciamento de memria nos sistemas computacionais para recuperar zonas de memria no mais utilizadas. A mquina virtual acaba compartilhando a CPU com a carga de trabalho.Uma soluo para esse problema poderia ser a prvia eliminao dos outliers na fase de coleta dos dados.

52

6 ConclusoEste trabalho apresentou uma metodologia para avaliao e comparao de sistemas computacionais. A metodologia proposta flexvel para proporcionar ao analista a possibilidade de utiliz-la para os mais diversos objetivos. O estudo de caso Utilizou Benchmarks Sintticos como cargas de trabalho, pois tm a capacidade de emular as principais caractersticas dos mais diversos tipos de aplicao, ou seja , podem ser utilizados para se atingir os objetivos desejados. Para a escolha da carga de trabalho a ser utilizada, importante um estudo da teoria de mtricas e medies, pois muitas vezes no se sabe a mtrica adequada para o problema em questo, tampouco a melhor forma de medio. Por se tratar de amostras aleatrias, a anlise dos dados feita utilizando ferramentas estatsticas, para quais existem softwares que executam os clculos para o analista, o que torna a anlise um procedimento extremamente prtico. A anlise de desempenho, que para muitos conjunto de tcnicas, se apresentou como uma cincia com diversas vertentes de estudo. O estudo de caso realizado demonstrou a falta de Benchmarks especficos para microprocessadores multicores, fato esse, comentado por artigos cientficos [8]. A maioria dos Benchmarks existentes para avaliao so antigos, mas em contrapartida os microprocessadores multicores so tecnologias recentes o que de certa forma deixa lacunas e, conseqentemente, um bom campo de pesquisa. Conclumos, no estudo de caso, que para o determinado cenrio proposto, respeitando as precondies estabelecidadas e com base nas amostras coletadas, durante a fase de medio, que apesar de existirem diferenas para determinados tipos de aplicaes, os processadores Turion X2 TL 58 e Core 2 Duo T7100 so processadores de desempenhos muito prximos. Se considerarmos que no levamos em conta a placa me dos computadores, os desempenhos no foram muito diferentes.

53

No processo de medio, a procurada portabilidade na tecnologia Java mostrou-se um fator de instabilidade devido ao uso da Mquina Virtual do Java que acaba sendo um processo que compartilha o microprocessador. O uso de programas profissionais como o Everest mostrou uma extrema estabilidade no processo de medio, porm encarece a metodologia por se tratar de programas no gratuitos. A anlise dos dados, na fase de medio da metodologia, mostrou a importncia do estudo da estatstica que por muitas vezes deixada de lado pelos profissionais de tecnologia da informao. Este trabalho surge como uma alternativa para os engenheiros e analistas que necessitem executar uma anlise de desempenho, mesmo aqueles sem experincia alguma na rea. Os captulos anteriores metodologia, que de fcil compreenso, oferecem todo o conhecimento bsico necessrio para uma anlise de desempenho consciente. 6.1 Trabalhos Futuros A partir da concluso desse trabalho, surgem vrias oportunidades que o complementam. Temos alguns trabalhos propostos: criar Benchmarks especficos para avaliao de microprocessadores multicores, estudar o desempenho da mquina virtual Java ou a criao de um modelo para metodologia proposta

54

7 Referncias[1] Lilja, D. - Cambridge - Measuring Computer Performance,2000 [2] Wiley - Applied Statistic and Probability for Engineers, 2006 [3] Menasc, D.A., Almeida, V.A.F., Dowdy, L.W. - Performance by Design: Computer Capacity Planning by Example. 2005 [4] Meyer, P. Probabilidade, Aplicaes e Estatstica,2000 [5] Wang, L., Tsen, C., Schulte, M., Jhalani, D. -Benchmarks and Performance Analysis of Decimal Floating-Point Applications, 2008 [6] Gal-On, S., Levy, M. Measuring Multicore Performance, 2008 [7] Stefani,I., Cordeiro,E. , Soares,T. , Martins, C. -DCMSim: Uma ferramenta para simulao de memria cache,2005 [8] Avaliao de Desempenho. Disponvel em: http://www.cin.ufpe.br/~prmm/IntTopAval.pdf, ltimo acesso em 17/11/2008. [9]Wolfram MathWorld: The Webs most extensive mathematics

resource. Disponvel em: http://mathworld.wolfram.com/, ltimo acesso em 17/11/2008. [10] Hoste, K. , Phansalkar,A. , Eeckhout, L. , Georges, A. , Lizy K.John, Koen de Bosschere Performance Prediction based on Inherent Program Similarity, 2006 [11] Lizy Kurian John, Lieven Eeckhout Performance Evaluation and Benchmarking, 2005.

[12] Medeiros ,S. Medio de energia eltrica, 1981 55

Apndice A: Teorema Fundamental do ClculoConsidere f uma funo contnua de valores reais definida em um intervalo fechado [a, b]. Se F for a funo definida para x em [a, b] por

ento

para todo x em [a, b]. Considere f uma funo contnua de valores reais definida em um intervalo fechado [a, b]. Se F uma funo tal que para todo x em [a, b] ento

.

56

Apndice B: Grfico Box-Plot

Demonstra a variabilidade dos dados coletados sendo:

Q3: Terceiro Quartil, a quarta parte dos valores em ordem crescente. M: Mediana Q1: Valor do primeiro quartil. Valores completamente a afastados dos demais so representados por *, outliers.

Exemplo 1: Amostra: 6, 47, 49, 15, 42, 41, 7, 39, 43, 40, 36 Amostra ordenada: 6, 7, 15, 36, 39, 40, 41, 42, 43, 47, 49 Q1 = 15 M = 40 Q3 = 43

57

Apndice C: Tabela Dist. NormalDistribuio Normal : Valores de P( Z < z ) = A(z)

Segunda decimal de z0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 0 0.5000 0.5398 0.5793 0.6179 0.6554 0.6915 0.7257 0.7580 0.7881 0.8159 0.8413 0.8643 0.8849 0.9032 0.9192 0.9332 0.9452 0.9554 0.9641 0.9713 0.9772 0.9821 0.9861 0.9893 0.9918 0.9938 0.9953 0.9965 0.9974 0.9981 0.9987 0.9990 0.9993 0.9995 0.9997 0.9998 0.9998 0.9999 0.9999 1.0000 1 0.5040 0.5438 0.5832 0.6217 0.6591 0.6950 0.7291 0.7611 0.7910 0.8186 0.8438 0.8665 0.8869 0.9049 0.9207 0.9345 0.9463 0.9564 0.9649 0.9719 0.9778 0.9826 0.9864 0.9896 0.9920 0.9940 0.9955 0.9966 0.9975 0.9982 0.9987 0.9991 0.9993 0.9995 0.9997 0.9998 0.9998 0.9999 0.9999 1.0000 2 0.5080 0.5478 0.5871 0.6255 0.6628 0.6985 0.7324 0.7642 0.7939 0.8212 0.8461 0.8686 0.8888 0.9066 0.9222 0.9357 0.9474 0.9573 0.9656 0.9726 0.9783 0.9830 0.9868 0.9898 0.9922 0.9941 0.9956 0.9967 0.9976 0.9982 0.9987 0.9991 0.9994 0.9995 0.9997 0.9998 0.9999 0.9999 0.9999 1.0000 3 0.5120 0.5517 0.5910 0.6293 0.6664 0.7019 0.7357 0.7673 0.7967 0.8238 0.8485 0.8708 0.8907 0.9082 0.9236 0.9370 0.9484 0.9582 0.9664 0.9732 0.9788 0.9834 0.9871 0.9901 0.9925 0.9943 0.9957 0.9968 0.9977 0.9983 0.9988 0.9991 0.9994 0.9996 0.9997 0.9998 0.9999 0.9999 0.9999 1.0000 4 0.5160 0.5557 0.5948 0.6331 0.6700 0.7054 0.7389 0.7704 0.7995 0.8264 0.8508 0.8729 0.8925 0.9099 0.9251 0.9382 0.9495 0.9591 0.9671 0.9738 0.9793 0.9838 0.9875 0.9904 0.9927 0.9945 0.9959 0.9969 0.9977 0.9984 0.9988 0.9992 0.9994 0.9996 0.9997 0.9998 0.9999 0.9999 0.9999 1.0000 5 0.5199 0.5596 0.5987 0.6368 0.6736 0.7088 0.7422 0.7734 0.8023 0.8289 0.8531 0.8749 0.8944 0.9115 0.9265 0.9394 0.9505 0.9599 0.9678 0.9744 0.9798 0.9842 0.9878 0.9906 0.9929 0.9946 0.9960 0.9970 0.9978 0.9984 0.9989 0.9992 0.9994 0.9996 0.9997 0.9998 0.9999 0.9999 0.9999 1.0000 6 0.5239 0.5636 0.6026 0.6406 0.6772 0.7123 0.7454 0.7764 0.8051 0.8315 0.8554 0.8770 0.8962 0.9131 0.9279 0.9406 0.9515 0.9608 0.9686 0.9750 0.9803 0.9846 0.9881 0.9909 0.9931 0.9948 0.9961 0.9971 0.9979 0.9985 0.9989 0.9992 0.9994 0.9996 0.9997 0.9998 0.9999 0.9999 0.9999 1.0000 7 0.5279 0.5675 0.6064 0.6443 0.6808 0.7157 0.7486 0.7794 0.8078 0.8340 0.8577 0.8790 0.8980 0.9147 0.9292 0.9418 0.9525 0.9616 0.9693 0.9756 0.9808 0.9850 0.9884 0.9911 0.9932 0.9949 0.9962 0.9972 0.9979 0.9985 0.9989 0.9992 0.9995 0.9996 0.9997 0.9998 0.9999 0.9999 0.9999 1.0000 8 0.5319 0.5714 0.6103 0.6480 0.6844 0.7190 0.7517 0.7823 0.8106 0.8365 0.8599 0.8810 0.8997 0.9162 0.9306 0.9429 0.9535 0.9625 0.9699 0.9761 0.9812 0.9854 0.9887 0.9913 0.9934 0.9951 0.9963 0.9973 0.9980 0.9986 0.9990 0.9993 0.9995 0.9996 0.9997 0.9998 0.9999 0.9999 0.9999 1.0000 9 0.5359 0.5753 0.6141 0.6517 0.6879 0.7224 0.7549 0.7852 0.8133 0.8389 0.8621 0.8830 0.9015 0.9177 0.9319 0.9441 0.9545 0.9633 0.9706 0.9767 0.9817 0.9857 0.9890 0.9916 0.9936 0.9952 0.9964 0.9974 0.9981 0.9986 0.9990 0.9993 0.9995 0.9997 0.9998 0.9998 0.9999 0.9999 0.9999 1.0000

Parte inteira e primeira decimal de z

58

Apndice D: Arquitetura Dual CoreUm processador multicore combina dois ou mais cores, normalmente chamados de unidade de processamento, no mesmo circuito integrado. Abaixo temos um diagrama de um microprocessador dual core genrico:

Vemos dois cores com respectivas suas caches L1 e a interface de barramento com a cache L2. No estudo de caso fizemos a abstrao das caches L1. Foi considerada somente a cache L2 para a avaliao.

59

Apndice E: Documento de MedioResposvel: Analista da Medio: Local: Data:Descrio do Sistema

Processador Memria Ram Disco rgido Sistema operacionalInformaes de coleta

Carga de trabalho Mtrica Resoluo Frequencia Temperatura Qtde de medies Incio TrminoDados Coletados

60