Buscar

Virtualização de Sistemas Distribuídos

Prévia do material em texto

Prof. Luiz Fernando Bittencourt IC - UNICAMP 
MO809L 
Tópicos em Sistemas Distribuídos 
1° semestre, 2013 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Virtualização 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Virtualização 
•  Threads e processos podem ser vistos como modo de fazer 
mais coisas ao mesmo tempo. 
•  Porções de programas que parecem ser executados simultaneamente. 
•  Computador monoprocessado: somente uma ilusão de paralelismo 
através de chaveamento rápido entre threads e processos. 
• Capacidade de “fingir que há mais CPUs” pode ser estendida 
a outros tipos de recursos. 
•  Virtualização de recursos. 
• Utilizada há muito tempo. 
• Renovado interesso à medida que sistemas (distribuídos) 
tornaram-se mais comuns e complexos. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Virtualização 
• Sistema de computadores: interface de programação para 
software de alto nível. 
• Diferentes interfaces. 
•  Conjunto básico de instruções oferecido por uma CPU. 
•  Conjunto de interfaces de programação de middlewares. 
• Virtualização: estender ou substituir uma interface de modo a 
imitar o comportamento de um outro sistema. 
•  Figura 45. 
 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Virtualização 
• Década de 70: permitir que softwares executassem em 
hardwares caros de mainframes. 
• Software não incluía somente aplicações, mas também 
sistemas operacionais para os quais havia sido 
desenvolvido. 
• Aplicada com sucesso em mainframes IBM 370 e 
sucessores. 
•  Ofereciam máquina virtual para diferentes SOs. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Virtualização 
• Hardware mais barato. 
• Computadores mais potentes. 
• Menor quantidade de SOs. 
• Virtualização deixava de ser importante. 
•  Final da década de 90, virtualização voltou a se tornar 
importante. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Virtualização 
• Ajuda a reduzir a quantidade necessária de plataformas de 
hardware para atender softwares com necessidades 
diferentes. 
•  Virtualização deixa que cada aplicação execute em sua própria 
máquina virtual, possivelmente incluindo bibliotecas e o sistema 
operacional. 
• Proporciona alto grau de portabilidade e flexibilidade. 
• Por exemplo, gerenciamento mais fácil de replicação. 
•  Servidores podem ser copiados, incluindo ambiente, dinamicamente. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Virtualização - motivação 
• Server Consolidation: consolidar cargas de trabalho de 
múltiplas máquinas subutilizadas em quantidade menor de 
máquinas para economizar hardware, gerência, 
administração. 
• Application consolidation: aplicações legadas podem 
necessitar de máquinas virtualizadas para rodar em 
máquinas mais novas. 
• Sandboxing: isolamento de ambientes para execução de 
aplicações não confiáveis. 
• Múltiplos ambientes de execução: criar múltiplos ambientes 
independentes com garantia de recursos para prover QoS. 
 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Virtualização - motivação 
• Hardware virtual: drivers SCSI virtuais, adaptadores ethernet 
virtuais, switches e hubs virtuais... 
• Executar múltiplos SOs simultaneamente. 
• Depuração: pode permitir depuração de aplicações de 
usuário sem preocupação com problemas de interrupção de 
outras aplicações/serviços. 
• Migração: facilita migração de software. 
• Permite empacotar aplicações junto com ambiente de 
execução. 
•  Teste: facilita a produção de cenários de teste arbitrários que 
são difíceis de produzir na prática. 
 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Abstração e virtualização 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Abstração e virtualização 
• Abstração com interfaces bem definidas ajuda no 
desenvolvimento e manutenção. 
• Escondem detalhes de implementação de nível mais baixo. 
• Ex.: SO abstrai sistema de arquivos e endereçamento. 
•  Disco aparece como um conjunto de arquivos de tamanhos variados, 
escondendo setores e trilhas. 
•  Programadores manipulam arquivos pelos nomes. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Abstração e virtualização 
• Arquitetura do conjunto de instruções (ISA) é um bom 
exemplo das vantagens de interfaces bem definidas. 
•  Intel e AMD implementam em seus processadores um 
conjunto de instruções x86, enquanto softwares são 
desenvolvidos para compilar e executar nesse conjunto de 
instruções. 
•  Limitações no uso: por exemplo, binários compilados estão 
amarrados à arquitetura-alvo; impede interoperabilidade. 
•  Limitação importante em computadores heterogêneos conectado por 
rede. 
•  Mapeamento de interface e recursos visíveis para sistema real 
potencialmente diferente pode contornar esse problema. 
•  Sistema virtual apresentado como outro sistema, ou múltiplos 
sistemas. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Abstração e virtualização 
• Ao contrário da abstração, a virtualização não 
necessariamente objetiva simplificar ou esconder detalhes. 
• Ex.: virtualização de disco transforma um disco grande único 
em dois virtuais menores, cada um com seu conjunto de 
trilhas e setores. 
• Software de virtualização utiliza a abstração de arquivos 
como um passo intermediário para o mapeamento entre 
disco real e virtual. 
• Escrita no disco virtual é convertida em uma escrita de 
arquivo no disco real. 
• Nível de detalhes fornecido na interface de disco virtual é o 
mesmo do disco real; não há abstração. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Abstração e virtualização 
James E. Smith, Ravi Nair. The Architecture of Virtual Machines. IEEE Computer. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de máquinas virtuais 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Para discutir VMs é preciso entender arquitetura de sistemas 
de forma geral. 
• Arquitetura refere-se a uma especificação formal de 
interfaces do sistema, incluindo comportamento lógico dos 
recursos gerenciados através da interface. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Em geral, sistemas de computadores oferecem 4 tipos 
diferentes de interfaces em 4 níveis diferentes: 
•  Entre hardware e software: instruções de máquina que podem ser 
invocadas por qualquer pograma. 
•  Entre hardware e software: instruções de máquina que podem ser 
invocadas somente por programas privilegiados, como o sistema 
operacional. 
•  Chamadas de sistema: oferecidas por um sistema operacional. 
•  Chamadas de biblioteca: conjunto conhecido como interface de 
aplicação de programação (API). Em muitos casos, ocultam chamadas 
de sistema. 
•  Fig. 46. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
•  Instruction Set Architecture (ISA): 
•  Divisão entre hardware e software (3) e (4). 
•  ISA de usuário: aspectos visíveis às aplicações (4). 
•  ISA de sistema: visível pelo SO, gerenciar o hardware (3). 
•  ISA de sistema é um superconjunto da ISA do usuário. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Application Binary Interface (IBA): 
•  Fornece acesso aos recursos de hardware disponíveis através do ISA 
de usuário (4) e chamadas de sistema (2). 
•  Não inclui instruções do sistema; programas interagem com o 
hardware indiretamente invocando serviços do SO pela interface de 
chamadas de sistema. 
•  Chamadas de sistema: meio do SO realizar operações no hardware no 
lugar do programa de usuário, verificando autenticação / segurança. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Application Programming Interface (API): 
•  Fornece acesso aos recursos de hardware através do ISA de usuário 
(4) e chamadas de bibliotecas de alto nível (1). 
•  Chamadas de sistema geralmente são feitas através de bibliotecas. 
•  Usar uma API permite portabilidade através de recompilaçãoem 
sistemas que suportem a mesma API. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Do ponto de vista do processo, uma máquina é um espaço 
lógico de memória atribuído ao processo em conjunto com 
instruções de nível de usuário e registradores que permitem 
a execução do código do processo. 
• E/S é visível somente através do sistema operacional através 
de chamadas de sistema. 
• ABI define uma máquina como vista pelos processos. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Do ponto de vista do SO e das aplicações, o sistema é um 
ambiente que roda sobre uma máquina subjacente e é 
capaz de suportar múltiplos processos simultaneamente. 
• Processos compartilham sistema de arquivos e outros 
dispositivos de E/S. 
• Sistema sobrevive às idas e vindas dos processos. 
• Aloca memória real e recursos de E/S aos processos e 
controla acesso. 
• Da perspectiva do sistema, o hardware define a máquina; o 
ISA fornece interface entre sistema e a máquina. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Da mesma forma que há pontos de vista de máquina para 
processos e para sistemas, também os há para máquinas 
virtuais. 
• Uma máquina virtual de processo é uma plataforma que 
executa apenas um processo. 
•  Existe somente para suportar o processo. 
•  Criado quando o processo é criado. 
•  Termina quando processo termina. 
• Uma máquina virtual de sistema fornece um ambiente de 
sistema completo e persistente que suporta um sistema 
operacional com seu conjunto de processos de usuário. 
•  Fornece ao sistema operacional convidado acesso a recursos de 
hardware virtuais (rede, E/S etc.) 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Processo ou sistema rodando numa VM é o convidado, 
enquanto a plataforma que suporta a VM é o hospedeiro. 
• Virtualização pode ocorrer de dois modos. 
•  Virtualização de processo, através de runtime software. 
•  Virtualiação de máquina, através de virtual machine monitor. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• Virtualização pode ocorrer de dois modos. 
•  Sistema de execução com conjunto de instruções abstrato para 
executar aplicações. 
•  Instruções interpretadas (p. ex. Java). 
•  Emulação (Wine) – necessário imitar comportamento de chamadas de 
sistema (não trivial). 
•  Chamada de máquina virtual de processo (Smith e Nair) / runtime software. 
•  Fornecer um sistema que seja uma camada que protege 
completamente o hardware original, mas que oferece como interface o 
conjunto de instruções completo do mesmo (ou de outro) hardware. 
•  Pode ser oferecida simultaneamente a programas diferentes. 
•  Vários sistemas operacionais executando independente e concorrentemente 
na mesma plataforma. 
•  Camada chamada de Virtual Machine Monitor – VMM (VMWare, Xen). 
•  Fig. 47 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• VM de processo: software 
de virtualização está no nível 
de ABI ou API. 
• Emula instruções de nível de 
usuário e chamadas de 
sistema. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
• VM de sistema: software de 
virtualização está entre o 
hardware e o software 
convidado. 
• Se mostra como ISA 
potencialmente diferente do 
hospedeiro. 
• VMM muitas vezes tem o 
papel de fornecer recursos 
de hardware virtualizados ao 
invés de tradução de ISA 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Arquiteturas de Máquinas Virtuais 
•  Importante para confiabilidade e segurança. 
•  Isolamento de uma aplicação completa e seu ambiente. 
•  Falha não afeta outras VMs. 
• Melhor portabilidade. 
•  Desacopla hardware e software. 
•  Permite mover ambiente completo. 
• Máquinas paralelas 
•  Permite consolidação de servidores. 
•  Maximizar utilização. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Alguns conceitos em máquinas virtuais 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas Virtuais 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• Simulação completa de um sistema em outra, instrução por 
instrução, é técnica conhecida há décadas. 
•  Por exemplo, aplicação de propósito específico para um computador X 
cujo hardware ainda está em desenvolvimento. 
•  Simulador para X (processador, memória, periféricos) que rode em 
máquina de propósito geral G. 
•  Programas que rodam em G poderão rodar em X com mesmos 
resultados (exceto para questões de tempo). 
•  Programas podem usar espaço de memória simulado, dispositivos 
simulados, executar instruções na máquina simulada. 
•  Simulador provê uma camada de software que filtra e protege os 
recursos da máquina G, evitando que sejam utilizados de forma 
indevida pelos programas da máquina X. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• Múltiplos programas: 
•  Múltiplas cópias do simulador. 
•  Simulador capaz de dividir o tempo entre aplicações. 
•  Ambos os casos resultam numa ilusão de múltiplas cópias da interface 
de hardware-software da máquina X em G. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• X e G arbitrários 
•  Software de simulação pode ser muito complexo e piorar desempenho 
de forma impraticável. 
•  Inicialmente mais utilizado para desenvolvimento de software. 
• X e G idênticos 
•  Muitas cópias da interface hardware-software de G em G. 
•  Cada usuário com sua cópia privada da máquina G. 
•  Escolha do SO para rodar em sua máquina privada. 
•  Desenvolver/depurar seu próprio SO. 
•  Simuladores não interferem um no outro. 
•  Slowdown menor que para X diferente de G. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• Desenvolvimento de simuladores mais eficientes de múltiplas 
cópias de uma máquina sobre seu próprio hardware. 
•  Parte do software para máquinas simuladas roda sobre o hardware, 
sem interpretação de software. 
•  Chamados de Virtual Machine Systems. 
•  Máquinas simuladas chamadas de máquinas virtuais (VMs). 
•  Software simulador: virtual machine monitor (VMM). 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• VMM transforma interface única da máquina na ilusão de 
muitas máquinas. 
• Cada interface (máquina virtual) é uma réplica eficiente do 
sistema de computação original. 
•  Com todas as instruções de processador (privilegiadas e não 
privilegiadas). 
•  Com todos os recursos dos sistema (memória e E/S). 
• Diversas máquinas virtuais em paralelo permitem diversos 
SOs (núcleos privilegiados) concorrentemente. 
• Máquinas virtuais fornecem réplicas isoladas de um 
ambiente em um sistema de computação. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• Recursos extras (CPU, memória) são usados pelo VMM. 
•  Potencial queda na vazão do sistema. 
• Manter estado do processador virtual. 
•  Integridade de todos os registradores visíveis, bits de estado e 
memória reservada (controle de interrupção) devem ser preservados. 
•  Captura e simulação de instruções privilegiadas. 
•  Suporte a paginação em máquinas virtuais. 
•  Faltas de página. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• Podem ser utilizadas para manter sistemas antigos enquanto 
novos sistemas são testados e programas são convertidos. 
• Adicionar novos dispositivos sem alterar SO da máquina 
virtual, que já suporta o dispositivo virtualizado. 
•  Teste de softwares de rede. 
• Confiabilidade de software através de isolamento. 
•  VMM é provavelmente correta: pequena e verificável. 
• Segurança de dados. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
•  Uma variedade de mecanismos e técnicas para desacoplar 
a arquitetura e o comportamento de hardware e software 
percebido pelo usuário de suaimplementação física. 
• VMM: camada entre ambientes de software e o hardware 
físico que é programável, transparente ao software acima 
dela, e usa eficientemente o hardware abaixo dela. 
• De forma similar, virtualização de rede e armazenamento 
também fornecem capacidade de multiplexar, em um único 
recurso físico, vários sistemas virtuais isolados uns dos 
outros. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• Contraste com a abordagem comum de incluir camadas mais 
abstratas sobre a camada de abstração mais alta existente. 
• Na última década máquinas virtuais voltaram a receber 
atenção. 
•  Anteriormente aplicadas a plataformas de grande porte, agora atingem 
plataformas pessoais. 
•  Advento do VMWare (1998) e Virtual PC (1997). 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• Atualmente servidores são muito mais baratos e poderosos 
que no passado. 
• Mas: custo total da posse inclui manutenção, suporte e 
administração, assim como custos associados a brechas de 
segurança e falhas. 
• Consolidação de servidores ainda é um motivador importante 
para uso de máquinas virtuais. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais 
• Uma máquina virtual pode suportar processos individuais ou 
sistemas completos, dependendo do nível de abstração onde 
a virtualização ocorre. 
• Algumas VMs suportam uso flexível de hardware e 
isolamento de software, outras traduzem conjuntos de 
instruções. 
• Variedade de arquiteturas de máquinas virtuais. 
•  Máquinas virtuais de processo e de sistema. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
•  Fornecem ambiente virtual ABI ou API para aplicações de 
usuário. 
• Sistemas multiprogramados: 
•  VM de processo mais comum (muitas vezes desconsiderada como 
VM). 
•  Muitos sistemas operacionais suportam múltiplos processos de usuário 
simultâneamente através de multiprogramação. 
•  Processo tem ilusão de ter uma máquina completa para si. 
•  Cada processo tem seu próprio espaço de endereçamento, 
registradores e estrutura de arquivos. 
•  SO divide hardware por tempo, gerenciando os recursos disponíveis. 
•  Consequentemente, SO fornece uma VM de processo replicada para 
cada aplicação executada concorrentemente. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
• Emuladores e tradutores binários dinâmicos: 
•  Suportar binários de programas compilados para outra arquitetura. 
•  Modo direto: interpretação (fetch, decode, emulate) das instruções do 
convidado. 
•  Pode ser relativamente lento, necessitando muitas instruções do hospedeiro 
para cada instrução interpretada. 
•  Melhoria de desempenho: tradutor binário dinâmico. 
•  Traduz instruções em blocos ao invés de uma a uma e salva em cache para 
reuso. 
•  Utilização repetida de conjunto de instruções amortiza overhead maior na 
tradução. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
• Same-ISA binary optimizer 
•  Mesmo conjunto de instruções do hospedeiro e convidado. 
•  Propósito: realizar otimização de código durante tradução. 
•  Utiliza informações coletadas durante a interpretação para otimizar o 
binário on-the-fly. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
• High-level-language VMs 
•  Portabilidade entre plataformas é desejável em VMs de processo. 
•  Esforço de desenvolvimento caso a caso. 
•  Portabilidade total entre plataformas pode ser alcançada 
desenvolvendo-se uma VM de processo como parte de um ambiente 
de desenvolvimento de aplicações em linguagem de alto nível. 
•  HLL VM resultante não corresponde diretamente a nenhuma 
plataforma, mas é desenhada para facilitar portabilidade. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
• High-level-language VMs 
•  Portabilidade entre plataformas é desejável em VMs de processo. 
•  Esforço de desenvolvimento caso a caso. 
•  Portabilidade total entre plataformas pode ser alcançada 
desenvolvendo-se uma VM de processo como parte de um ambiente 
de desenvolvimento de aplicações em linguagem de alto nível. 
•  HLL VM resultante não corresponde diretamente a nenhuma 
plataforma, mas é desenhada para facilitar portabilidade. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
• Sistema convencional: 
•  Compilador gera código intermediário, parecido com código de 
máquina mas mais abstrato. 
•  Gerador de código utiliza código intermediário para gerar binário 
contendo código de máquina para ISA e SO específicos. 
•  Binário é distribuído e pode ser executado em plataformas que 
suportam tal combinação ISA/SO. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
• HLL VM: 
•  Compilador gera código de máquina abstrato em ISA virtual que 
especifica a interface da VM. 
•  Código virtual ISA, com informações de estruturas de dados 
associadas (metadados) é distribuído para execução em diferentes 
plataformas. 
•  Cada plataforma implementa uma VM capaz de carregar e executar o 
ISA virtual. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de processo 
• HLL VM: 
•  Java 
•  MS CLI 
•  Vantagem: fácil portar aplicação uma vez que a VM e bibliotecas 
estejam implementadas no hospedeiro. 
•  Implementação da VM demanda esforço, mas é mais simples que 
desenvolver compilador completo para cada plataforma e portar todas 
as aplicações através de recompilação. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
•  Fornece ambiente completo onde mais um sistema 
operacional e seus muitos processos podem existir. 
• Utilização de VMM permite que única plataforma de 
hardware suporte múltiplos ambientes de sistema 
operacional simultaneamente. 
• Característica importante: isolamento entre sistemas 
concorrentes no mesmo hardware. 
•  Sem interferência em caso de falha. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
• VMM fornece, primordialmente, replicação de plataforma. 
• Problema central: dividir recursos de hardware limitados 
entre múltiplos sistemas operacionais convidados. 
• VMM tem acesso e gerencia todos os recursos de hardware. 
• SO convidado e suas aplicações são gerenciadas sob 
controle (escondido) do VMM. 
• SO realiza instrução privilegiada ou acesso a recurso: VMM 
intercepta a operação, realiza verificações, e a realiza em 
nome do SO convidado. 
• SO convidado não é ciente dessa camada. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
• Do ponto de vista do usuário, maioria dos sistemas de VM 
fornecem essencialmente a mesma funcionalidade mas 
diferem na forma de implementação. 
• Sistema de VMs clássico 
•  VMM diretamente sobre o hardware. 
•  VMM roda no modo de privilégio mais alto. 
•  Sistemas convidados rodam com privilégios reduzidos de forma a 
permitir a interceptação pela VMM. 
•  Ações de SO convidado que normalmente seriam interação direta com 
o hardware são tratadas pela VMM. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
• Hosted VMs: 
•  Software de virtualização roda sobre um sistema operacional 
hospedeiro. 
•  Vantagem: usuário instala VMM como um software típico. 
•  Software de virtualização pode se apoiar no sistema operacional 
hospedeiro para utilizar drivers de dispositivos e outros serviços de 
nível mais baixo. 
•  VMWare GSX Server 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
• Whole-system VMs: 
•  Hospedeiro e sistema convidado podem não utilizar mesmo ISA (Ex. 
Windows / Power-PC). 
•  Whole-system VMs virtualizam todoo software, incluindo SO e 
aplicações. 
•  ISA diferentes: necessário emular códigos das aplicações e do SO. 
•  Virtual PC. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
• Multiprocessor virtualization 
•  Hospedeiro é máquina grande e multiprocessada. 
•  Particionar sistema em sistemas menores multiprocessados 
distribuindo os recursos de hardware 
•  Particionamento físico: recursos físicos separados para cada sistema 
virtualizado. 
•  Alto grau de isolamento. 
•  Particionamento lógico: hardware são multiplexados no tempo entre as 
diferentes partições. 
•  Melhorando utilização dos recursos. 
•  Perde-se alguns benefícios de isolamento de hardware. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
• Codesigned VMs 
•  Implementam ISA novo e proprietário focado em melhoria de 
desempenho e eficiência energética. 
•  ISA do hospedeiro pode ser completamente novo ou extensão de ISA 
existente. 
•  Não possui aplicações nativas. 
•  VMM como parte da implementação de hardware com propósito único 
de emular ISA do software convidado. 
•  VMM reside em região de memória oculta dos softwares 
convencionais. 
•  Inclui tradutor binário que converte instruções do convidado em 
seqüências otimizadas de instruções do ISA do hospedeiro, usando um 
cache na região de memória oculta para reutilização. 
•  Transmeta Crusoe 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Máquinas virtuais de sistema 
•  Transmeta Crusoe 
•  Hardware: VLIW. 
•  Convidado: Intel IA-32 
•  Economia de energia. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Taxonomia 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Computação em nuvem 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
•  Cluster Computing 
•  Um cluster (ou aglomerado) é um tipo de sistema de processamento 
paralelo ou distribuído, consistindo de uma coleção de computadores 
independentes interconectados e trabalhando cooperativamente como um 
único e integrado recurso computacional. 
•  Grid Computing 
•  Originalmente para colaborações científicas. 
•  Necessidade de compartilhamento de recursos coordenado e resolução de 
problemas em organizações virtuais dinâmicas e multi-institucionais. 
•  Computadores (PCs, estações de trabalho, clusters, supercomputadores, 
laptops, pdas, smartphones, ...) 
•  Agrega: 
•  Software (por exemplo, uso sob demanda de aplicações caras). 
•  Bancos de dados (por exemplo, acesso transparente a bancos de dados de 
genomas/proteínas). 
•  Instrumentos especiais (microscópios, lasers, telescópios,...). 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
• P2P 
•  Não necessita de um servidor sempre ligado. 
•  Sistemas finais comunicam-se diretamente. 
•  Peers intermitentemente conectados e mudam de endereço. 
•  Paradigma que pode ser utilizado para conectar e gerenciar, por 
exemplo, uma grade computacional. 
•  Processos que constituem o sistema são todos iguais. 
•  Funções necessárias são executadas por todos. 
•  Interação simétrica: cliente e servidor ao mesmo tempo. 
•  Organização em rede de sobreposição. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
• Utility Computing 
•  Computação como mercadoria / serviço. 
•  Pagamento e/ou troca. 
•  Associado a grades computacionais (utility grids). 
•  Diversos modelos de negócio / comercialização. 
• Cloud Computing 
•  Traz uma “combinação” de utility computing com virtualização. 
•  Avanço das redes e conexão à internet mais barata e mais rápida 
permitiu que se tornasse muito mais popular que as grades 
computacionais pagas. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
• GridEcon (2007). 
• Grades tiveram sucesso em alguns pontos, mas não tanto 
quanto esperado. 
• Usada para consolidar recursos computacionais e 
economizar. 
•  Por exemplo, combinar poder computacional distribuído para otimizar 
cálculos e diminuir tempo de desenvolvimento de produtos. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
•  Faltava acesso a poder computacional sob demanda, 
facilidade de acesso, modelo de pagamento pelo uso. 
• Poder computacional sob demanda: permite que empresas 
atendam demanda inesperada ou planejada de forma 
economicamente eficiente. 
• Simplicidade de acesso permite usuários utilizar recursos 
sem muito esforço ou conhecimento técnico. 
• Pagamento pelo uso permite minimização de investimento, 
permitindo empresas menores competirem com maiores. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
• Necessário: 
•  Service oriented computing – encapsulamento e facilidade de uso. 
•  Virtualização – compartilhamento transparente e consolidação de 
servidores. 
•  Network computing – acesso uniforme à Internet. 
•  Faltavam: serviços “economicamente habilitados” 
•  Permitiriam avaliação de risco e 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
• Provedor: fornece ferramentas para a comercialização de 
recursos. 
•  Ajuda a contornar problemas da grade, como risco na utilização de 
recursos externos, falta de confiança, risco de compromisso de 
compra, incerteza no planejamento de capacidade. 
•  Garantias contra perda financeira na indisponibilidade ou falha de 
recursos. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Evolução 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing 
• Acesso a computadores e suas funcionalidades via Internet 
ou rede local. 
• Requisição de serviço via conjunto de serviços que 
gerenciam um conjunto de recursos computacionais. 
• Usuário não precisa saber onde os recursos estão, ter 
conhecimento sobre a tecnologia, ou ter controle sobre a 
infra-estrutura de computação. 
•  Tipicamente envolve a provisão de recursos dinamicamente 
escaláveis e frequentemente virtualizados como serviço 
sobre a Internet. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing - características 
• Recursos sob-demanda, self-service. 
• Acesso ubíquo pela rede. 
•  Independente de localização. 
• Elasticidade rápida (escalabilidade). 
• Pagamento pelo uso. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – motivação 
•  1.8 zettabytes (10^21 bytes – giga, tera, peta, exa, zetta) de 
dados criados e replicados em 2011. 
• Se cada um fosse armazenar seus dados em dispositivos 
pessoais: 57.5 bilhões de iPads de 32 GB ~ $34.4 trilhões 
•  PIB dos EUA, Japão, China, Alemanha, França, Reino Unido e Itália 
somados. 
•  Compartilhamento dependeria fortemente de uma rede P2P. 
•  48 horas de vídeo enviados ao youtube por minuto. 
•  80.5 exabytes por mês de tráfego de dados na internet (~28 
milhões de DVDs por hora). 
• Relatório de usuários (AFCOM): economia de 21% ao mover 
aplicações para a nuvem. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – motivos para adoção 
•  61% Escalabilidade 
•  54% Economia 
•  53% Facilidade de gerência 
•  49% Redundância 
•  49% Maior flexibilidade 
•  48% Elasticidade 
•  34% Melhoria na utilização de hardware. 
•  32% Segurança 
•  6% Outros 
•  Cloud Computing Outlook 2011 
•  http://www.cloud.com/cloud-computing-outlook/survey.pdf 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing - implementação 
• Datacenters ocupam até 100 mil metros quadrados (17 
campos de futebol). 
•  5.75 milhões de novos servidores instalados por ano para 
atender aumento da demanda de serviços online. 
• Refrigeração consome até 30% da energia em um 
datacenter. 
•  1 datacenter ~ energia usada por 25.000 casas. 
•  IT: responsável por 2% das emissões globais de carbono. 
•  EUA: 14%, Datacenters, 37% Telecom, 50% dispositivos de usuário. 
•  Datacenters: 0.28% do total de energia consumida. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing - utilização 
•  74% das companhias utilizam alguma serviço de nuvem 
(março-abril 2011). 
•  84% dos gerentes deTI dizem que a empresa usa pelo 
menos uma aplicação de nuvem (maio 2011). 
•  79% dos diretores de TI citaram que executam alguma 
aplicação em produção na nuvem. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing - utilização 
•  64% dos diretores de TI antecipam que precisarão de novas 
ferramentas de gerência ao mover mais sistemas para a 
nuvem. 
• Estratégia de uso hoje: 
•  Nuvem privada: 24% 
•  Nuvem pública: 37% 
•  Nuvem híbrida: 39% 
• Estratégia de uso no futuro: 
•  19%, 24%, 57%. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – prós e contras 
•  http://www.mariaspinola.com/whitepapers/An_Essential_Guide_to_Possibilities_and_Risks_of_Cloud_Computing-
A_Pragmatic_Effective_and_Hype_Free_Approach_For_Strategic_Enterprise_Decision_Making.pdf 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing - atributos 
• Substrato / infra-estrutura são abstraídos e oferecidos como 
serviço. 
• Construída sobre infra-estrutura escalável e flexível. 
• Oferece provisão de serviço sob demanda e garantias (?) de 
qualidade de serviço. 
• Pagamento pelo uso de recursos computacionais sem a 
necessidade de compromisso prévio por parte dos usuários. 
• Compartilhada e multi-tenant (1 software – vários usuários). 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing 
• Coleção de computadores virtualizados interconectados e 
dinamicamente provisionados que se apresentam como um 
ou mais recursos unificados. 
• Usa-se qualquer dispositivo computacional para acessar a 
nuvem. 
• Em geral, acordos de nível de serviço (SLA – service level 
agreements) são utilizados para estabelecer os termos de 
serviço. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing 
•  “Cloud computing is a model for enabling convenient, on-
demand network access to a shared pool of configurable 
computing resources (e.g., networks, servers, storage, ap- 
plications, and services) that can be rapidly provisioned and 
released with minimal management effort or service provider 
interaction. This cloud model promotes availability.” (NIST) 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing 
• Diferente de outros termos, não é uma nova tecnologia. 
•  Novo modelo de operação conjunta de tecnologias existentes. 
•  Tecnologias existentes aplicadas à negócio. 
•  Virtualização. 
•  Grid computing. 
•  Utility computing. 
•  Preço baseado em utilidade. 
•  Computação autonômica / auto-gerência. 
•  Elasticidade. 
• Cloud computing alavanca tecnologias para promover o 
encontro de requisitos tecnológicos econômicos da atual 
demanda por tecnologia da informação. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Modelos de 
camadas 
•  Qi Zhang; Lu Cheng; Raouf Boutaba. Cloud computing: state of the art and research challenges, JISA, 2010. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Camadas 
• Camada de hardware 
•  Gerência dos recursos físicos da nuvem. 
•  Servidores, roteadores, switches, energia, refrigeração. 
•  Tipicamente implementada em um datacenter, com milhares de 
servidores organizados em racks e interconectados por roteadores e 
switches. 
•  Problemas: Configuração de hardware, tolerância a falhas, gerência de 
tráfego, energia, gerência de refrigeração. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Camadas 
• Camada de infra-estrutura (ou camada de virtualização) 
•  Cria um conjunto de recursos computacionais e de armazenamento 
através do particionamento dos recursos físicos utilizando tecnologias 
de virtualização (Xen, KVM, VMWare...). 
•  Características, como atribuição dinâmica de recursos, podem ser 
realizadas graças à virtualização. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Camadas 
• Camada de plataforma: 
•  Construída sobre a camada de infra-estrutura. 
•  Sistema operacional e frameworks de aplicação. 
•  Minimizar o ônus de disponibilizar aplicações diretamente sobre VMs. 
•  Google App Engine opera no nível de plataforma para prover APIs que 
suportam implementação de armazenamento / bancos de dados e 
lógica de aplicações web típicas. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Camadas 
• Camada de aplicação: 
•  Nível mais alto da hierarquia. 
•  Aplicações em nuvem. 
•  Mais modular que aplicações tradicionais, permitindo que camadas 
evoluam independentemente (similar ao modelo ISO/OSI em redes). 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Modelo de negócio 
• Software as a Service (SaaS) 
•  Aplicações online. 
•  Usuário não tem controle de desenvolvimento sobre aplicação ou 
ambiente de execução. 
•  Google Apps, Salesforce.com 
• Platforma as a Service (PaaS) 
•  Clientes utilizam ambiente de desenvolvimento e/ou hospedagem na 
nuvem para suas aplicações. 
•  Google App Engine, Amazon Web Services. 
•  Tipicamente um framework de desenvolvimento. 
•  Infrastructure as a Service (IaaS) 
•  Recursos computacionais (processamento, armazenamento, RAM), 
geralmente na forma de VMs. 
•  Usuário controla ambiente de desenvolvimento / aplicações. 
•  Amazon EC2, Globus Nimbus, Eucalyptus, OpenNebula, OpenStack. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Outros modelos 
•  Qi Zhang; Lu Cheng; Raouf Boutaba. Cloud computing: state of the art and research challenges, JISA, 2010. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing 
•  http://www.mariaspinola.com/whitepapers/An_Essential_Guide_to_Possibilities_and_Risks_of_Cloud_Computing-
A_Pragmatic_Effective_and_Hype_Free_Approach_For_Strategic_Enterprise_Decision_Making.pdf 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Outros modelos 
• HaaS – Hardware as a Service (licenciamento versus 
pagamento pelo uso). 
• PRaaS – Process as a Service. 
• DBaaS – Database as a Service. 
•  ... 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Modelos de 
implantação 
• Pública: provedores oferecem recursos computacionais 
pagos a qualquer usuário. 
• Privada: nuvem cujos recursos podem ser acessados e 
utilizados por indivíduos em uma organização. 
• Híbridas: combina recursos de nuvens públicas e híbridas, 
resultando em um controle sobre desempenho e segurança 
com elasticidade. 
• Comunitária: organizações compartilham nuvem. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Exemplos de uso 
• Animoto 
•  Cria vídeos para clientes/corporações. 
•  Usa Amazon EC2 e S3. 
•  Picos extremos de uso, indo de 70 a 8.500 servidores em 5 dias. 
• Harvard Medical School 
•  Laboratory for Personalized Medicine (LPM) utiliza AMI (imagem para 
máquinas da Amazon) personalizada. 
•  Modelos e montagem de genoma em tempo menor que seria possível 
sem a nuvem. 
• Washington Post 
•  Usou Amazon EC2 para transformar 17.481 páginas PDF “não-
buscáveis” em páginas buscáveis em 24 horas (agenda de Hillary 
Clinton). 
•  Levaria 30 minutos por página em softwares de OCR locais. 
•  Usou 1427 horas de VM por 144.62 dólares. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Exemplos de uso 
• Webiste Virgin Atlantic (vtravelled.com). 
• NASA/JPL: streaming de imagens e vídeo do pouso da 
sonda Curiosity em marte. 
• NASDAQ Maket Replay: S3 para armazenar dados 
históricos do mercado. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – alguns pontos 
• Planejamento de capacidade e gerência de SLA. 
• Desconhecido do usuário: 
•  Localização dos dados – cumpre com requisitos regulatórios? 
•  Perda de dados – qual procedimento de backup/restauração? 
•  Segurança de dados – procedimentos seguidos para proteger os 
dados? 
•  Limpeza dos dados depois da descontinuidade do serviço. 
•  Falta de padronização: 
•  IaaS – templates de máquinas virtuais. 
•  IaaS – upload, download, inspeção, configuração,ações (criar nova 
máquina, destruir máquina, etc). 
•  IaaS / PaaS – portabilidade de dados e código. 
•  PaaS – escolha de um framework oferecido por múltiplos provedores e 
evitar extensões específicas (cloud lock-in). 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Cobrança 
• Exemplos de modelos de cobrança: 
•  IaaS: tempo de uso da máquina virtual, armazenamento adicional. 
•  PaaS: número de requisições. 
•  *aaS: transferências de dados. 
•  IaaS (EC2): 
•  Sob demanda 
•  Reservada 
•  Spot 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Cobrança 
• Exemplos de preços: 
•  IaaS: 
•  U$1.64/2.04 (linux/win) por hora (68.4 GB RAM, 26 EC2 Compute Units (8 
virtual cores com 3.25 EC2 Compute Units cada), 1690 GB de 
armazenamento na instância, 64-bits, desempenho de I/O alto, EBS-
Optimized: 1000 Mbps. 
•  U$2.40/2.97 por hora. Cluster Compute Eight Extra Large Instance: 60.5 GB 
RAM, 88 EC2 Compute Units (2 x Intel Xeon E5-2670, eight-core), 3370 GB 
of instance storage, 64-bits, I/O Performance: muito alta (10 Gigabit 
Ethernet). 
•  Armazenamento: Amazon EBS Standard volumes $0.10 por GB-mês,$0.10 
por 1 milhão de requisições de I/O. 
•  Transferência de dados (da nuvem para internet): 1 GB grátis, até 10TB: 
0.12/GB(...) 
•  Também depende de localidade. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Padronização 
• Padronização pode trazer benefícios para usuários: 
•  Competição / preços 
•  Interoperabilidade 
•  Transparência técnica para personalização 
• Provedores 
•  Não tem incentivo para padronizar 
•  Benefícios de produtos proprietários versus potenciais 
consumidores com tecnologias padronizadas 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Padronização 
•  Cloud Computing Interoperability Forum 
•  Início em 2008, parada em 2010, retomada em 2012 
•  NIST US Government Cloud Computing Technology Roadmap 
– 2011 
•  ITU Telecommunication Standardization Bureau 
•  Activities in Cloud Computing Standardization – 2010 
•  OCC, IETF, OASIS... 
•  EC2 
•  VMs Xen, podem ser criadas com ferramentas livres 
•  Interfaces HTTP 
•  OpenStack 
•  Software de código aberto para implantação de nuvens privadas e 
públicas 
•  150+ companhias, 9000+ pessoas 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Padronização 
Cloud Computing – An enterprise perspective. Raghavan Subramanian Infosys Technologies Limited 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Padronização 
Cloud Computing – An enterprise perspective. Raghavan Subramanian Infosys Technologies Limited 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Padronização 
Cloud Computing – An enterprise perspective. Raghavan Subramanian Infosys Technologies Limited 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Padronização 
•  Falta de padronização 
•  Templates de máquinas virtuais (Open Virtualization Format) 
•  IaaS – upload, download, inspeção, configuração, criação de 
instâncias 
•  IaaS/PaaS – portabilidade de código e dados. 
•  PaaS – escolha de um arcabouço oferecido por múltiplos 
provedores e que evite extensões específicas de provedor. 
•  Jclouds 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Lock-in 
• Obstáculo para adoção de cloud computing. 
• Aprisionamento a um determinado provedor devido à falta 
de padrões e/ou produtos compatíveis. 
• Arriscado 
•  Aumento de preços 
•  Provedor pode tornar-se obsoleto, fechar, tornar-se não-
confiável... 
• Padronização por si só também não resolve 
•  Interface padrão não garante desempenho ou escalabilidade. 
• Provedores podem oferecer ferramentas extras, além de 
implementação baseada em software aberto. 
• Data lock-in – custo de recriar / transferir dados 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack 
• OpenStack is a cloud operating system that controls large 
pools of compute, storage, and networking resources 
throughout a datacenter, all managed through a dashboard 
that gives administrators control while empowering their 
users to provision resources through a web interface. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack 
• Dashboard, Compute, Networking, Storage 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
•  Interface gráfica para administração e usuários. 
• Personalizável para provedores de serviço 
• Desenvolvedores podem utilizar outros recursos (APIs) para 
automatizar tarefas sem uso do dashboard. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Dashboard 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Compute 
•  “OpenStack Compute: Provision and manage large networks 
of virtual machines” 
• Arquitetura flexível: permite implantação diretamente sobre o 
hardware ou sobre uma camada de virtualização. 
•  Frequentemente implementado usando KVM ou Xen. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Networking 
•  “OpenStack Networking: Pluggable, scalable, API-driven 
network and IP management.” 
• Permite uso de VLAN ou redes flat 
• Gerencia IPs, permitindo re-roteamento de tráfego durante 
manutenção ou falha. 
• Usuários podem criar suas próprias redes, controlar tráfego, 
e conectar servidores e dispositivos a uma ou mais redes. 
• Suporte a utilização de software defined networks 
• Possui extensão que permite serviços adicionais (detecção 
de intrusão, balanceamento de carga, firewalls, VPNs). 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Storage 
•  “OpenStack Storage: Object and Block storage for use with 
servers and applications.” 
• Object storage: plataforma acessível por APIs que pode ser 
integrada diretamente às aplicações ou usada para backup. 
• Block storage: permite uso de dispositivos de disco através 
das instâncias. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Object Storage 
• Sistema de armazenamento distribuído para dados estáticos 
(imagens de VMs, fotos, emails, backups..). 
• Objetos e arquivos são escritos em múltiplos discos 
espalhados pelos servidores no datacenter. 
•  OpenStack é responsável por replicação e integridade. 
• Escalabilidade horizontal através da adição de mais 
servidores. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
OpenStack Block Storage 
• Armazenamento persistente para instâncias de computação. 
• Gerencia criação, acoplamento e desacoplamento dos 
dispositivos de bloco aos servidores. 
•  Permite ao usuário gerenciar suas necessidades. 
• Apropriado para cenários sensíveis a desempenho. 
• Snapshot permite backups que podem ser restaurados ou 
reutilizados para criar novos volumes. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing e Datacenters 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
• Abordagem em camadas: core, aggregation, access. 
•  Qi Zhang; Lu Cheng; Raouf Boutaba. Cloud computing: state of the art and research challenges, JISA, 2010. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
• Access 
•  Conexão dos racks com a rede. 
•  Tipicamente 20 a 40 servidores por rack, cada um conectado a um 
switch de acesso com um enlace de 1Gbps. 
•  Switches dessa camada conectam-se geralmente a dois switches 
(para redundância)com enlaces de 10Gbps. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
• Aggregation: 
•  Balanceamento de carga 
•  Serviços de domínio 
•  Serviços de localização 
•  SSL offloading 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
• Core: 
•  Conectividade entre múltiplos switches de agregação. 
•  Gerencia tráfego que entra e sai do datacenter. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
• Comum utilizar switches e roteadores “populares” para 
implementação da infra-estrutura de rede. 
• Objetivos: 
•  Alta capacidade uniforme: taxa máxima de servidor para servidor deve 
ser limitada somente pela capacidade disponível na interface dos 
servidores. Qualquer host deve ser capaz de se comunicar com 
qualquer host a essa capacidade máxima. 
•  Migração de VMs livre: deve ser capaz de realizar migração de 
máquinas virtuais para multiplexação estatística ou mudança dinâmica 
de padrões para alcançar largura de banda alta para hosts fortemente 
acoplados, ou para alcançar distribuição de calor apropriada. Topologia 
deve suportar migração rápida de VMs. 
•  Resiliência: falhas são comuns quando se escala. Rede deve ser 
tolerante a falhas, sobrecarga de enlaces, falha de servidores e racks. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
• Objetivos: 
•  Escalabilidade: infra-estrutura de rede deve ser capaz de suportar um 
grande número de servidores e permitir expansão incremental. 
• Área de inovação na indústria: 
•  Projeto e desenvolvimento de modular data center (MDC) em 
containers. 
•  Alguns milhares de servidores conectados por switches. 
•  Aplicações altamente interativas sensíveis a tempo de resposta. 
•  Redundância. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
• MDC – BCube. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
•  Velocidade de instalação 
•  Baixo custo de implantação e operação 
•  Alta mobilidade 
•  Melhor eficiência energética 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Datacenter 
• Até 46.080 cores 
•  30 petabytes de armazenamento 
• Baixo custo de refrigeração e energia. 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Energia 
• DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Energia 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Computação em Nuvem: alguns desafios 
Desafios da Computação em Nuvem - 139 
•  Modelos de preços 
•  Provisionamento autônomo de serviços 
•  Migração de máquinas virtuais 
•  Consolidação de servidores 
•  Gerência de energia (Green Computing) 
•  Análise e gerência de tráfego 
•  Mecanismos de segurança de informações 
•  Frameworks de software 
•  Tecnologias para armazenamento e gerência de informações 
•  Localização e instanciação automática de máquinas virtuais 
•  Gerência de execução de workflows em IaaSs concorrentes 
•  Novas arquiteturas para a Nuvem 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Green Computing 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Energia 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Energia 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing – Energia 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fabrizio Granelli - DESIGN OF GREEN NETWORKS: TOWARDS THE GREEN 
INTERNET 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Cloud Computing - Datacenters 
•  Economia de energia através da melhoria da 
eficiência da rede. 
•  Economia de energia através da melhor utilização 
dos servidores. 
•  Alocação de máquinas virtuais. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Escalonamento em Nuvem: provedor IaaS 
• Usuários requisitam máquinas virtuais de acordo 
com capacidades oferecidas pelos IaaSs. 
• Provedor de IaaS possui demanda variável: baixa 
demanda deixa recursos ociosos e alta demanda 
pode refletir no QoS ao usuário. 
• Como alocar as máquinas virtuais dentro do 
datacenter de modo a atender o QoS e minimizar 
custos de manutenção e energia? 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Escalonamento em Nuvem: provedor IaaS 
q Concentrar máquinas virtuais em poucas 
máquinas físicas: possibilita desligar 
máquinas sub-utilizadas. 
q Ao selecionar recurso físico para alocar 
VM, levar em conta: carga atual do 
recurso, consumo de energia 
considerando DVFS (Dynamic Voltage 
and Frequency Scaling), e consumo de 
energia considerando Fan Control. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
•  Estimation of Power Consumption in Cloud 
Computing (Metric: Billions of kWh) 
GREENPEACE. “Make IT Green – Cloud Computing and its Contribution to Climate Change”. 
Data Centers Telecom Total
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2007
2020
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
•  MtCO2e emissions (2007 emissions and projected 
emissions for 2020) 
 MtCO2e = Metric Tonne Carbon Dioxide Equivalent 
GREENPEACE. “Make IT Green – Cloud Computing and its Contribution to Climate Change”. 
World Datacenters Telecom PC's
0
200
400
600
800
1000
1200
1400
1600
2007
2020
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
•  Improves manageability, performance, and fault tolerance 
of systems. 
•  Balances system load. 
•  Migrating VMs out of overloaded/overheated servers 
•  Need of bringing servers down for maintenance after 
migrating their workload to other servers 
•  In this work: 
•  Virtual machine migration are used in order to migrate 
the virtual loads of underutilized hosts and then turn 
them off, thereby maximizing energy savings. 
Migração de máquinas virtuais 
•  LAGO, D. G. ; MADEIRA, E. R. M. ; BITTENCOURT, L. F. . Power-Aware Virtual Machine Scheduling on 
Clouds Using Active Cooling Control and DVFS. In: 9th International Workshop on Middleware for Grids, 
Clouds and e-Science, 2011, Lisboa. ACM/IFIP/USENIX 12th International Middleware Conference, 2011. 15. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
DVFS 
•  Intel Speed Step technology or AMD Coll'n'Quiet 
automatically adjusts, in hardware, the operating 
voltage and frequency of their processors according 
to their workloads 
•  High loads: the processor raises the levels of 
voltage and frequency 
•  Low loads: These levels decrease•  In this work: 
•  DVFS is always applied, with the goal of having 
the intelligent use of the processor power, 
adapted to the loads that it needs to process 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Fan Control 
• Monitors the temperature of the computers and, through 
thermal conditions, regulates the intensity of active 
coolers according to the processor heating 
• Several Names: AOpen: SilentTEK; ASUS: Q-Fan; MSI: 
Core Center; Abit: μGuru; Gigabyte: EasyTune 6; Intel 
S478: Active Monitor / Desktop Control Center; Intel 
S775: Desktop Utilities and Dell Inspiron/Latitude/
Precision: I8kfanGUI 
• Direct consequence: Reduces energy consumption 
• In this work: 
• We use this mechanism with DVFS to optimize 
energy consumption 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Algoritmo 
•  Scope: 
•  Non-federated datacenters (all hosts are in the 
same cloud) 
•  DVFS and Fan Control enabled for all hosts 
•  Datacenter with homogeneous or heterogeneous 
machine configurations 
•  Workload weight known or not – dynamically 
checks the processing needs and optimizes energy 
consumption on-the-fly 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Algoritmo 
•  Some Broker functions: 
•  Resource requests 
•  Virtual machine creation 
•  Workload return 
•  Finalization of workloads and virtual machines 
We work here! 
“Host Allocation for virtual machines” 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
1. For each VM to be allocated in the datacenter, check 
the hosts that can receive that VM 
VM 
1000 MIPS 
RAM, BW, etc... 
Server A1 
750 Free MIPS 
RAM, BW, etc... 
Server A2 
1500 Free MIPS 
RAM, BW, etc... 
not candidate 
candidate 
Algoritmo 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
For candidate hosts... 
2. Checks and selects the host with best energy 
efficiency 
Server Cand. B1 
1000 Total MIPS 
150 Watts 
EE = 6,67 
Server Cand. B2 
1500 Total MIPS 
200 Watts 
EE = 7,5 
Server Cand. B3 
2000 Total MIPS 
350 Watts 
EE = 5,7 
Algoritmo 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Tie case (1)… 
3.  Calculates the power of each host after VM 
allocation and selects the lesser energy consumer 
Server Cand. C1 
125 watts after 
allocation 
Server Cand. C2 
129 watts after 
allocation 
Server Cand. C3 
128 watts after 
allocation 
Algoritmo 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Tie case (2)... 
3.  The host with the highest CPU utilization is selected 
to reduce migrations 
Server Cand. D1 
80% CPU usage 
Server Cand. D2 
35% CPU usage 
Server Cand. D3 
85% CPU usage 
Algoritmo 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
In tie case (last)... 
3.  The server with highest MIPS is chosen 
Server Cand. E1 
2000 MIPS 
Server Cand. E2 
2500 MIPS 
Server Cand. E3 
1500 MIPS 
Algoritmo 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
•  Simulator used: CloudSim 2.2.1 (The CLOUDS Lab; 
University of Melbourne; Buyya, R.; Ranjan, R.; 
Calheiros, R.; Beloglazov, A.) 
•  EC = Energy Consumption 
•  ECI = 95% Energy Consumption Confidence Interval 
•  TC = Time Consumption 
•  TCI = 95% Time Consumption Confidence Interval 
•  A = Algorithm (i.e.: MPD, LA) 
•  C = Configurations (i.e.: Threshold, DVFS) 
•  P = Set of Parameters (i.e.: number of hosts, 
number of VMs, MI per cloudlet) 
•  30 Simulations for each scenario 
Simulações 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Small 
•  10 hosts, 20 VMs, 20 cloudlets 
•  Medium 
•  100 hosts, 200 VMs, 200 cloudlets 
•  Large 
•  1000 hosts, 2000 VMs, 2000 cloudlets 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Each host on both homogeneous and heterogeneous 
datacenter has 
•  1 Processing Entity (processor) 
•  Disk Space: 1 TB 
•  RAM: 24 GB 
•  Ethernet: Gigabit 
•  Architecture: x86 
•  VM Monitor: Xen 
•  OS: Linux 
•  Cloudlet File Size: 300 bytes, before and after 
processing 
•  Cloudlet Millions of Instructions: {100 k; 150 k; 
200 k; 250 k} MI, round-robin distribution 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Each VM on both homogeneous and heterogeneous 
datacenter has 
•  VM MIPS: {500, 750, 1000} MIPS, round-robin 
distribution 
•  VM RAM: 128 MB 
•  VM Bandwidth: 2500 Kbps 
•  VM Image Size: 2.5 MB 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
VM ID VM1 VM2 VM3 VM4 VM5 
MIPS 500 750 1000 500 750 
Clet. ID C1 C2 C3 C4 C5 
Clet. MI 100 k 150 k 200 k 250 k 100 k 
Cloudlet Allocation on VMs 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Each host on both homogeneous and heterogeneous 
datacenter has 
•  DVFS Enabled, linear power model 
Processing Level 100% 
 
 
50% 
 
 
0% 
250 Watts Power Consumption 
 
 
212 Watts 
 
 
175 Watts 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Each host on both homogeneous and heterogeneous 
datacenter has 
•  Fan Control Enabled, linear power model. Based 
on i5 750 stock cooler. Min Voltage: 5 V; 
Maximum Voltage: 12 V. 
Processing Level 100% 
 
 
50% 
 
 
0% 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Each host on homogeneous datacenter has 
•  Processor: 2000 MIPS 
•  Power Consumption: 250 watts 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Each host on heterogeneous datacenter has 
•  Processor: 1000, 1500, 2000, 2500, 3000 MIPS; 
round-robin distribution 
•  Power Consumption: 200, 250, 300 and 350 
watts; round-robin distribution 
Host H1 H2 H3 H4 H5 H6 
MIPS 1000 1500 2000 2500 3000 1000 
Power 200 250 300 350 200 250 
I.e.: Host 5 will have 3000 
MIPS and consumes 200 watts 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Small Homogeneous Data Center 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Small Heterogeneous Data Center 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Medium Homogeneous Data Center 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Medium Heterogeneous Data Center 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Large Homogeneous Data Center 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Large Heterogeneous Data Center 
•  AnalyzedAlgorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Competitive Comparison 
Scenario MPD PDT-ECI 
MPD PDT+ECI LA PDTF-ECI LA PDTF+ECI Conclusion 
Small Homo 0.227 0.221 
Tie 
0.234 0.229 
Small Hetero 0.209 0.201 LA is better 
(0.5% to 7%) 0.215 0.208 
Medium Homo 2.204 2.163 LA is better 
(1% to 3.1%) 2.229 2.183 
Medium Hetero 2.091 2.007 LA is better 
(2.8% to 5.3%) 2.114 2.034 
Large Homo 21.982 21.674 LA is better from 
(1.1% to 1.8%) 22.061 21.751 
Large Hetero 20.890 19.770 LA is better 
(5.3% to 6.1%) 20.974 19.834 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Simulações 
•  Competitive Comparison 
Scenario MPD PDTF-ECI 
MPD PDTF+ECI LA PDTF-ECI LA PDTF+ECI Conclusion 
Small Homo 0.225 0.221 
Tie 
0.234 0.229 
Small Hetero 0.204 0.201 
Tie 
0.211 0.208 
Medium Homo 2.172 2.163 
Tie 
2.192 2.183 
Medium Hetero 2.035 2.007 LA is better 
(0.05% to 
3%) 2.066 2.034 
Large Homo 21.649 21.674 
Tie 
21.720 21.751 
Large Hetero 20.449 19.770 LA is better 
(3.1% to 4%) 20.558 19.834 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Conclusão 
•  LA PDTF remained between 15% (in the simulations 
with heterogeneous small datacenters) and 43% (in 
the simulations with homogeneous large 
datacenters) slower than the best algorithm in each 
of these simulations, 
•  Algorithm recommendation use 
•  Non-federated Datacenters only 
•  Homogeneous Datacenters – Fair results 
•  Heterogeneous Datacenters – Good results 
•  Cloudlets size known or not 
•  Active Cooling Control 
•  Generates small but relevant improvement 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
•  Outro problema: manter QoS com VMs prioritárias. 
•  Novo algoritmo 
•  Executado simultaneamente com o anterior 
•  Atua na submissão de cargas de trabalho 
•  Objetivo: minimização do consumo de energia e 
da poluição potencial gerada, garantindo 
qualidade de serviço. 
•  Métrica de QoS Abordada: Redução do tempo de 
execução de cargas de trabalho com alta 
prioridade, sem comprometer significativamente 
o consumo de energia 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
•  Problema Abordado 
Dado um conjunto composto por M máquinas 
virtuais e C cargas de trabalho, tendo cada carga Ci 
uma prioridade Pi associada, efetuar o 
escalonamento de C em M minimizando os tempos 
de execução das cargas com maior prioridade Pi, 
mantendo o consumo de energia. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
VM1 
VM2 
1500 MIPS 
RAM, BW, etc... 
VM2 
VM3 
1000 MIPS 
RAM, BW, etc... 
VM3 
VMs já foram instanciadas... 
VM4 
2500 MIPS 
RAM, BW, etc... 
VM4 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
Chegam as cloudlets... 
C1 
C2 
C3 
C4 
Cloudlet C1, 100 k MI 
Prioridade Alta 
RAM, BW, etc... 
Cloudlet C2, 100 k MI 
Prioridade Média 
RAM, BW, etc... 
Cloudlet C3, 200 k MI 
Prioridade Alta 
RAM, BW, etc... 
Cloudlet C4, 100 k MI 
Prioridade Baixa 
RAM, BW, etc... 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
Processa as cloudlets com maior prioridade... 
C1 
C2 
C3 
C4 
Cloudlet C1, 100 k MI 
Prioridade Alta 
RAM, BW, etc... 
Cloudlet C2, 100 k MI 
Prioridade Média 
RAM, BW, etc... 
Cloudlet C3, 200 k MI 
Prioridade Alta 
RAM, BW, etc... 
Cloudlet C4, 100 k MI 
Prioridade Baixa 
RAM, BW, etc... 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
VM1 
750 MIPS 
RAM, BW, etc... 
VM1 
VM2 
1500 MIPS 
RAM, BW, etc... 
VM2 
VM3 
1000 MIPS 
RAM, BW, etc... 
VM3 
Aloca as cloudlets... 
VM4 
2500 MIPS 
RAM, BW, etc... 
VM4 
C1 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
VM1 
750 MIPS 
RAM, BW, etc... 
VM1 
VM2 
1500 MIPS 
RAM, BW, etc... 
VM2 
VM3 
1000 MIPS 
RAM, BW, etc... 
VM3 
Aloca as cloudlets... 
VM4 
2500 MIPS 
RAM, BW, etc... 
VM4 
C1 
C3 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
Reduz a prioridade processada e verifica as cloudlets... 
C1 
C2 
C3 
C4 
Cloudlet C1, 100 k MI 
Prioridade Alta 
RAM, BW, etc... 
Cloudlet C2, 100 k MI 
Prioridade Média 
RAM, BW, etc... 
Cloudlet C3, 200 k MI 
Prioridade Alta 
RAM, BW, etc... 
Cloudlet C4, 100 k MI 
Prioridade Baixa 
RAM, BW, etc... 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
VM1 
750 MIPS 
RAM, BW, etc... 
VM1 
VM2 
1500 MIPS 
RAM, BW, etc... 
VM2 
VM3 
1000 MIPS 
RAM, BW, etc... 
VM3 
Aloca as cloudlets... 
VM4 
2500 MIPS 
RAM, BW, etc... 
VM4 
C1 
C3 
C2 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
Reduz a prioridade processada e verifica as cloudlets... 
C1 
C2 
C3 
C4 
Cloudlet C1, 100 k MI 
Prioridade Alta 
RAM, BW, etc... 
Cloudlet C2, 100 k MI 
Prioridade Média 
RAM, BW, etc... 
Cloudlet C3, 200 k MI 
Prioridade Alta 
RAM, BW, etc... 
Cloudlet C4, 100 k MI 
Prioridade Baixa 
RAM, BW, etc... 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
VM1 
750 MIPS 
RAM, BW, etc... 
VM1 
VM2 
1500 MIPS 
RAM, BW, etc... 
VM2 
VM3 
1000 MIPS 
RAM, BW, etc... 
VM3 
Aloca as cloudlets... 
VM4 
2500 MIPS 
RAM, BW, etc... 
VM4 
C1 
C3 
C2 
C4 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
•  Consumo de Energia em Data Centers Pequenos 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
•  Consumo de Energia em Data Centers Médios 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
•  Consumo de Energia em Data Centers Grandes 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
•  Makespan 
•  Analyzed Algorithms 
•  RR = Round Robin 
•  BRS = Best Resource Selection 
•  MPD = Minimum Power Diff 
•  LA = Lago Allocator 
•  Settings for Each Simulation 
•  N = Non Power Aware 
•  P = Power Aware (shutdown of unused hosts) 
•  D = DVFS 
•  T = Threshold 
•  F = Fan Control 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
•  Consumo de Energia 
���
	
P. Homo	

 P. Hetero	

 M. Homo	

 M. Hetero	

 G. Homo	

 G. Hetero	
LA PDTF x 
MPD PDT	

 Empate	
LA PDTF 
(de 15,5% a 
25,9%)	
LA PDTF 
(de 0,4% a 
2,7%)	
LA PDTF 
(de 7,0% a 
9,9%)	
LA PDTF 
(de 1,1% a 
1,9%)	
LA PDTF 
(de 7,3% a 
8,1%)	
LA PDTF x 
MPD 
PDTF	
Empate	
LA PDTF 
(de 12,5% a 
23,1%)	
Empate	
LA PDTF 
(de 6,6% a 
9,2%)	
Empate	
LA PDTF 
(de 5,4% a 
6,3%)	
LAQ 
PDTF x 
MPD PDT	
Empate	
LAQ PDTF 
(de 16,5% a 
26,8%)	
LAQ PDTF 
(de 0,8% a 
3,0%)	
LAQ PDTF 
(de 6,9% a 
9,9%)	
LAQ PDTF 
(de 0,8% a 
1,5%)	
LAQ PDTF 
(de 7,1% a 
7,9%)	
LAQ 
PDTF x 
MPD 
PDTF	
Empate	
LAQ PDTF 
(de 13,5% a 
24%)	
Empate	
LAQ PDTF 
(de 6,5% a 
9,3%)	
Empate	
LAQ PDTF 
(de 5,3% a 
6,1%)	
LA PDTF x 
LAQ 
PDTF	
Empate	

 Empate	

 Empate	

 Empate	
LA PDTF 
(de 0% a 
0,8%)	
EmpatePrioridades e QoS 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
•  Tempo de Execução de Cloudlets 
Cenário	

 Priorid. Carga	

 LA PDTF (1)	

 LAQ PDTF (2)	

 Melhor	
Pequeno Homo	

 Baixa	

 677,97±5,98	

 892,10±7,62	

 (1), de 22,67% a 
25,31%	
Normal	

 641,38±4,52	

 650,65±4,40	

 (1), de 0,05% a 
2,78%	
Alta	

 649,53±6,27	

 451,23±4,07	

 (2), de 29,22% a 
31,81%	
Pequeno 
Hetero	
Baixa	

 667,77±5,58	

 870,17±6,11	

 (1), de 22,07% a 
24,43%	
Normal	

 632,22±4,68	

 636,85±3,87	

 Empate	
Alta	

 639,10±4,89	

 440,03±4,66	

 (2), de 29,88% a 
32,39%	
Prioridades e QoS 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
•  Tempo de Execução de Cloudlets 
Cenário	

 Priorid. Carga	

 LA PDTF (1)	

 LAQ PDTF (2)	

 Melhor	
Médio Homo	

 Baixa	

 671,81±5,42	

 923,34±6,04	

 (1), de 26,17% a 
28,30%	
Normal	

 664,35±4,35	

 641,70±3,08	

 (2), de 2,31% a 
4,50%	
Alta	

 666,62±6,26	

 456,06±3,61	

 (2), de 30,39% a 
32,76%	
Médio Hetero	

 Baixa	

 664,66±3,82	

 924,66±6,10	

 (1), de 27,22% a 
29,00%	
Normal	

 664,53±3,36	

 643,84±2,98	

 (2), de 2,17% a 
4,05%	
Alta	

 667,59±6,03	

 451,90±2,15	

 (2), de 31,37% a 
33,24%	
Prioridades e QoS 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
•  Tempo de Execução de Cloudlets 
Cenário	

 Priorid. Carga	

 LA PDTF (1)	

 LAQ PDTF (2)	

 Melhor	
Grande Homo	

 Baixa	

 682,60±2,10	

 959,60±3,03	

 (1), de 28,42% a 
29,31%	
Normal	

 682,02±1,56	

 654,53±1,49	

 (2), de 3,59% a 
4,47%	
Alta	

 682,65±1,55	

 462,88±1,38	

 (2), de 31,84% a 
32,55%	
Grande Hetero	

 Baixa	

 686,11±1,98	

 965,43±2,73	

 (1), de 28,52% a 
29,34%	
Normal	

 685,18±1,71	

 654,86±1,64	

 (2), de 3,95% a 
4,90%	
Alta	

 685,94±1,74	

 464,05±1,43	

 (2), de 31,97% a 
32,73%	
Prioridades e QoS 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Prioridades e QoS 
•  Inserção de qualidade de serviço não impacta 
significativamente o escalonamento de tarefas 
proposto; 
•  Tempo de execução das cargas de alta prioridade 
reduzido em média em 31%; tempo de execução 
das cargas de baixa prioridade aumentado em média 
em 26%. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Gerência de recursos e serviços compostos 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Computação em Nuvem: nuvem híbrida 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Serviços compostos 
q É possível estabelecer ligações entre os serviços e usá-las em interações 
mais robustas conforme os requisitos dos processos de negócios. 
q Serviços são compostos ou agregados formando aplicações distribuídas que 
envolvem vários participantes. 
q Os serviços podem ser organizandos na forma de workflows. 
q A execução de workflows na nuvem traz novas exigências principalmente no 
que se refere à coordenação e composição dinâmica de processos e 
serviços. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Serviços compostos: workflows 
•  The Montage application created by NASA/IPAC stitches together multiple input images to create custom mosaics 
of the sky. 
•  LIGO's Inspiral Analysis workflow is used to generate and analyze gravitational waveforms from data collected 
during the coalescing of compact binary systems. 
•  The Epigenomics workflow created by the USC Epigenome Center and the Pegasus Team is used to automate 
various operations in genome sequence processing. 
Montage LIGO Epigenomic
s 
https://confluence.pegasus.isi.edu/display/pegasus/WorkflowGenerator 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Middleware para nuvens híbridas 
Bittencourt, L. F. ; Senna, C. R. ; Madeira, E. R. M. . Enabling Execution of Service Workflows in Grid/Cloud Hybrid Systems. In: 
IEEE/IFIP Workshop on Cloud Management, 2010, Osaka, Japan. Network Operations and Management Symposium (NOMS), 
2010. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
GPOL workflow: aplicação do filtro de mediana 
...!
 <gpo:definitions >!
!<gpo:gservices>!
! !<gpo:gsh name="Inst_Zeus-mf1“ !
! ! !uri="http://10.3.77.5:8080/wsrf/services/FactIPService" !
! ! !type="Factory"/>!
! !<gpo:gsh name="Inst_Zeus-mf2"!
! ! !uri="http://10.3.77.5:8080/wsrf/services/FactIPService" !
! ! !type="Factory"/>!
! !<gpo:gsh name="Inst_Cronos-mf2"!
! ! !uri="http://10.3.77.16:8080/wsrf/services/FactIPService" !
! ! !type="Factory"/>!
! !<gpo:gsh name="Inst_Dionisio-mf3”!
 ! ! uri="http://10.3.77.15:8080/wsrf/services/FactIPService" !
! ! !type="Factory"/>!
!</gpo:gservices>!
!...!
 </gpo:definitions>!
!
Para acionar a publicação dinâmica de serviços usar:!
uri="8080/wsrf/services/FactIPService"!
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
GPOL workflow: aplicação do filtro de mediana 
<gpo:process > 
 
 <!--Splits file in 2 parts--> 
 <gpo:invoke name="Inst_Zeus-mf1" method="sliceMatrixToFiles"> 
 <gpo:argument variable="sliceIn" type="string"/> 
 <gpo:return variable="sliceOut" type="string"/> </gpo:invoke> 
 
... <!– Copy slice files from Zeus to Cronos and Dionisio --> 
 
 <gpo:flow name="F_medianFilterMatrix"> <!-- Apply median filter in parallel --> 
 
 <gpo:invoke name="Inst_Cronos-mf2" method="medianFilterMatrix" tagname="cronosMF"> 
 … </gpo:invoke> 
 
 <gpo:invoke name="Inst_Dionisio-mf3" method="medianFilterMatrix" tagname="dioMF"> 
 … </gpo:invoke> 
 </gpo:flow> 
 
... <!– Copy filtered slice files from Cronos and Dionisio to Zeus --> 
!
 <!-- Merge slices files into a new filter file --> 
 <gpo:invoke name="Inst_Zeus-mf1" method="mergeSliceFiles“ tagname=“mergeFiles”> 
 …</gpo:invoke> 
...!
</gpo:process>!
O filtro substitui o valor do ponto pelo valor mediano 
dos seus vizinhos. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Escalonamento em Nuvem 
• Lado do provedor da nuvem 
•  Como otimizar o uso dos recursos computacionais 
•  Minimização do gasto com manutenção e energia 
• Lado do cliente da nuvem 
•  Melhor maneira de utilizar recursos de nuvem privada ou grade 
computacional 
•  Minimizar o custo monetário de execução na nuvem pública 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Escalonamento em Nuvem: usuário 
• Workflow em nuvens híbridas: 
•  Usuário quer utilizar seus recursos locais disponíveis (“gratuitos”) 
e, quando necessário, alugar recursos pagos de uma nuvem IaaS. 
•  Tempo de execução desejado (deadline) para o workflow → 
recursos locais podem não ser suficientes. 
•  Decisão: quais tarefas do workflow devem ser enviadas para a 
nuvem pública de modo a obedecer o deadline e minimizar os 
custos monetários? 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Escalonamento em Nuvem: usuário 
1.  Escalonar workflow nos recursos locais 
2.  Enquanto makespan > Deadline 
1.  Selecionar nó N de acordo com política de seleção de nós 
2.  Selecionar recurso da nuvem pública de acordo com política de minimização de 
custos 
3.  Escalonar nó N na nuvem pública 
Bittencourt, L. F.; Madeira, E. R. M.. HCOC: a cost optimization algorithm for workflow scheduling in hybrid clouds. Journal of 
Internet Services and Applications, 2011. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Escalonamento em Nuvem: usuário 
BITTENCOURT, L. F. ; MADEIRA, E. R. M. ; FONSECA, N. L. S . Scheduling in Hybrid Clouds. IEEE Communications 
Magazine (Print), v. 50, p. 42-47, 2012. 
Prof. Luiz Fernando Bittencourt IC - UNICAMP 
Escalonamento em Nuvem: provedor SaaS 
•  Provedor de nuvem SaaS provê 
serviço de execução de workflows aos 
usuários. 
•  Provedor SaaS utiliza recursos 
alugados de múltiplos provedores 
IaaS. 
•  SLAs em dois níveis: 
•  Usuário e SaaS (deadline) 
•  SaaS e IaaSs (aluguel de recursos) 
•  Recursos alugados dos IaaSs podem 
ser reservados ou sob demanda. 
•  Reservados: pagamento inicial + 
pagamento por tempo de uso. 
•  Sob demanda: apenas pagamento 
pelo uso, porém mais caro. 
GENEZ, T. A. L. ; BITTENCOURT, L. F. ; MADEIRA, E. R. M. . Workflow Scheduling for SaaS / PaaS Cloud Providers 
Considering

Mais conteúdos dessa disciplina