什么是Azul“Zing”平台?
访问Azul网站(link)变成了营销恐怖 - 在趟过它的每一点之后,我仍然没有线索。
有没有人有这方面的经验?您的申请要求“Zing”的要求是什么? (Zing-able?)例如,如果我有一个应用程序将对象图加载到内存中并不断遍历它的大部分(因此大部分是“温暖的” - 无法将部件存储在慢速数据存储中) - Azul可以帮助我吗? (我已经知道Terracotta BigMemory不能......)
我想澄清一下 - 我正在寻找那些实际上“捏造”他们的产品并将其成功地放在Azul VM上的人的反馈(或者看到它不起作用)。
冉。
[编辑1 - 添加页面链接] [编辑2-经验想要]
答案 0 :(得分:30)
记住苏尔的用于的事:让定制多核Java的设备。一个阿祖尔机可能有60或100芯和有各种聪明的采取并行(即打动我的是乐观锁的一个优势:本来应该获得的锁只是认为它有锁和线程走上前去,如果后来发现是,不,它应该已经封锁,但也算是解开了所有的变化,回去等着)。
问题当然是定制硬件是一个坟墓场。 Azul花了很多时间为没有人会购买的硬件制作软件。所以,作为一个企业,他们模仿自己的产品:它们备份,解开他们的变化,移植自定制硬件的所有clevernesses(乐观锁定,管理程序,其他的东西),以商品多核机器等等,而不是支付$ 100,000的80 - 核心机器,您可以花费20,000美元购买10台八核机器*。
[*所有数字从我的解剖学手术中提取出来。 ]
这是个好主意吗?它有用吗?我不知道,但我希望如此。我在2003 JavaOne上遇到了所有Azul人,他们给我留下了深刻的印象。
答案 1 :(得分:24)
我曾经读过关于垃圾收集的研究论文,这很有趣(我现在感觉好多了,谢谢你的提问)。通过它们的一个共同点是,“如果我们有写入障碍的硬件支持,这些算法会更快/可行。”
GC存在读写锁定问题。如果应用程序在您尝试获取库存时继续移动指针,您无法弄清楚什么是垃圾。人们一遍又一遍地尝试的一个技巧是改变编写指针的方式来跟踪变化。这被称为写屏障,因为你不能在不做簿记的情况下写字。这允许应用程序和GC同时运行,但在许多情况下结果使应用程序运行得太慢。
英特尔必须解决类似的写屏障问题才能使虚拟化顺利运行 - 如何在已经在虚拟内存中运行的虚拟内存中运行一个应用程序?据报道,Zing使用这些功能将JVM变为文字虚拟机,并利用这些功能使GC快速运行。 GC越快,您可以管理的堆就越大。
答案 2 :(得分:18)
我们目前在我们的256GB RAM机器上运行Zing。 这对我们来说是非常新的,我们相信事情会变得更好。
目前我们的系统比以前慢得多。但这是非常早期的事情,我们已经可以告诉你,Zing的支持已经证明是非常好的。 ZVision的使用已经为我们的减速提供了线索。
我们已经能够利用额外的RAM,但我们需要更新我们的Linux内核以使用超过16个内核。
我们在运行redhat enterprise时遇到了同样的初始缓慢。现在我们在Ubuntu服务器10.04下运行KVM。到目前为止,我们没有看到任何差异(这是一个很大的成本节省)。
随着我们在下周获得更多经验,我将传递我们的研究结果。
答案 3 :(得分:13)
简而言之 - 它是一个非常高效的“特殊”JVM。即而不是使用太阳JVM,你使用Zing。没有任何代码更改。因此,从理论上讲,所有应用程序都是“zingable”。但是,我无法告诉你,改善表现的主张是否属实。