写点什么

Azul 发布 Zing:面向 x86、基于软件的 JVM 虚拟化 / 弹性运行时

  • 2010-06-26
  • 本文字数:1744 字

    阅读完需:约 6 分钟

不久前 Azul Systems 宣布开源其 Managed Runtime Initiative 软件技术栈的关键部分,近日又发布了其第4 代产品Zing:面向Java 的虚拟化系统。Zing 只包括了Azul Systems 整个技术栈的软件部分,并且针对x86 平台进行了优化,可以实现Azul 基于Vega 的解决方案所具备的功能。它使用了 Managed Runtime Initiative 中已开源的一些组件。

Zing 通过虚拟化绕过操作系统的限制。这与 Managed Runtime Initiative 所采取的方式截然相反,后者旨在交付可以跨越整个系统栈(包括操作系统)的增强接口,这还需要几年的时间才能实现。Managed Runtime Initiative 在性能和可伸缩性方面无疑具备很多优势,但 Zing 现在就可以投入使用了,不必等待操作系统厂商的脚步。

Zing 平台包含如下 4 个主要的组件:

  1. Zing 虚拟机
  2. Zing 虚拟设备
  3. Zing Resource Controller
  4. Zing Vision

Azul 说该产品的工作方式就是虚拟化 JVM 本身,这与过去 5 年 Vega 平台所做的事情差不多。Azul 为各种操作系统都提供了 JDK,包括 Linux、zLinux、AIX、Solaris、HP-UX 和 Windows。Azul Systems 的技术副总裁兼 CTO Gil Tene 说到:

在执行我们提供的 JDK 时,实际上执行的是一个瘦虚拟化代理,它会将操作系统中实际的解决方案,实际的 Java 栈推送到更好的执行栈中。对于 Vega 来说,更好的执行栈就是我们定制的设备。对于 Zing 来说,该虚拟的执行栈作为一个虚拟设备运行在 x86 上。

虚拟执行栈(Zing 虚拟设备)可以运行在 RedHat 的 KVM 或是 VMWare 的 vSphere Hypervisor 产品之上。根据 Azul 所述,Zing 的运行时可以平滑伸缩到更大的范围,它只受虚拟设备周边的 hypervisor 所限。比如说,对于 VMWare 的 vSphere 来说,在本文写作之际,其技术上的限制是每个应用实例 8 个 x86 核心与 256GB 的内存(每个 JVM 也是这样的)。对于 KVM 来说,每个度量都是 vSphere 的两倍:16 个 x86 核心与 0.5TB 的内存。到今年 Zing GA 版发布之际,这两组数字都很有可能得到提升。

伴随着该产品的是两个管理组件:Zing Resource Controller 与 Zing Vision。前者是个系统管理工具,旨在从高层视角了解整个 Java 应用基础设施;后者则可以轻松查看到系统中运行着的 Java 应用的情况。这样,一旦产品出现了问题,Zing Vision 就可以及时获悉应用的真正问题而不会加剧问题。Vega 早在两年前就提供了该功能。最初是一个工具,用于收集运行系统的统计信息以指导 Azul 技术栈的未来开发工作。Tene 说到,Zing Vision 运行方式的关键在于它使用了 JRE 提供的统计信息。比如说,要想获悉如何才能恰当地优化代码,需要内联哪些代码、将要执行哪条分支,JIT 编译器需要收集很多信息,如运行程序所经历的时钟数和 hotspot。与之类似,垃圾收集器会在每个周期内遍历内存中的所有对象以获得类实例的数量、哪些类指向了其他类以及 GC 周期结束后所丢弃的各种信息。通过获取这些信息,Zing Vision 可以达到实时的分析性能而不会增加任何性能上的开销(如果采取了字节码插桩等技术就可以实现这个目标),这意味着它甚至可以用在产品系统中。

由于硬件厂商不断追赶着 Azul 的脚步,因此 Zing 的发布为 Azul Systems 开辟了一个新方向:从硬件转向软件。Tene 说,他怀疑 5 年后 Azul 将不再销售专有硬件了。

这么说有些突然,但我们一直认为自己为 Java 运行时栈构建了一个解决方案,无论需要什么我们都会做下去的。在前 3 代产品中,我们使用芯片完成这些任务。每当我们看到这些芯片时都不禁要问“还有其他东西能增强我们的解决方案么”?对于前 3 代产品来说,答案是“没有,我们没法购买零部件、没有系统可供使用,一切都需要白手起家”。在使用 Zing 设计第 4 代产品时,我们从 Intel 和 AMD 看到了希望,我们欣喜地看到借助于 AMD 的 Nehalem-EX 和 Magny-Cours,我们能够使用现成的服务器运行任务。

Tene 说,现在,Nehalem-EX 系统(比如 8 核的 Xeon X7560)可以实现 Azul 基于 Vega 系统的两配置选项,这占据 Azul 销售系统数量的 60%-70% 左右。他说,到 2011 年底,x86 系统将拥有 Vega 现在的能力。这样,Azul 将不会再开发 Vega 4 芯片了,但我们还是期望能在未来的 2 到 3 年内销售大量的基于 Vega 的系统。

查看英文原文: Azul Systems’ Fourth Generation Product, Zing, is a Pure Software Solution

2010-06-26 06:301548
用户头像

发布了 88 篇内容, 共 272.7 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

开源免费!一款性能和体验超棒的编程IDE

Jackpop

编程界的劣驱良现象有哪些? 圆桌收录 用代码构建世界

Jackpop

Go应用服务疑似内存泄露问题排查

SFLYQ

Go 容器 内存溢出

parallels desktop2023汉化版虚拟机下载

茶色酒

parallels desktop2023

后GameFi时代下的新宠Umi'Friends,能否成为下一个Axie Infinity?

股市老人

下一代Jupyter Notebook?也太好用了吧!

Jackpop

基于Magma构建灵活、低成本无线接入网

俞凡

架构 网络 通信

20K+ Star!一款开源免费B站视频下载工具

Jackpop

parallels desktop18新许可证和升级

茶色酒

parallels desktop18

寄存器和移位寄存器分析与建模

timerring

FPGA

Nostr 协议详解(科普篇)

Rayjun

分布式 nostr

软件测试/测试开发 | 测试环境搭建

测试人

软件测试 自动化测试 测试开发 测试环境

Java学习路线阅读计划时间线

kcodez

后端开发 Java 开发

这才是机器学习正确高效的学习路线!

Jackpop

架构训练营模块六作业-拆分电商系统为微服务

张Dave

JUC 常用 4 大并发工具类

鱼找水需要时间

Java spring JUC

C/C++ 操作注册表与服务

软件动力学:我理解的可演进架构

agnostic

可演进架构

支持30+,这款文档提取工具太好用了!

Jackpop

为什么字节跳动选择使用 Go 语言?

Jackpop

CleanMyMac2023知名MAC电脑清理软件

茶色酒

CleanMyMac X

为什么放弃Vim而选择Neovim?

Jackpop

毕业项目 - 设计电商秒杀系统

in9

第九期-毕业设计

wuli洋

Python新手太需要了,这5个做题练习网站爱了!

Jackpop

泼辣修图2023永久版安装包下载

茶色酒

泼辣修图2023

设计模式之模板模式

程序员大彬

设计模式

软件测试/测试开发 | web前端的HTML浅析

测试人

软件测试 自动化测试 测试开发 web测试

Nginx unexpected end of file 配置证书遇到问题,如何解决?

程序员泥瓦匠

nginx

效率倍增!VS Code瞬间好用多了

Jackpop

2023汉化和谐版camtasia电脑屏幕录制软件

茶色酒

Camtasia Studio2023

Azul发布Zing:面向x86、基于软件的JVM虚拟化/弹性运行时_Java_Charles Humble_InfoQ精选文章