英特尔(R) 至强融核(TM) 平台软件堆栈
英特尔(R) 至强融核(TM) 协处理器软件开发平台
gold 软件预览版本
驱动程序修订版: 2.1.4346-16
Oct 19, 2012
部件号: MPSS gold README
出口法规: ECCN = 5D992a; ECCN = EAR99
*** 注意:
*** o 本文档是关于包含英特尔(R) 至强融核(TM) 协处理器的系统。
*** o 在本文档中,以“user_prompt>”开头的行用于表示 Linux* shell 提示符,并且同一行上紧随此字符串的文本表示将在 Linux* shell 中执行的命令。
免责声明:
本文档涉及英特尔开发的产品。 此部分强调对这些产品的使用方式和向其他人披露的信息的限制。 有关更多信息,请与英特尔现场代表联系。
英特尔不承担任何可用性、效益或担保责任。 此处包含的 license.txt 完整定义了此软件的许可和使用,但 GPL 组件除外。 本文档包含处于开发设计阶段的产品的相关信息。 此处信息可能随时更改,恕不另行通知。 请勿根据这些信息确定最终设计。
这些模块中所包含的代码可能是英特尔(R) 至强融核(TM) 协处理器所特有,并且不能与其它英特尔(R) 产品向后兼容。 此外,英特尔对未来产品中的代码支持或指令集不做任何承诺。
* 文中涉及的其它名称及商标属于各自所有者资产。
===============================================================================
目录
===============================================================================
1. 概述
1.1 软件修订号
1.2 相关软件修订号
2. 提交错误和其它请求
3. 硬件要求 - 首选配置
4. 英特尔(R) 至强融核(TM) 平台软件堆栈要求
4.1 一般要求
4.2 第三方软件要求
5. 软件安装
5.1 安装英特尔(R) 至强融核(TM) 平台软件堆栈
5.2 初始配置
5.3 安装 OFED 软件(可选)
5.4 安装 GANGLIA* 软件(可选)
6. 启动和停止英特尔(R) 至强融核(TM) 协处理器平台软件堆栈服务
6.1 启动英特尔(R) 至强融核(TM) 协处理器服务
6.2 启动带 OFED 支持的英特尔(R) 至强融核(TM) 协处理器服务
6.3 启动带 GANGLIA* 支持的英特尔(R) 至强融核(TM) 协处理器服务
6.4 停止英特尔(R) 至强融核(TM) 协处理器服务
7. 英特尔(R) 至强融核(TM) 协处理器的配置文件
7.1 包括重叠配置文件
7.2 启动英特尔(R) 至强融核(TM) 协处理器
7.3 英特尔(R) 至强融核(TM) 协处理器闪存更新
7.4 进入/退出电源状态 PC6
4.9 为英特尔(R) 至强融核(TM) 协处理器选择时钟源
8. 可用的工具
8.1 Micinfo
8.2 Micflash
8.3 Micsmc
8.4 Miccheck
8.5 Micnativeloadex
8.6 Linux*“service”和“chkconfig”命令
8.7 Micctrl
8.8 Micrasd
8.9 Mpssflash
8.10 Mpssinfo
8.11 英特尔(R) 至强融核(TM) Shell 环境
9. 与嵌入式 Linux* OS 通信
9.1 SSH 访问英特尔(R) 至强融核(TM)
9.2 网络配置
9.3 NFS 安装主机导出
9.4 英特尔(R) 至强融核(TM) 的 DHCP 配置
9.5 虚拟控制台访问
10. 重新编译源中的 GPL 二进制
10.1 重新编译主机驱动程序
10.2 重新编译 GPL RPM
10.3 重新编译英特尔(R) 至强融核(TM) 特定的 OFED RPM
10.4 重新编译英特尔(R) 至强融核(TM) 特定的 OFED 协处理器 RPM
10.5 重新编译英特尔(R) 至强融核(TM) 特定的 GANGLIA* RPM
11. 对称通信接口支持的功能
12. MPSS 2.1 版本的软件开发环境
12.1 支持的环境
12.2 编译支持的环境
12.3 SCIF 的用户模式代码
12.4 P2P(对等)支持
12.5 SCIF 中的注册缓存
12.6 英特尔(R) 至强融核(TM) 的 GNU 调试器 (GDB)
12.7 英特尔(R) 至强融核(TM) 的 Virtio 块设备
13. 支持特性的快照
===============================================================================
1. 概述
===============================================================================
此“自述文件”与英特尔(R) 至强融核(TM) 平台软件堆栈版本修订 2.1.4346-16 有关。
MPSS 2.1 包含 Linux* 驱动程序和 gold 及更高版本的支持工具。
1.1 软件修订号
下面列出了 MPSS 2.1 Linux* 程序包软件组件的修订号
MPSS 2.1 Linux* 主机驱动程序和运行时 2.1.4346-16
英特尔(R) 至强融核(TM) 协处理器闪存映像 EXT_HP2_A0_0375-01
EXT_HP2_B0_0375-01
EXT_HP2_B1_0375-01
1.2 相关软件修订号
MPSS 2.1 Linux* 程序包已使用下面指定修订中的以下主机“操作系统”版本进行测试。
Red Hat* Enterprise Linux* 64 位 6.0 内核 2.6.32-71
Red Hat* Enterprise Linux* 64 位 6.1 内核 2.6.32-131
Red Hat* Enterprise Linux* 64 位 6.2 内核 2.6.32-220
Red Hat* Enterprise Linux* 64 位 6.3 内核 2.6.32-279
SUSE* Linux* Enterprise Server SLES 11 SP1 内核 2.6.32.12-0.7-default
SUSE* Linux* Enterprise Server SLES 11 SP2 内核 3.0.13-0.27-default
****************************************************************************
* 警告: 其它版本不支持此软件。
*
* 此驱动程序依赖于 2.6.32 Linux* 内核。 提供主机驱动程序的源。 此时由软件用户决定是否要传送至其它 Linux* 内核。
*
* 此时英特尔不负责提供任何资源来帮助非测试编译,因此不存在支持的环境。
****************************************************************************
===============================================================================
2. 提交错误和其它请求
===============================================================================
需要英特尔开发解决方案的所有问题均应通过 http://premier.intel.com 向英特尔卓越支持提出
===============================================================================
3. 硬件要求 - 首选配置
===============================================================================
配置 1:
主板: W2600CR2(以前称为 Crown Pass)
Bios: BIOS 44,公开可用的生产版 BIOS 不支持
英特尔(R) 至强融核(TM) 协处理器,因此不应使用。
CPU: 英特尔(R) 至强(TM) 处理器 E5-2600 系列
协处理器: 英特尔(R) 至强融核(TM) 协处理器。
RAM: 32 GB ECC DDR3-1333 (8 x 4GB)
HDD: 1 TB SATA2
电源: 2x 1200W PMBus 非冗余
显卡: 兼容分配的显卡
配置 2:
主板: S5520SC(以前称为 Shady Cove)
Bios: BIOS X2_59
CPU: 英特尔(R) 至强(TM) 处理器 5600 系列
协处理器: 英特尔(R) 至强融核(TM) 协处理器。
RAM: 24 GB 1333 MHz DDR3 (6 x 4GB)
HDD: 最小值 500GB
电源: 1200 瓦
显卡: 兼容分配的显卡
===============================================================================
4. 英特尔(R) 至强融核(TM) 平台软件堆栈要求
===============================================================================
4.1 一般要求
*** 注意:
*** o 在英特尔(R) 至强融核(TM) 平台软件堆栈 Beta 版本中添加了 SUSE* SP2 支持。 由此,已弃用 SUSE* SP1 作为主机 OS 的支持,且会从未来版本中将其移除。
*** o 有关如何获取 Red Hat* Enterprise Linux* 受支持的版本的信息,请访问供应商网站。
*** o 有关如何获取 SUSE* Linux* Enterprise Server 的信息,请访问 Novell* (SUSE*) 供应商网站。
1) 英特尔(R) 至强融核(TM) 平台软件堆栈 gold 预览版本程序包
2) 安装英特尔(R) 至强融核(TM) 平台软件堆栈 2.1 版本需要超级用户权限。
3) 至少安装了一个英特尔(R) 至强融核(TM) 协处理器的受支持硬件平台。
4) Linux* 主机操作系统(默认配置)。
支持的版本:
- Red Hat* Enterprise Linux* 6.0 64 位内核 2.6.32-71。
- Red Hat* Enterprise Linux* 6.1 64 位内核 2.6.32-131。
- Red Hat* Enterprise Linux* 6.2 64 位内核 2.6.32-220。
- Red Hat* Enterprise Linux* 6.3 64 位内核 2.6.32-279。
- SUSE* Linux* Enterprise Server (SLES) 11 SP1 内核
2.6.32.12-0.7-default。
- SUSE* Linux* Enterprise Server (SLES) 11 SP2 内核 3.0.13-0.27-default。
****************************************************************************
* 警告: 供应商更新会阻止加载英特尔(R) 至强融核(TM) 平台软件堆栈 2.1 Linux* 主机驱动程序
*
* o 背景: Red Hat* 和 SUSE* 均已发布次要的内核版本更新,大多数用户可获得新内核的自动更新。 内核更新时,会导致版本控制与英特尔(R) 至强融核(TM) 平台软件堆栈 Linux* 主机驱动程序不兼容。
*
* o 解决方法 1:
* 将主机 Linux* 内核还原至原始内核:
*
* o 以超级用户身份打开控制台并且编辑文件 /boot/grub/menu.lst。
* o 此文件将显示最新版本和各先前内核版本的可用启动项列表,其中首先显示最新版本。
* o Red Hat* 上的“default=0”或 SUSE* 项目的“default 0”会告知启动系统使用顶部项目。 统计此项下方的项目数,直到找到原始内核的项目(RHEL* 6.0 的 2.6.32-71 或 SUSE* SLES SP2 的 SP2 内核 3.0.13-0.27-default)。编辑“default”并将其更改为正确的启动项。
* o 保存、退出,然后重新启动。 这会使 OS 启动至原始安装的内核版本。
*
* o 解决方法 2:
* 请参阅第 10.1 节“重新编译主机驱动程序”
****************************************************************************
4.2 第三方软件要求
1) 在 Red Hat* Enterprise 上安装 MPSS OFED 的要求
- OFED 1.5.4.1 ***注意: 当前仅支持 OFED 1.5.4.1。 (第 5.3 节“安装 OFED 软件”)
- rpm-build
- libstdc++-develgcc-gfortran
- libsysfs
- redhat-rpm-config
- tcl
- tk
- libtool
- bison
- flex
- zlib-devel
- gcc-c++
- tcl-devel
2) 在 Red Hat* Enterprise 上安装 MPSS GANGLIA* 的要求
- apr
- apr-devel
- expat
- expat-devel
- gcc-c++
- libconfuse
- libconfuse-devel
- libtool
- rpm-build
- rrdtool
- rrdtool-devel
3) 在 SUSE* Linux* Enterprise Server (SLES) 上安装 MPSS OFED 1.5.4.1 的要求
- gcc
- bison flex
- gcc-c++
- kernel-dev
- libgfortran43
- tcl-devel
- zlib-devel
4) 在 SUSE* Linux* Enterprise Server (SLES) 上安装 MPSS GANGLIA* 的要求
- gcc-c++
- libapr1
- libapr1-devel
- libconfuse0
- libconfuse-devel
- libexpat0
- libexpat-devel
- libtool
- rpm-build
- rrdtool
- rrdtool-devel
===============================================================================
5. 软件安装
===============================================================================
5.1 安装英特尔(R) 至强融核(TM) 平台软件堆栈
***注意:
*** o 本节中显示的范例适用于 Red Hat* Enterprise Linux* 6.0。对于所需的程序包,相应地修改命令。
*** o SUSE* Linux* Enterprise Server 版本要求设置内核,以允许加载非 SUSE* 驱动程序模块。 编辑“/etc/modprobe.d/unsupported-modules”文件,并将“allow_unsupported_modules”的值设置为 1。
1) 在安装 MPSS 软件之前禁用 SELinux,以避免 SELinux 覆盖标准 Linux* 权限设置。
2) 卸载先前版本的 MPSS 驱动程序(如果存在)
o 如果已安装的版本早于 2.x.28xx,请使用以下项目卸载该驱动程序:
user_prompt> sudo modprobe -r mic
o 如果已安装的版本为 2.x.28xx 或更高版本,请使用以下项目卸载该驱动程序:
OFED 层
user_prompt> sudo service ofed-mic stop
user_prompt> sudo service opensmd stop
user_prompt> sudo service openibd stop
MPSS 层
user_prompt> sudo service mpss stop
user_prompt> sudo service mpss unload
3) 卸载先前版本的 MPSS 驱动程序(如果存在)
o Red Hat* Enterprise Linux*
user_prompt> sudo yum remove --noplugins --disablerepo=* intel-mic/*
o SUSE* Linux* Enterprise Server
user_prompt> sudo zypper remove intel-mic
4) 通过以下方式确定目标主机操作系统对应的 tar 文件
使用以下常规
rhel-6.0.tgz -> 用于 Red Hat* Enterprise (RHEL) 系统 6.0
rhel-6.1.tgz -> 用于 Red Hat* Enterprise (RHEL) 系统 6.1
rhel-6.2.tgz -> 用于 Red Hat* Enterprise (RHEL) 系统 6.2
rhel-6.3.tgz -> 用于 Red Hat* Enterprise (RHEL) 系统 6.3
suse-11.1.tgz -> 用于 SUSE* Linux* Server 11 SP1。
suse-11.2.tgz -> 用于 SUSE* Linux* Server 11 SP2 (SLES)。
5) 解压缩 MPSS 程序包
user_prompt> tar xvzf STRING_PACKAGE_NAME-2.1.4346-16-rhel-6.0.tgz
6) 访问解压缩的目录并安装 MPSS 程序包
user_prompt> cd STRING_PACKAGE_NAME-2.1.4346-16-rhel-6.0
o Red Hat* Enterprise Linux*
user_prompt> sudo yum install --nogpgcheck --noplugins \
--disablerepo=* *.rpm
o SUSE* Linux* Enterprise Server
user_prompt> sudo zypper --no-gpg-checks install *.rpm
o 用匹配的闪存映像更新协处理器的闪存。 按照“英特尔(R) 至强融核(TM) 协处理器闪存更新”一节中的程序操作,然后返回此处。
5.2 初始配置
在首次启动 MPSS 服务之前,系统管理员必须完成英特尔(R) 至强融核(TM) 协处理器配置。
1) 安装本地 ssh 密钥以使用虚拟网络来与英特尔(R) 至强融核(TM) 协处理器通信。 对系统中需要访问协处理器的所有用户完成此操作,包括 Root 用户(第 9.1 节“SSH 访问英特尔(R) 至强融核(TM))。
2) 初始化系统上安装的英特尔(R) 至强融核(TM) 协处理器的默认配置。
user_prompt> sudo micctrl --initdefaults
“micctrl --initdefaults”会创建并填充对应于系统中安装的每个英特尔(R) 至强融核(TM) 协处理器的默认配置文件。 这些配置文件名为 default.conf 和 micN.conf,位于 /etc/sysconfig/mic/ 中。 N 是整数(0、1、2、3 等),用于标识系统中安装的每个协处理器。
3) 如果默认配置满足系统的要求,请继续执行步骤 5。否则,请编辑 /etc/sysconfig/mic 中的配置文件(第 7 节“英特尔(R) 至强融核(TM) 协处理器的配置文件”)。
4) 要将在步骤 3 中对 default.config 进行的更改广播至所有协处理器配置文件,请使用选项 --resetconfig。 此命令会删除所有先前的协处理器配置文件,并使用新的编辑过的命令重新创建这些配置文件。
user_prompt> sudo micctrl --resetconfig
如果更改与特定的英特尔(R) 至强融核(TM) 协处理器配置文件相关,则仅更新该协处理器的配置。 例如,如果 /etc/sysconfig/mic/mic1.conf 已更改,则运行:
user_prompt> sudo micctrl --resetconfig mic1
5.3 安装 OFED(可选)
*** 注意:
*** o 仅支持 OFED 1.5.4.1 版本。
*** o 本节中显示的范例适用于 Red Hat* Enterprise Linux* 和 SUSE* Linux* Enterprise Server。
*** o 如果不满足要求,则 OFED 安装将提供完成安装所需的 RPM 列表。 请根据需要加以安装。
*** o 有关安装 OFED 的任何其它信息,请参阅与 OFED 存档捆绑的自述文件。
*** o yum 和 zypper 均支持软件升级和降级。 但是,强烈建议在完整卸载现有英特尔(R) 至强融核(TM) 软件后全新安装替换软件,以升级或降级英特尔(R) 至强融核(TM) 软件。
1) 下载 OFED 1.5.4.1
user_prompt> wget \
http://www.openfabrics.org/downloads/OFED/ofed-1.5.4/OFED-1.5.4.1.tgz
2) 解压缩 OFED 1.5.4.1 并访问解压缩文件夹
user_prompt> tar xf OFED-1.5.4.1.tgz
user_prompt> cd OFED-1.5.4.1
3) 执行安装脚本
user_prompt> sudo perl install.pl
在安装期间,选择:
o 选项 2(安装 OFED 软件)
o 选项 3(所有软件包)
o 选项 1(实施: OFA)
o Enable ROMIO support [Y/n],回答 Y
o Enable shared library support [Y/n],回答 Y
o Enable Checkpoint-Restart support [Y/n],回答 N
4) 删除 kernel-ib-devel 和 kernel-ib 程序包
user_prompt> sudo rpm -e kernel-ib-devel
user_prompt> sudo rpm -e kernel-ib
5) 安装 MPSS OFED
o Red Hat* Enterprise Linux*
user_prompt> sudo yum install --nogpgcheck --noplugins \
--disablerepo=* ofed/*.rpm
o SUSE* Linux* Enterprise Server
user_prompt> sudo zypper --no-gpg-checks install ofed/*.rpm
5.4 安装 GANGLIA*(可选)
*** 注意:
*** o 当前仅支持 GANGLIA* 3.1.7。
*** o 相同步骤适用于 Red Hat* Enterprise Linux* 和 SUSE* Linux* Enterprise Server。
*** o 有关安装 GANGLIA* 的其它信息,请参阅位于 http://ganglia.sourceforge.net/ 的文件
*** o GANGLIA* 网页的默认路径是 /usr/share/ganglia。 如果已安装 ganglia-web RPM,将会覆盖以下文件:conf.php、get_context.php 和 host_view.php。
1) 从以下位置下载 GANGLIA* 3.1.7:http://ganglia.info/?p=269
2) 解压缩 GANGLIA* 3.1.7 并访问解压缩文件夹
user_prompt> tar xf ganglia-3.1.7.tar.gz
user_prompt> cd ganglia-3.1.7
3) 执行配置工具
user_prompt> ./configure --with-gmetad --with-libpcre=no \
--sysconfdir=/etc/ganglia
4) 构建 GANGLIA* 内容并安装二进制文件
user_prompt> make
user_prompt> make install
5) 生成 gmond 的默认配置
user_prompt> gmond --default_config > /etc/ganglia/gmond.conf
6) 编辑 /etc/ganglia/gmond.conf 以配置 udp_recv_channel,在第 54 行上添加以下条目
udp_recv_channel { port = 8649 }
7) 编辑 /etc/ganglia/gmetad.conf,在“data_source”这一行中配置群集名称
data_source "mic_cluster" localhost
8) 更改 RRD 文件夹的所有者
user_prompt> chown -R nobody /var/lib/ganglia/rrds
9) 将 GANGLIA* Web 内容复制到本地 Web 路径
user_prompt> cp -r web
/ganglia
10) 启动 gmond 和 gmetad 监控程序
user_prompt> gmond
user_prompt> gmetad
11) 安装 MPSS ganglia
o Red Hat* Enterprise Linux*
user_prompt> sudo yum install --nogpgcheck --noplugins \
--disablerepo=* intel-mic-ganglia*.rpm
o SUSE* Linux* Enterprise Server
user_prompt> sudo zypper --no-gpg-checks install \
intel-mic-ganglia*.rpm
12) 将文件 intel-mic-ganglia-STRING_GANGLIA_VERSION.tar 的 web 内容复制到 GANGLIA* web 路径
user_prompt> tar xf intel-mic-ganglia-STRING_GANGLIA_VERSION.tar
user_prompt> cp -r intel-mic-ganglia-STRING_GANGLIA_VERSION/* \
/ganglia/
===============================================================================
6. 启动和停止英特尔(R) 至强融核(TM) 协处理器平台软件堆栈服务
===============================================================================
6.1 启动英特尔(R) 至强融核(TM) 协处理器 MPSS 服务
1) 使用 Linux* 服务命令启动 MPSS。
user_prompt> sudo service mpss start
2) 使用“micctrl -w”检查英特尔(R) 至强融核(TM) 协处理器的状态。 如果服务成功启动,则“micctrl -w”将会返回“mic0: online”。
user_prompt> sudo micctrl -w
o 将 MPSS 服务配置为在主机 OS 启动时启动
user_prompt> sudo chkconfig mpss on
o 禁止 MPSS 服务在主机 OS 启动时启动
user_prompt> sudo chkconfig mpss off
6.2 启动带 OFED 支持的英特尔(R) 至强融核(TM) 协处理器服务
1) 启动 MPSS 服务(第 6.1 节)。 如果 MPSS 尚未启动,不要继续执行任何进一步的操作。
2) 如果已安装 IB HCA,请启动其服务。
user_prompt> sudo service openibd start
user_prompt> sudo service opensmd start
3) 启动英特尔(R) 至强融核(TM) 特定的 OFED 服务。
user_prompt> sudo service ofed-mic start
6.3 启动带 GANGLIA* 支持的 MPSS 基本服务
1) 配置文件 /opt/intel/mic/ganglia/etc/ganglia/gmond.conf。默认情况下,会禁用 CPU 指标;启用它们将导致性能损失。 要启用 CPU 指标,请取消注释第 146 行中的块。
2) 如果已安装 intel-ganglia-mic rpm,则会启动带 MPSS 服务的英特尔(R) 至强融核(TM) 特定的
GANGLIA* 堆栈。
6.4 停止英特尔(R) 至强融核(TM) 协处理器服务
o 要停止英特尔(R) 至强融核(TM) OFED 堆栈,必须先停止 OFED 服务,然后才能停止 MPSS
user_prompt> sudo service ofed-mic stop
o 停止英特尔(R) 至强融核(TM) OFED 堆栈
user_prompt> sudo service mpss stop
user_prompt> sudo service mpss unload
user_prompt> sudo service opensmd stop
user_prompt> sudo service openibd stop
o 停止英特尔(R) 至强融核(TM) 服务
user_prompt> sudo service mpss stop
user_prompt> sudo service mpss unload
o 要停止英特尔(R) 至强融核(TM) 特定的 GANGLIA* Gmond,请对所有已安装的协处理器重复以下命令。 将 0 更改为每个协处理器的对应编号。
user_prompt> sudo ssh mic0 killall gmond
===============================================================================
7. 英特尔(R) 至强融核(TM) 的配置文件
===============================================================================
***注意:N 是对应于系统中已安装的英特尔(R) 至强融核(TM) 协处理器标识号的整数 0、1、2 等。
英特尔(R) 至强融核(TM) 协处理器配置文件位于 /etc/sysconfig/mic/default.conf 和 /etc/sysconfig/mic/micN.conf 中。MPSS 设备驱动程序会安装 default.conf。此文件用作所有已安装的协处理器的集中式配置文件。 另外,该驱动程序会安装 micN.conf 文件,该文件允许系统管理员单个配置每个英特尔(R) 至强融核(TM) 协处理器。
典型的 default.conf 类似以下:
# 使用协处理器上的详细内核记录
VerboseLogging Disabled
# 如果 NetworkBridgeName 未定义,会默认使用静态 IP 地址对。
# 以“mic”开头的网桥名称将由 MPSS 监控程序创建。
# 假定已存在其它网桥。
# BridgeName micbr0
# 定义网络地址的前 2 个八进制字符串。
# 静态对配置将默认填充第二组的 2 个八进制字符串。
# 单个英特尔(R) 至强融核(TM) 配置文件可使用 MicIPaddress 和 HostIPaddress 覆盖默认值。
Subnet 172.31
# 嵌入式 Linux* 文件系统基础的来源
BaseDir /opt/intel/mic/filesystem/base \
/opt/intel/mic/filesystem/base.filelist
# 英特尔(R) 至强融核(TM) 协处理器唯一重叠文件,如“etc”等。
CommonDir /opt/intel/mic/filesystem/common \
/opt/intel/mic/filesystem/common.filelist
# 其它命令行参数。 更改这些内容时应谨慎。
ExtraCommandLine "console=hvc0 mce=off"
# 包括默认的所有其它功能配置文件
Include "conf.d/*.conf"
典型的 mic0.conf 文件类似以下:
# 包括所有英特尔(R) 至强融核(TM) 协处理器共有的配置
Include default.conf
# 英特尔(R) 至强融核(TM) OS 映像
OSimage /lib/firmware/mic/uos.img
# 在启动 MPSS 时,启动英特尔(R) 至强融核(TM) 协处理器
BootOnStart Enabled
# 要分配给英特尔(R) 至强融核(TM) 协处理器的主机名
Hostname "myhost-mic0.domain.com"
# 由 mpssd 分配和指派的英特尔(R) 至强融核(TM) MAC 地址
MicMacAddress "46:44:a9:16:52:03"
# 由 mpssd 分配和指派的主机 MAC 地址
HostMacAddress "12:3e:13:96:0d:dc"
# 可下载的文件系统映像位置
FileSystem /opt/intel/mic/filesystem/mic0.image
# 对每个协处理器唯一的嵌入式 Linux* 文件系统文件
CardDir /opt/intel/mic/filesystem/mic0 \
/opt/intel/mic/filesystem/mic0.filelist
7.1 包括重叠配置文件
每个协处理器都通过唯一的配置文件 micN.conf 启动。系统管理员可使用 Include 配置参数包括其它配置文件。
Include 参数具有以下格式: Include
要包括的配置文件必须可在基目录 etc/sysconfig/mic 中找到。 基目录下还可能包括子目录。
根据英特尔(R) 至强融核(TM) 配置文件,在默认底部可找到一个特殊的 Include: Include conf.d/*.conf
这会使 /etc/sysconfig/mic/conf.d 中的任何文件被包括在内。
7.2 启动英特尔(R) 至强融核(TM) 协处理器
mpssd 监控程序提供英特尔(R) 至强融核(TM) 协处理器的所有启动信息。
o 要启动的 Linux 影像
OSImage 参数表示 Linux* 内核 - 初始 Linux 启动映像。 default.conf 表示名为 uos.img 的英特尔(R) 至强融核(TM) 传统默认映像。系统管理员可通过在英特尔(R) 至强融核(TM) 特定配置文件中重新定义 OSImage 参数来覆盖默认值。
o 启动设备类型和位置
RootDevice 参数指出启动设备的类型以及设备的位置信息。 默认配置指定使用下载的 RAM 文件系统映像。 该映像将在从 BaseDir、CommonDir、MicDir 和 Overlay 配置参数要求时创建。
o 启动时间
系统管理员决定在主机启动时启动 mpss 服务。 系统管理员可能不希望所有英特尔(R) 至强融核(TM) 协处理器都立即启动。 BootOnStart 参数会定义此功能。 此参数可在英特尔(R) 至强融核(TM) 协处理器配置文件中单独定义。
o 内核命令行参数
ExtraCommandLine 参数指定在英特尔(R) 至强融核(TM) 协处理器内核启动时,传递给该内核的内核命令行参数。 协处理器驱动程序当前使用主机驱动程序生成的多个内核命令行参数。 分配至此处的值会附加在此列表上。
ExtraCommandLine 参数主要用于开发。
命令行参数更改后,重新启动“mpss”服务。
o 启动期间会显示英特尔(R) 至强融核(TM) 协处理器的详细消息
VerboseLogging 参数指定在英特尔(R) 至强融核(TM) 协处理器启动时,是否将“quiet”内核命令行参数传递给该协处理器。
quiet 内核参数会在内核启动时禁止大多数内核消息。 内核在“quiet”启用状态下会更加快速地启动。
默认值是“启用”。
o 指定文件系统内容
压缩文件系统映像会在启动时下载至英特尔(R) 至强融核(TM) 协处理器,压缩文件系统映像生成的内容则由 BaseDir、MicDir 和 Overlay 参数定义。 文件系统内容为一系列“重叠”。 重叠序列的顺序可任意,但是通常顺序基于命令,即英特尔(R) 至强融核(TM) 重叠列表。
BaseDir 参数默认包含 MPSS 安装 RPM 的文件系统信息。 该信息位于已安装的 default.conf 文件中,并且通常不会更改。
MicDir 参数定义每个协处理器唯一的英特尔(R) 至强融核(TM) 协处理器文件。 mpssd 会在此目录中创建多个默认文件。 默认值会记录在每个英特尔(R) 至强融核(TM) 协处理器配置文件中。
Overlay 参数可多次使用。 这样可允许软件在基础 MPSS 文件顶部进行安装。 通常 /etc/sysconfig/mic/conf.d 目录中包含 Include 参数的各个文件,也会包含 Overlay 参数。
这三个参数具有同一格式。 自变量一,“dir”为包含文件的目录,这些文件均包含在文件系统中。 自变量二,“file”为要包括的文件(可包括多个“file”自变量)和需要放置在文件系统中的所有信息。 条目具有以下格式:
dir
file
slink
nod
要填充的变量为:
定义英特尔(R) 至强融核(TM) 协处理器文件系统上的位置
为文件权限的八进制表示法
和 为文件所有者的数字用户 ID 和组 ID
定义了实际文件的来源,这些文件要放置在英特尔(R) 至强融核(TM) 协处理器文件系统中
定义了象征性链接的文件
定义了设备节点类型,且应为块设备分配“b”或为字符设备分配“c”
和 定义设备数量的 和
例如,与默认 BaseDir 定义文件 base.filelist 相关的某些条目有:
dir /sys 755 0 0
dir /dev 0755 0 0
nod /dev/console 0600 0 0 c 5 1
file /etc/zcip/zcip.script etc/zcip/zcip.script 775 0 0
file /bin/busybox bin/busybox 755 0 0
slink /bin/fsync busybox 777 0 0
slink /bin/egrep busybox 777 0 0
slink /usr/bin/tee ../../bin/busybox 777 0 0
系统管理员不应对“BaseDir”定义的文件进行修改。 运行 micctrl 来设置默认配置会在“MicDir”中生成多个文件,其中包括 /etc/passwd 和网络配置。 系统管理员可添加此目录,还会更新 micN.filelist 文件进行匹配。
系统管理员还可能会手动编辑“MicDir”中生成的文件。 例如,可以在协处理器上为用户设置密码。
系统管理员还可能希望在 /etc/sysconfig/mic/conf.d 目录中添加配置文件,以访问其它软件。 请参阅 /etc/sysconfig/mic/conf.d/coi.conf 文件了解此操作示例。
7.3 英特尔(R) 至强融核(TM) 协处理器闪存更新
********************************************************************************
* 警告: 请特别注意英特尔(R) 至强融核(TM) 的工程样品版本,执行以下步骤会重置该版本闪存。 将不正确的 ROM 文件传递至英特尔(R) 至强融核(TM) 协处理器会导致协处理器无响应且需要更换。
********************************************************************************
使用 micflash 工具搜索适用于目标英特尔(R) 至强融核(TM) 协处理器的兼容映像,然后执行闪存更新操作。 如果在下面省略“”路径,则 micflash 将在当前目录和 /opt/intel/mic/flash 目录中搜索兼容映像。
user_prompt> sudo /opt/intel/mic/bin/micflash \
-Update
或者,请参考下表,确定应该用于英特尔(R) 至强融核(TM) 协处理器各步进/工程样品的相应闪存映像:
步进(工程样品#) | 闪存 ROM 名称
--------------------+-----------------------------------------
A0 (ES0, ES1) | EXT_HP2_A0_0375-01.rom.smc
B0 (ES2) | EXT_HP2_B0_0375-01.rom.smc
B1 (QS) | EXT_HP2_B1_0375-01.rom.smc
***注意: 以 .smc 结尾的任何闪存映像文件同时包含闪存和 smc 固件。
3) 等待协处理器处于“就绪”状态
user_prompt> sudo micctrl -w
user_prompt> mic0: ready
如果协处理器未处于“就绪”状态,请执行下面的操作
user_prompt> sudo micctrl -r
user_prompt> sudo micctrl -w
user_prompt> mic0: ready
4) 使用“micflash -Update”命令更新协处理器的闪存
如果要使用用户控制台上显示的状态消息进行闪存更新。
user_prompt> sudo /opt/intel/mic/bin/micflash -Update \
/opt/intel/mic/flash/EXT_HP2__0375-01.rom.smc
如果闪存更新无需状态消息,且在操作结束时要重新启动主机/节点。
user_prompt> sudo /opt/intel/mic/bin/micflash -silent -Update \
/opt/intel/mic/flash/EXT_HP2__0375-01.rom.smc
如果闪存更新无需状态消息,且在闪存更新操作结束时无需重新启动主机/节点。
user_prompt> sudo /opt/intel/mic/bin/micflash -silent -noreboot \
-Update /opt/intel/mic/flash/EXT_HP2__0375-01.rom.smc
如果闪存更新无需状态消息,且在闪存更新操作结束时无需重新启动主机/节点来记录状态。(推荐用于群集环境中的多节点闪存更新)
user_prompt> sudo /opt/intel/mic/bin/micflash -silent -noreboot -Update \
/opt/intel/mic/flash/EXT_HP2__0375-01.rom.smc \
-log
如果闪存更新无需状态消息,且在闪存更新操作结束时需要重新启动主机/节点来记录状态。(推荐用于群集环境中的多节点闪存更新)
user_prompt> sudo /opt/intel/mic/bin/micflash -silent -Update \
/opt/intel/mic/flash/EXT_HP2__0375-01.rom.smc \
-log
其中 为步进“A0”、“B0”或“B1”等。
为包含更新操作状态的日志文件名称。
5) 如果系统中有多个协处理器,请使用“-device ”选项来指定要更新的协处理器。 例如: 更新第二个英特尔(R) 至强融核(TM) 协处理器上的闪存:
user_prompt> sudo micctrl -r mic1
user_prompt> sudo micctrl -w
user_prompt> sudo /opt/intel/mic/bin/micflash -Update \
/opt/intel/mic/flash/EXT_HP2__0375-01.rom.smc -device 1
其中 为步进“A0”、“B0”或“B1”等。
6) 加载新闪存映像需要重新启动主机系统,并且必须先重新启动主机系统,然后英特尔(R) 至强融核(TM) 协处理器才可用。
7.4 进入/退出电源状态 PC6
*** 注意: PC6 过渡不会与使用 EXT_ prefix 的已安装闪存映像协同工作。 它仅与包含使用 INT_ prefix 的闪存映像的英特尔(R) 至强融核(TM) 协处理器协同工作。
o 有关 PC6 条目,
1. 确认您在 /etc/sysconfig/mic/default.conf 的 PowerManagement 部分具有“pc3_on;pc6_on”
2. 以 root 用户身份通过 ssh 连接至协处理器
3. 使用命令
"echo 4 > /sys/devices/system/cpu/micpm/debug/governor_force_state"
如果协处理器没有活动,这会将协处理器置于 PC6 中。 可通过查看 /var/log/messages 来验证 PC6 条目。
通常,此时协处理器内核会继续尝试进入 PC6 直至成功。 由于某种原因,如果用户希望停止 PC6 尝试。
1. 以 root 用户身份通过 ssh 连接至协处理器
2. 使用命令
"echo 1 > /sys/devices/system/cpu/micpm/debug/governor_force_state"
o 有关 PC6 退出,
任何通过驱动程序 (Sysfs vnet) 的协处理器访问应将协处理器带出 PC6。
7.5 为英特尔(R) 至强融核(TM) 协处理器选择时钟源
用户可为协处理器选择 micetc 或 TSC 时钟源。
要在开机时选择 TSC,
1. 编辑 default.conf 文件中的 PowerManagement 行以包括
"cpufreq_off;etc_off;pc3_off" in /etc/sysconfig/mic/default.conf
2. 重新启动 mpss 服务
user_prompt> sudo service mpss stop
user_prompt> sudo micctrl --resetconfig
user_prompt> sudo service mpss start
***注意: - 对于此版本,micetc 为默认选中。
- 使用 micetc 时钟源并在多个线程中调用 gettimeofday 时,调用 gettimeofday 的时间比使用 TSC 时钟源慢了超过 100x。
- 有时内核会声明 tsc 时钟源不稳定,并会选择 jiffies 替代,这会将时间分辨率降低为 10ms。 用户可通过查看 /sys/devices/system/clocksource/clocksource0/current_clocksource 中的当前时钟源设备来检查是否已发生此降级。 用户需要重新启动协处理器以恢复使用 tsc 作为时钟源。
===============================================================================
8. 可用的工具
===============================================================================
*** 注意: 在不具备超级用户权限的情况下,执行某些工具可能会导致工具缩减功能。
英特尔(R) 至强融核(TM) 工具位于 /opt/intel/mic/bin 目录中。 Root 用户和需要这些工具的用户,应通过执行以下步骤将此目录添加至各自的默认路径:
o Red Hat* Enterprise Linux*: 将它添加至用户的 .bash_profile PATH 行。
o SUSE* Linux* Enterprise Server (SLES) 11 SP1 和 SP2:
对于 Bash shell,将以下行添加至用户的 .bashrc 文件
"export PATH=$PATH:/opt/intel/mic/bin"
o 还可在运行时使用以下命令为 Bash shell 进行该设置
user_prompt> export PATH=$PATH:/opt/intel/mic/bin
8.1 Micinfo
Micinfo 提供有关系统配置的信息。 它包括主机、英特尔(R) 至强融核(TM) 硬件和驱动程序的相关信息。
要检索所有信息,使用此命令:
user_prompt> sudo /opt/intel/mic/bin/micinfo
Micinfo 还会接受少量命令,这些命令可包括在命令行自变量中。 添加“-listdevices”将打印一张当前与系统连接的英特尔(R) 至强融核(TM) 设备列表。
user_prompt> sudo /opt/intel/mic/bin/micinfo -listdevices
使用“-deviceinfo ”将返回指定设备的所有设备特定信息。
user_prompt> sudo /opt/intel/mic/bin/micinfo -deviceinfo 0
(可选)将“-group ”包括在内可缩小此命令显示的信息范围。 有效的组名称包括 Version、Board、Core、Thermal 和 GDDR。
user_prompt> sudo /opt/intel/mic/bin/micinfo -deviceinfo 0 \
-group core
有关详细信息,请参考 micinfo 手册页面。
user_prompt> man micinfo
8.2 Micflash
请参考“英特尔(R) 至强融核(TM) 协处理器闪存更新”一节了解如何更新闪存。
除更新闪存外,micflash 还可以保存和检索闪存各部分的版本和信息。 Micflash 具有四个基本命令可用以: 保存硬件中的闪存、更新硬件中的闪存、显示可更新部分并返回设备中的当前闪存版本。
使用此命令获取硬件中当前闪存的副本:
user_prompt> sudo /opt/intel/mic/bin/micflash -save
这会将闪存的各个部分保存至某个文件,此文件稍后可用于 -Update。
使用此命令获取闪存的相关信息,即有关硬件中可更新部分的信息:
user_prompt> sudo /opt/intel/mic/bin/micflash -info -device 0
使用此命令来检索闪存中的版本信息:
user_prompt> sudo /opt/intel/mic/bin/micflash -getversion 2 \
-device 0
要检索闪存映像文件的相关信息:
user_prompt> sudo /opt/intel/mic/bin/micflash -info
******************************************************************************
* 警告: 如果已执行闪存更新,则重新启动系统以使英特尔(R) 至强融核(TM) 协处理器以新的闪存修订版启动。 如果执行了“更新”以外的任何其它闪存操作,请启动 MPSS 服务以确保 MPSS 功能完整。
******************************************************************************
有关详细信息,请参考手册页面。
user_prompt> man micflash
8.3 Micsmc
英特尔(R) 至强融核(TM) 平台状态面板 (micsmc),或控制面板应用程序为图形工具,旨在减轻管理英特尔(R) 至强融核(TM) 设备的负担。micsmc 可以两种模式运行: GUI 模式和命令行模式。 GUI 模式提供有关英特尔(R) 至强融核(TM) 内核利用率、内核温度、内存用量和电源使用量统计数据的持续更新信息。 CLI 模式会生成类似信息,但是此模式为可用于脚本应用程序的单步操作。
用户可使用任一模式查看整个系统(多个协处理器)或单个协处理器的统计信息。
micsmc 命令还可用于执行更为高级的功能: 查看错误日志、监控并连接至英特尔(R) 至强融核(TM) 设备、查看/管理日志文件以及 Root/管理员用户可管理每个协处理器或每个节点设置,如 ECC、扩展模式和电源状态。
micsmc 工具部分基于 Qwt 项目的工作 (http://qwt.sf.net)
无自变量调用时,micsmc 将以 GUI 模式运行。 如上所述,GUI 模式通过图形界面为所有检测到的英特尔(R) 至强融核(TM) 设备提供实时监控。
user_prompt> /opt/intel/mic/bin/micsmc
此外,micsmc 还可使用以下任一自变量以命令行模式调用:
英特尔(R) 至强融核(TM) 协处理器平台状态面板
版本: SYSMGMT_4119-1
由英特尔® 开发
此应用程序监控设备性能,包括驱动程序信息、温度、内核用量等等。
此程序部分基于 Qwt 项目的工作 (http://qwt.sf.net)
要获取“控制面板用户指南”,请转到:
"/opt/intel/mic/sysmgmt/docs/PlatformStatusPanellUserGuide.html"
用法:
======
-c 或 --cores: 显示系统中每个设备的平均内核利用率级别以及每个内核的利用率级别
-f 或 --freq: 显示系统中每个设备的时钟频率和电源级别
-i 或 --info: 显示常规系统信息
-m 或 --mem: 显示内存利用率数据
-t 或 --temp: 显示系统中每个设备的温度级别
--pwrenable [cpufreq | corec6 | pc3 | pc6 | all]:
** 此选项对于英特尔(R) 至强融核(TM)
** 软件开发工具(以前称为 Knights Ferry)无效。
该选项具有 4 个可选自变量:
cpufreq: 在所有设备上启用 cpufreq 电源管理功能
corec6: 在所有设备上启用 corec6 电源管理功能
pc3: 在所有设备上启用 pc3 电源管理功能
pc6: 在所有设备上启用 pc6 电源管理功能
all: 在所有设备上启用全部 4 个电源管理功能
注意: 如果未提供选项,则会将其禁用。 如果未提供自变量,则所有 4 个电源管理功能都将被禁用。
--pwrstatus: ** 此选项对于英特尔(R) 至强融核(TM)
** 软件开发工具(以前称为 Knights Ferry)无效。
显示每个设备的电源管理功能状态
--turbo [status | enable | disable] [device [micN | 设备列表]:
** 此选项对于英特尔(R) 至强融核(TM)
** 软件开发工具(以前称为 Knights Ferry)无效。
该选项具有 3 个可选自变量:
enable: 启用扩展模式
disable: 禁用扩展模式
status: 显示扩展模式状态
注意: 如果未提供自变量,将显示状态。 除非提供设备自变量和一个或多个设备名称列表, 否则该选项在所有可用的英特尔(R) 至强融核(TM) 协处理器上均可操作: 上述情况下当 device = micN 时,可为 mic0 - mic255,或者按名称列出的以空格分隔的设备列表
--ecc [status | enable | disable] [device [micN | list of devices]:
** 此选项对于英特尔(R) 至强融核(TM)
** 软件开发工具(以前称为 Knights Ferry)无效。
该选项具有 3 个可选自变量:
enable: enable ECC
disable: disable ECC
status: display ECC
注意: 如果未提供自变量,将显示状态。 除非提供设备自变量和一个或多个设备名称列表, 否则该选项在所有可用的英特尔(R) 至强融核(TM) 协处理器上均可操作: 上述情况下当 device = micN 时,可为 mic0 - mic255,或者按名称列出的以空格分隔的设备列表
--led [status | enable | disable] [device [micN | list of devices]:
** 此选项对于英特尔(R) 至强融核(TM)
** 软件开发工具(以前称为 Knights Ferry)无效。
该选项具有 3 个可选自变量:
enable: enable LED Alert
disable: disable LED Alert
status: display LED Alert status
注意: 如果未提供自变量,将显示状态。 除非提供设备自变量和一个或多个设备名称列表, 否则该选项在所有可用的英特尔(R) 至强融核(TM) 协处理器上均可操作: 上述情况下当 device = micN 时,可为 mic0 - mic255,或者按名称列出的以空格分隔的设备列表
-l, --lost: 显示系统中所有的英特尔(R) 至强融核(TM) 协处理器以及它们目前是否处于“丢失节点”状况的列表
-v, --version: 显示工具版本。
-a, --all: 处理“all”仅限查看的选项: -i -t -f -m -c(不包括命令选项)
-h, --help: 显示完整的用法信息,然后退出
***注意:
*** o 需要为 micsmc 应用程序安装 xdg-utils.rpm 来自动关联 URL 并打开浏览器显示它们。
*** o 在 SLES 11 SP1 中运行 micsmc 需要 libstdc++.6.0.13
在 micsmc GUI 中,单击“高级”->“更新应用程序”会打开 web 浏览器并引导至英特尔(R) 至强融核(TM) 支持网站。 出于安全考虑,建议不要以 root 用户的身份使用 xdg-open。 因此,micsmc GUI 中的“更新应用程序”功能仅限于常规用户。
有关详细信息,请参考手册页面
user_prompt> man micsmc
有关详细信息,请参考 micsmc 用户指南,网址如下:
/opt/intel/mic/sysmgmt/docs/PlatformStatusPanelUserGuide.html
8.4 Miccheck
Miccheck 是一种实用程序,它通过运行多种诊断测试来验证英特尔(R) 至强融核(TM) 协处理器系统的配置。
Miccheck 提供界面,通过运行一系列诊断测试,在英特尔(R) 至强融核(TM) 系统上执行健全性检查。
默认情况下,所有可用测试的子集均在运行,但是测试可单独选择。 可指定命令行自变量来指定所有所需测试、添加测试或从套件中除去测试。
默认行为是在所有英特尔(R) 至强融核(TM) 协处理器中运行所有选中测试。 不过,还可在用户指定的设备列表中运行测试。
选项
-------
常规:
这些选项必须在输入文件中找到。
-h or --help
显示一则帮助消息。 此选项还可用于显示有关特定测试的具体信息。 在测试列表以外附加 --help 来执行此操作。
-i'filename', --input='filename'
请参阅“filename”中的选项。 文件的每行均解析为单一命令行自变量。 可能包括以“#”为前缀的注释。
详细信息:
默认行为是输出所有测试的状态。
-l or --list
列出但不执行要运行的测试。
-q or --quiet
仅返回退出状态,不输出消息。
-s or --status
仅输出错误和最终状态。
-v or --verbose
输出测试流程中的所有步骤。
-f or --force-exit
遇到错误立即退出。
-1 or --1-line
将错误写到测试的同一行。
-n or --no-banner
启动时压缩应用程序标志。
-o or --output
将所有输出回应至命名文件。
测试列表:
-t'testlist' or --test='testlist'
运行“testlist”指定的测试,“testlist”是逗号分隔的测试列表。
-a'testlist' or --add='testlist'
添加“testlist”指定的测试,“testlist”是逗号分隔的测试列表。
-d'testlist' or --drop='testlist'
除去“testlist”指定的测试,“testlist”是逗号分隔的测试列表。
设备选择:
允许测试在特定的英特尔(R) 至强融核(TM) 设备上运行。 单一破折号不指定英特尔(R) 至强融核(TM) 设备。 可选择一系列设备进行测试(例如: 2,4,6-8 将测试英特尔(R) 至强融核(TM) 设备 2、4 和 6 到 8)。
范例:
user_prompt> sudo /opt/intel/mic/bin/miccheck -t ping[5]
命令将使用用户指定的超时来 ping 系统中已安装的所有英特尔(R) 至强融核(TM) 协处理器。 每个 ping 将在 5 秒后超时。
user_prompt> sudo /opt/intel/mic/bin/miccheck \
-t postcode,IP,MAC 0,2,4-6
可使用 *miccheck(1)* 的一个调用运行多个测试。 上一范例会检查 0、2、4、5 和 6 协处理器的邮编、IP 和 MAC 地址。
有关详细信息,请参考手册页面。
user_prompt> man miccheck
8.5 Micnativeloadex
micnativeloadex 实用程序将英特尔(R) 至强融核(TM) 本地二进制文件复制到指定的英特尔(R) 至强融核(TM) 协处理器并执行该二进制文件。 该实用程序会自动检查应用程序的库依赖关系,并且如果可在默认搜索路径(使用 SINK_LD_LIBRARY_PATH 环境变量设置)中找到这些依赖关系,则还可在执行前将库复制到设备。 该实用程序自动复制所需依赖关系,由此简化了英特尔(R) 至强融核(TM) 本地应用程序的运行。
此外,该实用程序还可将输出从英特尔(R) 至强融核(TM) 上远程运行的应用程序重定向回本地控制台。 默认启用此功能,但是可使用命令行选项禁用。 有关命令行选项的详细信息,请参阅下方的帮助部分。
请注意,如果应用程序具有库依赖关系,则 SINK_LD_LIBRARY_PATH 环境变量必须设置为包含这些目录。 该环境变量与常规 Linux* 应用程序的 LD_LIBRARY_PATH 工作原理相同。 要帮助确定所需的库,可使用 -l 命令行选型执行 micnativeloadex。 这会显示依赖关系列表,并列出已找到的依赖关系。 未找到的依赖关系可能需要列入 SINK_LD_LIBRARY_PATH 中。
该实用程序位于:
/opt/intel/mic/coi/tools/micnativeloadex/release/
该实用程序的命令行选项如下:
-a“args”转至远程应用程序的命令行自变量的可选字符串。
-d 要运行应用程序的英特尔(R) 至强融核(TM) 设备(从 0 开始)索引。
-e“environment”转至远程应用程序的可选环境字符串。 可使用空格作为分隔符指定多个环境变量:
-e "LD_LIBRARY_PATH=/lib64/ DEBUG=1"
-h 打印此帮助消息。
-l 请勿在设备上执行二进制。 而是列出共享的库依赖关系信息。
-p 禁用控制台代理。
-t 等待远程应用程序完成的时间(以秒为单位)。 远程应用程序超时后会终止。
-v 启用详细模式。 注意:如果远程应用程序异常终止,系统将显示详细输出。
8.6 Linux*“service”和“chkconfig”命令
“micstart”脚本已由 Linux* 系统服务支持替换。 Linux*“service”命令提供启动和停止服务的访问权。
对于 MPSS 使用
user_prompt> sudo service mpss start
user_prompt> sudo service mpss stop
Linux*“chkconfig”命令指定系统启动时自动启动的服务。 要自动启动 MPSS 服务,请使用命令
user_prompt> sudo chkconfig mpss on
如果不需要在主机启动时自动启动,则使用“off”作为自变量。
8.7 Micctrl
*** 注意: N 是与系统中协处理器设备编号相对应的数字 0、1、2、3 等。
“micctrl”命令为系统管理员的帮助程序。 此命令支持的选项有:
-h or --help) 显示帮助
-s or --status) 显示系统中英特尔(R) 至强融核(TM) 协处理器的启动状态
-b or --boot) 启动一个或多个英特尔(R) 至强融核(TM) 协处理器。 MPSS 服务必须正在运行。
-r or --reset) 重设一个或多个英特尔(R) 至强融核(TM) 协处理器
-w or --wait) 等待一个或多个英特尔(R) 至强融核(TM) 协处理器脱离“启动中”或“重置中”状态。
--initdefaults) 在 MPSS 软件安装后使用一次。 在 /etc/sysconfig/mic 中创建对每个英特尔(R) 至强融核(TM) 协处理器唯一的配置文件。 MPSS 服务必须未在运行。
--resetconfig) 在更改配置文件后使用。 它会根据新配置重新创建所有默认文件。 MPSS 服务必须未在运行。
--resetdefaults) 如果文件的手动编辑生成了未知情况,则用此将配置文件重置为默认。 MPSS 服务必须未在运行。
--cleanconfig) [coprocessor list] “cleanconfig”选项删除与 MicDir 配置参数相关的 filelist 文件和目录。 然后会删除 FileSystem 配置参数指定的映像文件。
如果配置参数不等同于 /intel/mic/filesystems 目录中的文件和协处理器名称(如 mic0、mic1 等),则还会删除此默认位置中的任何等效文件。
然后删除与协处理器相关的 /etc/sysconfig/mic/micN.conf 文件。
如果在命令行上指定的协处理器列表为空,还会删除 /etc/sysconfig/mic/default.conf 文件。
如果在 MPSS 监控程序当前正在运行期间进行尝试,则“cleanconfig”选项会返回一个错误。
8.8 Micrasd
Micrasd 是运行在主机上的应用程序,用于处理和记录英特尔(R) MIC 设备报告的硬件错误。 它可作为服务监控程序运行。
要启动 micrasd,使用此命令:
user_prompt> sudo /opt/intel/mic/bin/micrasd
仅超级用户可以执行 micrasd,因为它将触发各种错误响应操作,例如协处理器重设和诊断。
使用“-daemon”选项会以监控程序模式运行 micrasd。 在此情况下,micrasd 会在背景中运行,并会默认处理/记录错误。 在监控程序模式下,micrasd 日志消息记录在 /var/log/micras.log 文件中。
使用“-maint”选项将启用维护模式,以用于错误测试和修复。
如果不带任何自变量执行 micrasd,则它会在控制台提示符下运行、连接至设备并等待错误。 使用 Ctrl-C 可退出 micrasd 并返回到控制台提示符。
micrasd 的使用:
usage: micrasd [-daemon]
[-maint]
[-loglevel] [LEVELS]
[-help]
-daemon 以监控程序模式运行
-maint 选项可启用维护模式,以用于错误测试和修复
-loglevel 设置日志级别从 1 到 7
*位 0: 信息消息
*位 1: 警告消息
*位 2: 错误消息
*默认: 打开全部消息
-help 显示帮助信息。
Micrasd 还可以作为 Linux 系统服务运行。 Linux“service”命令提供启动和停止 micras 服务的访问权。 对于 micras 服务,请使用:
user_prompt> sudo service micras start
user_prompt> sudo service micras stop
注意 micras 服务对于 mpss 服务具有相依关系。 micras 服务必须在启动 mpss 服务之后才启动,并且必须在停止 mpss 服务之前停止。
Linux“chkconfig”命令指定系统启动时自动启动的服务。 要自动启动 micras 服务,请使用命令:
user_prompt> sudo chkconfig micras on
使用“off”作为自变量以禁止在主机启动时自动启动协处理器。
错误将记录到 /var/log/messages 下的 Linux* syslog 中。 使用“micras”标签来找到它们。
8.9 Mpssflash
mpssflash 实用程序是 micflash 工具的 POSIX 版本。 有关详细信息,请参考手册页面。
user_prompt> man mpssflash
8.10 Mpssinfo
mpssinfo 实用程序是 micinfo 工具的 POSIX 版本。 有关详细信息,请参考手册页面。
user_prompt> man mpssinfo
8.11 英特尔(R) 至强融核(TM) Shell 环境
协处理器上的 Linux* 环境使用 BusyBox 来提供若干个 Linux* 实用程序。 与主机 Linux* 分发版随附的类似工具的用途相比,这些工具的用途略有不同。
例如,netcat 在英特尔(R) 至强融核(TM) 环境中的用途为:
nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]
而常规 netcat 实用程序的用途为:
nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol] [-x
proxy_address[:port]] [hostname] [port[s]]
要侦听 TCP 端口 45678,用户需要使用以下命令:
nc -lp 45678
而非
nc -l 45678
有关 BusyBox 的更多信息,请参阅链接 http://www.busybox.net/
===============================================================================
9. 与嵌入式 Linux* OS 通信
===============================================================================
标准网络接口提供与英特尔(R) 至强融核(TM) 协处理器上的嵌入式 Linux* 操作系统通信。 该接口在 PCIe 总线上使用虚拟网络驱动程序。 ssh 等标准网络工具均受支持。
9.1 SSH 访问英特尔(R) 至强融核(TM)
英特尔(R) 至强融核(TM) 嵌入式 Linux* OS 现在支持普通用户和“root”用户。 它还允许使用 ssh 密钥的所有用户进行网络访问。 MPSS 的配置阶段根据主机 /etc/passwd 文件中当前用户 ID 为每个协处理器创建用户。
对于 /etc/passwd 中的每个用户(包括 root 用户),如果用户的“.ssh”目录中找到 ssh 密钥文件,这些文件也会填充至英特尔(R) 至强融核(TM) 协处理器的文件系统。 如果用户不具备有效密钥,他们就没有英特尔(R) 至强融核(TM) 协处理器的网络访问权。
要生成 ssh 密钥,请执行
user_prompt> ssh-keygen
user_prompt> sudo service mpss stop
user_prompt> sudo micctrl --resetconfig
user_prompt> sudo service mpss start
9.2 网络配置
网络配置通过编辑 /etc/sysconfig/mic/default.conf 文件来执行。下面说明此配置文件支持的选项。
编辑此文件之后,必须执行以下命令才能让更改生效:
user_prompt> sudo micctrl --resetconfig
*** 注意: 对于 SUSE* Linux* Enterprise Server
*** o 必须禁用 NetworkManager。
*** o 用户需要运行“service network restart”以让新配置生效。
指定网络拓扑
BridgeName 定义了要链接的静态网桥名称。 指定名称会超载以提供三组不同的拓扑。
首先,如果此参数已注释掉,则假定网络拓扑为静态对。 如果这样,则 CardIPaddress 和 HostIPaddress 参数会相关联。
其次,如果网桥名称以“mic”字符串开头,则会使用此名称创建静态网桥,同时将英特尔(R) 至强融核(TM) 协处理器绑定到单一子网。
最后,如果网桥名称并非以“mic”字符串开头,则协处理器会附加到某个主机网络接口相连的假定现有静态网桥。
o Subnet
Subnet 参数定义了协处理器 IP 地址的前两个或三个元素。 默认值为字符串“172.31”。 这会将协处理器置于私人网络范围内(请参考 http://en.wikipedia.org/wiki/Private_network)。
静态对网络拓扑为默认配置。 在 SUSE* 上,它是当前唯一受支持的配置。 两元素的 Subnet 可通过添加第三元素(通过将英特尔(R) 至强融核(TM) 协处理器 ID 加一进行来指定)以及“.1”(用于协处理器)和“.254”(用于主机)进行增补。 例如,mic0 协处理器将获得主机分配“172.31.1.254”和协处理器端“172.31.1.1”。
静态对的范例 IP 地址分配基于以下图表:
+--------------------------------------------------------+
| 协处理器 | 网络 | 设备 IP | 主机 IP |
| | 接口 | 地址 | 地址 |
+-------------+-----------+---------------+--------------+
| 0 | mic0 | 172.31.1.1 | 172.31.1.254 |
+-------------+-----------+---------------+--------------+
| 1 | mic1 | 172.31.2.1 | 172.31.2.254 |
+-------------+-----------+---------------+--------------+
| 2 | mic2 | 172.31.3.1 | 172.31.3.254 |
+-------------+-----------+---------------+--------------+
| 3 | mic3 | 172.31.4.1 | 172.31.4.254 |
+-------------+-----------+---------------+--------------+
如果静态网桥已定义,指定前两个元素即可。 该值先使用“.1.”,再使用分配给英特尔(R) 至强融核(TM) 协处理器的 ID 加一进行修改。 例如,将为系统中的第一个协处理器分配“172.31.1.1”,为第二个协处理器分配“172.31.1.2”等,将为主机网桥分配“172.31.1.254”。
静态网桥的示例 IP 地址分配基于以下图表:
+--------------------------------------------------------------+
| 主机网桥 | 协处理器 | 网络 | 设备 IP |
| IP 地址 | | 接口 | 地址 |
+--------------------+-------------+-----------+---------------+
|172.31.1.254(micbr0)| 0 | mic0 | 172.31.1.1 |
+ +-------------+-----------+---------------+
| | 1 | mic1 | 172.31.1.2 |
+ +-------------+-----------+---------------+
| | 2 | mic2 | 172.31.1.3 |
+ +-------------+-----------+---------------+
| | 3 | mic3 | 172.31.1.4 |
+--------------------+-------------+-----------+---------------+
还可使用多个静态网桥。 BridgeName 参数需要在各英特尔(R) 至强融核(TM) 配置文件中指定,以分配正确的网桥 ID。 文件还需要在每个配置文件中为 Subnet 参数分配一个 3 元素 ID。 例如,一组文件可为 BridgeName 分配字符串“micbr0”并为 Subnet 分配值“172.31.1”。 另一组文件可为 BridgeName 参数分配字符串“micbr1”并为 Subnet 分配值“172.31.2”。
o HostMacAddress 和英特尔(R) 至强融核(TM) 协处理器 MicMacAddress
HostMacAddress 和 MicMacAddress 配置参数提供机制来半永久性将 MACaddress 分配给接口。
mpssd 将分配值并在每个协处理器配置文件中记录这些值。 如上所述,大型集群中难免会发生冲突。 如果发生冲突,请编辑其中之一来消除冲突,或只需从配置文件中消除冲突,并挑选另一个随机 MAC 地址。
o MicIPaddress 和 HostIPaddress
如前所述,主机和英特尔(R) 至强融核(TM) 协处理器 IP 地址会自动根据 Subnet 参数生成。 如果这些自动生成的地址不足,可在每个 micN.conf 文件中指定 MicIPaddress 和 HostIPaddress,它们会覆盖自动生成的 IP 地址。
对于 micN.conf 已修改的每个协处理器,协处理器配置应按如下所示更新:
user_prompt> sudo micctrl --resetconfig micN
o 设置协处理器的主机名称
当设备具有识别名称时,网络软件最易使用。 这些名称会记录在名称服务器和 /etc/hosts 文件中以便检索。 以往 UNIX 系统会在内部记录此名称,并且会显示在用户的 shell 提示符中。
Hostname 参数定义了分配给单个英特尔(R) 至强融核(TM) 协处理器的名称。 默认情况下,mpssd 将设置此名称为主机名称的修订版本。 例如,如果主机命名为“devbox.myco.com”,则会为第一个英特尔(R) 至强融核(TM) 协处理器分配名称“devbox-mic0.myco.com”。 系统管理员可将此更改为英特尔(R) 至强融核(TM) 协处理器配置文件中的任一值。
Hostname 参数将添加至主机上的 /etc/hosts 文件中。 它将用于创建 /etc/sysconfig/network.conf 和 /etc/hosts 文件。
o MTUsize
“MTUsize”参数允许设置网络 MTU 大小。 默认的大型数据包大小最大为 63 KB。 这会产生外部桥接问题。 此参数应设置为它所属子网络中使用的默认网络数据包大小。 采用群集时,它通常为 9 KB。
*** 注意: 英特尔(R) 至强融核(TM) 协处理器网络接口上可能的最大 MTU 大小现在已减少为 63K。 以前它是 64K。
o DHCP
请参考第 9.4 节“英特尔(R) 至强融核(TM) 的 DHCP 配置”。
9.3 NFS 安装主机导出
*** 注意: 为使 NFS 运行,可能需要配置主机防火墙或 iptable 以允许以下端口:
*** tcp/udp port 111 - RPC 4.0 portmapper
*** tcp/udp port 2049 - nfs server
用户可装载从主机导出的 NFS 文件系统。 超级用户首先将导出添加至 /etc/exports 文件。
例如: 要使用默认配置,提供从“/mic0fs”目录到系统中第一个英特尔(R) 至强融核(TM) 协处理器 (mic0) 的访问权,其中 mico 主机分配 IP 如下: 172.31.1.254 且协处理器分配 ip 如下: 172.31.1.1。
o 在主机上,
使用以下命令行附加 /etc/exports:
/mic0fs 172.31.1.1(rw,no_root_squash)
添加在 /etc/hosts.allow 文件中
ALL: 172.31.1.1
在 /etc/exports 和 /etc/hosts.allow 文件更新后,运行“sudo exportfs -a”来告知 NFS 文件已更改。
o 在英特尔(R) 至强融核(TM) 协处理器上,将对 /etc/fstab 文件进行修改以查找导出的 NFS 文件系统。 使用以下命令行附加 /etc/fstab 文件:
172.31.1.254:/mic0fs /mic0fs nfs rsize=8192,wsize=8192,nolock,intr 0 0
有关 NFS 配置的更多信息,请参阅 http://nfs.sourceforge.net/nfs-howto/
9.4 英特尔(R) 至强融核(TM) 的 DHCP 配置
DHCP 只能通过外部网桥配置来设置。 如下所示:
o 停止英特尔(R) 至强融核(TM) 协处理器。
user_prompt> sudo service mpss stop
o 对于 Red Hat* Enterprise (RHEL) 系统:
使用如下配置创建 /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
NM_CONTROLLED="no"
TYPE=bridge
BOOTPROTO=dhcp
o 对于 SUSE* Linux* Server:
使用如下配置创建 /etc/sysconfig/network/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
DELAY=0
NM_CONTROLLED="no"
BOOTPROTO=dhcp
BRIDGE=yes
STARTMODE=auto
BRIDGE_PORTS='mic0 mic1 '
o 设置外部网桥:
# 创建外部网桥 br0
user_prompt> sudo brctl addbr br0
# 将所有网络设备放置在 br0 下
user_prompt> sudo brctl addif br0 eth0
# 启动 br0
user_prompt> sudo ifconfig br0 up
# 释放 eth0 IP
user_prompt> sudo dhclient -r eth0
# 获取 br0 的 IP
user_prompt> sudo dhclient br0
o 将 /etc/sysconfig/mic/default.conf 的以下字段更改为:
BridgeName br0
Subnet dhcp
o 重设英特尔(R) 至强融核(TM) 协处理器配置并验证 DHCP 将使用的日志 mpssd 消息。
user_prompt> sudo micctrl --resetconfig
o 启动英特尔(R) 至强融核(TM) 协处理器。
user_prompt> sudo service mpss start
要了解有关网桥配置的更多信息,请参阅
http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge
9.5 虚拟控制台访问
o 要配置 minicom 以进行虚拟控制台访问,请执行以下指令:
*** 注意: 如果存在多个协处理器,则协处理器 mic0 的设备为 /dev/ttyMIC0,mic1 为 /dev/ttyMIC1 等。
对于每个协处理器,
sudo minicom -s
转至“Serial Port Setup”
选择选项: A - 串行设备
编辑串行设备为 /dev/ttyMIC0
按两次
转至“Save setup as..”
显示输入提示符“Give name to save this configuration?”时,将 保存至首选名称。 例如: mic0
选择“Exit from Minicom”
为后续协处理器重复上述步骤。 每个协处理器应有各自的 。
o 要打开 mic0 协处理器的虚拟控制台,其中 为 mic0:
sudo minicom mic0
o 要退出小型计算机,-A-X
===============================================================================
10. 重新编译源中的 GPL 二进制
===============================================================================
10.1 重新编译主机驱动程序
*** 注意: SUSE* SLES 11 Server 版本需要设置内核以允许加载非 SUSE* 构建驱动程序模块。 编辑“/etc/modprobe.d/unsupported-modules”文件,并将“allow_unsupported_modules”的值设置为 1。
该版本包括主机驱动程序的源代码。 必要时刻修改和重新编译驱动程序。 例如,如果“yum update”安装了新主机 Linux* 内核,可编译并安装相应的 MPSS 主机驱动程序。 必须以超级用户的身份执行此过程。
o Red Hat* Enterprise Linux* 6.0、6.1、6.2 和 6.3
确保已安装先决条件:
user_prompt> yum install kernel-headers kernel-devel
重新生成 MPSS 驱动程序模块包:
user_prompt> cd /src/
user_prompt> rpmbuild --rebuild \
intel-mic-kmod-2.1.4346-16.el6.src.rpm
intel-mic-kmod 二进制 rpm 位于 $HOME/rpmbuild/RPMS/x86_64
user_prompt> ls $HOME/rpmbuild/RPMS/x86_64
o SUSE* Linux* Enterprise Server (SLES) 11 SP1 和 SP2
确保已安装先决条件:
user_prompt> zypper install kernel-default-devel
重新生成 MPSS 驱动程序模块包:
user_prompt> cd /src/
user_prompt> rpmbuild --rebuild \
intel-mic-kmod-2.1.4346-16.suse.src.rpm
intel-mic-kmod 二进制 rpm 位于 /usr/src/packages/RPMS/x86_64
user_prompt> ls /usr/src/packages/RPMS/x86_64
10.2 重新编译 GPL RPM
解压缩 tar 程序包后存在两个文件时,会产生子目录“gpl”
gpl/package-full_src-k1om.tar.bz2
gpl/package-cross-k1om.tar.bz2
1) 确保 intel-mic-knc 和 intel-mic-gpl RPM 已安装。 否则,按照“安装 MPSS、OFED 和 GANGLIA* 软件”(第 5 节“软件安装”)中的安装步骤操作。
user_prompt> rpm -qa|grep intel-mic
2) 切换至 gpl 目录
user_prompt> cd ./gpl
3) 解压缩 package-full_src-k1om.tar.bz2 存档。
user_prompt> tar jxvf package-full_src-k1om.tar.bz2
user_prompt> ls
用户会看到脚本“intel-mic-gpl.sh”
4) 编译并构建 intel-mic-gpl RPM
user_prompt> ./intel-mic-gpl.sh 4346 16
intel-mic-gpl RPM 将在 gpl 目录中构建。
10.3 重新编译英特尔(R) 至强融核(TM) 特定的 OFED RPM
*** 注意: 重新编译 intel-mic-ofed-kmod 二进制程序包的步骤要求具备超级用户权限。 获取 root shell(例如 su、sudo)。
o Red Hat* Enterprise Linux* 6.0、6.1、6.2 和 6.3
确保已安装先决条件:
user_prompt> yum install kernel-headers kernel-devel
重新生成 OFED 包:
user_prompt> cd /src/
user_prompt> rpmbuild --rebuild intel-mic-ofed-ibpd-2.1.4346-16..el6.src.rpm
user_prompt> rpmbuild --rebuild intel-mic-ofed-kmod-2.1.4346-16..el6.src.rpm
user_prompt> rpmbuild --rebuild intel-mic-ofed-libibscif-2.1.4346-16..el6.src.rpm
其中:
对于 RHEL 6.0 为 2.6.32-71
对于 RHEL 6.1 为 2.6.32-131
对于 RHEL 6.2 为 2.6.32-220
对于 RHEL 6.3 为 2.6.32-279
OFED 二进制 RPM 位于 $HOME/rpmbuild/RPMS/x86_64
user_prompt> ls $HOME/rpmbuild/RPMS/x86_64
SUSE* Linux* Enterprise Server (SLES) 11 SP1 和 SP2
确保已安装先决条件:
user_prompt> zypper install kernel-default-devel
重新生成 OFED 包:
user_prompt> cd /src/
user_prompt> rpmbuild --rebuild \
intel-mic-ofed-ibpd-2.1.4346-16..suse.src.rpm
user_prompt> rpmbuild --rebuild \
intel-mic-ofed-kmod-2.1.4346-16..suse.src.rpm
user_prompt> rpmbuild --rebuild \
intel-mic-ofed-libibscif-2.1.4346-16..suse.src.rpm
其中 对于 SLES 11 SP1 为 2.6.32.12-0.7
对于 SLES 11 SP2 为 3.0.13-0.27
OFED 二进制 RPM 位于 /usr/src/packages/RPMS/x86_64
user_prompt> ls /usr/src/packages/RPMS/x86_64
10.4 重新编译英特尔(R) 至强融核(TM) 特定的 OFED 协处理器 RPM
1) 从源代码重新编译 intel-mic-gpl RPM(按照第 10.2 节“重新编译 GPL RPM”中的说明操作)。 所有构建项目会出现在 gpl 目录中。
2) 解压缩 gpl 目录中的 intel-mic-ofed-card-.src.tar.gz 存档。 这会生成 ofed 子目录。
user_prompt> cd gpl
user_prompt> tar xvzf ../src/intel-mic-ofed-card-..src.tar.gz
其中 为 MPSS 版本,而 为“el6”(适用于 RHEL),
或“suse”(适用于 SLES 11)。
3) 切换至 ofed 子目录并执行 ofed RPM 构建命令。
user_prompt> cd ofed
user_prompt> ./intel-mic-ofed-card.sh 4346 16
intel-mic-ofed-card RPM 会在当前目录下构建。
10.5 重新编译英特尔(R) 至强融核(TM) 特定的 GANGLIA* RPM
o Red Hat* Enterprise Linux* 6.0、6.1、6.2、6.3、SUSE* Linux* Enterprise Server (SLES) 11 SP1 和 SUSE* Linux* Enterprise Server (SLES) 11 SP2
请确保已安装必备软件(第 4.2 节“第三方软件要求”)。
重新生成 GANGLIA* 程序包:
user_prompt> cd /src/
user_prompt> rpmbuild --rebuild intel-mic-ganglia-STRING_GANGLIA_VERSION-1.src.rpm
GANGLIA* 二进制 RPM 位于 $HOME/rpmbuild/RPMS/x86_64
user_prompt> ls $HOME/rpmbuild/RPMS/x86_64
===============================================================================
11. 对称通信接口支持的功能
===============================================================================
对称通信接口提供一个机制,可用于单一平台内的节点间通信。 节点定义为英特尔(R) 至强融核(TM) 设备或基于英特尔(R) 至强(TM) 的主机处理器。 特别是,SCIF 将提取通过 PCIe* 总线进行的通信的细节。
SCIF API 可从用户级 (uSCIF) 和内核级 (kSCIF) 进行调用。 每种设置定义如下。
+---------------------------------------------------------------------+
| SCIF 支持的功能 |
|---------------------------------------------------------------------+
| 功能 | 已实施 | 接口 | 测试 |
|------------------------------+------------+-------------+-----------+
| scif_open | 是 | uSCIF/kSCIF | 中等 |
| scif_close | 是 | uSCIF/kSCIF | 中等 |
| scif_bind | 是 | uSCIF/kSCIF | 中等 |
| scif_listen | 是 | uSCIF/kSCIF | 中等 |
| scif_connect | 是 | uSCIF/kSCIF | 中等 |
| scif_accept | 是 | uSCIF/kSCIF | 中等 |
| scif_send | 是 | uSCIF/kSCIF | 中等 |
| scif_recv | 是 | uSCIF/kSCIF | 中等 |
| scif_register | 是 | uSCIF/kSCIF | 中等 |
| scif_unregister | 是 | uSCIF/kSCIF | 中等 |
| scif_mmap | 是 | uSCIF | 中等 |
| scif_munmap | 是 | uSCIF | 中等 |
| scif_readfrom | 是 | uSCIF/kSCIF | 中等 |
| scif_writeto | 是 | uSCIF/kSCIF | 中等 |
| scif_vreadfrom | 是 | uSCIF/kSCIF | 中等 |
| scif_vwriteto | 是 | uSCIF/kSCIF | 中等 |
| scif_fence_mark | 是 | uSCIF/kSCIF | 中等 |
| scif_fence_wait | 是 | uSCIF/kSCIF | 中等 |
| scif_fence_signal | 是 | uSCIF/kSCIF | 中等 |
| scif_poll | 是 | uSCIF/kSCIF | 中等 |
| scif_get_nodeIDs | 是 | uSCIF/kSCIF | 中等 |
| scif_get_fd | 是 | uSCIF | 中等 |
| scif_pin_pages | 是 | kSCIF | 部分 |
| scif_unpin_pages | 是 | kSCIF | 部分 |
| scif_register_pinned_pages | 是 | kSCIF | 部分 |
| scif_get_pages | 是 | kSCIF | 部分 |
| scif_put_pages | 是 | kSCIF | 部分 |
| scif_event_register | 否 | kSCIF | 部分 |
+------------------------------+------------+-------------+-----------+
===============================================================================
12. MPSS 2.1 版本的软件开发环境
===============================================================================
有关受支持的英特尔(R) 至强融核(TM) 指令的更多信息,请参考 http://intel.com/software/mic 中的《英特尔(R) 至强融核(TM) 指令集参考手册》。
12.1 支持的环境
编译 MPSS 2.1 版本仅在 Red Hat* Enterprise Linux* 6.0、Red Hat* Enterprise Linux* 6.1、Red Hat* Enterprise Linux* 6.2、Red Hat* Enterprise Linux* 6.3 和 SUSE* Linux* Enterprise Server (SLES) 11 SP1、SuSE* Linux* Enterprise Server (SLES) 11 SP2 环境中受支持。
英特尔强烈建议在构建内核、LSB 和 SCIF 驱动程序时仅使用包含的 GCC 编译器。 对于所有其它构建,强烈建议使用英特尔(R) C 编译器或英特尔(R) FORTRAN 编译器。 使用不恰当的编译器可能导致不可预料的结果,且不会成为英特尔测试或支持的配置。
12.2 编译支持的环境
Linux* 主机驱动程序源代码已提供,因此可在其它 Linux* 版本上将 MPSS 版本升级。 这可能会产生驱动程序错误,并与提供的主机库不兼容。 提供的主机库为特定版本的 GCC 编译器所生成,因此可能与先前或较新 GCC 编译器产生的代码不能正确链接。
12.3 SCIF 的用户模式代码
SCIF 应用程序必须根据连接建立的方向,为英特尔(R) 至强融核(TM) 嵌入式 Linux* OS 和主机 Linux* OS 进行编译。 出于测试目的,可为两端编译每个测试并按需要运行。
已提供使用 scif_connect() 函数建立连接的示例。 以下“生成文件”将为主机操作系统和嵌入式 Linux* 操作系统编译版本。
CC=icc
XCC=icc -mmic
XCCPATH=/usr/linux-k1om-4.7/bin
all: scif_contest_mic scif_contest_host
scif_contest_mic: scif_contest.c
(export PATH=$$PATH:$(XCCPATH); \
$(XCC) -o scif_contest_mic scif_contest.c -lscif -lpthread)
scif_contest_host: scif_contest.c
$(CC) -DHOST -o scif_contest_host scif_contest.c -lscif -lpthread
clean:
rm -f scif_contest_mic scif_contest_host
12.4 P2P(对等)支持
默认情况下,英特尔(R) 至强融核(TM) 产品支持 P2P。
o 要在 P2P 禁用的情况下运行,必须编辑模块参数控制文件 /etc/modprobe.d/mic.conf。
添加“p2p=0”至“mic”模块选项行的末端。
o 需要重新加载驱动程序。 遵守以下步骤:
user_prompt> sudo service mpss stop
user_prompt> sudo service mpss unload
user_prompt> sudo service mpss start
12.5 SCIF 中的注册缓存
*** 注意: 指定固定页面限制的机制在未来版本中可能有所变化。
注册缓存为 SCIF 功能,旨在改善 scif_vreadfrom()/scif_vwriteto() 的性能。 启用注册缓存时,SCIF 会缓存传递给 cif_vreadfrom()/scif_vwriteto() 的虚拟至物理地址转换,这样未来调用中指定同一虚拟范围时便可减少锁定页面的开销。 注册缓存为默认启用。
o 要禁用注册缓存,必须编辑模块参数控制文件 /etc/modprobe.d/mic.conf。
在“mic”模块选项行中设置“reg_cache”等于零。
o 需要重新加载驱动程序。 遵守以下步骤:
user_prompt> sudo service mpss stop
user_prompt> sudo service mpss unload
user_prompt> sudo service mpss start
在各 SCIF 端点的最大固定页面数上对各节点均有可调限制。 此限制只能由 root 用户修改。
o 要在驱动程序加载后设置固定页面的最大数:
user_prompt> echo limit > /proc/scif/reg_cache_limit
其中 4K 页面数的限制以十进制表示。
o 要在运行期间禁用缓存,将各节点的限制设置为 0。
12.6 英特尔(R) 至强融核(TM) 的 GNU 调试器
用户需要安装 gdb 目录下的 intel-mic-gdb rpm:
user_prompt> cd /gdb/
user_prompt> sudo rpm -ivh intel-mic-gdb-2.1.4346-16..x86_64.rpm
其中 是“el6”(表示 RHEL)或“suse”(表示 SLES 11)。
o 在英特尔(R) 至强融核(TM) 协处理器上本地运行
支持英特尔(R) 至强融核(TM) 的本地 GNU 调试器可在以下位置中找到:
/usr/linux-k1om-4.7/linux-k1om/usr/bin/gdb
用户需要将支持英特尔(R) 至强融核(TM) 的本地 GNU 调试器远程复制到各英特尔(R) 至强融核(TM) 协处理器。 例如,要复制至协处理器 mic0:
user_prompt> scp /usr/linux-k1om-4.7/linux-k1om/usr/bin/gdb mic0:~
有关一般 GNU 调试器指令,请参考 http://sources.redhat.com/gdb/documentation。
o 在英特尔(R) 至强融核(TM) 协处理器上远程运行 GNU 调试器
支持英特尔(R) 至强融核(TM) 的远程 GNU 调试器和 GNU 调试器服务器可在以下位置中找到:
/usr/linux-k1om-4.7/bin/x86_64-k1om-linux-gdb
/usr/linux-k1om-4.7/linux-k1om/usr/bin/gdbserver
如欲了解远程 GNU 调试器调试,请参考
http://sourceware.org/gdb/current/onlinedocs/gdb/Remote-Debugging.html#Remote-Debugging
请参考官方 GNU 调试器文档以了解更多信息:
http://sources.redhat.com/gdb/documentation
另请参阅已知问题,可在以下位置中找到:
/usr/linux-k1om-4.7/share/doc/intel-mic-xxx/PROBLEMS-INTEL
有关如何构建 GNU 调试器的说明,请参阅:
/usr/linux-k1om-4.7/share/doc/intel-mic-xxx/README-INTEL
12.7 英特尔(R) 至强融核(TM) 的 Virtio 块设备
***注意: N 是与系统中协处理器设备编号 (micN) 相对应的数字 0、1、2、3 等。
Virtio 块设备通过 virtio 数据传输机制访问。 Virtio 是为 KVM 等虚拟环境设计的。Virtio 块设备在英特尔(R) 至强融核(TM) 上可用。
将 virtio 块设备用作 ext2 文件系统。
o 在主机端,
- 启动 MPSS 服务。
user_prompt> sudo service mpss start
- 说明哪个文件或块设备是 virtblk 块设备。
user_prompt> sudo bash
user_prompt> echo /dev/4DiskStripe/ForVirtioBlockTest \
>/sys/devices/virtual/mic/micN/virtblk_file
user_prompt> exit
*** 注意: /dev/4DiskStripe/ForVirtioBlockTest 可以是以下其中一项:
*** + 一般文件,如 /srv/aaa,或
*** + LVM(逻辑卷管理器)卷,或
*** + 物理设备,如 /dev/sda*。
*** /sys/devices/virtual/mic/micN/virtblk_file 是用于测试 virtio 块设备的系统文件。
o 在协处理器端,
- 以 root 用户的身份登录协处理器。
user_prompt> slogin root@micN
- 加载 virtio 块设备驱动程序。
user_prompt> modprobe mic_virtblk
- 在 virtio 块设备上创建 ext2 文件系统并在 /mnt/vda 上加以装载。
user_prompt> mkdir -p /mnt/vda
user_prompt> mkfs.ext2 /dev/vda
user_prompt> mount -t ext2 /dev/vda /mnt/vda
- 卸装 virtio 块设备。
user_prompt> umount /mnt/vda
- 卸载 virtio 块设备驱动程序。
user_prompt> modprobe -r mic_virtblk
- 退出
user_prompt> exit
将 virtio 用作交换设备文件系统。
在主机端,
user_prompt> sudo bash
user_prompt> echo /dev/4DiskStripe/VirtioSwap \
>/sys/devices/virtual/mic/micN/virtblk_file
user_prompt> exit
在协处理器端,
- 登录协处理器
user_prompt> slogin root@micN
- 加载 virtio 块设备驱动程序。
user_prompt> modprobe mic_virtblk
- 分配交换设备并确认。
user_prompt> mkswap /dev/vda
user_prompt> swapon /dev/vda
user_prompt> more /proc/swaps
- 停止使用交换设备。
user_prompt> swapoff -a
- 退出并进行辅助工作。
user_prompt> exit
*** 注意: 从 sysfs 入口 /sys/devices/virtual/mic/micN/virtblk_file 中,用户需要注意不要使用多个设备。
- 要使用多个 virtio 块设备,请在 virtio 块设备文件中创建多个分区。 这些分区称为 /dev/vda1、/dev/vda2 等等。
- 如果系统管理员不分配 virtio 块设备文件,请卸载主机驱动程序,然后输出“request comes in while coprocessor side driver is not loaded yet. Ignore”将显示在 dmesg 和 /var/log/messages 中。
- 要加载协处理器端驱动程序 mic_virtblk 而不分配 virtio 块设备文件,错误消息“Have set virtblk file?”将会显示在 dmesg 和 /var/log/messages 中。
- 仅支持英特尔(R) 至强融核(TM) 协处理器,在协处理器的先前非生产版本上,不能加载协处理器侧驱动程序。
- virtblk 在 SUSE Linux Enterprise Server version 11 SP1 上不可用。 在这种情况下,用户将在加载 mic_virtblk 时看到消息“virtio address is not passed from host”消息。virtblk 在 SLES 11 SP2 上可用。
===============================================================================
13. 支持特性的快照
===============================================================================
+-----------------------------------------------------------+-----------------+
| 特性 | 支持 |
+-----------------------------------------------------------+-----------------+
| 英特尔(R) 至强融核(TM) 协处理器支持 | A0(ES0 和 ES1) |
| | B0 (ES2) B1 (QS)|
+-----------------------------------------------------------+-----------------+
| RHEL* 6、6.1、6.2 或 6.3 | GA |
+-----------------------------------------------------------+-----------------+
| SUSE* Linux* Enterprise Server 11 | SP1 和 SP2 |
+-----------------------------------------------------------+-----------------+
| 多协处理器配置 | 多达 8 个已测试 |
+-----------------------------------------------------------+-----------------+
| 多语境支持 | 是 |
+-----------------------------------------------------------+-----------------+
| RPM 安装 | 是 |
+-----------------------------------------------------------+-----------------+
| 闪存更新功能 | micflash |
+-----------------------------------------------------------+-----------------+
| 显示系统和协处理器的信息 | micinfo |
+-----------------------------------------------------------+-----------------+
| 控制面板 | micsmc |
+-----------------------------------------------------------+-----------------+
| S3 (暂停)与 S4(休眠) | 最小限度 |
+-----------------------------------------------------------+-----------------+
| 重新启动协处理器,而无需重新启动主机的功能 | 是 |
+-----------------------------------------------------------+-----------------+
| 在协处理器上运行多线程应用程序 | 是 |
+-----------------------------------------------------------+-----------------+
| 显示软件堆栈版本信息 | 是 |
+-----------------------------------------------------------+-----------------+
| 对称通信接口 | 是 |
+-----------------------------------------------------------+-----------------+
| 暂停和恢复 | 否 |
+-----------------------------------------------------------+-----------------+
| 对称通信接口 Fence API 最新改进 | 是 |
| 请参阅对称通信接口用户指南以了解用法 | |
+-----------------------------------------------------------+-----------------+