简介:摘 要:PCJ(Parallel Computing in Java)是一个用于可扩展的高性能和计算以及大数据处理的Java库,该库实现了分区全局地址空间(PGAS)模型。PCJ应用程序作为一个多线程应用程序运行,线程分布在多个Java虚拟机上,每个任务都有自己的本地内存来存储和访问本地变量。选定的变量可以在任务之间共享,可以被其他任务访问、读取和修改。该库提供了执行基本操作的方法,如任务的同步化,以异步单边的方式获取和放置值。此外,PCJ还提供了创建任务组、广播和监控变量的方法。该库隐藏了节点间和节点内通信的细节,使编程变得简单而可行。PCJ库允许开发在大型资源上运行的高度可扩展(高达20万核)的应用程序,PCJ应用程序也可以运行在为数据分析设计的系统上,如Hadoop集群,在这种情况下,性能比本地应用程序要高。PCJ库完全符合Java标准,因此,程序员不需要使用额外的库。在本文中,本文介绍了PCJ库的细节,它的API和应用实例,结果显示了良好的性能和可扩展性。值得注意的是,由于PCJ库的性能和创建简单代码的能力,它很有希望在HPC和大数据应用的并行化方面取得成功。