SPDK应用概述 您所在的位置:网站首页 csgo无线鼠标有延迟吗怎么设置的 SPDK应用概述

SPDK应用概述

2023-07-12 04:57| 来源: 网络整理| 查看: 265

SPDK 主要是一个开发套件,提供用于其他应用程序的库和头文件。然而,SPDK还包含许多应用程序。这些应用程序主要用于测试库,但许多应用程序功能齐全且质量很高。SPDK的主要应用有:

iSCSI 目标 NVMe over Fabrics 目标 虚拟主机目标 SPDK Target(结合以上三者的统一应用程序)

SPDK 目标均基于通用框架,因此它们有很多共同点。该框架定义了一个称为“subsystem”的概念,所有功能都在各个子系统中实现。子系统有统一的初始化和卸载路径。

配置 SPDK 应用程序 命令行参数

SPDK 应用程序框架为所有使用它的应用程序定义了一组基本命令行标志。特定应用程序可以实现附加标志。

ParamLong ParamTypeDefaultDescription-c–configstring@ref cmd_arg_config_file-d–limit-coredumpflagfalse@ref cmd_arg_limit_coredump-e–tpoint-groupinteger@ref cmd_arg_limit_tpoint_group_mask-g–single-file-segmentsflag@ref cmd_arg_single_file_segments-h–helpflagshow all available parameters and exit-i–shm-idinteger@ref cmd_arg_multi_process-m–cpumaskCPU mask0x1application @ref cpu_mask-n–mem-channelsintegerall channelsnumber of memory channels used for DPDK-p–main-coreintegerfirst core in CPU maskmain (primary) core for DPDK-r–rpc-socketstring/var/tmp/spdk.sockRPC listen address-s–mem-sizeintegerall hugepage memory@ref cmd_arg_memory_size–silence-noticelogflagdisable notice level logging to stderr-u–no-pciflag@ref cmd_arg_disable_pci_access.–wait-for-rpcflag@ref cmd_arg_deferred_initialization-B–pci-blockedB:D:F@ref cmd_arg_pci_blocked_allowed.-A–pci-allowedB:D:F@ref cmd_arg_pci_blocked_allowed.-R–huge-unlinkflag@ref cmd_arg_huge_unlink–huge-dirstringthe first discoveredallocate hugepages from a specific mount-L–logflagstring@ref cmd_arg_log_flags 配置文件

SPDK 应用程序使用 JSON RPC 配置文件进行配置。有关详细信息,请参阅JSON-RPC。

限制核心转储

默认情况下,SPDK 应用程序会将核心文件大小的资源限制设置为 RLIM_INFINITY。指定–limit-coredump不会设置资源限制。

跟踪点组掩码

SPDK 有一个实验性的低开销跟踪框架。该框架中的跟踪点被组织成跟踪点组。默认情况下,所有跟踪点组均处于禁用状态。–tpoint-group可用于启用应用程序中跟踪点组的特定子集。

延迟初始化

SPDK 应用程序会经历一组以 开头STARTUP和结尾的状态RUNTIME。

如果–wait-for-rpc提供了该参数,SPDK 将在开始框架初始化之前暂停。这种状态称为STARTUP。JSON RPC 服务器已准备就绪,但只有一小部分命令可用于设置初始化参数。SPDK应用程序进入状态后,这些参数无法更改RUNTIME。当客户端完成 SPDK 子系统的配置后,它需要发出Framework_start_init RPC 命令来开始初始化过程。rpc_framework_start_init返回后, trueSPDK 将进入RUNTIME状态并且可用命令列表变得更大。

要查看当前状态下哪些 RPC 方法可用,请发出rpc_get_methods并将参数current设置为true。

有关详细信息,请参阅JSON-RPC。

只创建一个巨大的lbfs文件

该选项不是为每页创建一个巨大的LBFS文件,而是让SPDK为每个套接字的每个大页创建一个文件。这是Virtio 驱动程序与超过 8 个大页面一起使用所必需的。请参阅2MB 大页面。

多进程模式

指定后–shm-id,应用程序将以多进程模式启动。使用相同 shm-id 的应用程序共享其内存和NVMe设备。第一个以给定 ID 启动的应用程序成为主进程,其余的应用程序称为辅助进程,仅附加到它。当主进程退出时,辅助进程继续运行,但此时不能附加新进程。同一 shm-id 组内的所有进程必须使用相同的–single-file-segments设置。

内存大小

要保留的大页内存的总大小。如果使用 DPDK env 层,它将从所有可用的 humetlbfs 挂载中保留内存,从页面大小最大的那个开始。该选项接受带有可能的二进制前缀的多个字节,例如1024、1024M、1G。默认单位是兆字节。

从 DPDK 18.05.1 开始,可以在运行时保留大页,这意味着 SPDK 应用程序可以使用 0 个预保留内存启动。与应用程序启动时预先保留的大页面不同,运行时保留的大页面一旦不再使用就会被释放到系统中

禁用 PCI 访问

如果 SPDK 在禁用 PCI 访问的情况下运行,它将不会检测到任何 PCI 设备。这主要包括 NVMe 和 IOAT 设备。此外,在此模式下不需要 VFIO 和 UIO 内核模块。

PCI 地址阻止和允许列表

如果使用阻止列表,则所有具有所提供 PCI 地址的设备都将被忽略。如果使用允许列表,则只会探测允许的设备。-B或者-A可以多次使用,但不能混合在一起。即,-B和-A不能同时使用。

初始化后取消链接大页文件

默认情况下,每个基于 DPDK 的应用程序都会在初始化期间尝试删除任何孤立的hugetlbfs 文件。此选项会在创建当前进程的巨大的lbfs 文件后立即将其删除,但与–shm-id.

日志标志

启用特定日志类型。该选项可以多次使用。输出中提供了所有可用类型的列表–help,并–logflag all启用了所有类型。另外,在 SPDK 的调试版本中启用调试打印级别。

CPU掩码

每当CPU mask提到 时,它都是以下格式之一的字符串:

不区分大小写的十六进制字符串,带或不带“0x”前缀。 以逗号分隔的 CPU 列表或 CPU 范围列表。使用“-”定义范围。

例子

以下 CPU 掩码是相同的,分别对应于 CPU 0、1、2、8、9、10、11 和 12:

0x1f07 0x1F07 1f07 [0,1,2,8-12] [0, 1, 2, 8, 9, 10, 11, 12]



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有