写点什么

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

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

关注

评论

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

Spark优化之小文件是否需要合并?

华为云开发者联盟

spark 数据 cpu 内存 Spark调优

React TypeScript 项目基本构建2

JackWangGeek

React

Week10作业1

熊威

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第9章FlexBox实战有路网

Geek_8dbdc1

libuv 异步网络编程之 TCP 源码分析

Huayra

网络编程 libuv libuv 源码分析

神经网络的学习为何要设定损失函数?

wangkx

神经网络 学习 损失函数

核心稳定、易扩展——开放关闭原则(The Open-Closed Principle)

晃来晃去的萨麦尔

编程习惯 架构分析 软件设计原则

面经手册 · 第4篇《HashMap数据插入、查找、删除、遍历,源码分析》

小傅哥

Java 小傅哥 hashmap 面经 红黑树

Week10总结

熊威

微软看上的Rust 语言,安全性真的很可靠吗

华为云开发者联盟

数据库 开源 rust 安全 代码

云图说丨手把手教你为容器应用配置弹性伸缩策略

华为云开发者联盟

Docker 云计算 Kubernetes 容器

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第11章有路网移动端主页实战

Geek_8dbdc1

有限数据量如何最大化提升模型效果?百度工程师构建数据增强服务

百度大脑

人工智能 数据 模型训练 百度大脑

《深度工作》学习笔记(6)

石云升

读书笔记 专注 深度工作

超市趣味游戏关卡设计

孙志平

微服务框架 Dubbo

莫莫大人

极客大学架构师训练营

HTML5CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第10章有路网PC端主页实战整合

Geek_8dbdc1

SpringBoot系列(二):如何灵活使用SpringBoot

xcbeyond

Java 微服务 springboot

肯耐珂萨D1轮融资资方阵营揭晓,跟投方为中南资本、青发集团

人称T客

怎么写一个超棒的 README 文档

程序员生活志

经验总结 文档

Windows AD日志分析告警平台—WatchAD安装教程

BigYoung

监控 windows 日志 AD 告警

Django中的session的使用

BigYoung

django session Cookie

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局

Geek_8dbdc1

巴黎世家土味病毒营销,B端创业初期,如何用营销壮大种子用户?

北柯

创业 营销 tob

致远互联A6+Cloud C位出道 赋能中小企业乘风破浪

爱极客侠

SpringBoot 系列(一):SpringBoot项目搭建

xcbeyond

Java 微服务 springboot

工业互联网网络安全渗透测试技术研究

几维安全

网络安全 数据安全;工业互联网 移动应用安全 渗透测试

智能汽车安全风险及防护技术分析

几维安全

移动应用安全

看前谷歌工程师是如何副业赚钱的?

非著名程序员

程序员 个人成长 副业赚钱 提升认知

安卓移动应用代码安全加固系统设计及实现

几维安全

android 安全评估 移动应用安全

架构师训练营 第 10 周 作业&总结

Jam

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