¿Mono implementa la biblioteca de Tarea paralela? Si es así, ¿cómo se compara el rendimiento entre .NET y mono.Implementación de la biblioteca de tarea paralela en mono?
Respuesta
Esto se implementó en la versión Mono 2.6.
ParallelFx
Esta versión incluye algunos componentes del marco ParallelFx que fueron desarrollados como parte del Google Summer of Code 2008 & 2009. Más precisamente, contiene la biblioteca de tareas en paralelo y Datos Estructuras para la coordinación.
Usando ParallelFx, puede desarrollar fácilmente un software que pueda aprovechar automáticamente el potencial paralelo de las máquinas multinúcleo actuales. Para ese propósito, varios nuevos constructos como futuros, bucles paralelos o colecciones concurrentes ya están disponibles.
Para utilizar este código, debe habilitar manualmente el perfil .NET 4 utilizando el parámetro --with-profile4 = yes en la etapa de configuración.
En mi propia experiencia, tengo un programa altamente paralelo en C# para el aprendizaje y la clasificación de los datos de secuencia de genes que hace un uso muy intensivo de las operaciones de biblioteca de tareas paralelas como Parallel.ForEach, Parallel.For, Tarea .Factory.StartNew(), y muchas estructuras de Collections.Concurrent namespace (Blocking Collections, Concurrent Dictionaries, Concurrent Bags, etc.). En resumen, el rendimiento de mi aplicación en Linux usando mono es muchas veces más lento. Todavía estoy tratando de resolver esto. Puedo ejecutarlo desde la consola mono en Windows con un rendimiento similar.
He experimentado con el uso del recolector de basura sgen de mono en vano. El rendimiento de mi aplicación en un servidor Linux que se ejecuta con mono aún es mucho más lento.
aprendizaje 8.258 secuencias: doce y diecisiete vs. 01:59 m: ss en Linux
Clasificar 921 secuencias: 2.29 segundos vs. 11:05 mm: ss en Linux
Ver capturas de pantalla a continuación.
Jake, ¿qué versión de Mono estás usando? ¿Alguna vez viste una mejora con este rendimiento? – Boots
Estaba usando Mono 3.2.3. Nunca pude resolver esto y abandoné Mono por completo para este proyecto. Construí una caja de Windows con dos procesadores hexacore refrigerados por líquido y 128 GB de RAM. Sin embargo, tendría una tonelada de recursos de la universidad a mi disposición, si pudiera obtener un buen rendimiento en Linux ...Es posible que la versión Mono en Linux fuera un poco más antigua, pero al menos debería haber soportado .NET 4.5. De lo contrario, mi programa no se habría ejecutado. –
¿Usted intentó cambiar las min/maxthreads?
System.Threading.ThreadPool.SetMaxThreads(mWorker, mWorker);
System.Threading.ThreadPool.SetMinThreads(10, 10);
Usted está operando mucho más allá de mí, pero descubrí que no se hacía nada. ¡Así que lo configuré en 5 * cantidad de núcleos de CPU y salió directamente!
- 1. Tarea Biblioteca paralela vs Sincronización nativa de subprocesos
- 2. Cómo programar una tarea para su futura ejecución en la Tarea Biblioteca paralela
- 3. Tarea paralela biblioteca INotifyPropertyChanged NO lanzando una excepción?
- 4. ¿Cómo encadenar operaciones asíncronas con la biblioteca de tarea paralela en .NET 4?
- 5. ¿La biblioteca de tarea paralela (o PLINQ) tiene en cuenta otros procesos?
- 6. Administración de excepciones de la biblioteca paralela de tareas
- 7. Deteniendo una tarea java paralela con ant
- 8. Biblioteca aritmética de precisión arbitraria paralela
- 9. Uso de la biblioteca paralela de tareas con múltiples computadoras
- 10. Biblioteca de zócalo/red compatible mono
- 11. Implementación de la biblioteca de comprobación de licencias
- 12. ¿Reemplazo de biblioteca paralela de tareas para BackgroundWorker?
- 13. ¿Cómo afectan las Tareas en la Biblioteca paralela de tareas a ActivityID?
- 14. cada implementación en la biblioteca underscore.js
- 15. Algoritmo de ordenación paralela
- 16. Construcción paralela de una matriz de distancia
- 17. ¿Hay una implementación de matriz dispersa en la biblioteca .NET?
- 18. Mejor biblioteca gráfica para .NET/Mono
- 19. ¿Puedo usar la biblioteca paralela de tareas en un proyecto .Net 3.5?
- 20. Implementación de VoIP usando la biblioteca SIP de Java
- 21. Rails Tarea de fondo de la tarea
- 22. Herencia paralela entre clases de interfaz y clases de implementación en C++
- 23. ¿Los subprocesos iniciados por la Biblioteca paralela de tareas actúan como subprocesos de primer plano?
- 24. ¿Cuál sería una mejor forma de usar la biblioteca paralela de tareas
- 25. Ejemplo de una anomalía de aceleración paralela
- 26. Error en la tarea de implementación web. (No se ha podido completar la solicitud)
- 27. P/Invoke en Mono
- 28. Multiplicación de matriz paralela
- 29. ¿Puede la Biblioteca paralela de tareas .NET 4 usar objetos COM?
- 30. optimización paralela en R
respuesta parcial: sí mono implementa la tarea biblioteca paralela: http://www.mono-project.com/Release_Notes_Mono_2.6#ParallelFx –