Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/8947
Título: | Causality tracking in dynamic distributed systems |
Autor(es): | Fonte, Victor |
Orientador(es): | Baquero, Carlos Almeida, Paulo Sérgio |
Data: | 29-Jan-2009 |
Resumo(s): | A causalidade desempenha um papel central no tratamento de problemas importantes
de sistemas distribuídos, tais como na replicação de dados, na análise de
execuções, na comunicação em grupo e na determinação de estados globais. Por
forma a ser útil, a causalidade precisa de ser concretizada em mecanismos que
procedam ao seu registo.
Os mecanismos existentes, tais como os vectores versão e os relógios vectoriais,
assumem a existência de um mapeamento entre identificadores globalmente únicos
e contadores inteiros. Num sistema em que é conhecido o número de entidades, é
possível pré-configurar estes identificadores por forma a ocuparem posições distintas
num vector ou serem-lhe atribuídos nomes distintos. A gestão destas identidades
é bem mais problemática em ambientes dinâmicos, com grande número de
entidades e onde estas são permanentemente criadas e destruídas. Esta situação é
agravada na presença de partições de rede. As soluções actuais para o registo de
causalidade não se revelam apropriadas a estes cenários, cada vez mais relevantes.
Esta tese apresenta novos mecanismos de registo de causalidade que têm a propriedade
de poder ser usados em cenários com um número dinâmico de entidades.
Estes mecanismos permitem a criação descentralizada de entidades (processos ou
réplicas) sem requerer identificadores globais ou coordenação global para a sua
geração. Estes mecanismos apresentam codificações com tamanho variável, o que
permite uma adaptação automática ao número de entidades em jogo, crescendo e
colapsando de acordo com as necessidades. Causality plays a central role as a building block in solving important problems in distributed systems, such as replication, debugging, group communication and global snapshots. To be useful, causality must be realised by actual mechanisms that can track it and encode it. Existing causality tracking mechanisms, such as vector clocks and version vectors, rely on mappings from globally unique identifiers to integer counters. In a system with a well known set of entities these identifiers can be pre-configured and given distinct positions in a vector or distinct names in a mapping. Identity management is more problematic in dynamic systems, with a large and highly variable number of entities, being worsened when network partitions occur. Present solutions for causality tracking are not appropriate to these increasingly common scenarios. This thesis introduces novel causality tracking mechanisms that can be used in scenarios with a dynamic number of entities. These allow completely decentralised creation of entities (processes or replicas) with no need for global identifiers or global coordination. These mechanisms have a variable size representation that adapts automatically to the number of entities, growing or shrinking appropriately. |
Tipo: | Tese de doutoramento |
Descrição: | Tese de Doutoramento - Área do Conhecimento Tecnologias da Programação |
URI: | https://hdl.handle.net/1822/8947 |
Acesso: | Acesso aberto |
Aparece nas coleções: |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
tese final.pdf | 1,63 MB | Adobe PDF | Ver/Abrir |