Java在大型机上

时间:2009-02-02 22:44:58

标签: java scalability mainframe

我在一家大型公司工作,该公司运行很多基于x86的服务器,我们运行JVM。

我们已成功尝试使用VMWare ESX,以便更好地利用我们的数据中心。但是这些仍然会为每个处理单元消耗大量功率。

我有一个疯狂的想法,我们应该恢复大型机,我们可以托管大量的JVM或虚拟机。

有人试过吗?有没有好的成本效益?

你失去灵活性吗?例如。我们在公司的其他部门有大型机,但他们似乎对机器的使用更加严格..许多变更控制,交货时间长等等

6 个答案:

答案 0 :(得分:3)

IBM制作了一个特殊的Java协处理器,您应该认真考虑。我不会在通用引擎上运行Java,因为这可能会增加许可软件的MPU费用。

答案 1 :(得分:2)

我们在Windows,Linux和IBM SystemI(或iSeries,或AS / 400,根据IBM当年的情绪)小型计算机上运行Java方面拥有丰富的经验。我认为,微型计算机平台似乎可以为现代多核x86 CPU提供更少的功能。

请注意,Java比现有的典型软件更容易受益,因为它具有固有的多线程特性 - 在运行多个JVM时更是如此。

也就是说,您通常能够获得更多的CPU核心,具有更好的带宽来访问迷你或大型机上的内存,以及磁盘子系统(整体)上更好的吞吐量,因此这些系统可能会更好地扩展在他们身上投入更多JVM。

答案 2 :(得分:2)

所有这些都假设您在Z / OS上讨论Java而不是在大型机上运行Linux VM,以利用更少机器带来的成本节省。

我对虚拟化的看法已经到了最后,它可能是你想要看的路线,但我会从Z / OS开始,因为它是传统上与大型机相关的以及我熟悉的东西。我对大型机Java有一些经验。

简短的回答是,这取决于,但可能不是。你的申请究竟是什么?与x86服务器相比,大型机是一个困难的环境。如果您在Websphere之类的网络上运行I / O密集型工作负载,那么假设您的大型机未得到充分利用,则可能是值得的。

根据我的经验,Java在大型机上的速度非常慢,但这是因为我使用的系统是为了开发人员的灵活性而不是性能而设置的。这只是为了证明大型机上的性能调优通常比普通服务器复杂得多,因为大型机将运行更多的工作负载,然后是通用的x86服务器。

请记住,大型机主要是为I / O吞吐量而设计的,并且可以胜过任何普通的x86服务器。它不是为了进行大量的计算密集型计算而设计的,所以如果你做了很多数学计算,它不会胜过一小群x86服务器。

大型机上的更改控制是有充分理由的 - 如果一个x86服务器出现问题,则重新启动它。如果一台大型机出现问题,那么每一台大型机出现故障都会给公司造成损失。您还必须考虑应用依赖的任何本机代码或可能使用本机代码的第三方库。所有代码都必须被移植。

在x86服务器上,大型机的配置平均需要更长的时间。我建议,如果你想认真研究这个问题,你可以做出更好的商业案例,而不是节省电力,例如与当前商业应用紧密集成,并从概念验证或新应用开始。可以实现一个非关键业务,以利用大型机的优势。

IBM大型机还可以在本机模式或类似于VMWare的虚拟化环境中运行Linux。除非您的公司是规则的例外,否则您的Linux实例将作为虚拟机运行。我没有太多的经验,但是,如果你的应用程序不依赖于本机代码并在Linux下运行,它可能适用于运行Linux的大型机。有关大型机上Linux的更多信息,请参阅this link

答案 3 :(得分:1)

IBM允许这样做。它们的一些大型机可以容纳Java加速器处理器,这些处理器本身运行字节码以获得更高的性能。它们还有DB2加速器,可能还有一些用于XML操作。

我从来没有和他们中的任何人玩过,但我一定很乐意。

答案 4 :(得分:1)

虽然自1975年以来我一直在这个行业,但我不再确定“大型机”是什么。我目前的开发机器中有四个3GHZ处理器,8GB内存和750GB磁盘空间(RAID 1,所以它真的是它的两倍)和两个19英寸平板显示器。

那是因为我在合同上。员工都有比我强大的箱子。

据我所知,服务器计算机,特别是数据库服务器,要快得多。

大型机?

答案 5 :(得分:1)

根据您的工作量,这值得一看!

使用IBM硬件有一些令人眼花缭乱的选项:

  1. 它绝对值得考虑添加Java处理器。 (这些实际上与标准cpus不同,它们就是它们 限制在java jvm工作负载 - 并且 - 最重要的是被排除在外 基于cpu的软件许可证定价)。

  2. 您可以运行多个Linux虚拟机,每个虚拟机都可以使用自己的Java应用程序。

  3. 您可以运行运行其极简主义操作系统的多个本机VM 曾经被称为DOS,但他们每两年更改一次名称。 软件许可证比主操作系统便宜,但它非常有限 如果你运行自包含的功能,这将是一个优势 应用。

  4. 您可以在怪物z / OS环境中运行: -

  5. 一个。在USS(Unix系统服务)中,它几乎是一个完整的UNIX       在父z / OS内运行的操作系统。

    湾在自己的启动任务(== unix daemon)中运行java应用程序。

    ℃。在CICS中运行您的应用程序。       (可能不是因为您需要使用CICS / Java API        通常使用Servlet / J2EE API,因此您的应用程序需要重写。)