微信号:infoqchina

介绍:有内容的技术社区媒体

Java 7 SDP:一次编写,到处运行,有时还运行得超炫!

2013-11-28 17:32 InfoQ

本文将简单介绍Java 7 SDK里引入的Java套接字直接协议(Sockets Direct Protocol,SDP),这项新技术是个非常激动人心的突破。如果要对InfiniBand的远程直接内存存取(Remote Direct Memory Access,RDMA)进行native访问,SDP就能让超高性能计算(Ultra High Performance Computing,UHPC)社区在这种不常见的场景下使用Java通用的特性和优势。RDMA为低延迟应用提供了一种协议,可以直接访问其他计算机的内存,而不需要操作系统的参与。UHPC社区对低延迟和高吞吐量的要求最为严格,而且不容妥协,UHPC自然就需要使用最好的RDMA。随着Java 7引入SDP,UHPC社区就可以利用Java平台编写能直接利用InfiniBand RDMA功能的应用代码了。


在深入了解新的Java SDP之前,让我们简要回顾一下Java网络编程和套接字API的历史。


Sun Microsystems于1995年推出Java,并宣扬Java能“一次编写,到处运行”,这句口号现在已然广为人知。我们都知道这背后的思想其实很简单:用C++代码编写的应用要在所有环境下构建/部署是极其困难的,追求接近“到处运行”的可移植性就更难了,但现在你可以用一种叫Java的语言编写应用代码,应用可以在虚拟机(并不是底层的操作系统执行环境)上构建/部署。这极大地减少了Java应用程序员对可移植性的关注,而是把可移植性完全交给Java虚拟机(JVM)去处理。JVM承诺:如果你的Java代码可以在针对某个特定底层操作系统的JVM上构建/部署,只要其他操作系统有可用、兼容的JVM,平台就能确保完全相同的代码可以在上面运行。而不需要额外的编译和预处理器宏指令。(有人记得C++里的#ifdef么?JVM可以让应用程序员摆脱这种痛苦。)


这种思想非常有用,得到了应用编程社区的广泛认可。正如我们所知,Java非常迅速地流行起来——以前所未有的速度被全面接受,计算机历史上的很多编程语言平台都没有这么迅速地普及过。

Sun一开始提供的JVM只能运行在三个操作系统上:1、Solaris,2、Linux,3、Windows。微软在1993年发布的Windows就带有WinSOCK协议栈,所以Windows可以做TCP/IP网络编程,而且完全支持API。各种*nix系统从二十世纪七十年代起就一直在支持TCP/IP。微软引入WinSOCK对Java的成形来说绝对必要。没有WinSOCK,就不能发布支持java.net.*和java.io.*这些APIs的Windows VM。没有WinSOCK,Java构建的VM在垄断世界桌面的操作系统上就不具备完整的网络功能了。随着Windows完全支持TCP/IP,运行Java的桌面数量可能增加了上千倍。


事情发生了变化


当然,Java仍然是“一次编写,到处运行”。可移植性仍然是首要任务。但现在用Java 7和SDP,JVM能做更多的事情。可移植性不再是唯一的重点;对JVM来说,满足超高性能用例的需求也是很重要的任务。借助SDP,JVM不需要修改网络、套接字API,就可以直接利用InfiniBand天生的能力。InfiniBand要比以太网快很多。UHPC社区往往会选择InfiniBand作为物理网络层的提供者。


后面我们会介绍InfiniBand是什么,以及Java 7 VM怎么让应用利用InfiniBand原生的功能。


更多精彩内容,请阅读原文。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 他教会了一个学生如何自学,这里是他总结的编程学习方法…… 共享经济要解决“势能倾轧”问题 MagicIndicator原理浅析及扩展 秒杀系统架构分析与实战 速度报名|传统B2B电商平台转型的秘密!专家分享:技术架构的迭代与团队管理实战