自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大隐隐于野

点滴记录,学习与分享。

  • 博客(538)
  • 收藏
  • 关注

原创 Silly rename

Silly rename” 是一种特定于网络文件系统(NFS)的技术,主要用于处理文件在打开状态下被删除的情况。这个技术在 NFS 协议中非常重要,因为 NFS 的语义与本地文件系统略有不同,尤其是在处理文件删除时。

2025-04-02 14:52:56 165

原创 io500性能优化经验

与Top500榜单相对平稳的排名和趋势相比,IO500榜单的竞争显得异常激烈。其中,10节点榜单将由于更接近于实际并行程序可能达到的规模,更能反映存储系统可为实际程序提供的I/O性能,参考价值更高。IO500包括带宽和元数据两项基准测试,将两个项目的总分进行几何平均后,得出最终分数。Top500是针对计算系统性能排名,而IO500主要针对存储系统性能进行排名,是高性能计算领域最权威的全球性榜单之一。自2017年11月开始,每年在美国的SC和德国的ISC大会上各公布一次IO500榜单。

2025-03-26 14:15:38 149

原创 fuse性能选项meta_cache_mode

是 FUSE(Filesystem in Userspace)文件系统中的一个选项,用于控制元数据缓存的行为。元数据缓存涉及文件系统的各种元数据(如文件权限、所有者、时间戳等)的缓存策略。不同的缓存模式可以影响文件系统的性能和一致性。

2025-03-25 15:42:24 288

原创 fuse性能关键参数entry_timeout

是 FUSE(Filesystem in Userspace)中的一个选项,用于控制目录项缓存的有效期。具体来说,它决定了文件系统在多长时间内缓存目录项(如文件名到 inode 的映射),从而影响文件系统的性能和一致性。

2025-03-24 19:52:57 281

原创 深入理解磁盘文件系统之inode

假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。

2025-03-14 10:28:21 474

原创 cpu_layout

import systry:cores = []fd.close()try:continueexcept:breakfd.close()fd.close()print("")else:

2025-03-05 16:33:04 280

原创 基于eRDMA实测DeepSeek开源的3FS

正是这些原来在幻方量化使用的高性能分布式文件系统, 这一次用在了DeepSeek大模型的训练和推理上.下图展示了在 3FS 集群上进行的读压力测试的吞吐量。该集群由 180 个存储节点组成,每个节点配备 2×200Gbps InfiniBand 网卡和十六块 14TiB NVMe SSD。大约 500+个客户端节点被用于读压力测试,每个客户端节点配置了 1x200Gbps InfiniBand 网卡。最终的累计读吞吐量达到约 6.6 TiB/s,包括来自训练作业的背景流量。

2025-03-03 18:04:46 1447

原创 mellanox网卡速率

[root@localhost ~]# lspci | grep Mella65:00.0 Ethernet controller: Mellanox Technologies MT2892 Family [ConnectX-6 Dx]65:00.1 Ethernet controller: Mellanox Technologies MT2892 Family [ConnectX-6 Dx][root@A03-R40-I49-166-B907339 ~]# lspci | grep Mellanox

2025-02-28 11:35:36 319

原创 HOW TO EMULATE PERSISTENT MEMORY

Data allocated with PMDK is put to the virtual memory address space, and concrete ranges are relying on result of operation performed on the user defined files. Such files can exist on any storage media, however data consistency assurance embedded within

2025-02-20 19:53:32 720

原创 git clone

方法三(使用cgit客户端)方法二(设置git参数)方法一(替换URL)

2025-02-19 17:09:27 532

原创 ZUFS - Zero-copy (Low Latency) User-mode FS

Boaz。

2025-02-19 16:10:16 416

原创 Intel取消Optane产品线可惜可惜

这些因素共同影响了 Intel 对 Optane 产品线的战略决策。尽管 Optane 技术在许多方面表现出色,但市场动态和公司战略的变化最终导致了其取消。Intel 取消 Optane 产品线的决定涉及多种市场和技术因素。

2025-02-19 16:03:12 968

原创 ib网络状态探测

在 InfiniBand 网络中,Host Channel Adapter(HCA)是关键组件,了解其状态和配置对于网络管理和故障排查至关重要。以下是一些常用的命令,用于查询和管理 HCA 的状态和配置。

2025-02-18 10:21:30 412

原创 IB网络错误检查工具ibqueryerrors

是一个用于查询 InfiniBand 网络中错误统计信息的工具。它可以帮助网络管理员识别和诊断网络问题,如丢包、重传和其他通信错误。这个工具通常是 InfiniBand 管理软件包的一部分,例如 OpenSM(Open Subnet Manager)。

2025-02-17 19:39:53 1121

原创 Scatter Gather List (SGL)

最后一个SGL段是不包含SGL段描述符或SGL末段描述符的SGL段。•SGL数据块描述符包含地址或长度字段,其中两个较低的位任一设置为1b,控制器只支持标识控制器数据结构中的SGL Support字段中所示的Dword对齐和粒度。设置为全零的SGL描述符是地址字段设置为00000000_00000000h且长度字段设置为00000000h的SGL数据块描述符可以用作NULL描述符。•SGL段除了段中的最后一个描述符外,还包含SGL段描述符或SGL最后一个段描述符;一个SGL段包含一个或多个SGL描述符。

2025-02-13 14:16:31 307

原创 大模型存储需求及技术策略

此外,数据湖作为一种新的数据存储和处理架构,将公开数据集、训练数据、模型结果统一存储到数据湖,实现不同形态的数据统一存储和高效流转,避免数据在AI大模型不同的阶段频繁拷贝,降低效率。一方面,大模型的训练和推理过程需要大规模数据的支持,这些数据需要高效的存储和访问;同时,随着云计算和边缘计算技术的不断进步,跨平台的数据访问和共享已成为大模型存储系统的关键特性,要求存储系统必须提供高度一致的数据服务,并确保高可用性和容错能力,要求存储系统支持多种协议和接口,实现数据的灵活流动和高效协作。

2025-02-11 14:21:04 657

原创 面向大模型的存储加速方案设计和实践

人工智能的实现需要大量的计算资源,包括高性能的计算机、大内存、高速存储和网络带宽等硬件设备,以及高效的算法和软件工具。这些资源的优化配置和调度,以满足大规模计算需求,就是 AI 算力构建的主要任务之一。随着深度学习和机器学习算法的不断演进,以及硬件技术的迅猛发展,AI 算力构建已经成为推动人工智能发展的关键一环。通过不断提升算力构建的效率和性能,可以加速算法模型的训练和推理过程,提高人工智能应用的准确性和效率。没有强大的算力支持,人工智能的应用和发展将受到限制。

2025-02-11 14:09:10 642

原创 linux io按照写入量排序

使用lsof列出打开的文件:获取正在写入的文件列表。使用iotop或pidstat监控写入量:根据进程监控I/O操作。结合awksort等工具处理数据:提取并排序写入量信息。

2025-02-11 11:18:45 329

原创 fio disable advise

【代码】fio disable advise。

2025-02-10 15:46:05 73

原创 RoCE拥塞控制机制详解

这次记录了RoCEv2网络中对于拥塞控制的检测,预防和应对方法。ECN检测和标记是现代数据中心商用交换机普遍具有的功能,它保存在IP头部的查分服务代码点中的两个比特位中。启用ECN功能后,在网络上出现拥塞后,交换机会对ECN域打上CE值,由接收方产生CNP来通知发送方网络拥塞事件。发送方收到CNP指示的事件通知后,根据DC-QCN算法中对当前速度处于快速恢复,积极增加和超积极增加三个阶段中对应的动作来对注入速率进行控制,从而解决网络中的拥塞情况。

2025-01-24 13:18:51 983

原创 ssh-copy-id

【代码】ssh-copy-id。

2025-01-23 13:34:26 101

原创 查看网卡所在numa

在多处理器系统中,特别是使用 NUMA(Non-Uniform Memory Access)架构的服务器中,了解网卡所在的 NUMA 节点可以帮助优化网络和应用程序的性能。

2025-01-22 16:08:13 578

原创 linux pagecache回收过程page状态详解

blk_done_softirq->scsi_softirq_done->scsi_finish_command->scsi_io_completion->scsi_end_request->blk_update_request->bio_endio->ext4_end_bio->ext4_finish_bio->end_page_writeback->TestClearPageReclaim(page)和rotate_reclaimable_page(page)。那怎么做到读写该page数据同步呢。

2025-01-21 14:48:38 840

原创 fuse io mode

cached。

2025-01-20 19:50:43 274

原创 FUSE 的 writeback cache

但是,在实际生产中,我们发现 writeback cache 特性作用非常有限,原因是走 writecache 的写操作触发了内核 balance dirty page 的流程,使得本应该是响应时间非常短的写操作仍然会等较长时间才返回,这个问题在小的写入时尤其明显。FUSE 的解决方案是 writeback cache,即小写入写到缓存页即返回,由内核根据回刷策略推送至后端存储。FUSE 默认的写流程走的是 directIO 接口,使得每次写入长度较小时会有性能问题,因为每次的写请求都会被推送至后端存储。

2025-01-20 18:28:26 173

原创 IBM‘s General Parallel File System

https://public.dhe.ibm.com/systems/power/community/wikifiles/gpfs_overview_v33.pdfhttps://www.redbooks.ibm.com/redbooks/pdfs/sg248254.pdfSizing and Tuning GPFS_mmfsd-优快云博客

2025-01-17 18:13:21 231

原创 常用性能分析工具

需要注意的是,在同步 (SYNC) IO 模式下,slat 并不计算,这是因为同步 IO 的这两个时间非常接近,没有计算意义。虽然可以拿到单次系统调用读写的字节数,但对大量的 IO 请求来说,不经过额外的脚本处理,很难得到一个总体的认识和分析。但是,我们可以通过编写 SystemTap 脚本来对这个测试的 IO 请求大小做一个宏观的统计,并且使用直方图来直观的呈现这个测试的文件 IO 尺寸分布。根据 strace 的跟踪日志,我们可对本次 fio 测试的 IO pattern 做一个简单的分析。

2025-01-17 10:46:28 1022

原创 ib out_of_buffer问题分析

在创建队列对时,设置。

2025-01-16 16:56:49 952

原创 RDMA网络配置相关的性能问题总结

在IB/RoCE网络环境中,经常会遇到一些网络相关的配置不当问题,这些问题可能导致性能出现降级。本文对这些问题做一个总结,以供记录备忘。

2025-01-16 16:54:29 1304

原创 centos使用dpdk库

在 C++ 中使用 DPDK(Data Plane Development Kit)库通常涉及到以下几个步骤:安装 DPDK、配置编译环境、编写 C++ 代码并链接 DPDK 库。以下是如何在 C++ 中引用和使用 DPDK 的详细步骤。

2025-01-14 17:06:46 908

原创 Performance Optimization of memcpy in DPDK

【代码】Performance Optimization of memcpy in DPDK。

2025-01-14 15:07:10 760

原创 fuse支持1MB io

cd /tmp。

2025-01-13 20:22:04 359

原创 iostat命令详解

iostat 命令是 I/O statistics(输入/输出统计)的缩写,用来报告系统的 CPU 统计信息和块设备及其分区的 IO 统计信息。iostat 是 sysstat 工具集的一个工具,在 Ubuntu 系统中默认是不带 iostat 命令的,需要自行安装:注意:本文中 demo 的演示环境为 ubuntu 18.04。

2025-01-09 10:58:30 1109

原创 至强6搭配美光CZ122,证明CXL可以提高生成式AI的性能表现

最近发现了英特尔官网公布的一项最新测试报告,报告显示,将美光的CZ122 CXL内存模块放到英特尔至强6平台上,显著提升了HPC和AI工作负载的内存带宽,特别是在采用基于软件的交错配置(interleave configuration)时,性能优化潜力诱人。总之,CXL内存的引入使得系统能够有效地扩展内存带宽,解决了传统内存架构的带宽瓶颈,尤其是在大规模AI训练和高性能计算等应用中。DRAM的延迟较低,但是带宽部分其实不如CXL,在高负载场景下,DRAM的带宽瓶颈会导致性能迅速下降。

2025-01-07 18:21:39 857

原创 随着122 TB大容量SSD的推出,HDD硬盘更可能被SSD取代了

硬盘和SSD的功耗情况可参考Solidigm-Signal65的研究,该研究评估了使用122.88 TB QLC SSD、TLC SSD,以及TLC SSD与24 TB HDD混合部署,三种方式构建100 兆瓦AI数据中心的情况,总容量分别为1 PB、5 PB和10 PB。QLC硬盘不仅有更高的存储密度,同时提供了闪存的高性能,使其成为许多典型HDD环境的有吸引力的替代方案。看到这里,就能发现,一个用了122 TB SSD的40U机架,可以替代23个装满32 TB硬盘的机架,并提供54倍的读取带宽。

2025-01-07 17:49:48 398

原创 NAND写入量和主机写入量之间的区别与联系

举例:向一个block写入一个page的新数据时,一个block里已经没有空的page了,只有有效数据以及无效数据的page,所以主控就把新数据以及有效数据读到缓存形成一个新的block,再擦除原先的block,再把新block写回去。写入放大造成了SSD实际对NAND的写入量大于主机要求的写入量。当一个block里的page只有空、有效数据两种状态时,在写入数据的时候不需要进行擦除,trim就是通知SSD在空闲状态时,将无效数据擦除,以减少SSD在写入数据时需要进行的数据擦除工作。

2025-01-07 14:19:31 983

原创 存储性能基准测试解读:为何说SPC-1是存储界“奥林匹克”

每个ASU有着不同的IO流, ASU 1是Data Store,例如它的第三类IO流(其实就是混合负载SMIX),也即上面表格中字段名为“IO块大小”,对应的记录为ASU1的第三行,它的IO块大小不是固定的,从下表能看出,它是从8个block到128个block不同Transfer Size的组合,意味着IO块大小是从4k到64k,根据下面转载表格提供的Size大小及百分比,不难算出SMIX负载的平均IO大小为14.4KB。SPC-1 IOPS是一个科学的,但又复杂的I/O模型的负载组合。

2024-12-19 10:39:58 670

转载 发生 SLAB 内存泄漏该怎么办

上述介绍的几种方式不一定能找出内存泄漏的根本原因, 不过会帮助我们获取一些有用的线索. 值得一提的是, 如果找到了相关的线索, 关闭对应的任务, 模块或驱动后, 内核不一定会释放这些内存, 可能只能观察到的数量不再增长, 这种情况下就只能靠重启系统释放内存.

2024-12-18 19:32:47 126

原创 vimdc

let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全。let g:ycm_min_num_of_chars_for_completion=2 " 从第2个键入字符就开始罗列匹配项。let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全。

2024-12-17 16:46:18 501

原创 git报错 unexpected disconnect while reading sideband

出现类似如下错误:解决方法:主要是由于 仓库 内容比较大,或者仓库中有比较大的文件,由于 http 协议 或者 传输数据大小限制导致的,可以通过设置如下参数解决:如果网络环境不太好,可以通过增加下面的参数,降低失败率:

2024-12-13 13:06:45 515

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除