Departamento de Informática (UM)

Página de Unidade Curricular 🇬🇧

DesignaçãoCódigoCursoRegimeRegente

Sistemas de Armazenamento de Dados

16719 [ME78ME7800007356]

Mestrado em Engenharia Informática [MEINF]

S2

João Tiago Medeiros Paulo

Objetivos

A UC de Sistemas de Armazenamento de Dados está organizada de forma a providenciar aos alunos, numa primeira fase, uma visão sobre os padrões e requisitos típicos de armazenamento de aplicações que lidam com grandes quantidades de dados.
Num outro prisma, é fundamental aprender qual a organização atual das infraestruturas de grande escala e dos seus recursos de armazenamento. Ao complementar esta informação com as tecnologias, arquiteturas e otimizações usadas atualmente em centros de dados, é possível perceber em profundidade as várias camadas de armazenamento e o fluxo de pedidos de E/S desde a aplicação até aos dispositivos de hardware onde os dados são guardados.
Por fim, é importante explorar metodologias e ferramentas de diagnóstico e avaliação experimental para melhor compreender a interação entre aplicações e recursos de armazenamento, permitindo a sua otimização e depuração (i.e., correção de potenciais erros críticos).

Programa

1. Infraestruturas e hardware para armazenamento de dados.
2. Arquiteturas e interfaces de software para armazenamento de dados (p.ex., block devices, sistemas de ficheiros, object stores).
3. Requisitos de desempenho no armazenamento e acesso a dados e respetivas otimizações (p.ex., caching, tiering).
4. Otimizações de custo, segurança e confiabilidade (replicação, erasure-coding, deduplicação, cifragem).
5. Monitorização, diagnóstico e avaliação de sistemas de armazenamento e aplicações sobre os mesmos.

Bibliografia


Alexander Thomasian. Storage Systems, O’Reilly, 2021.

Rajkumar Buyya, Toni Cortes, Hai Jin. High Performance Mass Storage and Parallel I/O: Technologies and Applications, Wiley-IEEE Press, 2001.

Ricardo Macedo, João Paulo, José Pereira, Alysson Bessani. A Survey and Classification of Software-Defined Storage Systems, ACM Computing Surveys, 2020.

Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau, Arpaci-Dusseau. Books, 2018.

Martin Kleppman. Designing Data-Intensive Applications: The big Ideas Behind Reliable, Scalable, and Maintainable Systems, O’Reilly, 2017.

Resultados da aprendizagem

- Explorar as interfaces, bibliotecas e abstrações de armazenamento usadas por aplicações focadas em dados (p.ex., sistemas de ficheiros, armazenamento em bloco, armazenamento chave-valor).
- Compreender os diferentes comportamentos de armazenamento e acesso a dados por parte destas mesmas aplicações (p.ex., cargas de trabalho aleatórias e sequenciais, distribuições de acesso).
- Compreender a organização e gestão de recursos de armazenamento em infraestruturas de grande escala.
- Adquirir conhecimentos sobre tecnologias, interfaces e arquiteturas de sistemas de armazenamento locais e distribuídos usados atualmente pela indústria, percebendo a sua evolução e diferentes propósitos.
- Desenhar otimizações para o acesso a informação digital por parte de aplicações centradas em dados (p.ex., de desempenho, confiabilidade, gestão de recursos, segurança).

Método de avaliação

A componente de avaliação terá uma componente teórica com um peso entre 40% e 60% e uma componente prática com trabalho em grupo com um peso entre 40% e 60%.

Funcionamento

Turno: T 1; Docente: João Tiago Medeiros Paulo; Dep.: DI; Horas: 15.
Turno: PL 1; Docente: Ricardo Gonçalves Macedo; Dep.: DI; Horas: 30.

[ Outras UCs do Departamento ]