• Nenhum resultado encontrado

Este experimento avalia o comportamento do re´uso para as estrat´egias de detec¸c˜ao implementadas em um cen´ario onde o tamanho da cache NRT e SRT ´e limitado. Come¸camos com uma cache de tamanho 100, e aumentamos a quantidade de suas entradas at´e chegarmos em um cen´ario de cache infinita. A pol´ıtica de substitui¸c˜ao utilizada foi a LRU Least Recently Used. Cada cen´ario de cache foi executado 8 vezes. Os benchmarks foram utilizados com o menor gr˜ao de tarefa poss´ıvel para cada cen´ario. O n´umero de workers utilizados foram 8. As figuras 7.14, 7.15 e 7.16 apresentam os resultados deste experimentos para as diferentes estrat´egias. O eixo

Figura 7.13: Resultados de re´uso sob a influˆencia de paralelismo para a estrat´egia LRQ.

x mostra o tamanho das caches utilizadas e o eixo y apresenta as taxas de re´uso (m´axima, real e distribui¸c˜ao). As esquemati¸c˜oes das barras dos gr´aficos seguem o mesmo modelo apresentado nas se¸c˜oes 7.5 e 7.6.

7.7.1

Estrat´egias EM e EM+I

A figura 7.14 apresenta os resultados deste experimento para as estrat´egias EM e EM+I. Pode-se notar que, para estas estrat´egias, com uma cache de 200 entradas conseguimos atingir para o benchmark LCS um comportamento semelhante a de uma cache infinita. Isso pode ser explicado, pois o tempo necess´ario para que um operando seja reutilizado nesta aplica¸c˜ao ´e muito curto, e depois de um determinado per´ıodo de execu¸c˜ao, ele n˜ao ´e mais utilizado. Isso garante que uma cache razoavel- mente pequena, onde a detec¸c˜ao de re´uso ´e imediata, atenda bem a localidade de valores da aplica¸c˜ao. Analisando a SRT para a aplica¸c˜ao LCS, vemos que a contri- bui¸c˜ao desta para redundˆancia detectada tamb´em a mesma de uma cache infinita, aproximadamente 3, 33%.

Para o benchmark 3-DES, vemos que uma cache NRT de 3.200 entradas tem os mesmos benef´ıcios de uma cache infinita. Note que para este benchmark, na figura 7.14a, vemos que a cache com 400, 800 e 1.600 entradas possuem comportamentos semelhantes. Quando a inspe¸c˜ao ´e habilitada, notamos que o aumento da cache para esses trˆes cen´arios aumenta a contribui¸c˜ao da redundˆancia detectada pelo mecanismo de inspe¸c˜ao, conforme apresentado na figura 7.14b. Acreditamos que, mesmo que os comportamentos destes trˆes cen´arios sejam semelhantes, as caches maiores permitem que mais tarefas sejam liberadas para execu¸c˜ao simultaneamente, o que gera mais tarefas nas filas de prontos, e, consequentemente, potencializa a detec¸c˜ao por parte

da t´ecnica de inspe¸c˜ao.

(a) Estrat´egia EM.

(b) Estrat´egia EM+I.

Figura 7.14: Resultados de re´uso com limita¸c˜ao do tamanho da cache para as es- trat´egias EM e EM+I.

O benchmark GoL apresenta um comportamento regular de incremento no re´uso detectado tanto por inspe¸c˜ao, quanto por acertos na NRT, conforme o tamanho das caches ´e incrementado. Note que com uma cache de 800 entradas apenas, temos re´uso similar a uma cache infinita para ambos escalonadores. Da mesma forma o efeito da inspe¸c˜ao ´e o mesmo a partir de uma cache de 800 entradas.

A aplica¸c˜ao MapReduce n˜ao demonstrou uso de caches para a estrat´egias EM, pois, por conta da explos˜ao de paralelismo desta aplica¸c˜ao, grande parte das tarefas s˜ao colocadas na fila de prontos simultaneamente, retirando, assim, a oportunidade para o re´uso. Vemos a redundˆancia sendo detectada neste tipo de escalonador somente quando utilizamos inspe¸c˜ao (estrat´egia EM+I). Neste caso, o tamanho das

caches NRT e SRT n˜ao influenciam a contribui¸c˜ao da inspe¸c˜ao.

7.7.2

Estrat´egias LM e LM+I

As estrat´egias LM e LM+I, figura 7.15a e 7.15b respectivamente, n˜ao alteram o comportamento da detec¸c˜ao de re´uso dos benchmarks GoL e LCS, se comparados `

as estrat´egias EM e EM+I.

(a) Estrat´egia LM.

(b) Estrat´egia LM+I.

Figura 7.15: Resultados de re´uso com limita¸c˜ao do tamanho da cache para as es- trat´egias LM e LM+I.

Para as estrat´egias LM e LM+I, o benchmark 3-DES apresentou uma taxa de re´uso real por parte da NRT de 4, 23% e 4, 35%, respectivamente, com uma cache de 1600 entradas. Esta foi uma contribui¸c˜ao muito inferior `a avaliada nas estrat´egias EM e EM+I. Para este mesmo cen´ario de cache com 1600 entradas, mas com as

estrat´egias EM e EM+I, a contribui¸c˜ao da NRT foi de 27, 62% e 13, 64%, respec- tivamente. Para tamanhos menores do que 1600, as estrat´egias LM e LM+I n˜ao alcan¸caram uma taxa de re´uso acima de 1%, enquanto para as estrat´egias EM e EM+I, a NRT j´a possu´ıa uma contribui¸c˜ao de 7, 83% e 4, 84% para o cen´ario com apenas 100 entradas. Esta desvantagem das estrat´egias LM’s em rela¸c˜ao `as EM’s ´e explicada pelo fato de que as estrat´egias LM’s processam muitos operandos antes de come¸carem a detec¸c˜ao de redundˆancia. Portanto, quando a cache ´e verificada para descobrir se o resultado de uma determinada tarefa j´a ´e conhecido, os operandos daquela tarefa j´a n˜ao est˜ao mais presentes na cache, pois muitos novos operandos foram inseridos e essas entradas foram descartadas. Vemos que a partir de uma cache de 3.200 entradas esse comportamento ´e eliminado e temos resultados semelhantes a uma cache infinita. Note tamb´em que a contribui¸c˜ao da t´ecnica de inspe¸c˜ao na estrat´egia LM+I foi maior do que a contribui¸c˜ao da mesma t´ecnica na estrat´egia EM+I para o 3-DES. Acreditamos que, pelo fato da estrat´egia de detec¸c˜ao LM+I proporcionar que mais tarefas sejam disponibilizadas na fila de prontos, a inspe¸c˜ao para este escalonador foi potencializada.

O benchmark MapReduce apresentou comportamento similar, com poucas va- ria¸c˜oes, para os cen´arios de caches. Por conta deste benchmark ter pouco re´uso detectado por estas estrat´egias, ainda que com cache infinita, ´e natural que uma ca- che pequena seja o suficiente para capturar esta pequena amostra de redundˆancia.

7.7.3

Estrat´egia LRQ

A figura 7.16 apresenta a influˆencia do tamanho da cache e a pol´ıtica LRU de substitui¸c˜ao para a estrat´egia LRQ.

O benchmark LCS, para a estrat´egia LRQ, somente atingiu um comportamento semelhante a uma cache infinita a partir de 800 entradas. As demais estrat´egias, apresentaram um comportamento de cache infinita a partir de 200 entradas apenas. Isso ocorreu, pois a estrat´egia LRQ realiza detec¸c˜ao tardia, e, por conta disso, perde a oportunidade de reutilizar tarefas que possu´ıam seus resultados escritos na cache muito cedo. Vemos que a partir de 800 entradas, temos um re´uso de 98, 17% para a LRQ. Este re´uso real detectado ´e superior `a redundˆancia detectada pelas outras estrat´egias com caches infinitas. Vemos o mesmo comportamento para os bench- marks 3-DES e GoL. No caso do 3-DES, com uma cache NRT de 3.200 entradas conseguimos os mesmos benef´ıcios de uma cache infinita, alcan¸cando uma detec¸c˜ao de redundˆancia de 71, 97%, muito superior `a taxa alcan¸cada pelas estrat´egias LM’s e EM’s com caches NRT infinitas· Da mesma forma, para o GoL, o re´uso alcan¸cado com uma NRT de apenas 800 entradas, aproximadamente 99, 70%, foi superior ao re´uso detectado pelas demais estrat´egias nos cen´arios ilimitados sem inspe¸c˜ao, e

semelhante `as demais estrat´egias com inspe¸c˜ao.

Figura 7.16: Resultados de re´uso com limita¸c˜ao do tamanho da cache para a es- trat´egia LRQ.

Na aplica¸c˜ao MapReduce, somente com a cache de tamanho m´aximo de 15.000 entradas, alcan¸camos uma taxa de re´uso real de 54, 13%, apenas 0, 6% abaixo do re´uso m´aximo permitido pela entrada da aplica¸c˜ao. Isso ocorreu pelo fato de que a explos˜ao de paralelismo que essa aplica¸c˜ao apresenta gerou muitos operandos distin- tos em curto espa¸co de tempo, sendo necess´aria uma cache maior para armazenar todos esses resultados e permitir o re´uso destes por tarefas posteriores.

O fato de que para os 4 benchmarks, caches relativamente pequenas proporcio- naram uma grande quantidade de re´uso de n´os, demonstra que essa t´ecnica possui aspectos promissores para implementa¸c˜oes em hardware.