OpenPBS 及 MPI 相关资料
由于可能要到newbee 的超级计算研究中心工作
花了一个早上查了 OpenPBS 及 MPI 的相关资料, 有了大概的了解, 具体的操作还需参考更多的文档.
OpenPBS 是 Open Portable Batch System 的缩写.
Open: 开放源代码
Portable: 跨平台
Batch System: 作业系统.
Batch 的定义:
or batch processing, is the capability of running jobs outside of the interactive login session. In this document, batch implies a more complex subsystem which provides for additional control over job scheduling and resource contention.
简单地说: OpenPBS 的功能是把用户的提交的任务分配到计算结点上进行运算(当然这其中包括各种控制, 如计算的时间, 计算所需的结点数等).
MPI: Message Passing Interface 的缩写. Message Passing 是并行计算的编程模型之一,也是最流行的模型.
Message Passing Interface : 一组标准的C 和 Fortan 库函数, 用以编写并行计算的程序.
Message Passing 的定义 引自 <Designing and Building Parallel Programs >:
Message passing. Message passing is probably the most widely used parallel programming model today. Message-passing programs, like task/channel programs, create multiple tasks, with each task encapsulating local data. Each task is identified by a unique name, and tasks interact by sending and receiving messages to and from named tasks. In this respect, message passing is really just a minor variation on the task/channel model, differing only in the mechanism used for data transfer.
参考书目:
- Designing and Building Parallel Programs 第一章,第二章,第八章 值得一读, 对并行计算有个大致的了解.
- MPI 标准1.1 对标准规范很头大, 所以没细读.
- MPICH的官方网站 MPICH 是最流行的MPI的实现, 事实上的标准
想要看的书:
- Using MPI 2th edition need money…网上还找不到PDF下载
- OpenPBS Documention 网上没有下载, 官方站上的 User Area 提供,但必须注册, 且人工审批. 已经提交了OpenPBS源代码的申请.
sunu 传了一份 openpbs administration guide , 耐着性子从头到尾浏览了一遍. 基本上心里有数了. 对openpbs 如何实现jobs在各节点运行,并把运行结果汇总到submitter 处很好奇, 串行程序不难, 但使用MPI的并行程序如何与 OpenPBS 交互, 动态生成并行的task 并把结果传回给用户呢? 我猜想可能与POSIX协议有关.
pbs_server 在 分配结点后, 将结点列表写入一个 POSIX 定义的环境变量中, mpirun 程序从环境变量中读取结点, 再根据 POSIX 标准请求运算结点的 pbs_mon 生成 task. 但是否如我所想的, 还需要查些资料, 不管它了先.





