Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Daniel Cordeiro
Departamento de Cincia da Computao
Instituto de Matemtica e Estatstica
Universidade de So Paulo
Ol! :)
2 / 111
3 / 111
3 / 111
3 / 111
3 / 111
3 / 111
3 / 111
4 / 111
4 / 111
4 / 111
Histrico e motivaes
5 / 111
6 / 111
Caractersticas
Definitivamente data-intensive
Mas podem tambm ser processing-intensive
Exemplos:
Crawling, indexao, busca, minerao de dados da web
Pesquisa em biologia computacional na era ps-genmica
Processamento de dados cientficos (fsica, astronomia, etc.)
Redes de sensores
Aplicaes Web 2.0
etc.
7 / 111
1 PB = 1.000.000.000.000.000 B
= 1.0005 B
= 1015 B
= 1 milho de gigabytes
= 1 mil terabytes
8 / 111
8 / 111
8 / 111
8 / 111
8 / 111
8 / 111
8 / 111
1 PB = 1.000.000.000.000.000 B
= 1.0005 B
= 1015 B
= 1 milho de gigabytes
= 1 mil terabytes
8 / 111
9 / 111
9 / 111
9 / 111
9 / 111
9 / 111
9 / 111
10 / 111
Pergunta:
Quo grandes so os data centers que fazem sistemas que afetam a
vida de quase todo mundo que se conecta a Internet (como os do
Google, Facebook, etc.) funcionarem?
11 / 111
Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro http://www.ime.usp.br/~danielc/
12 / 111
Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro http://www.ime.usp.br/~danielc/
12 / 111
Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro http://www.ime.usp.br/~danielc/
12 / 111
Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro http://www.ime.usp.br/~danielc/
12 / 111
13 / 111
13 / 111
13 / 111
14 / 111
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
15 / 111
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
15 / 111
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
15 / 111
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
15 / 111
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
15 / 111
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
16 / 111
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
16 / 111
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
16 / 111
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
16 / 111
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
16 / 111
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
16 / 111
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
16 / 111
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
16 / 111
17 / 111
18 / 111
18 / 111
18 / 111
18 / 111
18 / 111
18 / 111
18 / 111
18 / 111
Ideias principais
19 / 111
t2
t3
worker
worker
worker
r1
r2
r3
Combinar
resultado
20 / 111
Desafios de paralelizao
21 / 111
Problema recorrente
22 / 111
23 / 111
Ferramentas atuais
Modelos de programao:
Memria compartilhada (pthreads)
Passagem de mensagens (MPI)
Padres arquiteturais:
Mestre-escravo
Produtor-consumidor
Filas de trabalho compartilhadas
24 / 111
Moral da histria
Separe o qu do como:
O desenvolvedor especifica apenas o que deve ser computado
O arcabouo deve se encarregar de como realizar a execuo
25 / 111
Ruptura na indstria de TI
26 / 111
Tecnologias web
27 / 111
Virtualizao
Definio
Virtualizao a criao de uma verso virtual de recursos como
um sistema operacional, um servidor, um dispositivo de
armazenamento, recursos de rede, etc.
Aplic.
Aplic.
Aplic.
Aplic.
Aplic.
Aplic.
Sistema Operacional
Sistema Operacional
Hypervisor
Hardware
Hardware
28 / 111
29 / 111
30 / 111
Usos de virtualizao
31 / 111
32 / 111
Computao Utilitria
O que ?
Recursos de computao oferecidos como um servio onde
voc paga pelo o que usa
Habilidade de aprovisionar dinamicamente mquinas (virtuais)
Por qu?
Custo: despesas de capital vs. despesas de operao
Escalabilidade: capacidade infinita
Elasticidade: aumentar ou diminuir o poder de processamento
33 / 111
http://geek-and-poke.com/2008/05/simply-explaine.html
Daniel Cordeiro http://www.ime.usp.br/~danielc/
34 / 111
Segundo a Wikipedia:
A origem do termo Computao em Nuvem obscura, o termo
parece ter sido derivado do uso de uma nuvem estilizada em
diagramas de redes de computadores e sistemas de comunicao. A
palavra nuvem usada como uma metfora para a Internet (...)
35 / 111
36 / 111
Classificao em servios
A forma como as aplicaes e hardware so disponibilizadas para os
usurios utilizada para classificar as plataformas de Computao
em Nuvem como:
Software as a Service (SaaS)
as aplicaes que rodam no navegador so oferecidas como um
servio
37 / 111
38 / 111
39 / 111
40 / 111
41 / 111
42 / 111
43 / 111
Vantagens:
capacidade de provisionamento de novos servidores quase que
em tempo real
ambiente de execuo otimizado para a plataforma
modelo arquitetural padronizado para as aplicaes
44 / 111
45 / 111
Provedores de PaaS:
Google AppEngine
Heroku
EngineYard
Force.com
Windows Azure Cloud Services
Oracle Platform as a Service
46 / 111
47 / 111
48 / 111
Exemplos:
Amazon EC2
Windows Azure
Rackspace Cloud
Google Compute Engine
49 / 111
Consequncias:
custos reduzidos
menos tempo de manuteno
alta disponibilidade
menos emisses de carbono
50 / 111
Flexibilidade
Software: permite que seu software seja usado a partir de
qualquer plataforma
Acesso: permite acesso aos recursos a partir de qualquer
computador conectado a Internet
Infraestrutura de implantao adaptvel:
Software controla a infraestrutura
51 / 111
52 / 111
Causo
1
A Animoto uma startup que oferece uma aplicao web que produz
vdeos a partir de fotos, videoclipes e msica.
Daniel Cordeiro http://www.ime.usp.br/~danielc/
53 / 111
54 / 111
Personalizao
Plataforma de software
Armazenamento
Largura de banda de rede
Velocidade
...
55 / 111
Custo
Pague a medida que usar
Pequenas/mdias empresas podem competir com a
infraestrutura de grandes corporaes
time to service / market
sem custo inicial
56 / 111
Manuteno
inteira responsabilidade do provedor do servio
Essas responsabilidades incluem:
Atualizaes de software
Atualizaes de segurana
Monitoramento do estado do sistema
Backup do sistema
etc.
57 / 111
Utilizao
Consolidao de uma grande quantidade de recursos:
ciclos de CPU
armazenamento
largura de banda de rede
58 / 111
59 / 111
Emisso de CO2
Consolidao dos servidores
Maiores taxas de utilizao
Consumo de energia reduzido
60 / 111
61 / 111
61 / 111
61 / 111
61 / 111
61 / 111
62 / 111
62 / 111
62 / 111
62 / 111
Modelos de implantao
Nuvem Privada a infraestrutura provisionada para uso exclusivo
de uma nica organizao com vrios usurios
Nuvem Comunitria a infraestrutura provisionada para um grupo
de organizaes com interesses em comum
Nuvem Pblica a infraestrutura provisionada para uso pelo
pblico em geral. O provedor pode ser uma empresa,
universidade, organizao governamental, etc.
Nuvem Hbrida a infraestrutura uma composio de dois ou mais
tipos infraestrutura (privada, pblica ou comunitria)
63 / 111
Modelos de implantao
Nuvem Privada a infraestrutura provisionada para uso exclusivo
de uma nica organizao com vrios usurios
Nuvem Comunitria a infraestrutura provisionada para um grupo
de organizaes com interesses em comum
Nuvem Pblica a infraestrutura provisionada para uso pelo
pblico em geral. O provedor pode ser uma empresa,
universidade, organizao governamental, etc.
Nuvem Hbrida a infraestrutura uma composio de dois ou mais
tipos infraestrutura (privada, pblica ou comunitria)
63 / 111
Modelos de implantao
Nuvem Privada a infraestrutura provisionada para uso exclusivo
de uma nica organizao com vrios usurios
Nuvem Comunitria a infraestrutura provisionada para um grupo
de organizaes com interesses em comum
Nuvem Pblica a infraestrutura provisionada para uso pelo
pblico em geral. O provedor pode ser uma empresa,
universidade, organizao governamental, etc.
Nuvem Hbrida a infraestrutura uma composio de dois ou mais
tipos infraestrutura (privada, pblica ou comunitria)
63 / 111
Modelos de implantao
Nuvem Privada a infraestrutura provisionada para uso exclusivo
de uma nica organizao com vrios usurios
Nuvem Comunitria a infraestrutura provisionada para um grupo
de organizaes com interesses em comum
Nuvem Pblica a infraestrutura provisionada para uso pelo
pblico em geral. O provedor pode ser uma empresa,
universidade, organizao governamental, etc.
Nuvem Hbrida a infraestrutura uma composio de dois ou mais
tipos infraestrutura (privada, pblica ou comunitria)
63 / 111
64 / 111
65 / 111
66 / 111
Novas aplicaes
Aplicaes mveis interativas
Processamento paralelo em batch: muitos dados
Business analytics
Aplicaes desktop com computao intensa (ex: Matlab e
Mathematica)
67 / 111
Provedores de plataformas de
Computao em Nuvem
68 / 111
69 / 111
70 / 111
71 / 111
71 / 111
71 / 111
71 / 111
Instagram
foursquare
Netflix
Dropbox
Heroku
Pinterest
tumblr
etc.
72 / 111
Samsung
Shell
The New York Times
Ticketmaster
Nasa
Unilever
Nasdaq
etc.
73 / 111
74 / 111
75 / 111
76 / 111
77 / 111
78 / 111
79 / 111
80 / 111
81 / 111
Crescimento do Amazon S3
Aumento no nmero de objetos armazenados na Amazon S3 ao
longo dos anos:
2006 2,9 bilhes
2007 14 bilhes
2008 40 bilhes
2009 102 bilhes
2010 262 bilhes
2011 762 bilhes
jun/2012 1 trilho
82 / 111
83 / 111
AWS Import/Export
84 / 111
85 / 111
85 / 111
85 / 111
85 / 111
85 / 111
85 / 111
86 / 111
87 / 111
87 / 111
87 / 111
87 / 111
88 / 111
89 / 111
90 / 111
Instncias Spot
Permitem negociar a parte no usada da infraestrutura do EC2
Voc diz o quanto quer pagar no mximo por uma instncia de
determinado tipo
Preos das instncias so redefinidos periodicamente, variando
com a oferta e demanda por capacidade
Se o preo atual for menor que o preo mximo definido, voc
recebe uma instncia e paga s pelo preo atual (normalmente
menor do que o preo mximo)
Voc usa a instncia at que opte por termin-la ou at que o
preo atual ultrapasse o preo mximo definido
91 / 111
92 / 111
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
93 / 111
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
93 / 111
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
93 / 111
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
93 / 111
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
93 / 111
94 / 111
Auto Scaling
95 / 111
96 / 111
Amazon DynamoDB
97 / 111
Amazon SimpleDB
98 / 111
99 / 111
100 / 111
Amazon ElastiCache
101 / 111
Amazon CloudFront
102 / 111
103 / 111
Amazon CloudSearch
104 / 111
105 / 111
106 / 111
107 / 111
108 / 111
Amazon CloudWatch
109 / 111
110 / 111
Referncias
Above the Clouds: A Berkeley View of Cloud Computing
http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/
EECS-2009-28.html
Cursos dos professores:
Majd F. Sakr (Carnegie Mellon Qatar)
http://www.qatar.cmu.edu/~msakr/15319-s12/
Jimmy Lin (University of Maryland) http:
//www.umiacs.umd.edu/~jimmylin/cloud-2010-Spring/
111 / 111