Pregunta

Pregunta :

  • ¿Cómo es la simulación por computadora, típicamente intensiva en recursos?

Por ejemplo, Simul8 : un paquete de simulación de eventos discretos: ¿por qué es esto computacionalmente? intensivo, ¿qué factores (cálculos) contribuyen a esto?

¿Fue útil?

Solución

La simulación de eventos discretos es un término extremadamente amplio; puede simular cualquier cosa, desde un puesto de limonada, hasta transacciones y logística de una empresa multinacional, hasta sistemas de software complejos, hasta arquitecturas informáticas novedosas que aún no existen (y son mucho más complejas y avanzadas que la máquina en la que se ejecuta la simulación).

Usaré un ejemplo de mi campo (arquitectura de computadora), pero las formas en que es computacionalmente caro deberían generalizarse bastante bien. Muchas veces, está tratando de simular un sistema distribuido, que muchos agentes algo independientes con su propia lógica de control más simple, que juntos implementan una dinámica muy compleja. En el caso de los sistemas informáticos, el conjunto de trabajo combinado del simulador es al menos tan grande como el estado arquitectónico, microarquitectónico y de memoria de todos los componentes constituyentes combinados. Si cada componente es incluso modestamente complejo, esto significa que su localidad temporal y espacial a medida que completa cada paso de tiempo de la simulación disminuye drásticamente. La mala utilización de la memoria caché implicada por la necesidad de ejecutar todo el conjunto de trabajo cada paso de tiempo puede afectar el rendimiento en uno o dos órdenes de magnitud. Este patrón es inevitable, ya que ejecutar cada componente de forma independiente durante varios pasos de tiempo y solo fusionar los resultados periódicamente es problemático, y más aún cuanto más complejo y acoplado sea su sistema.

Además, a menudo desea mantener todo tipo de estadísticas que introducen una considerable sobrecarga adicional de espacio y tiempo por encima de la simulación de componentes.

En resumen, su límite inferior es la suma de la complejidad de todos los componentes de su simulación. En la práctica, se introduce una gran ineficiencia si tiene muchos componentes, si sus componentes son más complejos o incluso son muy diferentes que la máquina host en la que se ejecuta la simulación, y si tiene una cantidad significativa de instrumentación.

Una última cosa: la simulación de eventos discretos a menudo implica colocar elementos en colas y encontrar en qué cola colocar una solicitud basándose en perseguir un montón de punteros. Estas operaciones son difíciles de paralelizar, lo que complica aún más las cosas. Sin embargo, como mencioné anteriormente, el término simulación de evento discreto puede abarcar desde lo trivial hasta lo imposible, por lo que es difícil extraer patrones generales.

Otros consejos

La simulación por computadora generalmente ejecuta múltiples escenarios rápidamente y los compara.

Por ejemplo, las simulaciones financieras generalmente se ejecutan con una simulación monte-carlo con muchos miles de corre.

  

Una simulación generalmente puede involucrar   más de 10,000 evaluaciones del modelo,   una tarea que en el pasado era solo   práctico usando super computadoras.   - http://www.vertex42.com/ExcelArticles/mc/MonteCarloSimulation.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top