PnetCDF:NetCDF文件访问的并行I/O库


新闻

PnetCDF概述

PnetCDF是一个用于访问的高性能并行I/O库Unidata的NetCDF,经典格式的文件,特别是CDF-1、2和5的格式。CDF-1是默认的NetCDF经典格式。CDF-2是一种扩展格式通过使用标志NC_64BIT_OFFSET创建,以支持64位文件偏移量。这个CDF-5文件格式,是CDF-2的扩展,通过using标志创建NC_64BIT_DATA支持无符号数据类型,并使用64位整数来允许用户定义大维度、属性和变量(>2B数组元素)。

除了传统的netCDF读写API之外,PnetCDF提供了一组新的非阻塞API。非阻塞API允许用户发布首先是多个读写请求,然后让PnetCDF聚合它们转化为较大的请求,从而实现更好的性能。请参见非阻塞I/O进一步了解描述和示例程序。

NetCDF简介

NetCDF为科学程序员提供了一种自我描述和可移植的方法存储数据。然而,在版本4之前,netCDF是以串行方式进行的。

NetCDF从版本4开始支持并行I/O,其并行I/O该功能最初构建在并行HDF5之上。因此,文件格式NetCDF-4要求的并行I/O操作被限制为HDF5格式。4.1版本,NetCDF还包括一个调度器,可以在经典格式(CDF-1和2)到PnetCDF的文件。官方支持CDF-5格式始于NetCDF 4.4.0版本.

注意:NetCDF现在可以通过以下方式用PnetCDF作为其唯一的并行I/O机制来构建使用命令行选项“--禁用-netcdf-4--启用-pnetcdf“当然,NetCDF也可以同时使用已启用PnetCDF和并行HDF5。在这种情况下,NetCDF程序可以选择通过添加PnetCDF或Parallel HDF5来执行并行I/ONC_MPIIO公司NC_NETCDF4分别发送给调用API nc_create_par或nc_open_par时的文件open/create标志参数。在下面使用PnetCDF时,文件必须是经典格式(CDF-1/2/5)。同样,对于HDF5,文件必须是HDF5格式(也就是NetCDF-4格式)。少许NetCDF-4示例程序可通过PnetCDF和HDF5显示并行I/O操作。

PnetCDF简史

PnetCDF项目始于2001年,独立于Unidata的NetCDF项目。应用程序可以在不使用NetCDF的情况下完全使用PnetCDF库库。PnetCDF的最初目标是为在并行计算机上访问CDF-1和2格式的应用程序。其重点是以实现高I/O性能。该设计采用了一套新的API(带有前缀名“ncmpi”),因为其实现与磁粉探伤。为了鼓励NetCDF用户采用,PnetCDF API的语法保持不变主要与NetCDF相同。通过充分利用现有优化在MPI-IO实现中可用,PnetCDF已被证明能够提供高性能并行I/O。

关于大文件支持的说明

经典CDF公司文件格式(称为CDF-1)仅由NetCDF库使用到版本3.5.1。NASA ESDS更新了经典格式社区标准并添加了对64位偏移量文件格式的支持(也称为CDF-2)。请参见NetCDF Classic和64位偏移文件格式.

从3.6.0开始,串行NetCDF库添加了对CDF-2型格式。使用这种格式,即使是32位平台也可以创建NetCDF文件大小大于2 GiB。CDF-2还允许在定义的维度、变量和属性的名称字符串。支持是主要基于Greg Sjaardema的工作。

从0.9.2版本开始,PnetCDF支持CDF-2格式。请参见自述文件.large_files了解更多信息。

从发布1.3.0,PnetCDF支持CDF-5型格式,CDF-2的扩展,添加无符号和64位整数数据类型并允许定义变量超过232阵列元素。

文件和变量限制

PnetCDF和NetCDF都有文件大小和变量大小的限制。更多信息可以在文件限制第页。

所需软件

PnetCDF需要支持MPI-IO的MPI实现。大多数MPI库现在就吃这个。并行文件系统也将大大有助于实现最高性能。

相关项目

PnetCDF使用了其他几种技术。

目前,高级I/O库有几个选项。这里有一些关于PnetCDF在该生态系统中的作用的讨论:

邮件列表

我们讨论了PnetCDF库在parallel-netcdf@mcs.anl.gov邮件列表。任何感兴趣的人鼓励开发或使用PnetCDF。访问列表信息页面了解详细信息。此邮件列表还用于关于PnetCDF软件的公告、错误报告和问题。

列表存档的URL为http://lists.mcs.anl.gov/pipermail/parallel-netcdf/。您甚至可以浏览旧邮件列表中的邮件邮件列表存档.

项目成员

PnetCDF由以下公司联合开发西北大学阿贡国家实验室.

引文

该项目的官方名称为净CDF(大写“P”,小写“净值”,然后是资本“CDF”)。当提到PnetCDF项目时,请使用以下URL:

如果你想在发表的论文中引用参考文献,请引用我们的SC2003论文如下。

仍然可以找到前两个项目网页。

致谢

最初的PnetCDF开发由科学数据管理赞助居中(软件开发管理)根据DOE高级计算科学发现计划(科学发展援助委员会). 它也得到了部分支持

持续维护由DOE科学办公室下属的OASIS项目资助。