写点什么

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

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

关注

评论

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

iVX如何拿捏中大型工程建筑行业砼管理系统

代码制造者

无代码开发 低代码开发中大型系统

流媒体分享系列之广告归因方案

Marvin

广告 流媒体 归因 广告归因 广告归因技术

YashanDB ARRAY_REPLACE函数

YashanDB

YashanDB ATAN函数

YashanDB

表 vs 物化视图:核心区别与选型指南

镜舟科技

分析型数据库 StarRocks 物化视图 实时分析 MPP 架构

低代码困局:方法论迷途与破局之道

代码制造者

低代码

看一个有经验的程序员如何学习一门新语言

Marvin

flutter 编程 前端 跨平台 学习分享

YashanDB AVG函数

YashanDB

想考试PMP的同学看过来

Marvin

项目管理 pmp IT PMP Certification PMP考试

2025 年 AI 编程新风向:从智能辅助到自主开发的跨越

飞算JavaAI开发助手

编程 AI 代码

25亿专项激励金!百度联盟发布“智跃计划”,开放四大能力赋能开发者

极客天地

SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证

冴羽

前端 前端框架 React Svelte SvelteKit

为什么mac文件拖拽不了 mac文件拖不进硬盘里 macbookpro文件无法拖进移动硬盘

阿拉灯神丁

mac三指操作设置 NTFS 磁盘管理器 Tuxera NTFS2024 文件拖拽工具 Mac文件管理

YashanDB ARRAY_TO_STRING函数

YashanDB

YashanDB ASIN函数

YashanDB

YashanDB ARRAY_APPEND函数

YashanDB

YashanDB ATAN2函数

YashanDB

YashanDB ARRAY_REMOVE函数

YashanDB

Kairos 的野望:构建“智能体即服务”生态,让万物皆可 “Agent”

股市老人

2025 程序员薪资大洗牌:掌握这 3 个 AI 核心技术,薪资瞬间翻倍

飞算JavaAI开发助手

编程 AI 开发者

YashanDB ARRAY_LENGTH函数

YashanDB

YashanDB ARRAY_UPPER函数

YashanDB

华为云生态大会2025前瞻:为伙伴们打通行业智能跃迁通路

Alter

单月飙涨 300%!揭秘MSKE三大核心优势

MSKE铭文

#区块链 比特币行情 MSKE铭文 比特币铭文

YashanDB ASCII函数

YashanDB

看图学会Kubernetes

Marvin

Docker Kubernetes k8s 学习笔记 虚拟化技术

YashanDB BIN函数

YashanDB

流媒体分享系列之用户画像

Marvin

广告 流媒体 用户画像 剧情

Easysearch VS Opensearch 数据写入与存储性能对比

极限实验室

easysearch OpenSearch

YashanDB ARRAY_NDIMS函数

YashanDB

YashanDB ARRAY_POSITION函数

YashanDB

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