Thrashing

Origem: Wikipédia, a enciclopédia livre.

Em ciência da computação, thrashing é a situação onde uma grande quantidade de recurso computacional é utilizada para fazer uma quantidade mínima de trabalho, com o sistema em um estado contínuo de contenção de recursos. Uma vez iniciado, o thrashing é tipicamente protelado num ciclo vicioso até que algo ocorra para remover a situação original que levou àquele estado.

Geralmente o thrashing se refere a dois ou mais processos acessando um mesmo recurso repetidamente de modo que há uma séria degradação de performance do sistema, porque o sistema está gastando um tempo desproporcionalmente longo somente para acessar o recurso compartilhado. O tempo de acesso ao recurso pode ser considerado um desperdício, uma vez que não contribui para nenhum dos processos. Este é geralmente o caso, por exemplo, quando uma CPU pode processar mais informação do que aquela disponível na RAM, consequentemente o sistema vai passar mais tempo se preparando para executar as operações do que propriamente o fazendo.


Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.

O thrashing é um problema que pode ocorrer na paginação de memória por demanda, e consiste em processos que com poucas páginas na memória começam a sofrer perdas ou faltas dessas páginas, o tratamento de falta de páginas geralmente é lento e consome recursos de processamento. O processo acaba ficando mais tempo tratando faltas do que processando efetivamente. Desta forma o overhead também fica alto.

Thrashing pode ser causado por escolhas ruins do algoritmo de troca de contexto ou por um excesso de processos ativos no sistema. O Thrashing ocorre em um único processo mas afeta o desempenho do sistema como um todo, porque além de necessitar de recursos para o tratamento, ele tende a se espalhar para outros processos, principalmente quando algoritmos de substituição globais são utilizados, de modo que outros processos acabam perdendo páginas para solucionar o problema do processo original.