dev2dev.bea.com.cn
首页 资源中心 dev2dev学堂 在线技术论坛 专家Blog User Group CodeShare

JRockit、JVM、管理程序和虚拟化

2006-06-07 00:00:00 | 评论 (0) | 被访问(422)次

Jon Mountjoy
  Jon Mountjoy 是dev2dev的编辑。他喜欢XML和J2EE技术,并且是“WebLogic: The Definitive Guide”的作者之一。他维护两个关于dev2dev的blog: 一个关于dev2dev的每周编辑blog和一个更个性化的blog。


  在JavaOne大会上,我参加了一个有趣的演讲,"Bare Metal"——Speeding Up Java Technology in a Virtualized Environment(“Bare Metal”——在虚拟化环境中加速Java技术),演讲者是Joakim Dahlstedt。Joakim是BEA Java Runtime Products Group的CTO。简而言之,他提出了使用虚拟化作为运行Java虚拟机的方式。这样,就可以在一个4路机器上运行8个JRockit JVM(对于正在运行的应用程序来说是透明的)。此外,他们是在虚拟化硬件上运行的,避开了操作系统。

  那么他们是如何做到的呢?他们使用了管理程序(hypervisor)。管理程序允许将一个物理机器分为多个虚拟机器。通常可以使用此特性在操作系统的多个实例上运行多个应用程序,它们全都相互独立,但是使用的却是同一个芯片(上的不同分区)。

  不过,他们在Bare Metal演讲中提出的是,只在一个(而不是多个)操作系统分区上运行。然后,当使用操作系统并创建一个新的JVM时,就会创建一个JRockit实例,作为一个直接运行在管理程序层而不是操作系统上的分区。可以创建多个此类实例,它们都直接运行在管理程序上,避开了操作系统。问题是:如何进行文件输入/输出?

  下面就是解决的办法。他们在管理程序之上创建了一个非常薄的层(就是他们称之为Bare Metal的),它允许他们实现JVM服务。例如,文件输入/输出可使用操作系统虚拟化系统或Java JVM本地磁盘进行。Bare Metal容器有一个小型TCP/IP堆栈,包含有Java所使用的协议(TCP/UDP等)。所以就完全避免了用于网络输入/输出的操作系统代理。真奇妙!

  那么这可以为我们带来什么好处呢?由于每个JVM实例都避开了操作系统,所以这些实例就具有更高的性能、良好的资源控制、轻量级且高效的线程,以及改进的垃圾收集,通过对该层的更多控制,可以获取更多的可预测性。每个JVM也有其自己的特性——它们是虚拟的系统,而不是同级的进程。这也带来了其他一些好处——好的隔离性、完整的状态快照保存、暂停和恢复等。

  当然了,如果您需要图形化的显示,那么您不会想要此类东西。Bare metal是一个服务器环境,没有屏幕,没有图形化用户界面,没有声音……

  技术标签:dev2devj2eejavajavaonejavaone 2006jrockitjvm虚拟化

原文出处:http://dev2dev.bea.com/blog/jonmountjoy/archive/2006/05/jrockit_jvms_hy.html



Tags: JRockit JVM hypervisor virtualization 管理程序 虚拟化
文章评论:(以下网友留言只代表个人观点,不代表BEA观点和立场)
暂时没有评论!

2006年06月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
             
RSS订阅

Jon Mountjoy's Blog搜索