Esta tese discute a adoção de infraestrutura em nuvem para apoiar a execução de aplicações científicas na academia, onde é comum o compartilhamento de recursos computacionais por diferentes grupos de pesquisa. Neste trabalho, o foco está na análise dos investimentos financeiros em infraestrutura de nuvem para rodar uma determinada aplicação.
Objetivos
Metas
Metodologia
O conjunto de cenários de avaliação se mostrou bastante amplo, graças ao simulador embutido, que oferece uma ampla gama de recursos de configuração de uso. A avaliação realizada permitiu verificar o desempenho e os custos de diferentes configurações de infraestrutura de nuvem para diferentes cenários de carga de trabalho.
Contribuições Científicas
Grande parte do desenvolvimento da tese foi absorvida na elaboração deste simulador, tornando-o genérico para descrever a gama de cenários possíveis no contexto de avaliação em que se propôs trabalhar. A avaliação foi realizada especificando diferentes casos de uso, em que diferentes cargas de trabalho foram enviadas para a nuvem, as configurações de infraestrutura implantadas nos sites e as estratégias de escalabilidade.
Conhecendo brevemente este trabalho
A possibilidade de construir uma nuvem federada, utilizando recursos de processamento de forma capilar, conectada a um provedor externo que seja capaz de expandir o conjunto de recursos conforme a necessidade, pagando pelo uso, torna-se um grande atrativo. O pano de fundo desta tese é justamente a discussão sobre a utilização de um provedor de processamento externo para uma nuvem composta por recursos de processamento de instituições federadas.
Estrutura do texto
As duas primeiras seções apresentam os modelos de aplicação que, segundo a literatura, são os mais frequentes em ambientes de rede: bag-of-tasks (seção 2.1) e workflow (seção 2.2). A Seção 2.3 apresenta questões sobre o custo de execução dessas aplicações para precificar o custo de uma infraestrutura, e a Seção 2.4 traz conceitos e definições de mineração em nuvem.
Bag of Tasks
Não há restrição de ordem de execução entre as tarefas definidas em cada quádruplo, pois as tarefas em um BoT são por definição independentes. Na etapa 4, assim como na etapa anterior, um novo conjunto de tarefas começa a ser executado e todas as tarefas concluem a execução de um job.
Fluxos de Trabalho Científicos - Workflows
As tarefas em um fluxo de trabalho científico podem variar de tarefas seriais curtas a tarefas paralelas muito grandes, cercadas por um grande número de pequenas tarefas seriais usadas para pré e pós-processamento. Você pode encontrar automaticamente as entradas necessárias e os recursos de cálculo para executar o fluxo de trabalho.
Aspectos de Custo
Que tipo de aplicativo pode se beneficiar da execução em um ambiente de nuvem? Outros benefícios também podem ser alcançados com ambientes de nuvem híbrida HPC que distribuem tarefas entre clusters locais e nuvens públicas.
Escalonamento em Infraestruturas Híbridas
Juntamente com os pontos CAPEX e OPEX, essa utilização de recursos variáveis serve como argumento para provedores de nuvem e usuários finais. Por outro lado, os provedores de nuvem podem se beneficiar de uma utilização total dos recursos de todos os seus inquilinos.
Discussão
As solicitações do usuário para acessar exclusivamente partes de um cluster HPC são enfileiradas quando os recursos estão sobrecarregados. As alternativas atuais buscam viabilizar a implantação de nuvens trazendo o conceito de escalabilidade também para a implantação da infraestrutura.
Fontes de Custos
Métricas para cálculos de custos e investimentos em infraestrutura de computação em nuvem precisam de um modelo claro, juntamente com os fatores que influenciam esses custos. Cada fórmula se aplica a um custo específico, possibilitando a obtenção de valores para cada tipo de custo.
Fatores de Custos
Esse tipo de custo inclui o custo da transferência inicial de dados para a nuvem para fins de migração do sistema. Portanto, esse tipo de custo depende do tempo gasto (dTime) necessário para interagir com a equipe de suporte, bem como dos custos incorridos.
Custo Global
O processo de descartar ou reverter o sistema envolve o custo do tempo (dTempo) e o processo de portabilidade (pPort). O custo pode ser determinado da mesma forma que o custo de transferência de dados para a nuvem.
Revisão Sistemática
- Planejamento da RSL
- Condução da RSL
- Relatório da RSL
- Considerações
O objetivo da fase quatro é selecionar apenas artigos relacionados ao tópico de pesquisa relacionado, apresentar avaliações de custo de infraestruturas locais e em nuvem e correlacionar a execução de aplicativos com requisitos de alto desempenho em ambientes de nuvem. Objetivo: realizar uma avaliação abrangente de três aspectos principais da execução de aplicativos HPC na nuvem: implantação, desempenho e economia.
Síntese
Conforme caracterizado em (DREHER et al., 2017; . GUERRERO et al., 2014), a análise de custo deve tanto identificar o tipo de nuvem a ser implementada, privada ou pública, sem desconsiderar a hipótese de implementação híbrida (GUPTA et al ., 2016; SADOOGHI et al., 2017). Também foi identificado que, com exceção da obra T11 (EMERAS et al., 2019), os modelos de custos apresentados visam atender às necessidades dos usuários quanto à análise de custos.
Oportunidades de Pesquisa
Trabalhos Relacionados
Nos benchmarks, os provedores de nuvem obtiveram melhor desempenho e eficiência de custo do que o cluster local. No trabalho de (ARABNEJAD; BUBENDORFER; NG, 2017) (T07) são apresentados dois algoritmos, o proporcional deadline constained (PDC) e o deadline constained critical path (DCCP) que abordam o problema de escalonamento de fluxos de trabalho em recursos de nuvem que dinamicamente é abordado.
Premissas Básicas
A infraestrutura
Os servidores de processamento em um local são interconectados por uma rede de comunicação. Na implementação atual do simulador, o modelo de rede fornece canais de comunicação bidirecional entre os servidores de processamento.
A camada de virtualização
Na implementação atual do simulador, são apresentadas três famílias de instâncias, que fornecem três diferentes capacidades de processamento para máquinas virtuais: default, small e fat. As capacidades de processamento dessas diferentes famílias de casos são apresentadas juntamente com a caracterização dos experimentos.
O usuário
Primeiro, os recursos de processamento fornecidos pelas famílias de exemplo são diferentes daqueles fornecidos pelas famílias bare metal, com apenas uma relação proporcional entre eles. Outras famílias para máquinas virtuais podem ser introduzidas, introduzindo novos valores para atributos de processamento.
Aplicações
O fluxo de trabalho Sipht, Figura 4.a, do Projeto de Bioinformática da Universidade de Harvard, é usado para automatizar a busca de RNAs não traduzidos (sRNAs) em replicons bacterianos no banco de dados NCBI5 (National Center for Biotechnology Information). O fluxo de trabalho do LIGO, Figura 4b, no entanto, analisa dados de fusões de sistemas binários compactos, como estrelas binárias de nêutrons e buracos negros.
O escalonamento
Essas políticas de agendamento são definidas nos níveis de mapeamento de tarefas para máquinas virtuais e mapeamento de máquinas virtuais para servidores de processamento. Portanto, esse nível de escala não oferece suporte à priorização ou migração de tarefas entre máquinas virtuais.
Contabilidade e utilização
Neste trabalho, é considerada a bifurcação do projeto CloudSim Plus11, que traz diversas melhorias de desempenho à versão original (SILVA FILHO et al., 2017). O uso deste simulador tem se destacado na avaliação de estratégias de escalabilidade de nuvem em níveis de escalabilidade de carga de trabalho entre máquinas virtuais e máquinas virtuais entre máquinas host, como em (BENDECHACHE et al., 2019), (NARANG; GOSWAMI ; . JAIN, 2019) e (NARANG; GOSWAMI; JAIN, 2021).
Núcleo de simulação
O relógio global da simulação avança para a data do primeiro evento da lista de eventos futuros e mantém esta data inalterada até que o tratamento deste evento seja concluído. Durante a execução de um evento, novos eventos podem ser criados e adicionados à lista de eventos futuros.
Componente
Em um loop contínuo, enquanto o critério de término da simulação não é alcançado, o kernel da simulação executa as seguintes ações. Novos eventos podem ser programados para receber tratamento na mesma data do evento originário ou em uma data futura.
Eventos
Esses eventos obedecem à datação global do relógio e podem ser programados para uma data futura ou tratados imediatamente como resultado do tratamento de um evento em andamento. Exemplos de eventos endógenos com tratamento imediato: suspender a execução de uma máquina virtual com base em uma decisão do mecanismo de escalonamento - provavelmente devido à detecção de um desequilíbrio de carga - ou alterar o status de um BoT para pronto para uso uma vez que todas as suas dependências sejam satisfeito.
Diagrama de classes
Adiciona à conta do usuário o uso de um servidor de processamento para um número especificado de instruções. Esta classe deve ser especializada a partir de classes que especificam atributos de acordo com as características desejadas para o servidor de processamento.
Classes para escalonamento
O escalonamento das máquinas virtuais entre os servidores de processamento de um site é feito pelo método nodeScheduling. Sua implementação visa promover a migração de máquinas virtuais entre servidores de processamento em um site em prol do balanceamento da carga computacional.
Entradas para o Simulador
Em um arquivo .pas, a ordem de inserção dos usuários é relevante, pois se refere ao identificador associado ao usuário no processo de simulação. Na segunda coluna do arquivo .inf informa-se a data, em tempo de simulação, em que o servidor começa a funcionar e na terceira coluna a família bare metal que compõe a arquitetura do servidor.
Saídas Oferecidas
Estratégias de Escalonamento
A primeira ação de dimensionamento é mapear as máquinas virtuais para os servidores de processamento disponíveis. O balanceamento de carga entre os servidores de processamento tem como objetivo distribuir a carga de computação pelos recursos de computação de um site.
Conclusão do Capítulo
Caso o balanceamento de carga entre os servidores de processamento falhe, o balanceamento de carga entre os servidores de página pode ser ativado. Outro ponto forte é também a possibilidade de introduzir estratégias de escalonamento em cinco níveis diferentes: (i) tarefas em máquinas virtuais, (ii) máquinas virtuais em servidores de processamento, (iii) entre servidores de processamento pertencentes ao mesmo site, (iv) entre servidores de processamento servidores pertencentes a sites diferentes e, ainda, (v) entre recursos de processamento de uma nuvem federada e uma nuvem pública.
Infraestruturas Modeladas
Neste trabalho, o objetivo é observar o impacto do uso de técnicas de cloud bursting no desempenho e custo de uma rede acadêmica federada. Os cenários propostos para este estudo de caso buscam reduzir o número de variáveis observadas para destacar apenas as consequências da aplicação do cloud fracturing em uma nuvem federada.
Aplicações Modeladas
O valor por hora de uso básico foi calculado conforme a equação 16, onde o investimento corresponde ao custo de aquisição da máquina nesta configuração, 8760 o número de horas no ano3 e 0,20 corresponde à taxa de depreciação anual do equipamento adquirido4. No exercício realizado, tanto os usuários quanto os aplicativos são distribuídos uniformemente entre sites de nuvem federados, portanto, não há heterogeneidade nos requisitos.
Metodologia de Avaliação
A estratégia primeiro executa o balanceamento de carga entre os sites e, em seguida, avalia a necessidade de intermitência. A estratégia primeiro realiza o balanceamento de carga entre os servidores de processamento do site e, em seguida, avalia a necessidade de intermitência.
Baixa Demanda Computacional
- Infraestrutura de baixa capacidade
- Infraestrutura de média capacidade
- Infraestrutura de alta capacidade
- Comparação: Execução de aplicações com Baixa Demanda
Com base nos dados apresentados, podemos concluir que o cenário de uma infraestrutura pobre em recursos de processamento que suportam a execução de uma aplicação com baixa demanda computacional tem melhor desempenho quando recursos adicionais são adicionados à nuvem federada por cloud bursting: o melhor o tempo de execução foi obtido com o caso 5. Os dados apresentados permitem concluir que o cenário de uma infraestrutura que fornece uma grande quantidade de recursos de processamento para suportar a execução de uma aplicação com baixo requisito computacional não se beneficia da introdução do cloud burst.
Média Demanda Computacional
- Infraestrutura de baixa capacidade
- Infraestrutura de média capacidade
- Infraestrutura de alta capacidade
- Comparação: Execução de aplicações com Média Demanda
A infraestrutura de média capacidade é composta por uma nuvem federada de três sites, com cada site oferecendo quatro servidores de processamento com 12 núcleos físicos rodando a uma velocidade de 100.000 MIPS cada núcleo. A infraestrutura de alta capacidade inclui uma nuvem federada de três sites, com cada site oferecendo quatro servidores de processamento com 24 núcleos físicos rodando a uma velocidade de 100.000 MIPS cada núcleo.
Alta Demanda Computacional
- Infraestrutura de baixa capacidade
- Infraestrutura de média capacidade
- Infraestrutura de alta capacidade
- Comparação: Execução de Aplicações com Alta Demanda
Na Tabela 22, o tempo é apresentado em segundos e corresponde ao tempo registrado ao final da última execução da tarefa. Na Tabela 23, o tempo é apresentado em segundos e corresponde ao tempo registrado ao final da última execução da tarefa.
Discussão
Porém, ao utilizar uma infraestrutura de nuvem pública, através da estratégia de escalonamento do Caso 5, os tempos médios de execução são bastante atrativos, com um custo de execução para o conjunto de representações ligeiramente superior ao custo obtido utilizando apenas a infraestrutura federada. Os dados apresentados na Tabela 24 e todas as outras informações de tempo de atividade apresentadas anteriormente neste capítulo confirmam o senso comum de que aumentar a capacidade de uma infraestrutura de processamento físico melhora o desempenho em termos de tempo de atividade da rede. carga de trabalho entregue, levando em consideração o uso de uma estratégia de escalonamento adequada.
Conclusão do Capítulo
Para aplicações maiores e com alta demanda computacional, com tempos de execução superiores a 300 horas (infraestrutura média com escalonamento Caso 5, infraestrutura grande com escalonamento Casos 4 e 5), os tempos também foram muito interessantes, variando de cerca de 200 a 300 segundos de simulação tempo. É um simulador que visa analisar o desempenho de aplicações em nuvens computacionais, levando em consideração diferentes estratégias de escalonamento e a possibilidade de cloud bursting.
Trabalhos Futuros
Understanding the Performance and Potential of Cloud Computing for Scientific Applications. IEEE Transactions on Cloud Computing, New York, USA, v.5, n.2, p.358–371, April In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH COMPUTING (SBAC-PAD Campinas, Brazil.Anais.