Skip to content

Simulação e programação na nuvem

  • AUTHOR
  • Simio Staff
Baixar a versão em PDF

Computação em nuvem

A computação em nuvem baseia-se no compartilhamento de recursos de computador localizados em locais remotos e que são acessados e controlados pelo usuário pela Internet. O termo "nuvem" é usado como metáfora para "a Internet".

A computação em nuvem oferece às empresas acesso sob demanda a um pool compartilhado de recursos de computação configuráveis e a uma variedade de softwares. A computação em nuvem permite que as empresas façam mais e com mais rapidez, aproveitando o poder de enormes data centers e serviços de TI sem precisar construí-los, gerenciá-los e mantê-los. Esses data centers podem ser dimensionados rapidamente para fornecer 10.000 processadores para aplicativos de computação intensiva.

As vantagens econômicas da nuvem estão levando as empresas a adotarem essa estrutura para muitas funções essenciais de negócios, incluindo gerenciamento de vendas e de relacionamento com o cliente, comunicações e sistemas completos de planejamento de recursos empresariais. A economia em tecnologia da informação decorre da manutenção de uma única versão de software na instalação em nuvem, evitando a necessidade de instalar e manter o software em vários computadores em toda a organização, bem como o custo de construção e manutenção de data centers. Além disso, os aplicativos de software podem ser acessados de qualquer lugar, incluindo dispositivos móveis, como tablets.

Embora os aplicativos de simulação e programação baseados em nuvem ofereçam muitos dos mesmos benefícios econômicos que outros aplicativos corporativos, eles também podem aproveitar de forma exclusiva o poder computacional da nuvem para melhorar drasticamente o valor comercial desses aplicativos.

Simulação

A modelagem de simulação se tornou uma tecnologia essencial para o século XXI. Ela é usada por empresas em todo o mundo para aprimorar o projeto e a operação de sistemas complexos. A tecnologia de simulação está em um estado de rápida mudança. A tecnologia está se tornando mais avançada, mais fácil de usar e útil para uma gama cada vez maior de aplicativos.

Os modelos de simulação são usados para comparar projetos alternativos ou otimizar parâmetros de projeto. Por exemplo, em um aplicativo de fabricação, podemos usar um modelo de simulação para comparar diferentes conceitos de manuseio de materiais, dimensionar buffers de entrada em cada estação de trabalho ou determinar o número de AGVs necessários para lidar com as transferências esperadas entre as estações de trabalho. Cada combinação possível de valores de entrada no modelo produz um cenário separado que queremos comparar com todos os outros cenários possíveis em consideração.

Em um projeto de simulação típico, podemos ter muitos cenários diferentes para comparar. Por exemplo, podemos ter vários parâmetros de design diferentes, em que cada parâmetro tem uma faixa de valores possíveis, com um grande número de combinações resultantes. Cada combinação específica de valores define um cenário específico a ser avaliado.Além disso, como os modelos de simulação normalmente têm variação aleatória como parte do modelo, cada cenário deve ser replicado várias vezes para obter estimativas confiáveis de desempenho.Por exemplo, podemos ter 100 cenários para comparar, em que replicamos cada cenário 50 vezes, exigindo um total de 5.000 replicações. Se cada replicação exigir 10 minutos para ser executada, o experimento inteiro exigiria mais de um mês para ser executado em um único computador funcionando 24 horas por dia.Na maioria dos casos, essa duração não é aceitável e, portanto, menos cenários são examinados e/ou menos replicações são feitas. Avaliar menos cenários pode resultar na possível perda de boas soluções. Fazer menos replicações de cada cenário pode resultar em uma seleção ruim com base no erro de amostragem do modelo.

A computação em nuvem oferece a solução ideal para esse problema. Um usuário pode utilizar a nuvem para escalonar até 5.000 processadores pelos próximos 10 minutos, de modo que todas as 5.000 replicações possam ser executadas em paralelo. Assim, em vez de esperar mais de um mês para obter os resultados completos do experimento, o usuário pode obter o conjunto completo de resultados em 10 minutos. O usuário só paga por esse enorme poder de processamento pelo período de 10 minutos em que ele é necessário.

Embora a simulação se beneficie de outras vantagens comerciais padrão oferecidas pela nuvem, é a capacidade de aumentar a escala para executar simultaneamente várias replicações que a torna ideal para a execução de experimentos de simulação. Os tomadores de decisão agora podem comparar um grande número de cenários candidatos sem esperar muito tempo pelos resultados.

Agendamento

Embora a simulação tenha sido tradicionalmente aplicada ao problema de projeto, ela também pode ser usada em uma base operacional para gerar programações de produção para o chão de fábrica. Quando usada nesse modo, a simulação é um Programador de Capacidade Finita (FCS) e compete com outros métodos de FCS, como algoritmos de otimização e sequenciadores de trabalho por vez. No entanto, o FCS baseado em simulação tem várias vantagens importantes que o tornam uma solução poderosa para aplicativos de programação.

A simulação oferece um método simples, porém flexível, para gerar uma programação de capacidade finita para o chão de fábrica. A abordagem básica da programação baseada em simulação é executar o modelo da fábrica usando o estado inicial da fábrica e o conjunto de pedidos planejados a serem produzidos. As regras de decisão são incorporadas ao modelo para tomar decisões de seleção de máquinas e roteamento. A simulação constrói uma programação simulando o fluxo de trabalho na instalação e tomando decisões "inteligentes" com base nas regras de programação especificadas.

Ao contrário da simulação no projeto de fabricação, nos aplicativos de programação estamos lidando com dados determinísticos. Todos os recursos de uma ferramenta de modelagem tradicional que nos ajudam a interpretar os resultados de um processo aleatório são de pouca valia para nós. Presumimos que temos informações completas sobre o sistema, inclusive roteiros, tempos de processamento/configuração, requisitos de material, programações de entrega etc. Presumimos que toda a aleatoriedade do sistema está ausente.

À medida que executamos o sistema real, normalmente ocorrem eventos aleatórios: máquinas quebram, trabalhadores chegam atrasados ou nem chegam, e o material chega atrasado. Esses eventos não planejados normalmente invalidam nossa programação atual e, em muitos casos, isso exige que regeneremos a programação usando nossas novas informações.Em qualquer momento, nosso cronograma nos dá uma imagem do que acontecerá se não ocorrerem eventos não planejados. Na realidade, muitas vezes acabamos com um cronograma que é modificado por eventos não planejados e é pior do que o cronograma atual. A variabilidade no sistema geralmente degrada o desempenho ao longo do tempo.

Ao adicionar automaticamente eventos aleatórios ao nosso modelo de programação (por exemplo, avarias, faltas, etc.) e replicar o processo de geração de programação várias vezes, podemos obter medidas sobre o número esperado de trabalhos atrasados, atraso médio, etc.

No entanto, ao reagir a um evento não planejado no chão de fábrica, muitas vezes é preciso agir imediatamente e não há tempo para esperar a conclusão de 50 ou mais replicações do modelo de simulação.No entanto, o poder da nuvem nos permite executar todas as 50 réplicas no mesmo tempo que normalmente levaria para executar uma única réplica em um computador desktop. Usando a nuvem, você pode aumentar rapidamente o número necessário de processos durante os poucos minutos necessários para analisar o risco associado à nova programação.

Por exemplo, cada estação de trabalho pode precisar de uma lista de "trabalho a" que resuma o fluxo de trabalho esperado na estação de trabalho, cada gerente de linha pode precisar de relatórios/painéis resumidos que destaquem as principais medidas de desempenho da linha e o gerente de produção pode precisar de relatórios/painéis separados que destaquem as medidas de desempenho de toda a instalação. A nuvem fornece um mecanismo ideal para publicar e disponibilizar esses resultados para os usuários de toda a empresa em qualquer dispositivo habilitado para a Internet, inclusive tablets móveis.

Conclusões

A conveniência e os benefícios econômicos estão impulsionando a migração de muitos aplicativos corporativos para a nuvem. A simulação e o planejamento e a programação baseados em risco compartilham esses mesmos benefícios, mas também se beneficiam da capacidade de dimensionar rapidamente o número de nós de computação para executar muitas réplicas de simulação em paralelo. As pesadas demandas computacionais da simulação e do planejamento e programação baseados em risco, juntamente com a capacidade de executar experimentos espalhando réplicas pelos processadores, tornam esses aplicativos ideais para a nuvem.

Baixar a versão em PDF