Estruturas de dados concorrentes: um estudo de caso em skip graphs.

Muitos dos sistemas de computação existentes atualmente são concorrentes, ou seja, neles constam diversas entidades que, ao mesmo tempo, operam sobre um conjunto de recursos compartilhados. Nesse contexto, devemos controlar a concorrência das diversas operações realizadas, ou então a interferência e...

Descripción completa

Detalles Bibliográficos
Autor: Mendes, Hammurabi das Chagas
Tipo de recurso: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2008
País:Brasil
Institución:Universidade de São Paulo (USP)
Repositorio:Biblioteca Digital de Teses e Dissertações da USP
Idioma:portugués
OAI Identifier:oai:teses.usp.br:tde-29092008-132758
Acceso en línea:http://www.teses.usp.br/teses/disponiveis/45/45134/tde-29092008-132758/
Access Level:acceso abierto
Palabra clave:análise de complexidade
complexity analisys
concorrência
concurrency
skip graphs
skip lists
Descripción
Sumario:Muitos dos sistemas de computação existentes atualmente são concorrentes, ou seja, neles constam diversas entidades que, ao mesmo tempo, operam sobre um conjunto de recursos compartilhados. Nesse contexto, devemos controlar a concorrência das diversas operações realizadas, ou então a interferência entre elas poderia causar inconsistências nos recursos compartilhados ou nas próprias operações realizadas. Nesse texto, vamos tratar especificamente de estruturas de dados concorrentes, ou seja, estruturas de dados cujas operações associadas -- consideramos inserção, remoção e busca -- sejam passíveis de execução simultânea por diversas entidades. Tendo em vista o controle da concorrência, vamos adotar uma abordagem baseada no emprego de locks, uma primitiva de sincronização muito usual na literatura. Nossa discussão será apresentada em termos de certas estruturas de dados chamadas skip graphs, que têm propriedades interessantes para outros contextos, como o contexto de sistemas distribuídos.