Sistema de ficheiros transaccional sobre FUSE


Autoria(s): Luís, Nuno Lopes
Data(s)

20/04/2010

20/04/2010

2009

Resumo

Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia Informática

Com o surgimento e generalização do uso de microprocessadores com múltiplos núcleos (multi-cores), verifica-se um interesse crescente pela programação concorrente e, em particular, pela programação paralela, tanto pela comunidade académica, como pela indústria de desenvolvimento de software. Contudo, o desenvolvimento de programas concorrentes é difícil, em parte devido à complexidade inerente acrescida destes programas. Os mecanismos de controlo de concorrência que mais frequentemente são usados nos programas concorrentes apresentam um nível de abstracção baixo, sendo portanto de difícil utilização e dando origem a muitos erros de sincronização e controlo de concorrência. O modelo transaccional é utilizado com sucesso no contexto dos sistemas de bases de dados há muitos anos. Estes sistemas permitem que múltiplos clientes acedam à bases de dados em concorrência, garantido que esses acessos beneficiam do conjunto de propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade). Estas propriedades das transacções permitem o desenvolvimento de aplicações que, apesar de acederem em concorrência ao repositório de informação, beneficiam de uma semântica essencialmente sequencial, mais previsível e fácil de usar. Os sistemas de bases de dados podem ser usados para guardar grandes quantidades de informação de forma persistente e com suporte para processamento de transacções. No entanto, o acesso a estes sistemas é feito através de uma interface específica que requer software adicional, impondo assim limitações ao seu uso. Por outro lado, os sistemas de ficheiros estão disponíveis em praticamente todos os sistemas computacionais, sendo acessíveis através de uma interface bem definida e normalizada e utilizados com frequência pela maioria das aplicações para guardar os seus dados de forma permanente. No entanto, o controlo de concorrência em sistemas de ficheiros obtémse através de uma interface com baixo nível de abstracção e funcionalmente limitada, difícil de usar a tendencialmente causadora de erros de utilização.Nesta dissertação propõe-se a arquitectura e desenho de um sistema de ficheiros que suporta o modelo transaccional para controlo de concorrência. Descreve-se também uma implementação do sistema de ficheiros proposto sobre o FUSE, uma infraestrutura base para implementação de sistemas de ficheiros. Neste novo sistema de ficheiros transaccional, as transacções podem ser iniciadas pelas aplicações de forma explícita ou implícita. No primeiro caso, o programador indica explicitamente o início e fim de um conjunto de acessos ao sistema de ficheiro que deverão ser tratados como uma transacção (bloco transaccional). No segundo caso, necessário para garantir a compatibilidade com aplicações e sistemas legados, os blocos transaccionais serão delimitados implicitamente pelas operações clássicas de abertura (open) e fecho (close) de ficheiros. O sistema propostos e implementado foi ainda avaliado nas perspectivas de funcionalidade e desempenho. A primeira para garantir que a semântica transaccional estava a ser correctamente suportada e disponibilizada às aplicações. A segunda para melhor permitir avaliar a penalização no desempenho resultante do suporte transaccional no sistema de ficheiros.

Identificador

http://hdl.handle.net/10362/3364

Idioma(s)

por

Publicador

FCT - UNL

Direitos

openAccess

Palavras-Chave #Sistema transaccional #Sistema de ficheiros #Sistema de ficheiros transaccional #FUSE #Controlo de concorrência
Tipo

masterThesis