写点什么

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

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

关注

评论

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

年底了,你的数据库密码安全吗

Simon

MySQL 数据库

加密数字货币钱包系统软件开发|加密数字货币钱包APP开发

系统开发

腾讯高工亲授“MySQL学习方法”【思维导图+学习笔记+实战文档+面试题库】让你站在数据库领域的顶峰 笑傲江湖!

比伯

Java 编程 架构 面试 计算机

比易宝betBEB平台获278万美元约合1807万元融资

DT极客

架构师训练营第十三周

我是谁

架构师训练营第 1 期

算法学习手册

田维常

算法

云算力挖矿系统APP开发|云算力挖矿软件开发

系统开发

做运维,送你7个常用的服务器资源监控工具

华为云开发者联盟

工具 监控 内存 服务器 系统

自学编程的4大误区,你中招了吗?

田维常

程序员

VoltDB成功入选CNCF Landscape云原生数据库全景图

VoltDB

云原生 cncf VoltDB 分布式内存数据库

再见 2020!Apache RocketMQ 发布 4.8.0,DLedger 模式全面提升!

阿里巴巴云原生

阿里云 开发者 云原生 存储 消息中间件

Filebeat同步写位点文件引发的磁盘IO问题

秦宝齐

换个角度,聊聊全链路压测

老张

性能测试 系统稳定性 全链路压测

架构师训练营-第二周作业

Mark

深入分析单例设计模式

Andy

使用PG_SHOW_PLANS监控PostgreSQL执行计划

PostgreSQLChina

数据库 postgresql 开源

Java多线程并发控制工具CountDownLatch,实现原理及案例

码农架构

Java 并发编程 后端

在线自习室场景爆发,在线教育平台用户时间争夺战打响

ZEGO即构

ROMA Compose:ROMA的新武器

华为云开发者联盟

数据 API ROMA

可用性、可维护性、可靠性有什么区别?

禅道项目管理

DevOps 可用性 质量保障 可靠性

一周信创舆情观察(2020.12.28~2021.1.3)

统小信uos

HTTP 请求流程

double U

大前端 浏览器 HTTP

如何在 OpenShift 中运行 Collabora Office

东风微鸣

openshift

软件测试---BUG的生命周期

测试人生路

软件测试

uni-app实现实时消息SDK插件

anyRTC开发者

uni-app 音视频 WebRTC 跨平台 sdk

技术干货丨隐私保护下的迁移算法

华为云开发者联盟

迁移

IoT爆发前夕,企业架构要面对哪些变革?

京东科技开发者

物联网

Java多线程并发控制工具信号量Semaphore,实现原理及案例

码农架构

Java Java并发 并发编程 后端

详解 Flink 容器化环境下的 OOM Killed

Apache Flink

flink 流计算

Vue 3 组件开发:搭建基于SpreadJS的表格编辑系统(功能拓展)

葡萄城技术团队

探索压测奥妙

ninetyhe

微服务 分布式系统 压力测试 性能调试

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