这是命令 NPpvm,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
网络管道 - 净工作 Protocol I独立 Performance E估价师
概要
网络协议 [-h 接收者主机名[-b TCP_buffer_sizes] [选项]
米皮伦 [-机器文件 主机列表]-np 2 NPMPI [-a] [-S] [-z] [选项]
米皮伦 [-机器文件 主机列表]-np 2 NPPI2 [-f] [-g] [选项]
虚拟机 [选项]
请参阅下面的测试部分,以获取有关如何在
每个环境。 选项部分描述了所有可用的通用选项
模块。 请参阅 tar-ball 中的 README 文件,网址为
http://www.scl.ameslab.gov/Projects/NetPIPE/ 有关 InfiniBand、GM 的文档,
SHMEM、LAPI 和 memcpy 模块。
商品描述
网络管道 在一系列消息大小上使用一系列简单的乒乓测试来提供
网络性能的完整测量。 它会退回越来越大的消息
在两个进程之间,无论是通过网络还是在 SMP 系统内。 消息大小
定期选择,并带有轻微的扰动,以提供完整的
通信系统评估每个数据点都涉及许多乒乓测试
提供准确的时间。 延迟的计算方法是将往返时间除以
小消息的一半(小于 64 字节)。
小消息的通信时间由
通信层,这意味着传输是延迟限制的。 对于更大的
消息,通信速率变成带宽受限于某些组件
通信子系统(PCI 总线、网卡链路、网络交换机)。
这些测量可以在消息传递层(MPI、MPI-2 和 PVM)或在
运行的本地通信层(TCP/IP、用于 Myrinet 卡的 GM、
InfiniBand、用于 Cray T3E 系统的 SHMEM 和用于 IBM SP 系统的 LAPI)。 最近的工作是
旨在测量一些内部系统属性,例如 memcpy 模块
测量内部存储器复制率,或正在开发的测量磁盘模块
各种 I/O 设备的性能。
NetPIPE 的一些用途包括:
比较各种网卡的延迟和最大吞吐量。
比较不同类型网络之间的性能。
通过将消息传递层与
本机通信层。
优化消息传递层并调整操作系统和驱动程序参数以获得最佳
通信子系统的性能。
网络管道 提供了许多模块,允许它与各种
通信层。 为其他可靠的接口编写新接口相当容易
以现有模块为例。
测试 TCP
现在可以通过两种方式启动 NPtcp,通过在两个系统上手动启动 NPtcp 或通过
使用 nplaunch 脚本。 要手动启动 NPtcp,必须启动 NetPIPE 接收器
首先在远程系统上使用以下命令:
NPtcp [选项]
然后使用命令在本地系统上启动主发射器
NPtcp-h 接收者主机名 [选项]
使用的任何选项在双方都必须相同。
nplaunch 脚本使用 ssh 在启动本地之前启动远程接收器
发射机。 要使用 rsh,只需更改 nplaunch 脚本。
nplanch NPtcp -h 接收者主机名 [选项]
这款 -b TCP_buffer_sizes 选项设置 TCP 套接字缓冲区大小,这可以极大地
影响某些系统上的最大吞吐量。 变平的吞吐量图
突然可能是性能受到套接字缓冲区大小限制的迹象。
测试 MPI 和 MPI-2
NetPIPE 的 MPI 接口的使用取决于正在使用的 MPI 实现。 全部
将需要指定进程数,通常带有 -例如 2 论据。
集群环境可能需要在每个作业运行时使用的主机列表。
将主机列表放在主机列表中,然后对于 OpenMPI,使用以下命令运行 NetPIPE:
mpirun --主机文件 主机列表 -np 2 NPmpi [NetPIPE 选项]
对于 MPICH2,请改用:
mpirun -机器文件 主机列表 -np 2 NPmpi [NetPIPE 选项]
要测试 MPI-1 标准的单面通信,请使用以下命令进行编译:
使 mpi2
如上所述运行,MPI 将在两个方向上使用单边 MPI_Put() 调用,
每个接收器阻塞,直到最后一个字节被覆盖,然后再弹回
回消息。 使用 -f 强制使用围栏的选项来阻止而不是
覆盖最后一个字节。 这 -g 选项将使用 MP_Get() 函数来传输
数据而不是 MP_Put()。
测试 虚拟机
使用以下命令启动 pvm 系统:
PVM
并使用 PVM 命令添加第二台机器
加 接收者主机名
使用 quit 退出 PVM 命令行界面,然后在其中一台上运行 PVM NetPIPE 接收器
系统命令:
NPpvm [选项]
并使用以下命令在另一个系统上运行 TCP NetPIPE 发送器:
NPVM-h 接收器 主机 [选项]
使用的任何选项在双方都必须相同。 也可以使用 nplaunch 脚本
使用 NPpvm,如上面针对 NPtcp 所述。
测试 教学理念
网络管道 通过以每个块大小发送大量消息来测试网络性能,
从消息大小的下限开始。
消息大小增加,直到达到消息大小的上限或
传输块的时间超过一秒,以先发生者为准。 消息大小
定期选择,并从他们的轻微扰动提供更多
对通信子系统的完整评估。
这款 网络管道 输出文件可以使用诸如 图形(1)。 输出
文件包含三列:块中的字节数,以位为单位的传输速率
每秒,以及传输块的时间(往返时间的一半)。 前两个
列通常用于绘制吞吐量与块大小的关系图,而第三列
提供延迟。 例如, 吞吐量 而不是 阻止 尺寸 可以创建图形
通过绘制字节与每秒位数的关系图。 样本 图形(1) 这种图形的命令
将
设置对数刻度 x
情节“np.out”
配置
-a 异步模式:prepost 接收(MPI、IB 模块)
-b TCP_buffer_sizes
设置发送和接收 TCP 缓冲区大小(仅限 TCP 模块)。
-B 一次预发布所有接收的突发模式(MPI、IB 模块)。
-f 使用围栏阻止完成(仅限 MPI2 模块)。
-g 使用 MPI_Get() 而不是 MPI_Put() (仅限 MPI2 模块)。
-h 主机
指定要连接的接收方主机的名称(TCP、PVM、IB、GM)。
-I 使缓存无效以衡量没有缓存影响的性能(主要影响 IB
和 memcpy 模块)。
-i 进行完整性检查而不是性能评估。
-l 起始消息大小
指定要测试的消息大小的下限。
-n 重复
将每个测试的重复次数设置为常数。 否则,数量
选择重复次数可为每次测试提供准确的计时。 非常小心,如果
指定一个较低的数字,以便乒乓测试的时间超过计时器
准确度。
-O 源偏移量,目标偏移量
从完美页面指定缓冲区的源和目标偏移量
对准。
-o 输出文件名
指定输出文件名(默认为 np.out)。
-p 扰动大小
NetPIPE 定期选择消息大小,增加它们
从下边界到上边界呈指数增长。 在每个点,它
还测试每个测试点上方 3 个字节和下方 3 个字节的扰动以找到
系统中的异能。 可以使用以下方法更改此扰动值 -p
选项,或关闭使用 -p 0 .
-r 此选项在每次测试后重置 TCP 套接字(仅限 TCP 模块)。 这是
自套接字窗口以来,某些流测试是获得良好测量所必需的
否则大小可能会崩溃。
-s 设置数据仅在一个方向传输的流模式。
-S 使用同步发送(仅限 MPI 模块)。
-u 上限
指定要测试的消息大小的上限。 默认情况下,
当传输块的时间超过一秒时,NetPIPE 将停止。
-z 使用 MPI_ANY_SOURCE 接收消息(仅限 MPI 模块)
-2 设置双向模式,双方同时发送和接收
(大多数模块都支持)。 您可能需要使用 -a 选择异步
MPI 通信以避免冻结。 对于 TCP,最大测试大小为
受 TCP 缓冲区大小的限制。
使用 onworks.net 服务在线使用 NPpvm