Pregunta

Busco a un hardware, que debe ejecutar alrededor de 256 en tiempo real tareas concurrentes computacionalmente intensivas en el modo de 24 horas (una aplicación multi-hilo C). Cada tarea dura unos 40-50 MFLOPs, por lo que todas las tareas requieren unos 10 GFLOPs. velocidad de la CPU-RAM es insignificante. Todas las tareas deben ser gestionados por un núcleo de Linux (32 bits, con SMP).

Estoy buscando una solución de una sola placa base con una CPU de varios núcleos (si existe tal CPU). Si no existe tal CPU, entonces necesito una solución entre placas mulit-socket (con CPUs múltiple).

¿Me podría recomendar ninguna solución CPU / Placa base profesional que va a satisfacer esos requisitos? También es muy importante que no hay problemas con el kernel de Linux (2.6.25). Sin virtualización, no necesita en gran RAM o caché de la CPU. Yo también preferiría la arquitectura Intel y estabilidad bien probada. Todavía tengo dudas de que es factible en absoluto.

Gracias de antemano.

ACTUALIZACIÓN: Creo que he encontrado una respuesta correcta aquí y aquí .

¿Fue útil?

Solución

UltraSPARC T2 tiene 8 núcleos con 8 hilos de cada una. Memoria de alto ancho de banda integrada e IO. El T5140 lleva dos de ellos por 128 hilos de hardware.

  

El rendimiento bruto max teórica de las 8 unidades de punto flotante es 11 Giga fracasos por segundo (GFLOPS / s). Una gran ventaja sobre otras implementaciones sin embargo es que 64 hilos pueden compartir las unidades y por lo tanto pueden lograr un porcentaje extremadamente alto de pico teórico. Nuestros experimentos han alcanzado casi el 90% de los 11 Gflop / s. - ( http://blogs.oracle.com/deniss/entry/floating_point_performance_on_the )

Otros consejos

  1. Alquile algunos nodos de Amazon EC2.

  2. Actualización : ¿Qué hay de la PS3 de entonces? La NASA los usa para sus motores de simulación.

  3. Tal vez el uso de CPU + GPU en servidores comerciales?

  4. Construir alrededor FPGAs : hoy en día, algunas variantes se incluyen los procesadores puede ejecutar Linux.

A pesar de que nos ha proporcionado las especificaciones que cree que necesita, que podría ser capaz de ayudarle mejor si nos dice lo que la aplicación está destinada a lograr, y cómo se implementó.

Puede haber una mejor manera de dividir el trabajo hacia arriba o tratar con él en lugar de la solución actual.

No arquitectura Intel pero estos Linux plazo y tienen 64 núcleos en un solo dado.

TILEPro64

Obtener un grupo de cuatro o de ocho núcleos máquinas y dividir el procesamiento a través de las máquinas utilizando algún tipo de rejilla o software de clustering. Tal vez echar un vistazo a Beowulf .

Como se ha mencionado, 10GFlops no es exactamente ser despreciable por lo que en una sola máquina, va a ser caro. También está el problema de lo que se hace cuando se rompe la máquina, es poco probable que tenga una segunda máquina de especificaciones similares disponibles. Si se construye un clúster utilizando hardware comercial, eres un poco más resistente y es más fácil de encontrar máquinas de reemplazo.

MFLOPS y GFLOPS son indicadores muy pobres de lo bien que un programa puede ejecutarse en cualquier CPU dado. En estos días, la huella de la memoria caché es mucho más importante; quizás rama precisión de la predicción también.

Casi no hay manera de medir el rendimiento de una aplicación dada en diferentes arquitecturas sin llegar a dar una vuelta. Y aun así, no se puede obtener una buena idea si tuvieron la mala suerte de construir, sin saberlo, con opciones de compilación que arruinaron su huella de memoria caché, o utilizan una librería de hilos malo, o cualquiera de un centenar de otras cosas.

Veo prefiere Intel, pero si usted necesita un chip, voy a sugerir de nuevo el procesador celular - su máximo rendimiento teórico es 25GFlops arount - kernel 2.6.25 tenía apoyo a ella ya.

Usted podría tratar de una PlayStation pre-delgado 3 para experimentar con (que le costaría poco) o conseguirse una solución basada en un servidor en alrededor de US $ 8K - que tendremos que volver a escribir y ajustar sus procesos para hacerse advabtage de los co-procesadores SPU allí, pero se puede lograr sus necesidades computacionales sin romper a sudar con una sola célula (1 + 8 PPC núcleo del SPU)

NB .: con una PlayStation 3, que tendría sólo 6 co-procesadores disponibles - pero usted no ve que en un presupuesto con este proyecto - Por lo que podría al menos tratar kit de desarrollo de células de IBM, que ofrece un emulador, para ver si se puede codificar su solución a correr en él.

Thre son productos celulares disponibles en el mercado, tanto como servidores independientes en forma de hoja de fábrica, y PCI Express en los tablones para estaciones de trabajo de Mercury Computer Systems: http://www.mc.com/microsites/cell/products. aspx? id = 6986

El mercurio no muestra ningún precios en el sitio, pero el precio seens estar alrededor del previoulsy mencionó U $ 8000.00 para estas tarjetas PCI Express.

Un videojuego PlayStation 3 se puede comprar por alrededor de U $ 300,00 - y le permitiría a un prototipo de su aplicación, y comprobar si es hasta el rendimiento necesario. (Yo mismo tengo uno y tienen Fedora 9 se ejecutan en él, aunque lo hice como un AMATEUR y no han, hasta ahora, que se utiliza para cualquier cálculo - Yo también había reunido un grupo de Playstation-3 12 machinne para simulaciones moleculares en el Universidad local. la aplicación se ejecutan no tomar ventaja de la SPU multimedia, mientras que estaba en contacto con el entonces. Pero aún así, velocidad de reloj de 3,5 GHz que se comportó mejor que el estándar, los precios correspondientes imlarly, PC, incluso teniendo en cuenta de PS3 tienen un precio de 5x más alta por aquí)

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