Intel Acceleration Stack快速入门指南: Intel FPGA Programmable Acceleration Card D5005

ID 683394
日期 9/09/2020
Public
文档目录

A. 处理正常的热关机

注:
  • 认证合格的OEM服务器系统可为标准工作负载提供足够的散热,并且pacd的使用是可选的。
  • 关于使用pacd的详细信息,包括可能会导致系统意外重启的详细信息,请参考OPAE网页上的 pacd documentation

Intel® FPGA PAC Daemon (pacd)是一个可用于帮助保护服务器免于因硬件达到不可恢复的传感器上限或下限而崩溃的程序。pacd能够监控由Board Management Controller报告的 46个传感器中的任何一个。pacd可以作为一个守护程序(daemon)或者systemd服务独立运行。OPAE tools extra package安装后,pacd存放在OPAE二进制文件目录中(默认为: /usr/bin ),同时配置文件和服务文件(pacd.confpacd.service)也会分别存放在此目录中。

启动时,pacd将其阈值设置为BMC的传感器阈值,此阈值被重新调整,以使阈值范围向上或向下扩展5%。这将Graceful Thermal Shutdown责任转移给pacd

pacd定期读取传感器值,如果读取的值超过阈值,那么它将向所有正在运行的进程发送SIGHUP信号,并使主机无法访问此板级。守护程序(daemon)等待由pacd.conf中的-c指定的可配置时间(如下所述)来冷却此板级。经过此可配置的等待时间后,pacd服务将对指定的AFU进行编程。确保AFU主机应用程序监视SIGHUP信号并退出。

注: 部分重配置不能从虚拟机进行启动。因此,pacd不能在虚拟机上运行。
可以按照以下方式将pacd设置为systemd服务(使用一个带提升特权的shell (sudo)):
  1. 编辑pacd.conf文件,使用适合FIM的一列AFU对 “DefaultGBSOptions” entry进行更新。使用到每个AFU文件的完整的绝对路径,并在每个文件名前加上‘-n’。
    sudo vim /usr/bin/pacd.conf
    
    Edit entry:
    DefaultGBSOptions=-n /home/<username>/intelrtestack/\
    a10_gx_pac_ias_1_2_pv/hw/samples/nlb_mode_3/bin/nlb_mode_3_unsigned.gbs
    Edit entry:
    DefaultGBSOptions=-n /home/<username>/intelrtestack/\
    d5005_pac_ias_2_0_1*/hw/samples/nlb_mode_3/bin/nlb_mode_3_unsigned.gbs
    注:
    可选的设置包括:
    • PCIe地址(例如:-S, -B, -D, -F),pacd监控所有与指定的PCIe地址组件匹配的 Intel® FPGA PAC。例如,如果仅指定-B 5,那么PCIe bus 5上的所有 Intel® FPGA PAC都会被监控。
    • 传感器阈值—此阈值是全局阈值,因此指定-T 11:95.0:93.0将监控所有所选 Intel® FPGA PAC上的sensor 11。当此阈值超过95.0时,会导致通过pacd.conf中的-n指定的默认比特流被重新编程(PR)。传感器的阈值在降至93.0以下之前会被认为是触发的。
    • 您可以通过以下两种方法来指定冷却时间:
      1. 更改CooldownInterval=<time period>
      2. pacd.conf中的ThresholdOptions设置 -c <time period>,或者

      如果两个都设置了,那么ThresholdOptions -c <time period>设置优先。

    • 通过运行以下命令可以找到Sensor Number:
      sudo fpgainfo bmc

    检查其余的选项变量,并根据您的系统进行适当调整。

  2. pacd.conf复制到默认的systemd服务配置目录(通常为 /etc/sysconfig )。
    sudo cp /usr/bin/pacd.conf /etc/sysconfig/
  3. 编辑pacd.service文件以更新“EnvironmentFile” entry来反映 pacd.conf文件的复制位置。在路径名前加一个短划线‘-‘,将路径指定为绝对路径。
    sudo vim /usr/bin/pacd.service
    Edit entry:
    EnvironmentFile=-/etc/sysconfig/pacd.conf
  4. pacd.service复制到/etc/systemd/system/pacd.service。这使pacdsystemd可见。
    sudo cp /usr/bin/pacd.service /etc/systemd/system/
  5. 启动pacd,作为systemd服务。
    注: 如果命令不能在普通用户模式下运行,请使用sudo
    systemctl daemon-reload
    systemctl start pacd.service
  6. 可选:要使pacd在引导时重新启动,请执行
    systemctl enable pacd.service

    要检查pacd是否已经启动,并检查状态和操作,请查看日志文件(在“LogFile”行上的pacd.conf中指定)。

    请运行以下命令来查看systemctl命令的完整列表:
    systemctl -h
  7. 请运行以下命令来验证服务是否运行:
    systemctl status pacd.service
    

    Sample Output:

  8. 停止服务:
    systemctl stop pacd.service