1 Energy-Efficient Real-Time Heterogeneous Server Clusters Cosmin Rusu, Alexandre Ferreira, Claudio Scordino, Aaron Watson, Rami Melhem e Daniel Mossé Clayton Reis da Silva creis@ic.uff.br Apresentação para a disciplina Sistemas de Tempo Real e Embarcados 2010.1 Mestrado em Ciência da Computação 31 de maio de 2010
AGENDA 2 Introdução (1) Trabalhos Relacionados (2) Modelagem do Cluster (3) Políticas de Gerência de Energia (4, 5) Avaliação e Conclusão (6, 7)
INTRODUÇÃO 3 Clusters são modelados para suportar picos de carga, mas essa situação raramente acontece Assim, clusters são subutilizados em sua maior parte do tempo Condição mais crítica em sistemas embarcados, pois a energia de pico impacta no tamanho do sistema
INTRODUÇÃO 4 A política do artigo é a primeira que simultaneamente é/faz: a) Abrange todo o cluster b) Modelado para heterogeneidade c) Preocupa-se com QoS (Quality of Service) d) Baseado em medidas e) Orientado a implementação f) Realiza tomada de decisões em tempo de execução
TRABALHOS RELACIONADOS 5 Bohrer et al caracterizou carga e consumo de potência em servidores web reais Elnozahy et al propôs DVS (Dynamic Voltage Scaling) para reduzir consumo Felter et al investigou técnicas de controle de energia de pico via software PORÉM, SÓ CONSIDERAM SISTEMAS COM APENAS UM PROCESSADOR
TRABALHOS RELACIONADOS 6 Pinheiro et al trata do problema de configuração de cluster para clusters homogêneos, e estendeu o trabalho para clusters heterogêneos em Heath et al (2003). E ainda estendeu o problema adicionando requisição para melhorar estimação de carga em Heath et al (2005). PORÉM, NÃO CONSIDERAM QoS DIRETAMENTE; SERVIDORES NÃO SE PREOCUPAM INDIVIDUALMENTE; BASEAM-SE EM MODELOS; A RECONFIGURAÇÃO É CARA
TRABALHOS RELACIONADOS 7 Sharma et al é um trabalho mais próximo do porposto nesse artigo; Ele se preocupa com algoritmos adaptativos para DVS e um servidor web preocupado com QoS; PORÉM, SÓ LEVA EM CONTA GERÊNCIA DE ENERGIA LOCAL, ASSUMINDO QUE UM BOM ALGORITMO DE BALANCEAMENTO DE CARGA É USADO NO FRONT-END
MODELAGEM DO CLUSTER 8 Tarefas do front-end: a) Aceitar requisições aperiódicas b) Distribuir a carga c) Reconfiguração do cluster Cada requisição é uma tarefa aperiódica; Cada servidor faz o mesmo serviço; Servidores informam o front-end sobre sua carga;
GERÊNCIA DE ENERGIA FRONT-END 9 É aplicável em qualquer cluster heterogêneo O front-end determina o número de servidores ativos necessários para o nível de QoS requerido que tenha uma maior economia de energia A definição de carga deve levar em conta o gargalo do sistema (CPU, no experimento deste trabalho especificamente)
GERÊNCIA DE ENERGIA FRONT-END 10 Máxima carga é definida como o máximo de requisições que um servidor pode aceitar respeitando 95% dos deadlines O front-end nunca excede a máxima carga de um servidor A carga do cluster é observada de tempos em tempos, esse tempo relacionado ao tradeoff entre overhead e tempo de resposta
GERÊNCIA DE ENERGIA FRONT-END 11 Para reduzir o consumo global de energia, o front-end tem informações do consumo médio de energia de cada servidor para variados níveis de carga Foi medido offline o consumo de cada máquina, onde o gráfico representa a máxima carga que mantém a especificação de QoS
GERÊNCIA DE ENERGIA FRONT-END 12
GERÊNCIA DE ENERGIA FRONT-END 13 A política de on/off é feita através de um algoritmo baseado na eficiência dos servidores, e mantém duas tabelas: - Mandatory_servers Tem informação de em que nível de carga um servidor é ligado e é usada para determinar o mínimo de servidores ligados necessários para atender um nível de QoS - Power_servers Pré-computa o número de servidores necessários para minimizar o consumo para um determinado nível de carga
GERÊNCIA DE ENERGIA FRONT-END 14 Algoritmo de on/off:
GERÊNCIA DE ENERGIA FRONT-END 15 O front-end distribui as requisições que chegam para um subconjunto de servidores que estão no estado ligado O servidor que houver a menor carga acumulada no momento sobre a carga estimada do mesmo recebe a próxima requisição que chegar;
GERÊNCIA DE ENERGIA SERVIDORES 16 Além do front-end usar uma política on/off global, cada servidor internamente realizada uma política de DVS local Principal objetivo é reduzir o consumo de energia de recursos sub ou não utilizados Localmente, cada requisição é uma tarefa aperiódica com deadline, assim sendo um sistema de tempo real
GERÊNCIA DE ENERGIA SERVIDORES 17 O sistema é considerado um sistema de tempo real não-crítico: - O escalonamento não é gerado por um escalonador de tempo real; - A carga é o tempo médio, não o pior caso; A utilização de um servidor U é o somatório da carga média sobre o deadline de cada tarefa;
GERÊNCIA DE ENERGIA SERVIDORES 18 Se o CPU é o gargalo do sistema, a frequência da CPU para resolver essa carga de requisições é U vezes a frequência máxima dessa CPU; Apesar de haver o problema de frequências ineficientes com o uso de DVS, não ocorreu este caso nesse trabalho;
AVALIAÇÃO 19 Todas as políticas foram implementadas através de módulos do Apache Cenário composto por um front-end e quatro servidores diferentes entre si Testes feitos através de requisições de clientes a um servidor web
AVALIAÇÃO 20 Comparações de políticas de DVS:
AVALIAÇÃO 21 Para testes de todo o esquema, foram realizados testes com e sem a política global (on/off) e com e sem a política local (DVS) On/off é melhor com baixos valores de carga DVS é importante no momento que um servidor é recém-ligado
AVALIAÇÃO Gráfico de comparação de todas as combinações de esquemas: 22
AVALIAÇÃO 23 Economia de energia de 17% com DVS, 39% com on/off e 45% com ambos Pequeno impacto no atraso: 8,29ms sem esquema; 8,77ms com DVS; 12,29ms com on/off e 12,83ms com ambos Manteve respeito aos deadlines e também realizou a economia de energia
CONCLUSÃO 24 Foi apresentado um novo esquema de gerência de energia que combina políticas locais e globais É um esquema para clusters heterogêneos O uso de ambas técnicas teve uma alta economia de energia (consumo diminuiu quase para a metade) e manteve os requerimentos de QoS
CONCLUSÃO 25 Resultados mostram que: a) A estimativa de carga tem um alto acerto b) Uso de política de on/off resulta em uma alta redução de consumo c) DVS é importante no momento que um servidor é ligado d) Para altos valores de carga, on/off não influencia
26 Energy-Efficient Real-Time Heterogeneous Server Clusters Cosmin Rusu, Alexandre Ferreira, Claudio Scordino, Aaron Watson, Rami Melhem e Daniel Mossé Clayton Reis da Silva creis@ic.uff.br Apresentação para a disciplina Sistemas de Tempo Real e Embarcados 2010.1 Mestrado em Ciência da Computação 31 de maio de 2010