Axonerve

此应用为日本技术。

Ethernet KVS - Axonerve

KVS (Key Value Store) 是一项有关电信目录、IP 传输表和重复数据删除存储系统等系统的有效技术。这次,我们将通过名为“Axonerve”的查找引擎介绍 Alveo U50 使用的加速 KVS 系统的实例。

供应商: Axonerve by Nagase

更新日期: 2020 年 11 月 16 日

大小: N/A

容器版本: kvsimage_u50_v1.0

试用或购买

获得评估或购买此产品的权利。


您可免费试用以下示例应用。

查看和购买此应用的可用定价计划。


部署选项

该应用是容器化的,可以在几分钟内轻松地在云中或本地运行。

本地
Alveo U50
查看 & 购买产品
  • Xilinx 运行时:2020.1
  • 目标平台: Xilinx_u50_xdma_201920_3

开始免费评估

请按照部署方法进行操作。

Alveo U50

1.

获取账户访问密钥

需要一个访问密钥来对用户进行身份验证,并根据其权限授予用户应用访问权。要获取您的帐户访问密钥,请按以下步骤操作:

  • 登录 Xilinx 应用商城门户网站
  • 点击 "Manage Account" 按钮,查看应享权限。
  • 点击左侧菜单上的 "Access Key" 链接
  • 点击 "Create an Access Key" 按钮。
  • 将生成的文件 "cred.json" 下载到 ABC 位置

注:生成的访问密钥将启用您帐户中的所有权限。如果您还没有从以上 "TRY OR BUY" 部分获取授权,请先获取授权,然后按照以下步骤生成访问密钥。


2.

主机设置

Xilinx Runtime (XRT) 主机应用在 Ubuntu 16.04 /18.04CentOS 7.x. 上提供支持。支持sudo 访问时,请使用以下命令下载并运行安装脚本:

3.

服务器和客户端机器的准备

该应用是一款客户端服务器模型。准备两台不同的 PC:一台用于安装 U50 并运行 KVS 应用的服务器;另一台用于客户端机器,您可通过它使用 KVS 实用程序脚本尝试访问该服务器。通过 100Gb 以太网线缆将服务器的 U50 连接至客户端。您可能需要更多的硬件部件来使用 100Gb 以太网,如 100GbE 收发器、用于客户端 PC 的 100GbE NIC 等等。


4.

服务器安装

Ubuntu 16.04 /18.04CentOS 7.x 上支持 Xilinx Runtime (XRT) 主机应用。支持 sudo 访问时,请使用以下命令下载并运行服务器安装脚本:


4.1 为 Xilinx 基础运行时克隆 GitHub 版本库

    git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git && cd Xilinx_Base_Runtime

4.2 为 Xilinx Base Runtime 克隆 GitHub 版本库

    ./host_setup.sh –v 2020.1


  • 请等待安装完成。在此期间,您可能需要按 [Y],才能继续执行主机安装。
  • 如果选择闪存 FPGA,则需要在安装完成后冷重启本地机,才能在 FPGA 上加载新映像。
  • 用于主机设置的脚本可用于设置其它版本的 XRT 和 shell。请查看 https://github.com/Xilinx/Xilinx_Base_Runtime,了解更多详情。

安装 Docker(如果尚未安装)

支持 sudo 访问时,请使用以下命令运行实用程序脚本来安装 docker。


4.3 转向 Xilinx_Base_Runtime 实用程序目录

    cd Xilinx_Base_Runtime/utilities

4.4 运行 Docker 安装脚本

    ./docker_install.sh

5.

服务器应用的执行

在服务器机器的终端窗口中输入以下命令来运行该服务器应用:

  


5.1 通过 Xilinx_Base_Runtime 脚本设置环境变量

    source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh

5.2 拖拽服务器 Docker 映像

    docker pull xilinxpartners/axonerve_kvs:alveo_u50

5.3 运行服务器 Docker 映像

在终端窗口中输入以下命令,以交互式模式运行 docker 映像。容器将自动启动会话来激活 FPGA 板上的 KVS 服务器应用。要停止会话时,请根据容器的消息按任意键。

    docker run –it -v local_path_to_cred.json:/cred.json $XILINX_DOCKER_DEVICES xilinxpartners/axonerve_kvs:alveo_u50:latest


命令参数描述

  • -v local_path_to_cred.json:/cred.json - Map local cred.json dir : container dir
  • $XILINX_DOCKER_DEVICES — 服务器安装脚本设置的变量

6.

客户端应用执行

一旦服务器应用程序在服务器机器上启动,KVS 服务器即准备就绪,响应来自客户端机器的查询。在客户端机器的终端窗口中输入以下命令来使用 KVS 实用程序脚本。


6.1 安装 Docker(如果尚未安装)

参考以上服务器设置,在客户端计算机上安装 Docker。


6.2 拖拽客户端 Docker 映像

    docker pull xilinxpartners/axonerve_kvs_client_software

6.3 运行客户端 Docker 映像

    docker run -it --net=host xilinxpartners/axonerve_kvs_client_software:latest

6.4 运行 KVS 实用程序脚本

/software 目录中提供了基于 Python3 的实用程序脚本和一组性能检查器应用程序源。

KVS 实用程序脚本

Python 用户可将 raw_axonerve_util.py 用作库。请参阅 raw_axonerve_se.py、raw_axonerve_we.py 和 raw_axonerve_reset.py 以了解如何使用它。

例如,尝试在客户端 docker 容器上运行以下命令:

    cd /software; python3 raw_axonerve_util.py NIC_device_name

 

命令参数描述:

  • NIC_device_name – 100GbE NIC name. e.g. enp1s0f0

性能检查器

理论上,该参考文献中的 Axonerve 可处理高达每秒 200M 的查询。由于 100GbE 的限制,最大性能约为每秒 190M 查询。要测量性能,请参考 C 程序 perf_check.c。

    cd /software; make; ./perf_check