写点什么

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:301484
用户头像

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

关注

评论

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

架构师第十三周作业

傻傻的帅

架构师

【真实面试经历】我和阿里面试官的一次“邂逅”

老大哥

模板方法模式——看看 JDK 和 Spring 是如何优雅复用代码的

简爱W

Java 程序员 java架构

“新基建”与“双循环”的二重奏:2020服贸会靠什么推动经济复苏

脑极体

从用户输入手机验证码开始

架构师修行之路

Java服务,内存OOM问题如何快速定位?

老大哥

Java 程序员 后端

Hessian Bug修复

心平气和

php 序列化 hessian

What's new in Dubbo-go v1.5.1

apache/dubbo-go

dubbo 服务端 Go 语言

阿里P8忠告:这些技术,哪怕不用微服务架构,你也应该会

小Q

Docker 架构 微服务 springboot SpringCloud

没想到 Hash 冲突还能这么玩,你的服务中招了吗?

老大哥

Java 程序员 后端

用技术的“信条”,开启AI to B的产业位移

脑极体

商业通识 : 商业从哪里来?

Walker

学习 得到 个人成长 商业

关于二进制的补码,反码,正负数表示以及Java代码测试

Zexho

Java 补码 位运算 反码 计算机知识

工作好多年有可能还未真正了解接口和抽象类

架构师修行之路

接口 抽象

架构师训练营 - 第 8周命题作业

红了哟

「查缺补漏」巩固你的RocketMQ知识体系

Kerwin

Java RocketMQ

架构师训练营第13周作业

架构师训练营第 0 期第 13 周作业

无名氏

我的大厂面试经历

老大哥

Java 程序员 后端

Java架构师JVM启动流程和内存结构,程序员必看!

老大哥

Java 程序员 后端

Spring 5 中文解析核心篇-集成测试之TestContext(上)

青年IT男

单元测试 Spring5 JUnit

服务化反面案例

心平气和

服务化 权限

市值做市机器人,操盘做市系统搭建

大厂面试题:集群部署时的分布式 session 如何实现? 面试官心理分析

老大哥

Java 程序员 后端

架构师训练营作业(大数据与机器学习)

qihuajun

第13周 作业

Jaye

面试官为什么会问你,如何设计一个高并发系统?

老大哥

Java 程序员 后端

第十三周作业

olderwei

极客大学架构师训练营

架构师训练营第十三周作业

张明森

甲方日常10

句子

工作 随笔杂谈 日常

Flink通过官网创建自己的工程-20

小知识点

scala 大数据 flink

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