自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Nvidia DPU BlueField 软件概述_AI_卸载_降本增效_DPU时代_内核表示模型

随着摩尔定律的减弱,加速计算和人工智能是较经济实惠的方式实现数据中心能源效率所需的工具。让我们一起跟随和了解 NVIDIA Grace CPU、NVIDIA L4 GPU 和 NVIDIA BlueField DPU 如何推动数据中心迈向更高效的未来。NVIDIA® BlueField® DPU 软件基于 BlueField BSP(主板支持包)构建,其中包括操作系统和 DOCA 框架。BlueField BSP 包括引导加载程序以及加载和设置软件组件的其他必需组件。

2024-01-21 00:38:41 953

原创 SRIOV 单根虚拟化 技术汇总

SRIOV虚拟机架构在虚拟化中,单根输入/输出虚拟化SR-IOV) 是一种出于可管理性和性能原因允许隔离PCI Express资源的规范可以使用 SR-IOV 规范在虚拟环境中共享单个物理PCI Express总线。SR-IOV 为物理服务器上的不同虚拟组件(例如网络适配器)提供不同的虚拟功能。SR-IOV 使用物理和虚拟功能来控制或配置 PCIe 设备。物理功能能够将数据移入和移出设备,而虚拟功能是轻量级 PCIe 功能,支持数据流动,但也具有一组有限的配置资源。虚拟机。

2024-01-05 17:24:30 953

原创 InfiniBand 入门 IB RDMA

默认设置适用于大多数人,但是,如果您有多个冗余的 infiniband 网络结构,那么您将需要配置多于一台计算机来启动 opensm,因为它每次运行时只会连接到一个结构,并且您需要配置 opensm 的附加实例以绑定到正确的端口,以便它管理冗余网络结构而不是默认结构。您的应用程序需要的实际锁定内存量取决于它将打开的连接数以及为每个连接分配的消息队列的大小以及它发送的实际读/写缓冲区的内存。-) 但是,如果它说找不到硬件的驱动程序,那么它谈论的是用户空间驱动程序,而不是内核空间驱动程序。

2023-12-30 17:07:20 650

原创 优化 RDMA 代码的建议和技巧-rdma性能优化技巧-避坑指南

DMA 代表直接内存访问。这意味着应用程序可以在 CPU 干预的情况下直接访问(读/写)主机内存。如果您在主机之间执行此操作,它将成为远程直接内存访问 (RDMA)在阅读有关 RDMA 的内容时,您会注意到一些用于描述其优点的术语。“零复制 Zero Copy”、“内核绕过 Kernel Bypass”、“协议卸载 Protocol Offload”和“协议加速 Protocol Acceleration”等术语RDMA 的工作原理。

2023-12-14 09:22:32 1128

原创 rocks_db笔记_编译_flush落盘_put_write_测试

【代码】rocks_db笔记_编译_flush落盘_put_write_测试。

2023-11-10 08:54:13 100

原创 ceph_rbd_open_开卷_写卷_流程参考_源码分析_写块设备

【代码】ceph_rbd_open_开卷_写卷_流程参考_源码分析_写块设备。

2023-11-08 19:50:46 132

原创 ceph_msg消息模块_RDMA_性能测试工具源码流程分析_src_test_msgr_perf_msgr_server_client.cc

【代码】ceph_msg消息模块_RDMA_性能测试工具源码流程分析_src_test_msgr_perf_msgr_server_client.cc。

2023-11-08 19:43:06 105

原创 ceph-rados_write流程及源码分析

ceph-rados_write流程及源码分析。

2023-11-08 10:05:35 151

原创 ceph纠删码_ec笔记

【代码】ceph纠删码_ec笔记。

2023-11-03 16:00:30 232

原创 UCX-UCT统一通信传输层1-简介

UCT(Unified Communication Transport)是一个传输层,它抽象了各种硬件架构之间的差异,并提供了支持通信协议实现的低级 API。该层的主要目标是以最小的软件开销提供对硬件网络资源的直接有效的访问。为此,UCT 依赖于低级驱动程序,例如 uGNI、Verbs、共享内存、ROCM、CUDA。

2023-10-25 22:45:23 268

原创 DAOS引擎是如何收到客户端RPC并处理的?

也就是, 如何将协程XS, ULT, Cart(网络), RPC, HG, Libfabric, RDMA, 完成队列以及各种回调结合起来, 形成精密运转的"机器", 来支持DAOS引擎接收客户端RPC功能。daos_engine(RPC请求/接收) -------> daos_engine(RPC请求/接收)daos_client(RPC请求) -------> daos_engine(RPC接收和处理)

2023-10-21 21:39:30 91

原创 Intel高性能IO500分布式存储系统DAOS资源汇总-包含RDMA 网络 SPDK NVME TSE 任务调度 异步 事件队列等

Intel高性能IO500分布式存储系统DAOS资源汇总-包含RDMA 网络 SPDK NVME TSE 任务调度 异步 事件队列等原创

2023-10-16 22:12:04 101

原创 统一通信 X(UCX) 实现高性能便携式网络加速-UCX入门教程HOTI2022

UCF Unified Communication Framework 统一通信框架, https://ucfconsortium.org/, 统一通信框架 - 行业、实验室和学术界之间的协作,为以数据为中心的高性能应用程序创建生产级通信框架和开放标准, 关于中佛罗里达大学, 开放式通信框架是协同设计的重要推动者,为异构协同处理元素的创新和开发提供了机会,异构协同处理元素可以协同、无缝地协同工作,从而为百亿亿级计算及其他计算实现强大而强大的生态系统。

2023-10-10 23:33:12 1134

原创 DAOS Mercury(HG) Libfabric(OFI) RDMA 分层verbs接口调用详解 rdma双边和单边操作示例

参考之前的分享中, DAOS与RDMA分层关系如下图, DAOS引擎 -> CART(RPC/大块数据/集合RPC请求) -> Mercury(HG: RPC注册/回调/RPC操作/预期/非预期消息/大块消息/轮训/阻塞/网络抽象等) -> Libfabric(网络抽象层,对rxm,rdma verbs, socket, 共享内存等抽象) -> RDMA(verbs) -> rdma-core(用户态驱动) -> RDMA网卡硬件驱动(如:英伟达 mellanox迈络思), 今天咱们来探讨一下分层verbs

2023-10-05 12:38:32 266

原创 Intel Open Fabrics Interfaces Libfabric Tutorial 英特尔开放结构接口 Libfabric 教程 rdma verbs network gpu panda

本文介绍了libfabric的基本教程, 以及常见代码示例, 包含tcp_socket, libfabric, gpu, dma等代码和示例, 内容基于intel专家的的视频和个人理解, 欢迎一起交流高性能存储, 分布式存储, 网络, rdma等技术HOTI 热门互联网络技术视频链接: https://www.youtube.com/watch?v=b-ri1mMLbZ0, 见附录Dhabaleswar K. (DK) Panda 博士是俄亥俄州立大学计算机科学教授和杰出学者。他获得了博士学位。

2023-09-24 19:40:47 257 1

原创 rdma verbs network libfabric OpenFabrics 接口简介-用于最大限度提高-高性能应用程序效率的新网络接口(API)-[译]

OpenFabrics Interfaces (OFI) 是一个新的应用程序接口系列,它向中间件和应用程序公开通信服务。Libfabric 是 OFI 的第一个成员,是在 OpenFabrics 联盟的支持下,由行业、学术界和国家实验室合作伙伴组成的广泛联盟在过去两年中设计的。

2023-09-17 11:18:35 549 2

原创 DAOS用户态文件系统IO路径(dfuse io全路径)

分布式异步对象存储(DAOS,Distributed Asynchronous Object Storage)是一个开源的可扩展存储系统,从根本上设计用于在用户空间支持SCM和NVMe存储。DAOS在IO500基准测试中展现出领先的性能DAOS从头开始设计,以利用现代化存储硬件(SCM、NVMe和CXL SSD)。其先进的低级键值API使其具有比传统基于POSIX的并行文件系统更高的IOPS和可扩展性,DAOS的IO500结果 [2] 也证实了这一点。

2023-09-03 16:19:53 466

原创 DAOS-在docker中搭建daos开发调试环境

本节介绍如何在 Docker 容器中构建和运行 DAOS 服务。至少需要 4GB DRAM 和 16GB 磁盘空间。在 Mac 上,请确保“Preferences/{Disk, Memory}”下的 Docker 设置已进行相应配置。

2023-08-26 09:24:56 274 1

原创 DAOS的事件队列(EventQueue)与事件(Event)和任务调度引擎(TSE)及源码分析

事件和事件队列DAOS API 函数可以在阻塞或非阻塞模式下使用。这是通过传递给每个 API 调用的指向 DAOS 事件的指针来确定的:如果 NULL 表示操作将被阻塞。操作完成后会返回。所有失败情况的错误码都将通过API函数本身的返回码返回。如果使用有效的事件,则该操作将以非阻塞模式运行,并在内部调度程序中调度该操作以及将 RPC 提交到底层堆栈后立即返回。如果调度成功,则操作的返回值为success,但并不表示实际操作成功。返回时可以捕获的错误要么是无效参数,要么是调度问题。

2023-08-19 23:42:04 196

原创 DAOS_TSE(TaskSchedulerEngine)任务调度引擎流程及源码分析

TSE 是一个通用库,用于创建具有函数回调的通用任务,可选地添加这些任务之间的依赖关系,并将它们安排在一个引擎中,该引擎按照插入它们的依赖关系图确定的顺序执行这些任务。任务依赖图是调度程序的组成部分,允许用户创建多个任务并以非阻塞方式进行

2023-08-08 23:52:15 280

原创 Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制等技术简介-一文入门RDMA和RoCE有损无损 rdma rocev2 无损 有损

随着互联网, 人工智能等兴起, 跨机通信对带宽和时延都提出了更高的要求, RDMA技术也不断迭代演进, 如: RoCE(RDMA融合以太网)协议, 从RoCEv1 -> RoCEv2, 以及IB协议, Mellanox的RDMA网卡cx4, cx5, cx6/cx6DX, cx7等, 本文主要基于CX5和CX6DX对RoCE技术进行简介, 一文入门RDMA和RoCE有损及无损关键技术RoCE: RDMA融合以太网, 继承RDMA所有的优势WQE: 工作队列元素, 可发音(wuki)CQE: 完成队列元素,

2023-07-23 18:09:52 3176 2

原创 NVMe-oF,nvme_cli_initiator与tgt(spdk_tgt)之Fabrics(RDMA)流程源码分析

NVMe over Fabrics (NVMe-oF) 是 NVMe 网络协议对以太网和光纤通道的扩展,可在存储和服务器之间提供更快、更高效的连接,并降低应用程序主机服务器的 CPU 利用率NVM Express over Fabrics 定义了一个通用架构,支持存储网络结构上的 NVMe 块存储协议的一系列存储网络结构。这包括启用存储系统的前端接口、横向扩展至大量 NVMe 设备以及扩展数据中心内可访问 NVMe 设备和 NVMe 子系统的距离。

2023-07-14 23:40:49 632 1

原创 DAOS引擎心跳健康检测-cart_swim(可扩展的弱一致性-感染式过程-组成员协议)

SWIM是DAOS引擎(rank)间的网络健康检测机制, 属于通信组件cart下的代码模块, SWIM是通过Gossip实现的Membership保持协议,也就是维护分布式系统节点的状态DAOS 引擎在系统内通过称为 SWIM 的基于 gossip 的协议进行监控,该协议提供准确、高效和可扩展的故障检测。附加到每个 DAOS 目标的存储通过定期本地健康评估进行监控。每当本地存储 I/O 错误返回到 DAOS 服务器时,将自动调用内部健康检查过程。

2023-07-08 11:41:46 269 1

原创 linux内核多路径故障(fail_path)流程图及源码分析_kernel_iscsid_multipathd_device_mapper

linux多路径multipath, 允许将客户主机端与后端存储引擎或存储阵列之间的多个物理连接组合成一个虚拟设备, 这样做可以为您的存储提供更具弹性的连接(即断开的路径不会妨碍其他连接),或者聚合存储带宽以提高性能. 本文梳理了路径故障时的内核和相关组件处理流程及源码分析, 如下图initiator与tgt创建连接时设置定时器, 连接启动时开启定时器, 参考命令:ISCSI_UEVENT_CREATE_CONN。

2023-06-30 23:40:01 381 1

原创 Linux内核与DPDK-HTTP 性能对决(Linux Kernel vs DPDK: HTTP Performance Showdown)[译]

在这篇文章中,我将使用一个简单的 HTTP 基准测试在 Linux 内核的网络堆栈和由 DPDK 提供支持的内核旁路堆栈之间进行正面性能比较。我将使用 Seastar 运行我的测试,Seastar 是一个用于构建高性能服务器应用程序的 C++ 框架。Seastar 支持构建使用 Linux 内核或 DPDK 进行网络连接的应用程序,因此它是进行此比较的完美框架。我将以我之前的性能调优帖子中的许多想法和技术为基础,因此在继续之前至少阅读概述部分可能是值得的。

2023-06-18 11:38:25 310 1

原创 常用学习网站汇总(随时更新:https://logread.cn/post/study/summary/)

学习网站汇总(随时更新): https://logread.cn/post/study/summary/

2023-06-17 22:15:28 81 1

原创 Minio-笔记-服务启动-创建桶(MB)-保存对象PutObj-保存Bucket元数据-代码流程图汇总

MinIO 是全球领先的对象存储先锋,目前在全世界有数百万的用户. 在标准硬件上,读/写速度上高达183 GB / 秒 和 171 GB / 秒

2023-06-03 11:37:50 1410

原创 DAOS引擎启动流程-源码分析

文件系统DFS一个容器可以作为共享的 POSIX 命名空间挂载在多个计算节点上。 此功能由 libdfs 库提供,该库在本机 libdaos 库上实现文件和目录抽象。 POSIX 仿真可以直接暴露给应用程序或 I/O 框架(例如,对于 Spark 或 TensorFlow 等框架,或支持不同存储后端插件的 IOR 或 mdtest 等基准测试)。 它还可以通过 FUSE 守护程序透明地公开,可选择与拦截库结合

2023-06-01 23:02:01 396 1

原创 基于DOAS文件系统接口(DFS)暴露的SPDK块设备

在设计方面,此 bdev 是一个名为 bdev 本身的文件,位于 DAOS POSIX 容器中,每个 io 通道使用 daos 事件队列。 每个 io 通道都有一个事件队列来支撑最佳 IO 吞吐量。 该实现使用每个设备通道的独立池和容器连接以获得最佳 IO 吞吐量

2023-05-20 13:31:13 237

原创 Mercury为高性能计算启用远程过程调用(RPC)

​ 远程过程调用(RPC)是分布式服务广泛使用的一种技术。这种技术现在越来越多地用于高性能计算 (HPC) 的上下文中,它允许将例程的执行委托给远程节点,这些节点可以留出并专用于特定任务。然而,现有的 RPC 框架采用基于套接字的网络接口(通常在 TCP/IP 之上),这不适合 HPC 系统,因为此 API 通常不能很好地映射到这些系统上使用的本机网络传输,从而导致网络性能较低。此外,现有的 RPC 框架通常不支持处理大数据参数,例如在读取或写入调用中发现的参数。

2023-05-13 12:06:58 281 1

原创 OFA(开放Fabric联盟) - 利用最小CPU开销,为上层应用提供超高性能(线速),超低时延,最大带宽的开放组织

OFA(开放Fabric联盟) - 利用最小CPU开销,为上层应用提供超高性能(线速),超低时延,最大带宽的开放组织

2023-05-01 17:08:43 759

原创 利用 RDMA 技术加速 Ceph 存储解决方案

利用 RDMA 技术加速 Ceph 存储解决方案

2023-04-30 14:54:15 991 1

原创 DAOS低时延与高性能RDMA网络(CART_RPC_Mercury_Libfabric_Rxm_Verbs_RDMA)

daos cart rpc mercury libfarbic rxm verbs rdma

2023-04-30 14:30:17 507 1

空空如也

空空如也

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

TA关注的人

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