首页 > 编程知识 正文

v20系统是什么版本,v20哪个系统版本好

时间:2023-05-06 03:15:47 阅读:22096 作者:1106

近期,SPDK团队正式发布了20.10版本,一起来看看都有哪些新功能吧!(温馨提示:英语函数名较长,为了获得更好的阅读体验,建议用手机横屏阅读~

新功能

http://www.Sina.com/NVMe-oF target目前支持为nvme-of启动器提供多路径的asymmetricnamespaceaccess (DPD LD )。

- NVMe-oF多路径: NVMe驱动程序添加了对ZNS命令集的支持。 详细内容请参照以下链接:

3359 spdk.io/doc/nvme _ ZnS _ 8h.html

- NVMe ZNS:iSCSI target支持iscsi登录重定向功能,尤其是在横向扩展的iSCSI target系统上,可以实现容错和负载平衡。

添加了对-iSCSI重定向:中断模式的支持。 模块或库可以选择性地注册spdk_thread侦听的文件描述符。 该功能目前是实验性的,可以在小部分SPDK库和模块中启用。

添加-中断模式:线程调度器和CPU频率调节器框架,以重新平衡CPU核心之间的负载。 这个功能现在是实验性的。

http://www.Sina.com/spdk APP应用程序和bdev模块不再支持以前的INI配置,而只支持JSON-RPC配置。 有关详细信息,请访问https://spdk.io/doc/jsonrpc.html

要查看完整版,请单击“阅读原文”或访问以下链接

3359 github.com/spdk/spdk/releases/tag/v 20.10

- 调度程序和调速器:

此版本包含来自43个作者的805次提交,包含47,000多行代码更改。 特别感谢在v20.10版本中首次提交代码的社区贡献者。

Jimbo Lu

Krzysztof Karas

耐克顾问公司

Pawel Piatek

Rafal Stefanowski

Vasuki Manikarnike

王世龙

SDK开源社区

衷心感谢大家的参与和贡献!

- 已删除旧配置:

特别感谢

添加了新的API spdk_accel_batch_cancel和spdk_idxd_batch_cancel,以便可以取消批处理序列。

详细的发布说明如下

添加了新函数spdk_bdev_part_base_construct _ ext,并废除了旧函数spdk _ bdev _ part _ base _ construct。 spdk _ bdev _ part _ base _ construct _ ext函数使用bdev名称而不是bdev结构作为参数,在调用时根据名称检索结构,并在实际打开时删除bdev

已删除bdev模块中的spdk_bdev_config_text函数并报告了旧配置。

accel

添加了新函数spdk_bdev_create_bs_dev_ext,废除了旧函数spdk _ bdev _ create _ bs _ dev _ from _ desc。

bdev

将DPDK子模块更新为DPDK 20.08。

blobstore

添加了新的API spdk_mem_get_fd_and_offset以获取指定虚拟地址的文件描述符和偏移。

dpdk

作为删除旧配置的一部分,已删除子模块的spdk_subsystem_config回调函数。

已删除旧格式打印的spdk_app_get_running_config函数,并已从用于调用的struct spdk_app_opts回调中删除usr1_handler。

添加了SPDK线程调度框架。

该框架可用于重新平衡 CPU 内核之间的负载。

调度器的实现是可插拔的,添加了两个调度器:静态调度器和gscheduler调度器。默认情况下使用静态调度器,不会重新调度线程,保留初始分配。

还添加了 CPU 频率调速器框架和实现。dpdk_governor是第一个实现,并且基于DPDK的rt_power库。gscheduler调度器利用CPU频率调控器。

调度程序和调速器框架具有实验性功能。

fio

Bdev fio_plugin不再支持旧版配置文件。选项spdk_conf和spdk_json_conf必须指向有效的JSON配置。

gpt

删除了通过旧版配置禁用GPT探测的选项。请使用通用的bdev功能来复制该行为。详情请参见bdev_set_options --disable-auto-examine 和 bdev_examine RPC

intel-ipsec-mb

将intel-ipsec-mb 子模块更新到v0.54

isa-l

将ISA-L子模块更新到v2.29.0

iscsi

iSCSI target支持iSCSI login重定向功能,以实现容错和负载平衡,尤其是在横向扩展iSCSI target系统中更是如此。该系统可运行多个SPDK iSCSI target。

json

添加了新的API spdk_json_decode_object_relaxed ,即使没有找到给定密钥的解码器,也可以解析json值。

添加了新的 API spdk_json_free_object 来释放 spdk_json_decode_object 分配的内存。

log

新增了log flag结构spdk_log_register_flag, spdk_log_get_first_flag, spdk_log_get_next_flag 和宏SPDK_LOG_REGISTER_COMPONENT,启用了注册和与log flag交互的功能。添加了SPDK_INFOLOG,SPDK_DEBUGLOG和SPDK_LOGDUMP宏,以显示特定log flag的日志

在SPDK的发行版本中,已启用事件框架-L和若干SPDK应用程序中的log flag。在调试版本上,该选项还将日志输出级别设置为SPDK_LOG_DEBUG

添加了新的API spdk_log_enable_timestamps 和新的RPC log_enable_timestamps 来转换日志时间戳。

miscellaneous

log_rpc库的内容已移至事件库。log_rpc库已不复存在。

app_rpc库的内容已移至事件库。app_rpc库已不复存在。

bdev_rpc库的内容已移至bdev库。app_rpc库已不复存在。

bdevperf 应用程序现在默认禁用 zcopy API。在本次更改之前,bdevperf 默认启用了 zcopy API,这对不支持 zcopy 的 bdevs 造成了高达 25% 的性能影响,因为 API 通过分配缓冲区来模拟零拷贝。bdevperf -x 参数重命名为 -Z,默认值更改为 false。对于支持 zcopy 的 bdevs,使用 -Z 标志来启用 zcopy API。

net

删除了供用户空间 TCP 堆栈使用的net 框架。

nvme

NVMe驱动程序添加了分区命名空间命令集支持。有关详细信息,请参见nvme_zns.h

添加了新的APIspdk_nvme_detach_async 和spdk_nvme_detach_poll_async,用以并行分离多个控制器,从而减少一些NVMe SSD的长时间关闭通知。

添加了新的API spdk_nvme_ns_get_ana_group_id和spdk_nvme_ns_get_ana_state,以分别获取给定命名空间的dpdld group ID和dpdld状态。

如果没有要求特定的命令集(通过在spdk_nvme_ctrlr_opts 结构中设置command_set member),SPDK将根据控制器支持的内容自动选择最合适的命令集。

nvmf

添加了新的API spdk_nvmf_subsystem_add_ns_ext ,弃用此前的API spdk_nvmf_subsystem_add_ns

NVMe-oF target现已支持Asymmetric Namespace Access(dpdld,非对称命名空间访问)报告,可为NVMe-oF启动器提供多路径。

在spdk_nvmf_transport_opts 结构中添加了no_wr_batching 参数,以禁用RDMA传输中的工作请求批处理。

NVMf Target传输现在可以通过spdk_nvmf_target_opts-> transport_specific提供的JSON上下文,来解析nvmf_create_transport RPC中的任何其他JSON参数。

添加了新的RPC nvmf_subsystem_set_options,允许子系统内传输特定的选项。

添加了新的API spdk_nvmf_transport_stop_listen_async ,以停止在提供的地址处接受新连接。nvmf_subsystem_remove_listener  RPC现在使用该函数。

添加了新的API spdk_nvmf_subsystem_disconnect_host ,以断开给定 hostnqn 的所有连接。nvmf_subsystem_remove_host  RPC现在使用该函数。

ocf

将 OCF 子模块更新到 v20.03.1

rpc

新的可选参数enable_placement_id 和 enable_quickack 已添加到sock_impl_set_options RPC。

添加了新的 RPC bdev_examine_bdev ,能让用户对bdev进行显式检查。只有当RPC bdev_set_options将bdev_auto_examine设置为false时,才能使用。在'nvmf_create_transport' RPC方法中添加了可选的'no_wr_batching'参数。

添加了新的 RPC, iscsi_target_node_set_redirect 和 iscsi_target_node_request_logout。在RPC iscsi_create_portal_group中添加了新的可选参数private ,以支持iSCSI login重定向功能。

新的可选参数ana_reporting 已添加到RPC nvmf_create_subsystem,新的RPC nvmf_subsystem_listner_set_ana_state 已添加到dpdld报告中。

添加了新的RPC nvmf_subsystem_get_listenersz和 nvmf_subsystem_get_qpairs,以检索NVMe-oF子系统的配置。

scsi

添加了两个新的API spdk_scsi_dev_construct_ext和spdk_scsi_dev_add_lun_ext,允许上层(例如vhost-scsi)在scsi bdev调整大小时收到通知。

spdk_scsi_dev_construct和spdk_scsi_dev_add_lun最终可能会被弃用并被删除。

sock

在spdk_sock_impl_opts 结构中添加了enable_placement_id 字段,使用户可以配置placement_id功能。默认设置为未启用。

在struct spdk_sock_impl_opts 中添加了enable_quick_ack 字段,以启用或禁用POSIX sock子模块的quick ack。默认设置为未启用。

thread

fd_group 适用于支持中断模式。

添加了新的API以支持实验性中断模式,允许模块或库选择性地注册spdk_thread可以等待的文件描述符,以替代轮询。在v20.10版本中,只有小部分的SPDK库和模块启用了此功能。

util

添加了一个名为fd_group的新实用程序。它由epoll在Linux平台上实现。spdk_thread和reactor可以用它来实现中断模式。

添加了spdk_bit_pool实用程序。有关详细信息,请参见bit_pool.h 。

vhost

从19.07版本开始,SPDK已切换到DPDK的rte_vhost库,删除了内部rte_vhost库(用于DPDK 19.05之前版本),删除了依赖于内部rte_vhost库的实验性vhost nvme target。

vpp

删除了VPP的套接字抽象。

转载须知

DPDK与SPDK开源社区公众号文章转载声明

推荐阅读

????欢迎加入2020年中国2020 SPDK,PMDK, VTune Profiler线上技术会议!

????2020 英特尔Packet Processing Virtual Summit线上直播免费报名中!

????SPDK发布v20.07版本

点击“阅读原文”,查看20.10 release原文

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。