Pergunta

Pergunta:

  • Como é a simulação de computador, normalmente recurso intensivo?

Por exemplo, SIMUL8 : um pacote de simulação discreta de eventos - por que isso é computacionalmente intensivos, que fatores (cálculos) contribuir para isso?

Foi útil?

Solução

Discrete simulação de eventos é extremamente termo amplo; você pode simular qualquer coisa de uma banca de limonada, para uma multinacional transações e logística empresarial, para sistemas de software complexos, a novas arquiteturas de computadores que ainda não existem (e são muito mais complexas e avançadas do que a máquina em que a simulação é executada).

Vou usar um exemplo da minha área (arquitetura de computadores), mas as formas em que é computacionalmente caro deve generalizar razoavelmente bem. Muitas vezes, você está tentando simular um sistema distribuído, o que muitos agentes de certa forma independente com a sua própria lógica de controle mais simples, que juntos implementar uma dinâmica muito complexa. No caso de sistemas de computação, o conjunto de trabalho combinado do simulador é pelo menos tão grande como a de arquitectura, estado da microarquitectura, e a memória de todos os componentes constituintes combinados. Se cada componente é ainda modestamente complexo, isso significa que sua localidade temporal e espacial ao completar cada iteração da simulação é drasticamente diminuída. A utilização de cache pobres decorrente necessidade de percorrer todo o conjunto de trabalho cada iteração pode afetar o desempenho de um a dois ordens de magnitude. Este padrão é inevitável, como a execução de cada componente independentemente para múltiplas Timesteps e apenas fundir os resultados periodicamente é problemático, e tanto mais quanto mais complexo e juntamente seu sistema é.

Além disso, muitas vezes você quer manter todos os tipos de estatísticas que introduzem espaço adicional considerável e sobrecarga de tempo acima da simulação componente.

Em suma, o limite inferior é a soma da complexidade de todos os componentes da sua simulação. Na prática, há uma grande quantidade de ineficiência introduzida se você tem muitos componentes, se seus componentes são mais complexas ou mesmo substancialmente do que a máquina host no qual a simulação é executada, e se você tiver qualquer quantidade significativa diferente de instrumentação.

Uma última coisa: simulação de eventos discretos muitas vezes envolve a colocação de itens nas filas e descoberta que fila em que para colocar um pedido baseado no perseguindo um bando de ponteiros. Estas operações são difíceis de paralelizar, o que complica ainda mais as coisas. No entanto, como já referi anteriormente, o termo "simulação de eventos discretos" pode abranger desde o trivial para os, de modo que extraem padrões gerais impossíveis é difícil.

Outras dicas

A simulação por computador normalmente é executado vários cenários rapidamente e compará-los.

Por exemplo, simulações financeiras normalmente são executados com um Monte-Carlo simulação com muitos milhares de runs.

A simulação pode normalmente envolvem mais de 10.000 avaliações do modelo, uma tarefa que no passado era apenas práticos usando super computadores. - http://www.vertex42.com/ExcelArticles/mc/MonteCarloSimulation.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top