• Nenhum resultado encontrado

Organização de Computadores B - Trabalho 2

N/A
N/A
Protected

Academic year: 2021

Share "Organização de Computadores B - Trabalho 2"

Copied!
15
0
0

Texto

(1)

Organização de Computadores B - Trabalho 2

Universidade Federal do Rio Grande do Sul Instituto de Informática

César Garcia Daudt cesar.daudt@inf.ufrgs.br

1. Investigar a inuência do tipo de mapeamento empregado (direto, associativo por conjunto e totalmente associativo) e da política de reposição no desempenho da cache

As respostas para as perguntas a seguir são baseadas nos resultados encontrados nas tabelas 1 e 2 e nos grácos 1, 2, 3, 4, 5, 6, 7 e 8

LRU (l) RANDOM (r) FIFO (f) No Conj. Tam. Bloco Assoc. ICache DCache ICache DCache ICache DCache

32 32 1 0.1301 0.1117 0.1301 0.1117 0.1301 0.1117 16 32 2 0.1164 0.0833 0.1145 0.0905 0.1168 0.087 8 32 4 0.1235 0.0737 0.1137 0.0832 0.1244 0.0791 4 32 8 0.13 0.0712 0.1143 0.0802 0.1302 0.0767 2 32 16 0.1327 0.0708 0.1141 0.0804 0.1339 0.0781 1 32 32 0.135 0.0705 0.1143 0.0804 0.135 0.078

Tabela 1: Benchmark Amp

LRU (l) RANDOM (r) FIFO (f) No Conj. Tam. Bloco Assoc. ICache DCache ICache DCache ICache DCache

32 32 1 0.2339 0.071 0.2339 0.071 0.2339 0.071 16 32 2 0.2384 0.0514 0.2306 0.0573 0.2387 0.0515 8 32 4 0.2434 0.0274 0.2294 0.0391 0.2437 0.0315 4 32 8 0.2408 0.0269 0.2284 0.0355 0.242 0.032 2 32 16 0.2391 0.0274 0.2284 0.0362 0.2398 0.0316 1 32 32 0.2389 0.0278 0.2288 0.0364 0.2398 0.0314

Tabela 2: Benchmark Basicmath

1.1. Dentre os experimentos realizados, qual das políticas de reposição

apresenta o melhor resultado para cada uma das caches em sua

opinião? Por quê?

Para a cache de dados, tanto no benchmark amp quanto no benchmark basimath, a política de substituição LRU mostrou-se mais eciente. Conforme visto em aula, geralmente, para dados, é útil lograrmos da localidade temporal, o que é feito exatamente por LRU: manter na cache os dados mais utilizados recentemente.

(2)

Figura 1: Gráco Associatividade vs. Desempenho da Cache de Instruções - Benchmark Amp

Figura 2: Gráco Num. de Conjuntos vs. Desempenho da Cache de Instruções - Benchmark Amp

Para a cache de instruções, a melhor política medida foi a RANDOM. Isso pode ter ocorrido pelo fato de que a localidade temporal em instruções ocorre apenas em laços e a localidade espacial para partes seqüenciais. No entanto, para desvios, nenhum desses princípios é seguido. Assim, se cada bloco tiver a mesma chance de ser substituído (por usarmos uma política randômica), podemos ter um desempenho melhor num caso em que as situações descritas antes estão misturadas.

(3)

Figura 3: Gráco Associatividade vs. Desempenho da Cache de Dados - Benchmark Amp

Figura 4: Gráco Núm. de Conjuntos vs. Desempenho da Cache de Dados - Benchmark Amp

1.2. A primeira linha das tabelas acima representam que tipo de cache

em termos de mapeamento? Considerando essas mesmas linhas

citadas, explique o porquê dos resultados obtidos para as três

políticas aplicadas.

A primeira linha da tabela dene caches com mapeamento direto. Assim, como cada bloco da memória é sempre mapeado no mesmo lugar da cache, a política de substituição não faz nenhuma diferença no desempenho.

(4)

Figura 5: Gráco Associatividade vs. Desempenho da Cache de Instruções - Benchmark Ba-sicmath

Figura 6: Gráco Num. de Conjuntos vs. Desempenho da Cache de Instruções - Benchmark Basicmath

1.3. Considerando-se que as caches de dados e instruções estão

sepa-radas, qual a melhor combinação (em termos da menor taxa de

misses obtida) entre cache de instruções e de dados

considerando-se qualquer possibilidade de conguração para ambas (em termos

de associatividade, n

o

de conjuntos e política de reposição)?

Assumindo que apenas os dados medidos na questão são relevantes (ou seja, disconsiderando custo-benefício e aplicação): Para o benchmark amp, a melhor cache de instruções possui um mapeamento com associatividade 4, 8 conjuntos e política de substituição RANDOM, com uma taxa de cache-miss de 11,37%. A melhor cache de dados possui mapeamento totalmente associativo e política de substituição LRU, com uma taxa de cache-miss igual a 7,05%.

(5)

Figura 7: Gráco Associatividade vs. Desempenho da Cache de Dados - Benchmark Basicmath

Figura 8: Gráco Núm. de Conjuntos vs. Desempenho da Cache de Dados - Benchmark Basicmath

16, 2 ou 4 conjuntos e política de substituição RANDOM, com uma taxa de miss de 22,84%. Para a cache de dados, usamos um mapeamento com associatividade 8, 4 conjuntos e política de substituição LRU, com uma taxa de cache-miss igual a 2,69%.

1.4. Qual o comportamento das duas caches quando do aumento da

associatividade (e conseqüente diminuição do número de

conjun-tos)?

Para a cache de dados, em ambos os benchmarks, o aumento da associatividade ocasiona uma melhora no desempenho. No entanto, este ganho se torna inexpressivo após certo ponto crítico. Na cache de instruções, temos casos diferenciados. No benchmark Amp, para todas as políticas, há ganho de desempenho quando se aumenta a associatividade de 1 para 2. Após esse ponto,

(6)

somente a política RANDOM se benecia do aumento da associatividade, saturando o ganho na associatividade 4. No benchmark Basicmath, a política RANDOM se benecia do aumento da associatividade, tenho sua melhora estagnada por volta da associatividade 8. As outras políticas têm diminuição do desempenho até a associatividade 4, e após isso têm leve melhora de eciência com o aumento da associatividade.

2. Investigar a inuência da variação do tamanho do bloco no desempenho da cache Os resultados e respostas podem ser vericados e comparados com os valores nas tabelas 3, 4 e nos grácos 9, 10, 11 e 12.

No Conj. Tam. Bloco Assoc. Política ICache DCache

128 8 1 LRU 0.4547 0.2292 64 16 1 LRU 0.243 0.1447 32 32 1 LRU 0.1301 0.1117 16 64 1 LRU 0.0754 0.1147 8 128 1 LRU 0.0501 0.1444 4 256 1 LRU 0.0352 0.2294 2 512 1 LRU 0.0313 0.3619 1 1024 1 LRU 0.0371 0.5408

Tabela 3: Benchmark Amp

No Conj. Tam. Bloco Assoc. Política ICache DCache

128 8 1 LRU 0.7368 0.0597 64 16 1 LRU 0.4079 0.0625 32 32 1 LRU 0.2339 0.071 16 64 1 LRU 0.1476 0.0802 8 128 1 LRU 0.0982 0.1215 4 256 1 LRU 0.068 0.1558 2 512 1 LRU 0.0548 0.2185 1 1024 1 LRU 0.0504 0.2837

Tabela 4: Benchmark Basicmath

2.1. Qual o comportamento observado para as duas caches em termos

de percentual de erro no seu acesso?

O comportamento presente é antagônico para as duas caches: enquanto que a Cache de Ins-truções tem sua eciência melhorada com o aumento do tamanho do bloco, o oposto ocorre na Cache de Dados.

(7)

Figura 9: Gráco Tam. do Bloco vs. Desempenho da Cache de Instruções - Benchmark Amp

Figura 10: Gráco Tam. do Bloco vs. Desempenho da Cache de Dados - Benchmark Amp

2.2. Como você explicaria os comportamentos observados para as

ca-ches de instruções e de dados?

O aumento no tamanho do bloco benecia da localidade espacial possivelmente necessária ao perl da Cache de Instruções. Já que as próximas instruções a serem executadas, muito provavelmente estão próximas da instrução atual, com blocos maiores temos mais instruções próximas condensadas em um mesmo bloco, diminuindo a taxa de falta na cache.

Quando se trata de dados, a localidade espacial não está necessariamente presente. Aumentando o tamanho dos blocos, diminui-se a quantidade total de blocos da cache. Assim, a probabilidade de encontrarmos os diferentes blocos de dados desejados é menor.

(8)

Figura 11: Gráco Tam. do Bloco vs. Desempenho da Cache de Instruções - Benchmark Basicmath

Figura 12: Gráco Tam. do Bloco vs. Desempenho da Cache de Dados - Benchmark Basicmath 3. Investigar a inuência do tamanho total da cache e do tamanho de bloco no

desempenho da cache

(9)

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache 1k 64 16 1 LRU 24.30 14.47 2k 128 16 1 LRU 19.06 11.28 4k 256 16 1 LRU 13.93 9.6 8k 512 16 1 LRU 6.45 5.63 16k 1024 16 1 LRU 2.24 3.52 32k 2048 16 1 LRU 1.84 2.38

Tabela 5: Benchmark Amp, Bloco de Tamano 16, Associatividade 1

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache

1k 32 32 1 LRU 13.01 11.17 2k 64 32 1 LRU 10.11 8.41 4k 128 32 1 LRU 7.27 6.53 8k 256 32 1 LRU 3.55 3.72 16k 512 32 1 LRU 1.35 2.51 32k 1204 32 1 LRU 1.14 1.86

Tabela 6: Benchmark Amp, Bloco de Tamano 32, Associatividade 1

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache

1k 32 16 2 LRU 21.71 11.73 2k 64 16 2 LRU 17.26 9.27 4k 128 16 2 LRU 13.99 5.25 8k 256 16 2 LRU 5.55 3.76 16k 512 16 2 LRU 1.73 1.14 32k 1204 16 2 LRU 0.40 0.17

Tabela 7: Benchmark Amp, Bloco de Tamano 16, Associatividade 2

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache

1k 16 32 2 LRU 11.64 8.33 2k 32 32 2 LRU 9.20 5.99 4k 64 32 2 LRU 7.39 3.64 8k 128 32 2 LRU 3.17 2.37 16k 256 32 2 LRU 1.12 0.69 32k 512 32 2 LRU 0.21 0.10

(10)

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache 1k 16 16 4 LRU 21.93 11.21 2k 32 16 4 LRU 17.14 8.70 4k 64 16 4 LRU 14.46 5.44 8k 128 16 4 LRU 5.64 1.81 16k 256 16 4 LRU 0.95 0.90 32k 512 16 4 LRU 0.43 0.13

Tabela 9: Benchmark Amp, Bloco de Tamano 16, Associatividade 4

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache

1k 8 32 4 LRU 12.35 7.37 2k 16 32 4 LRU 9.04 5.42 4k 32 32 4 LRU 7.59 3.61 8k 64 32 4 LRU 2.96 1.04 16k 128 32 4 LRU 0.49 0.49 32k 256 32 4 LRU 0.23 0.07

Tabela 10: Benchmark Amp, Bloco de Tamano 32, Associatividade 4

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache

1k 64 16 1 LRU 40.79 6.25 2k 128 16 1 LRU 33.67 3.47 4k 256 16 1 LRU 27.17 2.19 8k 512 16 1 LRU 20.75 1.58 16k 1024 16 1 LRU 14.04 0.01 32k 2048 16 1 LRU 4.43 0.01

Tabela 11: Benchmark Basicmath, Bloco de Tamano 16, Associatividade 1

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache

1k 32 32 1 LRU 23.39 7.10 2k 64 32 1 LRU 19.62 3.45 4k 128 32 1 LRU 19.03 2.18 8k 256 32 1 LRU 12.31 1.66 16k 512 32 1 LRU 8.53 0.01 32k 1204 32 1 LRU 2.84 0.01

(11)

Figura 13: Gráco Tam. da Cache vs. Desempenho da Cache de Instruções - Benchmark Amp

Figura 14: Gráco Tam. da Cache vs. Desempenho da Cache de Dados - Benchmark Amp

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache

1k 32 16 2 LRU 40.53 3.81 2k 64 16 2 LRU 33.00 1.30 4k 128 16 2 LRU 24.10 0.12 8k 256 16 2 LRU 15.13 0.01 16k 512 16 2 LRU 8.90 0.01 32k 1204 16 2 LRU 3.39 0.01

(12)

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache 1k 16 32 2 LRU 23.84 5.14 2k 32 32 2 LRU 19.26 1.50 4k 64 32 2 LRU 14.36 0.14 8k 128 32 2 LRU 8.97 0.01 16k 256 32 2 LRU 5.58 0.01 32k 512 32 2 LRU 2.25 0.01

(13)

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache 1k 16 16 4 LRU 39.82 3.09 2k 32 16 4 LRU 32.09 0.58 4k 64 16 4 LRU 24.25 0.08 8k 128 16 4 LRU 14.16 0.01 16k 256 16 4 LRU 8.37 0.01 32k 512 16 4 LRU 1.58 0.01

Tabela 15: Benchmark Basicmath, Bloco de Tamano 16, Associatividade 4

Tamanho Total No Conj. Tam. Bloco Assoc. Política ICache DCache

1k 8 32 4 LRU 24.34 2.74 2k 16 32 4 LRU 18.80 0.89 4k 32 32 4 LRU 14.22 0.08 8k 64 32 4 LRU 8.30 0.01 16k 128 32 4 LRU 5.40 0.01 32k 256 32 4 LRU 1.19 0.01

Tabela 16: Benchmark Basicmath, Bloco de Tamano 32, Associatividade 4

3.1. Compare, linha a linha, os resultados obtidos considerando-se a

mesma associatividade (1, 2 e 4), descrevendo o comportamento

das caches de instruções e de dados quando comparadas

congura-ções de cache de mesmo tamanho total, porém com tamanhos de

blocos diferentes. Existe alguma diferença observável em termos

de taxa de faltas?

Comparando os resultados dentro de mesmos grupos de associatividade e tamanho total, nota-se que as congurações com blocos de tamanho 32 têm, na maioria dos casos, um denota-sempenho melhor do que as com tamanho 16. Nas caches de instrução, essa característica pode ser explicada pela localidade espacial das instruções. Na cache de dados, este comportamento é vericado para o benchmark Amp mas não para o benchmark Basicmath, onde somente as alterações na associatividade alteraram signicativamente a eciência da cache.

(14)

Figura 15: Gráco Tam. da Cache vs. Desempenho da Cache de Instruções - Benchmark Basicmath

Figura 16: Gráco Tam. da Cache vs. Desempenho da Cache de Dados - Benchmark Basicmath

3.2. Compare os resultados obtidos quando do aumento do tamanho

da cache através do aumento do n

o

de conjuntos, mantendo-se o

mesmo tamanho de bloco (16 ou 32 bytes) para as 3

associativi-dades (1, 2 e 4). Ou seja, compare os resultados de taxa de faltas

obtidos quando do aumento do tamanho da cache para caches de

associatividade 1 e tamanho de bloco 16 bytes contra caches de

associatividade 2 e tamanho de bloco 16 bytes, o mesmo sendo

feito em relação às caches com tamanho de bloco de 32 bytes.

Existe diferença signicativa nas taxas observadas?

Para a cache de instruções, variando-se a associatividade e mantendo o tamanho de bloco constante, as mudanças não são signicativas. Isso é exemplicado no gráco 13, onde as linhas se agrupam de acordo com o tamanho de seus blocos, independentemente da associatividade.

(15)

No que diz respeito à cache de dados, o parâmetro mais importante melhora do desempenho, xando-se o tamanho da cache, é a associatividade. A variação no tamanho do bloco, para a mesma associatividade, não gera ganho signicativo.

4. Questão Final

Finalmente, responda a seguinte questão: se um cache 2-way associativa possui atraso 20% maior que a de mapeamento direto, qual das duas deveria ser escolhida para compor um processador, assumindo que a CPU pode executar tão rápido quanto se queira, e a penalidade de um miss é de 20 vezes o atraso da cache de mapeamento direto.

Considerando duas caches, respectivamente, uma com mapeamento 2-way associativo (dados em 1) e outra com mapeamento direto (dados em 2), extraímos a relação em 3. Considera-se, também, que o atraso na cache com mapeamento direto é t e o miss rate das caches é m.

T1 = (1 − m) · 1, 2t + m · 20 · t = t(1, 2 + 18, 8m) (1)

T2 = (1 − m) · t + m · 20 · t = t(1 − 19m) (2)

A cache com mapeamento direto deve ser utilizada quando T1 < T2, ou seja:

T1 < T2 ⇔

T1

T2

< 1 ⇔ m > 0, 2

37, 8 ⇔ m > 0, 005291005 (3) Assim, vemos que o mapeamento direto deve ser utilizado para uma taxa de misses maior que 0,53%, aproximadamente.

Referências

Documentos relacionados

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

O modelo de análise de riscos desenvolvido e proposto pelo autor deve conter a seguinte estrutura: introdução; normas referenciadas; informações relevantes e escopo;

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

Nos tempos atuais, ao nos referirmos à profissão docente, ao ser professor, o que pensamos Uma profissão indesejada por muitos, social e economicamente desvalorizada Podemos dizer que

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

explica quando Dom Quixote escreve a Sancho: “Quando esperava ouvir novas de teus descuidos e impertinências; Sancho amigo, ouvi-as das tuas discrições, e por isso dei