Parte I – Introdução a Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti.
Transcript of Parte I – Introdução a Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti.
Parte I – Introdução a Autonomic Computing
Seminários 2007 – 2º Semestre
Maíra Gatti
2© LES/PUC-Rio
Agenda
• Introdução
• Inspiração Biológica – Sistema Nervoso Humano
• Definição de Autonomic Computing (AC)
• Quatro Aspectos Fundamentais
• Elementos Fundamentais
• Arquitetura de AC
• Estado da Arte de AC
• Bibliografia
3© LES/PUC-Rio
Introdução
• Explosão de serviços e aplicações sofisticadas
– Complexidade
– Heterogeneidade
– Dinamicidade
• Aplicações, ambientes de programação e infra-estruturas
– Frágeis, não gerenciáveis, não confiáveis
4© LES/PUC-Rio
Introdução
• Solução: Autonomic Computing
Kephart, 2003
5© LES/PUC-Rio
Introdução
• Origem:
– termo introduzido por Paul Horn em março de 2001 perante a Academia Nacional de Engenheiros da Universidade de Harvard
– Paul Horn era vice presidente de pesquisa de IBM.
• Objetivo:
– liberar os administradores de sistemas dos detalhes de operação e manutenção e prover aos usuários uma máquina que trabalhasse em desempenho 24/7.
– Investimento da IBM: U$2 bilhões
6© LES/PUC-Rio
Introdução
• Tema recente de pesquisa que define sistemas que gerenciam a si próprios de acordo com os objetivos do administrador e sem a intervenção humana direta
– [Hennessy, 2002, IBM, 2003, Kephart et al., 2003]
• Explorado por algumas instituições como
– NASA [Clancy, 2002], Microsoft, Sun, Cisco, HP e IBM
7© LES/PUC-Rio
Inspiração Biológica
• Sistema Nervoso Humano
– Exemplo mais sofisticado de comportamento autonômico que existe
– Cuida das funções vitais do corpo, mesmo diante de várias e diferentes condições externas
– Mantém constante o estado interno
– Prepara o corpo para as tarefas do momento
– Faz todas as tarefas sem nenhum reconhecimento ou esforço consciente das pessoas
8© LES/PUC-Rio
Sistema Nervoso em trabalho
9© LES/PUC-Rio
Motivação
• Precisamos de sistemas auto-gerenciáveis
– Comportamento especificado por administradores de sistema através de políticas de alto-nível orientada a negócios
– Sistemas e componentes precisam interpretar políticas
10© LES/PUC-Rio
Definição de Autonomic Computing
• “Computing systems that can manage themselves given high-level objectives from administrators.”
Kephart; The Vision of Autonomic Computing; 2003
11© LES/PUC-Rio
Quatro Aspectos Fundamentais
Kephart; The Vision of Autonomic Computing; 2003
12© LES/PUC-Rio
Elementos Fundamentais
1 – Para ser autonômico, um sistema computacional deve “se conhecer” – e ser composto por componentes que também possuam uma identidade de sistema.
– Palavra-chave: self-knowledge
13© LES/PUC-Rio
Elementos Fundamentais
2 – Um sistema computacional autonômico deve se configurar e reconfigurar em condições variáveis e imprevisíveis.
– Palavra-chave: self-configuration
14© LES/PUC-Rio
Elementos Fundamentais
3 – Um sistema autonômico sempre procura maneiras de otimizar seus trabalhos.
– Palavra-chave: self-optimization
15© LES/PUC-Rio
Elementos Fundamentais
4 – Um sistema computacional autonômico deve estar apto para recuperar-se de rotinas e eventos extraordinários que podem causar mal funcionamento em algumas de suas partes.
– Palavra-chave: self-healing
16© LES/PUC-Rio
Elementos Fundamentais
5 – Um mundo virtual não é menos perigoso do que um mundo físico, portanto um sistema computacional autonômico deve ser um especialista em auto-proteção.
– Palavra-chave: self-protection
17© LES/PUC-Rio
Elementos Fundamentais
6 – Um sistema computacional autonômico conhece seu ambiente e o contexto que cerca suas atividades, agindo de acordo com ele.
– Palavra-chave: self-awareness, self-adapting
18© LES/PUC-Rio
Elementos Fundamentais
7 – Um sistema computacional autonômico não pode existir em um ambiente hermético.
– Palavra-chave: openess standards
19© LES/PUC-Rio
Elementos Fundamentais
8 – Um sistema computacional autonômico antecipará os recursos de otimização necessários, enquanto mantém sua complexidade escondida.
– Palavra-chave: anticipation, support
20© LES/PUC-Rio
Arquitetura de AC
• Cada elemento em um sistema autonômico consiste de 2 módulos
– A unidade funcional que realiza o serviço requisitado, e
– A unidade de gerenciamento que
• monitora o estado e o contexto do elemento,
• analisa seus requisitos correntes
– Performance, fault-tolerance, segurança, etc..., e
• se adapta para satisfazer aos requisitos
21© LES/PUC-Rio
Arquitetura de AC
22© LES/PUC-Rio
Arquitetura de AC
23© LES/PUC-Rio
Arquitetura de AC
• Elemento Autonômico (EA)
– Sistemas individuais que contém recursos e provê serviços para humanos ou outros EAs
– Compõe os sistemas autonômicos
– Gerenciam seu comportamento interno e relacionamento com outros EAs de acordo com políticas estabelecidas por humanos ou outros elementos
24© LES/PUC-Rio
Arquitetura de AC
• Elemento Autonômico (EA)
– Aspectos importantes:
• Tolerância a falhas
• Dinamismo
• Flexibilidade
• Autonomia, pró-atividade
• Consumidor X Provedor de serviços
– Ciclo de Vida
25© LES/PUC-Rio
Estado da Arte de AC
• Grupo 1:
– Pesquisadores que descrevem tecnologias relacionada a AC
• Grupo 2:
– Pesquisadores que procuram implementar AC em um projeto unificado
P. Lin, A. MacArthur, J. Leaney. Defining Autonomic Computing: A Software Engineering Perspective. IEEE. Proc. of the 2005 Australian Soft. Eng. Conf. (ASWEC’05)
M. Parashar, S. Hariri; Autonomic Computing: An Overview. J.-P. Banâtre et al. (Eds.): UPP 2004, Springer, LNCS 3566, pp. 247–259, 2005.
26© LES/PUC-Rio
Exemplos Grupo 1
M. Parashar, S. Hariri; Autonomic Computing: An Overview. J.-P. Banâtre et al. (Eds.): UPP 2004, Springer, LNCS 3566, pp. 247–259, 2005.
27© LES/PUC-Rio
Exemplos Grupo 2
M. Parashar, S. Hariri; Autonomic Computing: An Overview. J.-P. Banâtre et al. (Eds.): UPP 2004, Springer, LNCS 3566, pp. 247–259, 2005.
28© LES/PUC-Rio
Bibliografia
• Clancy, D. J. (2002). NASA Challenges in Autonomic Computing. Almaden Institute, IBM Almaden Research Center, San Jose, CA, April 10, 2002.
• Hennessy, J. (2002). Back to the Future: Time to Return to Some Long-Standing Problems in Computer Science. Almaden Institute, IBM Almaden Research Center, San Jose, CA, April 10, 2002
• IBM (2003). Autonomic Computing – Creating Self-managing Computing Systems. Disponível em http://www-3.ibm.com/autonomic/index.shtml.
• Kephart, Jeffrey and Chess, David M.(2003). The Vision of Autonomic Computing. IEEE Computer Magazine 36(1): 41-50.
Parte I – Introdução a Autonomic Computing
Seminários 2007 – 2º Semestre
Maíra Gatti