Disciplina

Área

Área Científica de Arquitectura e Sistemas Operativos > Sistemas Operativos e Sistemas Distribuídos

Activa nos planos curriculares

MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Gestão de Serviços de It > Engenharia de Sistema de Larga Escala

MEIC-T 2018 > MEIC-T 2018 > 2º Ciclo > Agrupamentos > Gestão de Serviços It > Engenharia de Sistema de Larga Escala

METI 2021 > METI 2021 > 2º Ciclo > Área Principal > Especializações > Especialização em Gestão de Redes e Sistemas > Informática > Engenharia de Sistema de Larga Escala

MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Gestão de Serviços de It > Engenharia de Sistema de Larga Escala

MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Tecnologia dos Sistemas Informáticos > Engenharia de Sistema de Larga Escala

MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Tecnologia dos Sistemas Informáticos > Engenharia de Sistema de Larga Escala

METI 2018 > METI 2018 > 2º Ciclo > Áreas de Especialização > Gestão das Redes, da Informação e dos Serviços > Engenharia de Sistema de Larga Escala

Nível

Nota final = EX*0,5+AP*0,1+PROJ*0,4 onde: (EX) exame (obrigatório, nota mínima: 8) (AP) apresentação de artigo científico (PROJ) projeto em grupo de três alunos (obrigatório, nota mínima: 8). Na época especial haverá somente exame (EX) e um projeto adaptado (PROJ) com pesos de 55% e 45%, respetivamente.

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

2.0 h/semana

1.5 h/semana

119.0 h/semestre

Objectivos

O desempenho e a escalabilidade são fatores chave no sucesso e adoção de serviços de Internet como a Google, Amazon, Microsoft, Facebook ou Netflix. O objetivo desta UC é dotar os alunos de capacidades e ferramentas para analisar o desempenho e escalabilidade de sistemas de larga escala no geral, e na Nuvem em particular. Os alunos ganharão competências em: i) identificação dos fatores que limitam a escalabilidade e desempenho recorrendo a técnicas de monitorização e modelação, ii) conceção de benchmarks e simulações, e iii) analise critica de resultados. Os conhecimentos adquiridos permitirão aos alunos desenhar sistemas escaláveis e de alto desempenho na nuvem, bem como analisar e melhorar sistemas existentes. Serão também analisados casos de estudo concreto que exploram técnicas de Machine Learning ou heterogeneidade de recursos para previsão do desempenho, planeamento de capacidade e desenvolvimento de sistemas auto-adaptativos.

Programa

Escalabilidade Conceitos fundamentais: escalabilidade, eficiência, elasticidade Fatores limitativos da escalabilidade: contenção e coerência Desempenho Propriedades de sistema: débito, latência, variabilidade, trabalho útil Concorrencia, escalonamento e sobrecarga Identificação de gargalos de desempenho Técnicas para desempenho: loteamento, filas, atrasos, especulação, escalonamento Simulação Simulação baseada em eventos discretos Verificação e validação Replicações e condições de paragem Benchmarking e planeamento de capacidade Desenho de cargas de trabalho Métricas e representação de métricas Fatores de avaliação Planeamento de capacidade Planeamento baseado na USL Procura Efetiva Planeamento de curto e longo prazo Sistemas Auto-adaptáveis Propriedades Funcionamento e reconfiguração autonómica Casos de estudo Heterogeneidade em bases de dados NoSQL Previsão de desempenho com técnicas de Aprendizagem Automática

Metodologia de avaliação

Nota final = EX*0,5+AP*0,1+PROJ*0,4 onde: (EX) exame (obrigatório, nota mínima: 8) (AP) apresentação de artigo científico (PROJ) projeto em grupo de três alunos (obrigatório, nota mínima: 8). Na época especial haverá somente exame (EX) e um projeto adaptado (PROJ) com pesos de 55% e 45%, respetivamente.

Pré-requisitos

Os alunos beneficiarão de conhecimentos prévios em sistemas distribuídos (UC DAD).

Componente Laboratorial

A componente laboratorial consistirá na elaboração de um projeto com duas fases. A nota final será calculada da seguinte forma: - 100% da nota da segunda fase; caso a nota da segunda fase seja igual ou superior à da primeira fase - 60% da nota da primeira fase + 40% da nota da segunda fase; caso contrário.

Princípios Éticos

Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.

Componente de Programação e Computação

No curso onde esta UC é oferecida estão asseguradas as componentes de Computação e Programação de acordo com o MEPP 2122.

Componente de Competências Transversais

O enunciado e formato do projecto da componente laboratorial inclui diferentes medidas para que a sua resolução desenvolva as competências transversais de pensamento crítico e inovador, assim como as competências intra e interpessoais.

Bibliografia

Principal

The Art of Computer Systems Performance Analysis Techniques For Experimental Design Measurements Simulation And Modeling

Raj Jain

Apr 1991

ISBN: 978-0-471-50336-1


Principles  of  Computer  System  Design An  Introduction

Jerome H. Saltzer, M. Frans Kaashoek

Jun 2009

Morgan Kaufmann_eBook ISBN: 9780080959429; Paperback ISBN: 9780123749574


Guerrilla Capacity Planning - A Tactical Approach to Planning for Highly Scalable Applications and Services

Neil J. Gunther

2007

ISBN 978-3-540-31010-5