ZYNQ NVME高速存储之EXT4文件系统

devtools/2024/9/20 15:35:41/

        前面文章分析了高速存储的各种方案,目前主流的三种存储方案是,pcie + switch高速存储方案,zynq高速存储方案,fpga高速存储方案。虽然三种高速存储方案都可以实现高速存储,但是fpga高速存储方案是最烂的,fpga存储方案在速度上没有前两种高,对于Error Handler上处理也不友好,同时fpga高速存储方案不支持标准的EXT4文件,不能够支持NFS文件系统,开发周期长,并且不能够完全支持异步提交SQ,不能充分利用QD特性等,所以有读者向我咨询高速存储方案,我会毫不犹豫的推荐前面两种。

        在前面文章中分别介绍了zynq高速存储方案和pcie + switch高速存储方案,这两种高速存储在行业比较常见,但是很多厂家都是自定义文件系统,有的厂家虽然是标准EXT4文件系统,但是速度相对于自定义文件系统速度会折半,本文将推出EXT4高速存储方案宇宙第一速度方案。

在一些设备不支持异常掉电的情况下,强烈推荐EXT4,标准EXT4文件系统支持掉电恢复,即使会丢失一小部分数据的情况也能够保持其他的数据正常访问,如果需要一点数据都不丢失,可以考虑添加电源芯片,EXT4文件系统对大文件支持也比较友好。

对于pcie + switch高速存储方案硬件框图如下

zynq 7045 自带一个pcie2.0 x4的硬核

在这个硬件配置自定义文件系统读写速度在1.2GB/s左右,测试结果如下:

采用标准EXT4文件系统测试结果如下:

        通过对比 自定义文件系统和标准EXT4文件系统速度基本一致,如果在PL端使用PCIE3.0 软核,那么标准EXT4文件速度可以到达2.2GB/s ,如果使用两个PCIE3.0 软核,速度可以达到4.2GB/s   这有个数据同步导致性能没有完全按照翻倍增长。


http://www.ppmy.cn/devtools/5749.html

相关文章

力扣 - 257. 二叉树的所有路径

题目链接 257. 二叉树的所有路径 题目描述 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [1,2,3,null,5] 输出:[“1->2…

解锁ApplicationContext vs BeanFactory: 谁更具选择性?

目录 一、聚焦源码回顾 (一)源码分析和理解 (二)简短的回顾对比建议 二、ApplicationContext vs BeanFactory特性对比 (一)主要特性总结 (二)直接建议 三、案例简单说明 &am…

Vue【路由】

1:什么是单页应用程序(single page application) 所有得功能在一个html页面上实现 2:单页面应用程序的优缺点 优点:按需更新性能高,开发效率也高,用户的体验较好 缺点:学习成本高…

llama-factory SFT 系列教程 (四),lora sft 微调后,使用vllm加速推理

文章目录 文章列表:背景简介llama-factory vllm API 部署融合 lora 模型权重 vllm API 部署HuggingFace API 部署推理API 部署总结 vllm 不使用 API 部署,直接推理数据集 tenplatevllm 代码部署 文章列表: llama-factory SFT系列教程 (一)&a…

Github 2024-04-20 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-20统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目2Python项目2Swift项目2HTML项目1CSS项目1Go项目1C项目1C++项目1Rust项目1编程面试大学:成为软件工程师的全面学习计划 创建周期…

PostgreSQL 窗口函数汇总

文章目录 前言一、什么是窗口函数?二、常用的4类窗口函数三、PARTITION BY 子句四、窗口函数示例1. 聚合计算1.1 sum() 函数1.2 count() 函数1.3 avg() 函数2. 分组排序2.1 row_number() 函数2.2 rank() 函数2.3 dense_rank() 函数3. 分组查询

笔记wife_assistant

一、wifi_spi_init //------------------------------------------------------------------------------------------------------------------- // 函数简介 WiFi 模块初始化 // 参数说明 *wifi_ssid 目标连接的 WiFi 的名称 字符串形式 // 参数说明 *pass…

OpenHarmony 网络与连接—RPC连接

介绍 本示例使用ohos.rpc 相关接口,实现了一个前台选择商品和数目,后台计算总价的功能,使用rpc进行前台和后台的通信。 效果预览 使用说明: 点击商品种类的空白方框,弹出商品选择列表,选择点击对应的商品…

搜索引擎中的倒排索引是什么

在搜索引擎领域,倒排索引是一种核心数据结构,它让搜索引擎能够以极高的效率找到包含用户查询关键词的所有网页。为了理解倒排索引的工作原理,我们可以将其与一种更直观、生活化的例子相比较:书店里的索引卡片系统。 假设你是一位…

单链表的应用

文章目录 目录1. 单链表经典算法OJ题目1.1 [移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/description/)1.2 [链表的中间节点](https://leetcode.cn/problems/middle-of-the-linked-list/description/)1.3 [反转链表](https://leetcode.cn/problem…

Android 原生功能与 Vue 交互实现

前端用 Android webview 嵌入 vue 地址,如何在vue 页面中显示 Android 版本号 一.要在vue页面中显示Android版本号 从Android中将该信息传递给Vue应用程序。可以通过使用WebView的Java Bridge来实现此目的。这里是一些可能有用的步骤: 在你的Android代…

灵途科技荣获省级“专精特新”企业认定!

4月8日,湖北省经济和信息化厅发布了湖北省第六批专精特新中小企业公示名单,泛自动驾驶领域光电感知专家灵途科技荣获省级“专精特新”企业认定。 “专精特新”自2021年在全国各省市范围内贯彻执行,旨在推动形成一批具备专业化、精细化优势&a…

Java多线程-API

常见API一览 Thread t1 new Thread(() -> {System.out.println("我是线程t1");System.out.println("Hello, World!"); }); t1.start(); // 获取线程名称 getName() // 线程名称默认是Thread-0, Thread-1, ... System.out.println(t1.getName());// 通过…

2024第八届图像、信号处理和通信国际会议 (ICISPC 2024)即将召开!

2024第八届图像、信号处理和通信国际会议 (ICISPC 2024)将于2024年7月19-21日在日本福冈举行。启迪思维,引领未来,ICISPC 2024的召开,旨在全球专家学者共襄盛举,聚焦图像信号,在图像中寻找美&am…

JVM之方法区的详细解析

方法区 方法区:是各个线程共享的内存区域,用于存储已被虚拟机加载的类信息、常量、即时编译器编译后的代码等数据,虽然 Java 虚拟机规范把方法区描述为堆的一个逻辑部分,但是也叫 Non-Heap(非堆) 设置方法…

蓝桥杯第十五界软件测试线下省赛题目分析及解决

PS 需要第十五界蓝桥杯被测系统或者功能测试模板、单元测试被测代码、自动化测试被测代码请加🐧:1940787338 备注:15界蓝桥杯省赛软件测试 题目1:功能测试 题目描述 ​ 某物流公司的货运收费标准根据重量、距离和节假日三个因素来确定。如…

大话设计模式之解释器模式

解释器模式是一种行为设计模式,它用于解释语言的语法或表达式,将其转换为可执行的程序或操作。这种模式通常用于处理类似编程语言或规则引擎中的问题。 在解释器模式中,通常有两种角色: 解释器(Interpreter&#xff0…

liqo-k8s,kubernetes多集群互联,在单集群场景中一样在多集群环境中部署标准 Kubernetes 应用程序

上篇介绍了怎么在本地用kind安装了两套集群,以及完成了集群的对等互联,现在我们来部署服务。 启动一个 hello world 应用程序 如果您想要部署调度到 Liqo 虚拟节点上的应用程序,您应该首先创建一个将启动 pod 的命名空间。然后告诉 Liqo 使…

使用Vivado进行上板验证过程

环境介绍 2023.2版的vivado,是比较新的,弃用了之前三个黄色菱型的设计,采用的是AMD的图标。 Vivado v2023.2 (64-bit) SW Build: 4029153 on Fri Oct 13 20:14:34 MDT 2023 IP Build: 4028589 on Sat Oct 14 00:45:43 MDT 2023 SharedData …

Kubernetes Kubelet 的 Cgroups 资源限制机制分析

前言 容器技术的两大技术基石,想必大家都有所了解,即 namespace 和 cgroups。但你知道 cgroups 是如何在 kubernetes 中发挥作用的吗?kubelet 都设置了哪些 cgroups 参数来实现对容器的资源限制的呢?本文就来扒一扒 Kubernetes k…