Más allá de las mejoras constantes en las arquitecturas físicas, uno de los mayores desafíos se centra en cómo aprovechar al máximo su potencia. En los últimos años, uno de los cambios de mayor impacto ha sido el uso de manera masiva de procesadores con más de un núcleo (multinúcleo o multicore). La combinación de varios de estos procesadores ha producido plataformas híbridas (con memoria compartida y distribuida), llevando a la necesidad de desarrollar sistemas operativos, lenguajes y algoritmos que las usen adecuadamente. En el presente artículo el objetivo se centra en realizar un análisis comparativo de los diferentes modelos de programación paralela existentes, aplicados a problemas de simulaciones discretas. Se presenta como caso de estudio y experimentación la solución al problema Sharks and Fishes, analizando eficiencia y escalabilidad de los algoritmos implementados.