2.8.2 和POSIX 中的信号交互作用 BACKWARDFORWARD


在UNIX 环境, MPI并不指定进程和信号的交互作用, 也不指定进程和无关于MPI通信的事件交互作用。即:从MPI 的观点看, 信号是不重要的, 而实现者计划信号是透明的: 由一个信号挂起的一个MPI 调用应在信号处理之后重新开始并完成。一般地,从MPI的观点看, 可见的或重要的一个计算的状态应受MPI 调用所影响。  

MPI是线索的和信号安全的打算有几个微妙的作用。例如,在Unix系统, 象SIGALRM ( 一个警告信号 )这样的一个可取信号不准引起MPI程序的不同行为, 否则将丢失信号。当然,如果信号处理释放MPI调用或改变MPI 程序操作的环境( 例如, 使用所有可得到的存储空间 ), MPI 程序的动作将适合那种情况( 特别在这种情况, 动作应与多线索MPI实现的动作一样 )。

第二个影响是: 进行MPI调用的信号处理不能干涉MPI的操作。例如,在信号处理内发生的任何类型的MPI接收不准由MPI 的实现引起错误。注意允许一个实现禁止在一个信号处理内使用MPI 调用, 而不要检测这些使用。   

更系望MPI不使用SIGALRM, SIGFPE, 或SIGIO 。要求一个实现清楚地存挡MPI实现所使用的全部信号;这种信息存放的好地方是在MPI的Unix 的' man '页。


Copyright: NPACT BACKWARDFORWARD