Skip to content

Latest commit

 

History

History

Sistemas Distribuídos

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

🐘 Sistemas Distribuídos

Informações sobre a disciplina

CURSO Ciência de Dados e Inteligência Artificial
DISCIPLINA Consultoria Especializada de Apoio ao Projeto Integrado: Sistemas Distribuídos
PERÍODO
CARGA HORÁRIA 72 h.a
SEMESTRE / ANO 1° Semestre de 2023
PROFESSOR Carlos Eduardo de Barros Paes

Ementa

Conceitos básicos de sistemas distribuídos; aplicações distribuídas e paralelas; características básicas da Programação Distribuída; modelo de processos e troca de mensagens; algoritmos distribuídos; conceitos básicos de programação paralela; algoritmos paralelos; classes de linguagens para a Programação Distribuída. MapReduce. Spark. Resilient Distributed Datasets. Desenvolvimento de ação extensionista voltada às comunidades de software de código aberto. Ações extensionistas como resultado do desenvolvimento de projetos de produção de diagnóstico, elaboração de oficinas, apresentação de palestras ou outro tipo de intervenção, a depender do tema e da necessidade do público/ organização atendida. Previsão de produto a ser disponibilizado em repositórios públicos de software como por exemplo o GitHub.

Objetivos

Proporcionar capacidades e habilidades para que o estudante:

  • Conheça e compreenda os conceitos básicos de sistemas computacionais distribuídos e paralelos
  • Conheça os principais paradigmas de comunicação em sistemas distribuídos e as principais questões relacionadas à sincronização em sistemas distribuídos
  • Aplicar esses conhecimentos no processo de desenvolvimento de sistemas computacionais distribuídos e paralelos usando tecnologias atuais.
  • Analisar e avaliar programas desenvolvidos para um ambiente de execução constituído por diversas unidades de processamento operando em paralelo

Conteúdo Programático

Semana Data Conteúdo por Aula Recursos Tecnológicos ou Físicos
1 01/Mar
  • Apresentação da disciplina de SD e plano de ensino 2023
  • Introdução aos Sistemas Distribuídos e Computação Paralela
  • Prática: Introdução ao Linux e Comandos Básicos de Shell
  • Sistema Operacional Linux
  • Linguagem de Programação Python
2 08/Mar
  • Revisão de Sistemas Operacionais
  • Computação paralela e os modelos de máquinas: Classificação de Flynn
  • Introdução a multiprogramação e programação concorrente/parelela (processos e threads)
  • Prática: Experimento de programas concorrentes usando Python
  • Sistema Operacional Linux
  • Linguagem de Programação Python
3 15/Mar
  • Arquiteturas com memória compartilha e Distribuída
  • Prática: Exemplos de programação sequencia e concorrente/paralela usando programação concorrente em Python
  • Sistema Operacional Linux
  • Linguagem de Programação Python
4 22/Mar
  • Introdução a computação paralela com GPU e CUDA
  • Laboratório: Apresentação de exemplos de programação paralela com CUDA usando Python
  • Sistema Operacional Linux
  • Linguagem de Programação Python
5 29/Mar
  • Arquitetura de Sistemas Distribuídos e Paradigmas de Comunicação em SD
  • Visão Geral do Modelo Cliente/Servidor
  • Tecnologias de conunicação para SD: RPC/RMI, gRPC,SOA, Message-oriented middleware (MOM), Rest/Restful,Sockets, WebSockets
  • Laboratório: Preparação dos seminários Tecnologias de Comunicação SD
  • Sistema Operacional Linux
  • Linguagem de Programação Python
6 05/Abr
  • Tecnologias de conunicação para SD: RPC/RMI, gRPC,SOA, Message-oriented middleware (MOM), Rest/Restful,Sockets, WebSockets
  • Laboratório: Preparação dos seminários Tecnologias de Comunicação SD
  • Sistema Operacional Linux
  • Linguagem de Programação Python
7 12/Abr
  • Apresentação dos Seminários: Tecnologias de conunicação para SD: RPC/RMI, gRPC,SOA, Message-oriented middleware (MOM), Rest/Restful,Sockets, WebSockets
8 19/Abr
  • Introducação ao Processamento de Big Data Distribuído: Ecosistema Spark e Hadoop
  • Arquitetura e Componentes da Plataforma Sapark
  • Context e Session
  • Formantos de Big Data
  • Prática: Inicialização dos servidores Spark e introdução ao PySpark
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
9 26/Abr
  • Dataframes e RDDs
  • Principais Ações e Transformações
  • Prática: Exemplos de processamento de RDDs e Dataframes usando PySpark
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
10 03/Mai
  • Spark SQL
  • Outras Fontes de Dados
  • Criando aplicações em Spark
  • Prática: Exemplos de Spark-sql, Joins com Dataframe e SQL
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
11 10/Mai
  • Machine Learing com Spark
  • Regressão e Classificação
  • Pipelines
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
12 17/Mai
  • Spark Structured Streaming
  • Visão Geral de Streaming
  • Casos Práticos
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
13 24/Mai
  • Aspectos Gerais de Otimização
  • Particionamento e Buckering no Spark
  • Cache e Persistência no Spark
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
14 31/Mai
  • Clusterização em Spark
  • Parática: Clone das máquinas virtuais, definição dos nós de processamento (master e workers), configuração do clustes
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
15 07/Jun
  • Clusterização em Spark
  • Prática: Clone das máquinas virtuais, definição dos nós de processamento (master e workers), configuração do clustes
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
16 14/Jun
  • Hadoop Overview e História
  • Haddop Cores: HDFS e MapReduce
  • Prática: Inicialização do Hadoop, configuração do HDFS e comandos HDFS
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
17 21/Jun
  • Programando Hadoop com Python e Spark
  • Introdução ao Ambari
  • Prática: Exemplos de programas usando Python
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
18 28/Jun
  • Usando BD Relacional e Não Relacional com Hadoop
  • Introdução ao Hive
  • Prática: Integração do Hadoop com os BDs MySQL e MongoDB
  • Sistema Operacional Linux
  • Linguagem de Programação Python
  • Hadoop e Spark
  • MongoDB