Informações gerais
Esta disciplina pretende discutir os aspectos principais de tecnologia e pesquisa nas áreas de virtualização e computação em nuvem. No caso de virtualização, o interesse maior será exatamente na sua aplicação em ambientes em nuvem.
Como disciplina avançada, grande parte das aulas serão organizadas ao redor da discussão de artigos que deverão ser lidos por todos. Apenas a primeira parte do curso deve ser na forma de aulas expositivas, onde os conceitos principais da área serão introduzidos para todos os alunos. Por volta de 50% das aulas serão conduzidas pelos alunos, na discussão de artigos.
Conceitos avançados da área de fronteira entre Sistemas Operacionais e Redes de Computadores, focando aspectos virtualização, distribuição de serviços, redes para datacenters e desenvolvimento de aplicações distribuídas segundo o modelo de computação em nuvem.
Conceitos gerais de virtualização e sua aplicação ao problema de computação em nuvem, problemas de escalonamento de máquinas virtuais, isolamento de tráfego entre aplicações, interfaces de programação para computação em nuvem.
O programa será definido pelos artigos que serão cobertos durante o semestre, abordando trabalhos recentes na área. O primeiro terço do curso (mais ou menos) será focado em princípios e conceitos gerais.
| Aula | Data | Assunto | Obs. |
| 1 | 09/03 | Apresentação. Computação em nuvem (intro.). | |
| 2 | 11/03 | Conceitos principais de Redes de Computadores. | |
| 3 | 16/03 | Organização do curso. Leitura de artigos. | |
| 4 | 18/03 | Data centers | |
| 5 | 23/03 | Virtualização (introdução). | |
| 6 | 25/03 | IaaS: Amazon Web Services. | |
| 7 | 30/03 | PaaS: Google App Engine. | |
| 8 | 01/04 | Modelos de nuvens. Discussão sobre virtualização. | |
| 9 | 06/04 | Segurança em nuvens (Prof. Leonardo Barbosa). | |
| 10 | 08/04 | Desempenho de virtualização. Migração de VMs. | |
| 11 | 13/04 | Migração e balanceamento de carga: Sandpiper, etc. | |
| 12 | 15/04 | Sistemas de arquivos: GFS, Megastore. | |
| -- | 20/04 | Feriado: Recesso | |
| 13 | 22/04 | Ambientes de fluxos de dados: MapReduce, Dryad. | |
| 14 | 27/04 | Armazenamento orientado a colunas: BigTable, HBase | |
| 15 | 29/04 | Armazenamento relacional: Hive, Pig, Scads. Trabalhos. | |
| 16 | 04/05 | Discussão do trabalho: apresentação de temas. | |
| 17 | 06/05 | Prova (não haverá aula presencial). | |
| 18 | 11/05 | Prova (não haverá aula presencial). | |
| 19 | 13/05 | Armazenamento chave-valor: Dynamo, Dremel. | |
| 20 | 18/05 | Bases relacionais na nuvem: Relational Cloud, ... | (SBRC) |
| 21 | 20/05 | Multiprogramação para datacenters: Mesos, Hadoop NextGen. | (SBRC) |
| 22 | 25/05 | Sistemas Operacionais e nuvens: Akaros, FOS. | |
| 23 | 27/05 | Estruturas de redes: VL2, Portland. | |
| 24 | 01/06 | Gerência de tráfego: Orchestra, Hedera. | |
| 25 | 03/06 | Isolamento de tráfego: Oktopus, Seawall, Gatekeeper. | |
| 26 | 08/06 | Protocolos de transporte: DCTCP, ICTCP, Multipath TCP, Outcast TCP. | |
| 27 | 10/06 | Virtualização de redes: Open vSwitch, OpenFlow e SDNs. | |
| 28 | 15/06 | Redes definidas por software, Onix, Advanced Edges. | |
| 29 | 17/06 | Processamento de grafos: Preguel, GraphLab, Rendero. | |
| 30 | 22/06 | Considerações finais: desafios, pesquisa, etc. | |
| 31 | 24/06 | Modelos de custo: arq. de redes, precificação na nuvem. | |
| 32 | 29/06 | Aspectos de segurança da nuvem. | |
| 33 | 01/07 | Gerência de energia: elastic tree, ... | |
| -- | 06/07 | Não há aula prevista | |
| -- | 08/07 | Não há aula prevista |
Por se tratar de uma disciplina avançada, o processo de avaliação será focado na participação dos alunos na apresentação de artigos, e em outras atividades a eles relacionadas, como seminários e trabalhos.
Alunos de pós-graduação serão avaliados de forma diferente dos alunos de graduação. Alunos com matrícula em disciplina isolada serão avaliados pelos critérios da pós-graduação.
Distribuição dos pontos
Essa distribuição ainda pode vir a ser reavaliada durante o curso com os alunos, mas a princípio o peso de cada componente para a nota final será:
Prova/Estudo dirigido
Por volta da metade do curso haverá uma prova take home (um estudo dirigido) sobre os conceitos básicos de cada tema, para ser desenvolvido em alguns dias. O tipo de prova será diferenciado entre a graduação e a pós-graduação.
Leitura de artigos
Depois da parte introdutória do curso, as aulas passarão a incluir artigos da literatura que serão discutidos durante as aulas. Cada aluno é responsável pela leitura antecipada dos artigos indicados para cada aula e deve submeter, antes da aula, um pequeno resumo de dois parágrafos sobre sua visão do artigo. Esse resumo deve apontar o objetivo do artigo, seus resultados e uma análise crítica de seus pontos fortes e fracos.
Resumos atrasados serão considerados com 50% de desconto.
Seminários
Todos os alunos deverão apresentar um seminário sobre um artigo recente da literatura apresentado nos principais congressos da área nos últimos 2 ou 3 anos. Alunos da graduação podem fazer a apresentação em duplas, enquanto os matriculados na oferta para a pós-graduação (incluindo disciplina isolada) devem fazer apresentações individuais.
Trabalho
Mais detalhes sobre o trabalho final serão definidos em breve.
A disciplina será baseada em artigos da literatura, que serão listados no moodle (minha.ufmg) ao longo do curso.