2010-10-26 17 views
26

¿Qué es la plataforma Azul "Zing"?
Visitar el sitio de Azul (link) se convirtió en un horror publicitario, y después de leerlo un poco, todavía no tengo ni idea.¿Qué es Azul "Zing"?

¿Alguien tiene alguna experiencia con él? ¿Cuáles son los requisitos para que su aplicación sea "Zing" -ed? (¿Zing-able?) Si, por ejemplo, tengo una aplicación que carga un gráfico de objeto en la memoria y lo atraviesa constantemente (por lo que la mayor parte está "caliente"; no puede almacenar partes en tiendas de datos lentos) - ¿Azul puede ayudarme? (Ya sé que Terracotta BigMemory no puede ...)

Quiero aclarar: estoy buscando comentarios de alguien que realmente "zingificó" su producto y lo puso en Azul VM con éxito (o lo vio) no funciona).

Ran.

[Editar 1 - añadió el vínculo] [Editar 2- Experiencia quería]

+0

Incluso si la página es un horror de marketing, sería útil vincularla. –

+0

@Joachim - tienes razón. hecho. –

Respuesta

29

Recuerde lo que Azul usó para do: hacer dispositivos Java multinúcleo personalizados. Una máquina Azul podría tener 60 o 100 núcleos y había todo tipo de astucia para aprovechar la paralelización (la que me impresionó fue el bloqueo optimista: un hilo que se suponía que obtendría un bloqueo solo suponía que tenía el bloqueo y se adelantó y si resultó más tarde que, no, se suponía que debía haber bloqueado, de alguna manera deshizo todos sus cambios y regresó y esperó).

El problema es, por supuesto, que el hardware personalizado es un cementerio. Azul había pasado todo este tiempo haciendo software para hardware que nadie compraría. Entonces, como corporación, imitaron su propio producto: respaldaron, deshicieron sus cambios y transfirieron todas sus astucias (el bloqueo optimista, el hipervisor, otras cosas) de hardware personalizado a máquinas multinúcleo de productos básicos, así que en vez de pagar $ 100,000 por un 80 máquina de punta, puede gastar $ 20,000 para 10 máquinas de ocho núcleos en una nube *.

[* Todos los números extraídos quirúrgicamente de mi anatomía. ]

¿Es una buena idea? ¿Funciona? No lo sé, pero espero que sí. Conocí a todos los chicos Azul en el JavaOne 2003 y realmente me impresionaron.

+1

pero no tiene ninguna experiencia real con su producto, ¿verdad? –

+0

No, pero tal vez deberías estar pidiendo referencias a Zing. – Malvolio

+0

recompensa otorgada, pero es (casi) la elección de Hobson. Lo siento, estaba buscando una respuesta crítica basada en la experiencia. Tal vez debería haber ofrecido una recompensa más grande? –

12

En pocas palabras - es una JVM "especial" que es de buen calidad. Es decir. en lugar de usar la JVM solar, usas Zing. Sin ningún cambio de código. Entonces, en teoría, todas las aplicaciones son "zingable". Sin embargo, no puedo decirte si las afirmaciones de un rendimiento mejorado son ciertas.

+0

Esperaba algo más en la respuesta ... –

+0

bueno, lo siento, no tengo experiencia con eso. Solo algunos conocimientos comunes. – Bozho

+2

No creo que * muy eficiente * sea la palabra correcta, diría que tiene una mejor * latencia * (debido a la mejora del sistema GC). –

20

Solía ​​leer artículos de investigación sobre la recolección de basura, por diversión (ahora me siento mucho mejor, gracias por preguntar). Un hilo común a través de ellos fue: "Estos algoritmos serían más rápidos/factibles si tuviéramos soporte de hardware para las barreras de escritura".

Hay un problema de bloqueo de lectura/escritura con GC. No puede averiguar qué es basura si la aplicación sigue moviendo punteros mientras intenta hacer un inventario. Un truco que las personas han intentado una y otra vez es cambiar la forma en que funcionan los punteros para hacer un seguimiento de los cambios. Esto se llama barrera de escritura porque no puede escribir sin hacer la contabilidad. Esto permite que la aplicación y GC se ejecuten al mismo tiempo, pero en muchos casos resultó que la aplicación se ejecuta demasiado despacio.

Intel tuvo que resolver un problema similar de Write Barrier para que la virtualización funcione sin problemas: ¿cómo ejecuto una aplicación que está haciendo memoria virtual dentro de un sistema operativo que ya está haciendo memoria virtual? Se informa que Zing usa estas características para hacer que la JVM se convierta en una máquina virtual literal, y aprovechar esas características para hacer que GC sea rápido. Cuanto más rápido sea el GC, mayor será el Heap que puede administrar.

+3

Espero que te sientas mejor. Leí sus artículos técnicos y artículo de teoría. Estaba interesado en la experiencia del mundo real con la plataforma. –

16

Actualmente estamos ejecutando Zing en nuestras grandes máquinas de 256 GB de RAM. Esto es muy nuevo para nosotros en este momento y estamos seguros de que las cosas mejorarán.

Actualmente nuestro sistema es mucho más lento de lo que solía ser. PERO esto es extremadamente temprano y ya podemos decirles que el soporte de Zing ya está demostrando ser excelente. El uso de ZVision ya nos está dando pistas sobre nuestra desaceleración.

Ya podemos hacer uso de la RAM extra, pero tenemos que actualizar nuestro kernel de Linux para hacer uso de más de 16 núcleos.

Obtuvimos la misma lentitud inicial al ejecutar redhat enterprise. Ahora estamos ejecutando el KVM en el servidor de Ubuntu 10.04. Hasta ahora no vemos diferencia (lo cual es un gran ahorro de costos).

A medida que tengamos más experiencia en la próxima semana, transmitiré nuestros hallazgos.

+11

¿puedes actualizar tu publicación? –

+9

+1 esperando una actualización ... – ach

+0

y la "próxima semana" fue hace casi 6 años ;-) –

Cuestiones relacionadas