Pregunta

Yo trabajo para una gran empresa que ejecuta un mucho de x86 basado en servidores en los que corremos Jvm.

Hemos experimentado con éxito con VMWare ESX para obtener un mejor uso de nuestro centro de datos.Pero estos siguen consumiendo una gran cantidad de energía por unidad de procesamiento.

Yo tenía una idea loca que debemos resucitar a los mainframes, podríamos host de un montón de Jvm o máquinas virtuales.

Alguien ha probado esto?¿Hay alguna buena relación costo-beneficio?

Se pierde la flexibilidad?E. g.hemos mainframes en otras partes de la empresa, pero parece que tienen mucho más rígido que el uso de las máquinas..muchas de control de cambio, largos tiempos de entrega, etc

¿Fue útil?

Solución

Todo esto supone que estamos hablando de Java en z / OS y no se está ejecutando Linux VM en el mainframe para tomar ventaja de los ahorros de costos que vienen con un menor número de máquinas.

Mis pensamientos sobre la virtualización se encuentran al final de esta y es probablemente la ruta que desea ver, pero voy a empezar a cabo con Z / OS, ya que es lo que los mainframes están asociados tradicionalmente con lo que tengo y familiaridad con. Tengo algo de experiencia con Java mainframe.

La respuesta corta es, depende, pero probablemente no. ¿Cuáles son exactamente sus aplicaciones? El mainframe es un ambiente difícil en comparación con los servidores x86. Si se está utilizando cargas de trabajo de E / S-intensiva bajo algo así como Websphere, podría valer la pena, asumiendo que su unidad central está infrautilizada.

En mi experiencia, Java es terriblemente lento en un mainframe, pero eso es porque el sistema utilicé se creó para la flexibilidad desarrollador en lugar de rendimiento. Eso sólo sirve para demostrar la optimización del rendimiento en la unidad central suele ser mucho más complicado que en un servidor promedio desde ordenadores centrales va a correr muchos más cargas de trabajo a continuación, un servidor x86 genérico.

Recuerde que la unidad central está diseñado principalmente para el rendimiento de E / S y puede superar a cualquier servidor x86 normal en eso. No fue diseñado para hacer una gran cantidad de cálculos computacionalmente intensivas por lo que no va a superar a un pequeño grupo de servidores x86 si su haciendo un montón de matemáticas.

Los controles de cambio en unidades centrales están ahí por una buena razón - si un servidor x86 tiene un problema, reiniciar el sistema. Si una unidad central tiene un problema, cada segundo que está abajo es que cuesta dinero a la empresa. También hay que tener en cuenta cualquier código nativo sus aplicaciones dependen de las bibliotecas o de terceros que puedan utilizar código nativo. Todo ese código tendría que ser portado.

La configuración de un mainframe también lleva mucho más tiempo en promedio a continuación en un servidor x86. Yo sugeriría que, si se quiere investigar seriamente en esto, a tomar una mejor caso de negocios de ahorro de energía, tales como la estrecha integración con aplicaciones de negocio actuales y empezar desde abajo, ya sea con una prueba de concepto o una nueva aplicación. Uno que no es crítica para el negocio, que se pueden implementar para aprovechar las fortalezas mainframes.

Los ordenadores centrales de IBM también pueden ejecutar Linux en modo nativo o un entorno virtualizado similar a VMWare. A menos que su empresa es la excepción a la regla, las instancias de Linux se ejecutan las máquinas virtuales como. No he tenido mucha experiencia con esto, pero, si su aplicación depende de ningún código nativo y funciona bajo Linux, es probable que trabajar en una computadora central que ejecuta Linux. Para obtener más información sobre Linux en mainframes ver este enlace .

Otros consejos

IBM hace un co-procesador especial de Java que usted debería considerar seriamente. Yo no ejecutar Java en los motores generales ya que puede aumentar los cargos MPU de software con licencia.

Contamos con una amplia experiencia en el manejo de Java en Windows, Linux y en IBM SystemI (o iSeries o AS / 400, dependiendo del estado de ánimo de IBM ese año) minicomputadoras. Es mi opinión que la plataforma de mini-ordenador parece ofrecer mucho menos por su dinero contra el moderno multi-core CPU x86 de.

Tenga en cuenta que Java se beneficia más fácilmente de tener múltiples núcleos disponibles de software típico de hoy en día, debido a su naturaleza inherentemente multiproceso -. Esto sería aún más cierto ya que se corre varias JVM

Dicho esto, se le suele ser capaz de conseguir muchas más núcleos de CPU disponibles con un mejor ancho de banda para acceder a la memoria en un mini o mainframe, y un mejor rendimiento en los subsistemas de disco (en general) por lo que estos sistemas muy bien puede escalar mucho mejor, ya que tirar más JVM en ellos.

IBM permite esto. Algunos de sus unidades centrales puede contener procesadores de aceleración Java que se ejecutan de forma nativa el código de bytes para un mayor rendimiento. También tienen aceleradores de DB2, y posiblemente alguna de las operaciones XML.

Yo nunca he vuelto a jugar con cualquiera de ellos, pero estoy seguro que me encantaría.

A pesar de que he estado en la industria desde 1975, ya no estoy seguro de lo que es una "unidad central" es. Mi equipo de desarrollo actual tiene cuatro procesadores 3GHZ en ella, 8 GB de RAM y 750 GB de espacio en disco (RAID 1, por lo que es realmente el doble de eso), y dos monitores de pantalla plana de 19 pulgadas.

Esto se debe a que estoy allí en un contrato. Los empleados tienen cajas mucho más potentes que la mía.

Yo entiendo que las máquinas de servidores, especialmente los servidores de bases de datos, son mucho más rápidos.

mainframe?

En función de la carga de trabajo que esto vale la pena mirar!

Hay una serie desconcertante de opciones disponibles para usted simplemente utilizando el hardware de IBM:

  1. Su definitivamente vale la pena considerar el complemento de Java en los procesadores. (Estos en realidad no son tan distintas a las del CPU estándar es sólo que son restringido a las cargas de trabajo Java JVM - y - lo más importante es que se excluyen de cpu software basado en precios de las licencias).

  2. Puede ejecutar máquinas virtuales Linux multple cada ruuning emabrgo propia aplicación Java.

  3. Puede ejecutar varias máquinas virtuales corriendo nativa emabrgo sistema operativo minimalista que antes se llamaba DOS pero cambiar el nombre de cada par de años. Las licencias de software son más baratos que el sistema operativo principal, pero tiene muy limitado funcionalidad que resulta ser una ventaja si está ejecutando autónomo aplicaciones.

  4. Se puede ejecutar en el entorno monstruo z / OS: - o bien

a. Dentro de USS (Unix System Services), que es más o menos un UNIX completa       SO que se ejecuta dentro de la matriz z / OS.

b. Ejecutar su aplicación de java en su propia tarea iniciada (== UNIX daemon).

c. Ejecutar su aplicación dentro de CICS.       (Probablemente no es necesario utilizar la API de CICS / Java, donde lo haría        Normalmente utilizar las API / servlet J2EE para que la aplicación requeriría una reescritura.)

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