当前位置: 首页 > news >正文

【spdk】spdk compressdev测试

spdk-23.09\go\rpc\README.md go client

启应用

启哪个应用?
./build/bin/iscsi_tgt --wait-for-rpc &

/usr/local/daos-2.4/prereq/release/spdk/share/spdk/scripts/rpc.py bdev_malloc_create -b Malloc0 1024 4096 #1G bs=4k

/usr/local/daos-2.4/prereq/release/spdk/share/spdk/scripts/rpc.py bdev_get_bdevs #查看bdevs

/usr/local/daos-2.4/prereq/release/spdk/share/spdk/scripts/rpc.py bdev_lvol_create_lvstore Malloc0 lvs
/usr/local/daos-2.4/prereq/release/spdk/share/spdk/scripts/rpc.py bdev_lvol_create -t -l lvs lv0 1024

mount /dev/pmem0 /tmp/pmem
/usr/local/daos-2.4/prereq/release/spdk/share/spdk/scripts/rpc.py bdev_compress_create -b lvs/lv0 -p /tmp/pmem

[root@localhost spdk]# ./scripts/rpc.py bdev_compress_create -b lvs/lv0 -p /tmp/pmem
request:
{
“base_bdev_name”: “lvs/lv0”,
“pm_path”: “/tmp/pmem”,
“method”: “bdev_compress_create”,
“req_id”: 1
}
Got JSON-RPC error response
response:
{
“code”: -32601,
“message”: “Method not found”
}

需解决以上问题

解决方法, 编译SPDK时需要加上相关的库

–with-crypto
–with-vbdev-compress --with-dpdk-compressdev

./configure --prefix=output_dir --with-dpdk --disable-unit-tests --with-vhost --with-crypto --without-rbd --without-vtune --without-shared --with-rdma --with-vbdev-compress --with-dpdk-compressdev

配置QAT PMD

如下 按步骤执行

1.启动应用 加–wait-for-rpc
2…/spdk/scripts/rpc.py framework_start_init #启动加速框架
3…/spdk/scripts/rpc.py accel_get_module_info #获取加速模块
[root@localhost test]# …/spdk/scripts/rpc.py framework_start_init
[root@localhost test]# …/spdk/scripts/rpc.py accel_get_module_info
[
{
“module”: “software”,
“supported ops”: [
“copy”,
“fill”,
“dualcast”,
“compare”,
“crc32c”,
“copy_crc32c”,
“compress”,
“decompress”,
“encrypt”,
“decrypt”,
“xor”
]
},
{
“module”: “dpdk_cryptodev”,
“supported ops”: [
“copy”,
“fill”
]
},
{
“module”: “dpdk_compressdev”,
“supported ops”: []
}
]

[root@localhost test]# …/spdk/scripts/rpc.py compressdev_scan_accel_module -h
usage: rpc.py [options] compressdev_scan_accel_module [-h] [-p PMD]

optional arguments:
-h, --help show this help message and exit
-p PMD, --pmd PMD 0 = auto-select, 1= QAT only, 2 = mlx5_pci only

[root@localhost test]# …/spdk/scripts/rpc.py compressdev_scan_accel_module -p 0
[root@localhost test]# …/spdk/scripts/rpc.py compressdev_scan_accel_module -p 1
[root@localhost test]# …/spdk/scripts/rpc.py compressdev_scan_accel_module -p 2
分别对应:(怎么都是dpdk_compressdev)
[2024-01-17 08:05:16.008732] accel.c:2312:spdk_accel_module_list_add: NOTICE: Module dpdk_compressdev already registered
[2024-01-17 08:06:37.788732] accel.c:2312:spdk_accel_module_list_add: NOTICE: Module dpdk_compressdev already registered
[2024-01-17 08:06:46.996707] accel.c:2312:spdk_accel_module_list_add: NOTICE: Module dpdk_compressdev already registered

[root@localhost spdk]# ./scripts/rpc.py --verbose DEBUG compressdev_scan_accel_module -p 0
INFO: Log level set to 10
DEBUG: Trying to connect to UNIX socket: /var/tmp/spdk.sock
DEBUG: call(‘compressdev_scan_accel_module’)
DEBUG: append request:
{“jsonrpc”: “2.0”, “method”: “compressdev_scan_accel_module”, “id”: 1, “params”: {“pmd”: 0}}

DEBUG: Flushing buffer
INFO: Requests:
{
“jsonrpc”: “2.0”,
“method”: “compressdev_scan_accel_module”,
“id”: 1,
“params”: {
“pmd”: 0
}
}

DEBUG: Trying to decode response ‘’
DEBUG: Partial response
DEBUG: Trying to decode response '{“jsonrpc”:“2.0”,“id”:1,“result”:true}

INFO: response:
{
“jsonrpc”: “2.0”,
“id”: 1,
“result”: true
}

Installing Intel QAT (IDZ 方式)

  • 下载安装driver https://github.com/intel/qatlib
./configure; make install
# Sample programs can be installed by using the “make samples-install”. The sample program “cpa_sample_code runTests=32” can be used to test compression performance.
  • 检查安装状态

    lsmod | grep qat
    qat_4xxx               20480  0
    intel_qat             270336  1 qat_4xxx
    crc8                   16384  1 intel_qat
    authenc                16384  1 intel_qat
  • 检查 service 状态

    # service qat_service start||stop||status||restart||shutdown
    # For a system with multiple Intel® QAT Endpoints, you can start, stop or restart each individual device by passing the Intel® QAT Endpoint to be restarted or stopped as a parameter qat_dev<N>, for example:
    service qat_service stop qat_dev0
    service qat_service stop qat_dev1
    # The shutdown qualifier enables the user to bring down all Intel® QAT Endpoints and unload driver modules from the kernel. This contrasts with the stop qualifier, which brings down one or more Intel® QAT Endpoints, but does not unload kernel modules, so other Intel® QAT Endpoints can still run.
    # service qat_service statusChecking status of all devices.There is 3 QAT acceleration device(s) in the system:qat_dev0 - type: c6xx, inst_id: 0, node_id: 1, bsf: 0000:cc:00.0, #accel: 5 #engines: 10 state: upqat_dev1 - type: c6xx, inst_id: 1, node_id: 1, bsf: 0000:ce:00.0, #accel: 5 #engines: 10 state: upqat_dev2 - type: c6xx, inst_id: 2, node_id: 1, bsf: 0000:d0:00.0, #accel: 5 #engines: 10 state: up

相关文章:

【spdk】spdk compressdev测试

spdk-23.09\go\rpc\README.md go client 启应用 启哪个应用&#xff1f; ./build/bin/iscsi_tgt --wait-for-rpc & /usr/local/daos-2.4/prereq/release/spdk/share/spdk/scripts/rpc.py bdev_malloc_create -b Malloc0 1024 4096 #1G bs4k /usr/local/daos-2.4/prereq…...

Linux中并发程序设计(进程的创建和回收、exec函数使用)

进程的创建和回收 进程概念 概念 程序 存放在磁盘上的指令和数据的有序集合&#xff08;文件&#xff09; 静态的 进程 执行一个程序所分配的资源的总称 动态的进程和程序比较 注&#xff1a;进程是存在RAM中&#xff0c;程序是存放在ROM(flash)中的进程内容 BSS段&#xff…...

2023年DevOps国际峰会暨 BizDevOps 企业峰会(DOIS北京站):核心内容与学习收获(附大会核心PPT下载)

随着科技的飞速发展&#xff0c;软件开发的模式和流程也在不断地演变。在众多软件开发方法中&#xff0c;DevOps已成为当下热门的软件开发运维一体化模式。特别是在中国&#xff0c;随着越来越多的企业开始认识到DevOps的价值&#xff0c;这一领域的研究与实践活动日益活跃。本…...

pdf 转html 在线预览和查询

方案一&#xff1a;pdf2htmlex package com.realize.controller;import cn.hutool.http.HttpUtil; import com.alibaba.fastjson2.JSONObject; import com.realize.util.MsgUtil; import com.realize.util.OssUtil; import com.realize.util.PdfConvertUtil; import com.reali…...

docker 体验怀旧游戏(魂斗罗等)

docker run --restart always -p 8081:80 --name fc-games -d registry.cn-hangzhou.aliyuncs.com/bystart/fc-games:latest ip:8081访问 jsnes: js制作了一个网页版的NES模拟&#xff0c;可以在网页上玩fc游戏 (gitee.com)...

JS中判断数据类型总结以及方法封装

判断数据类型封装方法&#xff1a; 1&#xff09;type返回字符串类型 2&#xff09;is开头返回Boolean类型 测试实例&#xff1a; JavaScript 判断数据类型的方式共有四种 typeofinstanceofconstructorObject.prototype.toString typeof typeof 操作符返回一个字符串,表示操…...

【Midjourney】绘画风格关键词

1.松散素描(Loose Sketch) "Loose sketch"&#xff08;松散素描&#xff09;通常指的是一种艺术或设计中的手绘风格&#xff0c;其特点是线条和形状的表现相对宽松、自由&#xff0c;没有过多的细节和精确度。这样的素描通常用于表达创意、捕捉概念或者作为设计的初步…...

教你如何低成本自建「幻兽帕鲁」服务器,快速一键部署

创建幻兽帕鲁服务器1分钟部署教程&#xff0c;阿里云和腾讯云均推出幻兽帕鲁服务器服务器和部署教程&#xff0c;4核16G和4核32G配置可选&#xff0c;阿腾云atengyun.com分享1分钟自建幻兽帕鲁Palworld服务器教程&#xff1a; 幻兽帕鲁服务器创建教程 幻兽帕鲁服务器官方推荐…...

拥抱社交电商浪潮:微信小程序商城崛起引领电商新风向-亿发

在经过多年的发展后&#xff0c;各大传统电商平台的流量增速基本上已经见顶。同时&#xff0c;新兴的带有社交性质的电商平台&#xff0c;如抖音、小红书和微信商城&#xff08;小程序商城&#xff09;等&#xff0c;使得传统中心化平台的流量关注度逐渐分散。由于中心化平台需…...

一个使用pyqt的word文档查重工具

一个使用pyqt的word文档查重工具 使用场景代码使用截图打包好的软件下载链接结尾 使用场景 有时我们在借鉴一篇文档之后还不想有太多重复&#xff0c;这个时候可以使用这个工具对两个word文档进行对比 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWind…...

SpringCloud Alibaba Sentinel 与 SpringCloud Gateway 的限流有什么差别?(三种限流算法原理分析)

目录 一、Sentinel 与 Gateway 的限流有什么差别&#xff1f; 1.1、前置知识 - 四种常见的限流算法 1.1.1、Tips 1.1.2、计数器算法 1&#xff09;固定窗口计数器算法 2&#xff09;滑动窗口计数器算法 1.1.3、令牌桶算法 1.1.4、漏桶算法 1.2、解决问题 一、Sentinel…...

邦芒忠告:职场新人最需要避开的十大雷坑

职场人最害怕的就是踩雷进坑&#xff0c;很多新入职场的小白都会战战兢兢&#xff0c;生怕哪里不对&#xff0c;冒犯了哪一位&#xff0c;或者触犯了哪一条潜规则。害怕自己踩到雷&#xff0c;没有走好职场第一步。最近&#xff0c;单位进了几个新人&#xff0c;看到他们就想起…...

MySQL-进阶-索引

一、索引概述 1、介绍 2、有误索引搜索效率演示 3、优缺点 二、索引结构 1、B-Tree&#xff08;多路平衡查找树&#xff09; 2、BTree 3、Hash 三、索引分类 四、索引语法 1、语法 2、案例 五、SQL性能分析 1、查看执行频次 2、慢查询日志 3、show-profile 4、explain...

GitLab入门指南:上传与下载操作一网打尽

GitLab简介&#xff1a; GitLab是一个基于Git的开源仓库管理系统&#xff0c;提供了一个Web界面的Git存储库管理器&#xff0c;并集成了多种开发工具的功能&#xff0c;如代码审查、问题跟踪、持续集成和持续部署等。GitLab可以在本地服务器上部署&#xff0c;也可以使用其提供…...

GPT应用_PrivateGPT

项目地址&#xff1a;https://github.com/imartinez/privateGPT 1 功能 1.1 整体功能&#xff0c;想解决什么问题 搭建完整的 RAG 系统&#xff0c;与 FastGPT 相比&#xff0c;界面比较简单。但是底层支持比较丰富&#xff0c;可用于知识库的完全本地部署&#xff0c;包含大…...

Qt‘s 撤销框架(Qt‘s Undo Framework)

一、开篇序言 我们常常有这样的业务场景,需要支持撤回的动作(即 undo)。如果让你来设计,聪明的你肯定也能立即想到解决问题的办法,对,将操作的 command { 对象,指令,属性 } 保存到一个容器中。 如果是仅需要单步撤销, 使用栈容器 保存command,动作执行即指令入栈, …...

【C++】stack、queue的使用及模拟实现

目录 一、stack1.1 stack的使用1.2 stack的模拟实现 二、queue2.1 queue的使用2.2 queue的模拟实现 一、stack 1.1 stack的使用 stack是一种容器适配器&#xff0c;它的特点是后进先出&#xff0c;只能在容器的一端进行插入和删除操作。 stack的使用很简单&#xff0c;主要有…...

外包干了2个多月,技术退步明显。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近3年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...

html5实现好看的年会邀请函源码模板

文章目录 1.设计来源1.1 邀请函主界面1.2 诚挚邀请界面1.3 关于我们界面1.4 董事长致词界面1.5 公司合作方界面1.6 活动流程界面1.7 加盟支持界面1.8 加盟流程界面1.9 加盟申请界面1.10 活动信息界面 2.效果和源码2.1 动态效果2.2 源码目录结构 源码下载 作者&#xff1a;xcLei…...

【C++】反向迭代器模拟实现

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.利用适配器的思想…...

Qwen2.5-VL多模态大模型实战:如何用3090显卡高效部署7B版本(附避坑指南)

Qwen2.5-VL多模态大模型实战&#xff1a;3090显卡高效部署7B版本全攻略 当多模态大模型遇上消费级显卡天花板RTX 3090&#xff0c;会产生怎样的化学反应&#xff1f;作为目前最具性价比的24GB显存解决方案&#xff0c;3090显卡在部署7B参数规模的Qwen2.5-VL时既充满可能又暗藏…...

新手友好:Python3.9镜像环境配置,Jupyter和SSH两种方式任你选

新手友好&#xff1a;Python3.9镜像环境配置&#xff0c;Jupyter和SSH两种方式任你选 1. Python3.9镜像简介 Python3.9是Python语言的一个重要版本&#xff0c;它继承了Python一贯的简洁易读特性&#xff0c;同时带来了多项性能改进和新功能。这个Miniconda-Python3.9镜像为你…...

终极指南:如何用F3工具3分钟识别U盘和SD卡的真实容量

终极指南&#xff1a;如何用F3工具3分钟识别U盘和SD卡的真实容量 【免费下载链接】f3 F3 - Fight Flash Fraud 项目地址: https://gitcode.com/gh_mirrors/f3/f3 亲爱的朋友&#xff0c;你是否曾经怀疑过自己购买的U盘或SD卡容量是否真实&#xff1f;在数字时代&#xf…...

权限控制避坑指南:为什么你的RBAC系统总出问题?从数据库设计到接口鉴权全解析

RBAC权限系统深度避坑指南&#xff1a;从数据库设计到接口鉴权的全链路实践 在数字化系统开发中&#xff0c;权限控制就像建筑物的承重墙——平时看不见&#xff0c;一旦出问题就是系统性崩溃。我曾见过一个日活百万的电商平台因为角色权限配置错误&#xff0c;导致客服人员误删…...

开箱即用!rwkv7-1.5B-g1a镜像部署与基础问答功能实测

开箱即用&#xff01;rwkv7-1.5B-g1a镜像部署与基础问答功能实测 1. 镜像概述与核心优势 rwkv7-1.5B-g1a是基于RWKV-7架构的多语言文本生成模型镜像&#xff0c;专为轻量级AI应用场景设计。这个1.5B参数的模型在保持高效推理能力的同时&#xff0c;特别适合中文环境下的基础问…...

旧设备重生:如何让经典iOS设备突破系统限制重获新生?

旧设备重生&#xff1a;如何让经典iOS设备突破系统限制重获新生&#xff1f; 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

大麦抢票自动化:用Python脚本突破手速限制的实战指南

大麦抢票自动化&#xff1a;用Python脚本突破手速限制的实战指南 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 抢票困境与技术破局 每到热门演出开票时刻&#xff0c;无数粉丝都会陷入相同的困…...

NVIDIA Profile Inspector显卡性能调优实战指南:从问题诊断到专业配置

NVIDIA Profile Inspector显卡性能调优实战指南&#xff1a;从问题诊断到专业配置 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 一、显卡性能异常定位&#xff1a;精准找到游戏卡顿根源 游戏性能问题…...

抖音弹幕抓取终极指南:3分钟掌握系统代理抓包技术

抖音弹幕抓取终极指南&#xff1a;3分钟掌握系统代理抓包技术 【免费下载链接】DouyinBarrageGrab 基于系统代理的抖音弹幕wss抓取程序&#xff0c;能够获取所有数据来源&#xff0c;包括chrome&#xff0c;抖音直播伴侣等&#xff0c;可进行进程过滤 项目地址: https://gitc…...

YOLOv9镜像快速上手:一行命令跑通推理,小白也能玩转目标检测

YOLOv9镜像快速上手&#xff1a;一行命令跑通推理&#xff0c;小白也能玩转目标检测 1. 为什么选择YOLOv9镜像 目标检测作为计算机视觉的核心任务&#xff0c;在安防监控、自动驾驶、工业质检等领域有着广泛应用。而YOLO系列模型以其速度快、精度高的特点&#xff0c;成为该领…...