Designação | Código | Curso | Regime | Regente |
---|
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. |