Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Escalonamento de processos em sistemas virtualizados

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Virtualização Teste
Virtualização Teste
Wird geladen in …3
×

Hier ansehen

1 von 49 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Escalonamento de processos em sistemas virtualizados (20)

Anzeige

Aktuellste (20)

Anzeige

Escalonamento de processos em sistemas virtualizados

  1. 1. Escalonamento de processos em sistemas virtualizados Claudio Jorge Eckert Junior Gian Paulo Vieira Lisiane Reips Prof. Jefferson James Cunha de Souza
  2. 2. SUMÁRIO • Introdução • Modelos de nuvem • Classes de serviço • Gerenciamento de nuvem de código aberto • Arquitetura usada no sistema operacional nativo • Tratamento de processos e seus escalonamentos • Conclusão • Bibliografia • Dúvidas
  3. 3. Introdução O termo de virtualização se refere de maneira geral sobre a abstração de recursos computacionais. Um único computador pode compartilhar seus recursos de hardware com vários sistemas operacionais hospedeiros.
  4. 4. Introdução Esta abstração é geralmente realizada através de um software (Máquina Virtual ou hypervision) que atua como mediador entre os sistemas e os recursos da máquina host.
  5. 5. Introdução Também é função deste software escalonar qual máquina virtual vai executar a cada momento, semelhante ao escalonador de processos do Sistema Operacional.
  6. 6. Introdução O software é executado no modo de supervisor e as máquinas virtuais são executadas em modo de usuário. Quando estas tentam executar uma instrução privilegiada, é gerada uma interrupção e o software se encarrega de emular a execução desta instrução.
  7. 7. Introdução
  8. 8. Modelos de nuvem Os modelos de nuvem são definidos de acordo com o grupo que irá utilizar os serviços da arquitetura, estes podem ser de quatro tipos.
  9. 9. Modelos de nuvem - Nuvem Pública: a infraestrutura é fornecida para muitos clientes e é gerenciada por terceiros. Várias empresas podem trabalhar simultaneamente na mesma infraestrutura. O usuário paga por aquilo que utilizar.
  10. 10. Modelos de nuvem - Nuvem Privada: infraestrutura disponibilizada apenas para um cliente específico e gerenciada pela própria organização ou por terceiros. Este utiliza o conceito de virtualização de máquinas, usando rede proprietária.
  11. 11. Modelos de nuvem - Nuvem Comunidade: infraestrutura compartilhada por várias organizações por uma causa comum, podendo ser gerenciada por elas mesmas ou por um prestador de serviços.
  12. 12. Modelos de nuvem - Nuvem Híbrida: compõe um ou mais modelos de implantação de nuvem, em que a comunicação entre elas é realizada de modo transparente (como uma bridge).
  13. 13. Modelos de nuvem 13
  14. 14. Classes de serviço Podemos separar as classes de serviço em três categorias: - Software como Serviço: o software pode ser acessado via web, o cliente não possui controle sobre o funcionamento da aplicação, do sistema e do servidor rodando a mesma.
  15. 15. Classes de serviço - Infraestrutura como Serviço: nesta classe um usuário pode acessar uma parte de sistema que possui recursos agrupados para criar e usar sua própria infraestrutura de computação. - Plataforma como Serviço: oferta um sistema de gerenciamento unificado dos recursos para a construção de aplicações. Este serviço não necessita que o usuário se preocupe com a infraestrutura.
  16. 16. Gerenciamento de nuvem de código aberto Os principais gestores de infraestrutura virtual, open-source, descritos atualmente em artigos, são: - APACHE VCL: fornece acesso remoto para um ambiente de computação dedicado para o usuário final através de uma interface Web, proporcionando ambientes personalizados para usuários.
  17. 17. Gerenciamento de nuvem de código aberto - CITRIX ESSENTIALS: fornece aos clientes virtualização de servidores com um conjunto de serviços avançados de gerenciamento de virtualização, permitindo estender essas capacidades de gerenciamento para o ambiente Windows Server 2008.
  18. 18. Gerenciamento de nuvem de código aberto - EUCALYPTUS: desenvolvido com a intenção de fornecer uma implementação open-source quase idêntica em funcionalidade com a API do Amazon Web Services. Portanto, os usuários podem interagir com uma nuvem Eucalyptus usando as mesmas ferramentas que eles usam para acessar o Amazon EC2.
  19. 19. Gerenciamento de nuvem de código aberto - NIMBUS3: fornece a maioria das características dos outros gestores como uma API para acesso ao Amazon EC2 com suporte ao Xen. No entanto, distingue-se dos outros, fornecendo uma interface de acesso para o framework Globus Web Services Resource (WSRF).
  20. 20. Gerenciamento de nuvem de código aberto - OPENPEX: construído em torno da noção de usar reservas antecipadas como o principal método para alocar instâncias de VM. Distinguese de outros gestores, pois incorpora um protocolo de negociação bilateral que permite usuários e provedores chegar a um acordo sobre troca de ofertas e contra ofertas quando seus pedidos originais não podem ser satisfeitos.
  21. 21. Gerenciamento de nuvem de código aberto - OVIRT: fornece a maior parte das características básicas dos gestores, incluindo suporte para o gerenciamento de pools de servidores físicos, pools de armazenamento, contas de usuário e VMs.
  22. 22. Gerenciamento de nuvem de código aberto - VMWARE VSPHERE: ferramenta destinada a transformar a infraestrutura em uma nuvem privada. Distingue-se de outros gestores como um dos mais ricos em recursos. Na arquitetura vSphere, servidores executam na plataforma ESXi. Um servidor a parte executa vCenter Server, que centraliza o controle da infraestrutura. Através do software cliente vSphere, os administradores conectam-se ao vCenter Server para executar várias tarefas.
  23. 23. Gerenciamento de nuvem de código aberto - OPENSTACK ESSEX: oferece software para criar nuvens públicas e privadas. Contém uma coleção de projetos open-source, incluindo OpenStack Compute (codinome Nova), armazenamento de objetos OpenStack (codinome Swift), serviço de imagem OpenStack (codinome Glance), serviço de armazenamento para uso das instâncias (codinome Cinder) e serviço de rede (codinome Quantum).
  24. 24. Gerenciamento de nuvem de código aberto O OpenStack Essex fornece uma plataforma operacional e um conjunto de ferramentas para gerenciamento das nuvens.
  25. 25. Arquitetura usada no sistema operacional nativo Pode-se dizer que existem “duas” formas de virtualização, sendo elas: Virtualização completa e virtualização de interface de sistema, que por sua vez são dois tipos de Hypervisor, sendo o nativo e o tratado como se fosse um processo normal de sistema operacional.
  26. 26. Arquitetura usada no sistema operacional nativo Na virtualização completa temos a total utilização da arquitetura e hardware acima, sendo implementado direto sobre o hardware de máquina real, disponibilizando uma réplica do hardware e acessos a entradas, saídas e instruções do processador.
  27. 27. Arquitetura usada no sistema operacional nativo Esta forma de virtualização não prevê a necessidade de alteração no sistema operacional visitante, e tem um desempenho melhor por não possuir camadas de abstração,. Na virtualização de sistema, o hypervisor é executado como se fosse um processo normal sobre um sistema operacional nativo.
  28. 28. Arquitetura usada no sistema operacional nativo Podemos entender melhor com a figura a seguir, que nos mostra os anéis de privilégio da arquitetura nativa x86, onde o anel 0 está junto ao kernel e possui acesso direto, e a camada 1 possui menor privilégio, sendo o anel 3 a camada do usuário, desta forma podemos entender em qual anel está o hipervisor e as máquinas virtuais.
  29. 29. Arquitetura usada no sistema operacional nativo 29
  30. 30. Arquitetura usada no sistema operacional nativo Porém na virtualização completa utiliza-se a técnica de tradução binária, onde o hypervisor analisa, reorganiza e traduz as sequências de instruções, emitidas pelo sistema operacional convidado em novas sequências de instruções, desta forma é possível adaptar as instruções geradas pelo sistema convidado ao sistema real.
  31. 31. Arquitetura usada no sistema operacional nativo Como vantagens temos o fato de que o sistema virtualizado não precisa de alteração, e como desvantagens temos a perda de desempenho de cerca de 30% pela interpretação dos dados.
  32. 32. Arquitetura usada no sistema operacional nativo A arquitetura x86 não foi projetada para virtualização e portanto não poderia ser virtualizada em modo privilegiado “anel 0” e sim no “anel 1 e 2”, assim foi criado o modo de virtualização assistida por hardware, com processadores desenvolvidos pela Intel e pela AMD, ambos chegando ao mesmo resultado, mas ambos incompatíveis , agora os dois suportam o hipervisor e os anéis de privilégios, proporcionando utilizar os sistemas virtualizados convidados sem alterá-los.
  33. 33. Tratamento de processos e seus escalonamentos O gerenciamento de recursos e o tratamento de tarefas são a chave de tecnologia em computação em nuvem, desempenhando um papel vital neste contexto.
  34. 34. Tratamento de processos e seus escalonamentos Atualmente temos estabelecidos em nuvem vários algoritmos para estabelecer escalonamentos de tarefas, mas não existe padrão uniforme a ser seguido, entre eles os mais utilizados são os algoritmos de lista que diferem principalmente na forma como a prioridade é definida, mas em geral apresentam bom desempenho. Os mais utilizados são:
  35. 35. Tratamento de processos e seus escalonamentos - Myopic: consiste em organizar as atividades prontas por ordem de chegada e associar cada atividade a ser escalonada ao recurso disponível que pode executá-la mais rapidamente. - HEFT (Heterogeneus Earliest-Finish-Time = Tempo de término mais antigo heterogêneo): escalona atividades criando uma lista com pesos associados a cada atividade, o peso é definido pela distância máxima da atividade até a atividade de saída.
  36. 36. Tratamento de processos e seus escalonamentos O primeiro passo é o cálculo de peso, sendo o valor do peso de uma atividade igual ao tempo de execução previsto para a atividade somado aos valores encontrados no caminho até a atividade de saída. - Ant Colony Optimization (ACO = Otimização de colônias de formigas): basicamente este algoritmo calcula o menor trajeto, a carga é calculada em cada host (hospedeiro), tendo em conta a utilização da CPU feita por todas as VMs que estão sendo executadas em cada host.
  37. 37. Tratamento de processos e seus escalonamentos Esta métrica é útil para uma formiga escolher o host menos carregado para alocar suas VM. O algoritmo ACO é encontrado também em problemas de roteamento de pacotes de redes de computadores, entre outros. Foi descoberto que a comunicação das formigas que caminhavam pela trilha ocorria por meio de uma substância química denominada feromônio, depositadas por elas próprias.
  38. 38. Tratamento de processos e seus escalonamentos Enquanto as formigas caminhavam inicialmente de forma aleatória, elas depositam uma certa quantidade de substância, esta que é reforçada quando outra formiga passar pelo caminho, tendo em vista que a substância tende a evaporar com o tempo, quanto maior a concentração de substância, mais curto é o caminho.
  39. 39. Tratamento de processos e seus escalonamentos - Algoritmo Min-Min: começa com um conjunto de tarefas que são todas não atribuídas, primeiro, calcula o tempo mínimo de conclusão para todas as tarefas e todos os recursos, então, entre esses tempos mínimos, o valor mínimo é selecionado, que é o tempo mínimo entre todas as tarefas em quaisquer recursos.
  40. 40. Tratamento de processos e seus escalonamentos Assim essa tarefa é programada no recurso em que leva o mínimo tempo e o tempo disponível desse recurso é atualizado para todos as outras tarefas, ou seja, suponha que uma tarefa é atribuída a uma máquina e leva 20 segundos para ser realizada, então os tempos de execução de todos as outras as tarefas nesta máquina serão aumentadas em 20 segundos. Depois disso, a tarefa atribuída não é considerada e o mesmo processo é repetido até que todas as tarefas sejam atribuídas.
  41. 41. Tratamento de processos e seus escalonamentos - Algoritmo Max-Min: da mesma forma que o Min- Min exceto depois de descobrir o tempo de colisão, os tempos mínimos de execução são encontrados para cada tarefa. Então, entre esses tempos mínimos, o valor máximo é selecionado, que é o tempo máximo entre todas as tarefas em qualquer Recurso.
  42. 42. Tratamento de processos e seus escalonamentos Assim essa tarefa está programada no recurso em que leva o tempo mínimo, e o tempo disponível daquele recurso é atualizado para todas as outras tarefas. A atualização é feita da mesma maneira que para o Min- Min. Todas as tarefas são recursos atribuídos por este procedimento.
  43. 43. Tratamento de processos e seus escalonamentos Além dos mais utilizados já citados, também são utilizados: - Otimização de exames de partículas - Round Robin - Genético - Agendamento de tarefas baseado em prioridades - Agendamento dinâmico baseado no limite
  44. 44. Conclusão 44
  45. 45. Bibliografia https://repositorio.unesp.br/handle/11449/110377 http://www.sjrp.unesp.br/#!/noticia/1613/auditoria-e- monitoramento-de-eventos-inconsistentes/ https://repositorio.unesp.br/bitstream/handle/11449/1470 90/pauro_ll_me_sjrp.pdf?sequence=3 https://www.researchgate.net/publication/308307711_Es calonamento_de_Instancias_de_Maquinas_Virtuais_em_Nu vens_IaaS
  46. 46. Bibliografia https://www.researchgate.net/publication/308307711_Es calonamento_de_Instancias_de_Maquinas_Virtuais_em_Nu vens_IaaS https://acervodigital.ufpr.br/handle/1884/36087 http://www.ic.unicamp.br/~ducatte/mo401/1s2011/T2/Arti gos/G09_012096_931544-t2.pdf http://www.ic.unicamp.br/~ducatte/mo401/1s2012/T2/G0 4-115168-t2.pdf
  47. 47. Bibliografia http://omnipax.com.br/livros/2013/MHPO/mhpo- cap04.pdf http://www.teses.usp.br/teses/disponiveis/45/45134/tde- 28062016-155756/pt-br.php https://pdfs.semanticscholar.org/fe70/2bc2833702e5312b ed4ef2894d9cbc5d4d50.pdf file:///C:/Users/Administrador/Downloads/Dissertao_Nayl or_Garcia_Bachiega.pdf http://newiranians.ir/SCHEDULING%20IN%20CLOUD%2 0COMPUTING.pdf
  48. 48. Dúvidas 48
  49. 49. Muito obrigado! 49

×