O documento discute estratégias de checkpointing para reduzir os custos de execução de tarefas em instâncias spot do Amazon EC2. Ele analisa diferentes políticas de checkpointing baseadas em tempo e nos aumentos de preço e conclui que checkpoints baseados em tempo reduzem os custos em até 45% em comparação ao caso sem checkpoints.
3. Amazon EC2
• Amazon Elastic Compute Cloud
• Serviço que provê recursos computacionais, sob demanda, na
nuvem
• Imagens pré-configuradas de VMs
• Possibilidade de se criar a própria imagem (AMI)
• Possível selecionar o cluster onde a VM vai executar
• EUA
• Europa
• Asia
• 3 tipos de instâncias
• Reserved
• On Demand
• Spot
5. Spot Instances
• Permite usar recursos ociosos do EC2
• Instância executa enquanto valor do recurso não
ultrapassar um limite definido pelo usuário
• O valor do recurso muda de acordo com a oferta
e demanda de recursos e média dos valores
limites dos usuários
• Ótimo para aplicações que suportem
flexibilidade na disponibilidade
• Custo x Disponibilidade
7. Proposta e Objetivos
• Motivação
• Minimizar custos
• Variação do valor dos recursos de acordo com
oferta/demanda
• Amazon começa a oferecer Spot Instances a partir de
dezembro/2009
• Preços bem inferiores que instâncias padrão
• Avaliar o uso de estratégias de Checkpointing
• Minimizar os custos monetários
• Maximizar a confiabilidade
• Estudos a partir de históricos reais de preços da
Amazon
• Estudar estratégias que se adaptam à variação de preço
8. Definições
Notação Definição
tr Tempo restante de processamento
tc Tempo para o próximo checkpoint
ta Tempo para avaliar o histórico de preços para obter f(t, ub)
r Tempo para reiniciar uma tarefa de processamento
ub Valor limite definido pelo usuário
f(t, ub) FDP de ocorrência de uma falha
e(t, ub) FDP de ocorrência de uma subida de preço dos recursos
ne Quantidade de aumentos de preços (rising edges) em um intervalo de tempo
me(ub) Quantidade média de aumentos de preços em um intervalo de disponibilidade
T(t) Tempo total esperado para executar uma tarefa, sem checkpoints
Htake(t) Tempo esperado de recuperação com checkpoints horários
Hskip(t) Tempo esperado de recuperação sem checkpoints horários
Etake(t) Tempo esperado de recuperação com checkpoints em rising edges
Eskip(t) Tempo esperado de recuperação sem checkpoints em rising edges
10. Função densidade de probabilidade
• Distribuição de probabilidade caso a variável
aleatória seja contínua
• Probabilidade de falha
• Probabilidade de aumento de preço (rising
edge)
• t – tempo desde o último checkpoint
• ub – valor limite definido pelo usuário
),( butf
),( bute
12. Tempo de recuperação esperado
• Permitir recuperação do processamento de um
ponto específico
• Na ocorrência de uma falha
• Sem checkpoint: retornar ao início
• Com checkpoint: retornar a um ponto intermediário
13. Checkpoint
• Ocorrência de falhas x Tempo total para executar
uma tarefa
• Em uma base regular, criar “pontos” com
informações do atual estado da tarefa de
processamento
• Reduzir tempo para finalizar o processamento
• Permitir recuperação do processamento de um
ponto específico
14. Checkpoint
• Tarefa tem de suportar a instabilidade do
ambiente
• Web crawling
• Análise de dados
• Transformação de dados
• Onde armazenar os dados? Na própria Amazon
• SimpleDB
• Elastic Block Storage
• Amazon SQS
15. Modelos de Checkpointing
• Caso ótimo
• Sem checkpointing
• Checkpointing baseado no tempo
• Checkpointing baseado na alteração do preço
• Checkpointing com desições adaptativas
• Combinações das estratégias anteriores
16. Modelos de Checkpointing
Nome Descrição
Ótimo Caso ótimo, checkpoints sempre logo antes das falhas
Nenhum Sem nenhum checkpoint
H Checkpoints baseados no tempo (horário)
E Checkpoints baseados na mudança de preço (subida)
AH Checkpoints adaptativos baseados no tempo
AE Checkpoints adaptativos baseados na mudança de preço
H+E Checkpoints no tempo e na mudança de preço
H+AE Checkpoints no tempo e adaptativos na mudança de preço
AH+E Checkpoints adaptativos no tempo e na mudança de preço
AH+AE Checkpoints adaptativos no tempo e adaptativos na mudança de preço
AF(10) Adaptativo, a cada 10 minutos decide o que fazer
AF(30) Adaptativo, a cada 30 minutos decide o que fazer
17. Modelos de Checkpointing
• Baseado em tempo
• Checkpoints tomados em intervalos regulares de
tempo
• Intuitivo
• Acompanha a cobrança
• Pode ser feito em intervalos menores (30 min)
18. Modelos de Checkpointing
• Baseado nos aumentos de preços (rising edges)
• Checkpoints tomados sempre que houver um
aumento do preço dos recursos
• Pode falhar quando ocorre um aumento muito
grande repentinamente
19. Modelos de Checkpointing
• Decisões adaptativas - baseado no tempo ou na
alteração do preço dos recursos
• Avalia os custos de um criar um checkpoint
• Decide se cria ou não o checkpoint, baseado na
opção de menor custo
20. Análise do custo
• Htake – Tempo esperado de recuperação com
checkpoints horários
• Hskip – Tempo esperado de recuperação sem
checkpoints horários
• Etake – Tempo esperado de recuperação com
checkpoints em rising edges
• Eskip – Tempo esperado de recuperação sem
checkpoints em rising edges
22. Delayed Termination
• Uma maneira de ganhar em cima da política da
Amazon
• Quando um instância é terminada pela Amazon,
a última hora parcial não é cobrada
• pt x preço/hr
23. Setup
• 42 tipos de instâncias avaliados. Hoje são cerca
de 72
• Todas as 12 políticas foram testadas
• Código-fonte do simulador disponível em
spotckpt.sourceforge.net
27. Resultados – Preço médio
• Produto normalizado de preço total x tempo de
execução
• Valor médio baseado no histórico de preços
• Checkpointing baseado em tempo conseguiu
reduzir significativamente melhor o custo final
• Resultados entre 30% ~ 45% do melhor caso
30. Resultados – resultados gerais
• Checkpointing baseado em tempo se mostrou
melhor na maioria dos casos
• Decisões adaptativas não mostraram impacto
significante
• Estratégias de checkpointing apresentaram
desempenho ~50% maior que o melhor caso
• É necessário buscar melhor estratégia
31. Trabalhos futuros
• Estudar relações entre preços passados e futuros
• Desenvolver política eficiente de checkpointing
que minimize custos e tempo de execução
• Desenvolver modelo de decisão para o preço
limite do usuário, dados requisitos de
performance e confiabilidade
• Avaliar modelos propostos em outros
fornecedores de IaaS