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