前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >持久化内存数据访问

持久化内存数据访问

作者头像
用户4700054
发布于 2022-08-17 03:34:52
发布于 2022-08-17 03:34:52
6940
举报

持久化内存访问链路

访问链路说明
  • 第一种,应用端发起read/write操作,会进入内核的vfs的相关函数,如果数据在page cache中,直接访问page cache.如果不在则从磁盘中读取。通常内核会通过磁盘文件系统确定文件所在文件系统块的大小,根据你文件系统块大小计算出请求数据的长度,通过磁盘文件系统的函数来访问inode,然后根据inode来确定数据所在磁盘的位置。内核将所有请求转发到通用块设备,通过IO调度将IO进行重排和合并,最终通过块设备驱动层向持久化内存硬件发送IO指令进行实际的IO操作
  • 第二种,通过持久内存感知文件系统,然后直接到持久化内存硬件完成一个请求
  • 第三种,通过nmap/unmap方式将持久化内存映射出去,应用端直接拿着映射出来的地址进行读写数据。这种方式将一个线性区域可以和系统的一个普通文件或者块设备文件相关联,内核把对线性区内某个字节的访问转换为文件中对应字节的操作,这是内存映射的访问方式。在这种访问模式下应用直接访问持久化内存介质,没有内核参与中断和上下文切换,使得持久内存的性能达到最优。
持久化内存硬件数据存储
基本知识
  • 块设备是虚拟文件系统和磁盘文件系统传送数据的基本单元,每一个块都存放在Page Cache中国,当内核读取物理块 时候,检查块是否存在于Page Cache中,如果不存在Page Cache,内核会产生一个缺页中断,然后分配一个新页,然后从磁盘物理块中读取数据回填到这个新Page中。如果是写操作,数据在写到物理块之前,内核依然需要检查对对应的块是否在PageCache中,如果不在,产生Page Fault中断,并分配一个新页,并且将数据填充到该页,在Page Cache中修改数据块不会马上写回到物理块,而是会延迟一段时间后再对磁盘设备进行更新。
  • 传统的块设备访问是通过内存映射方式进行,写操作访问的不是物理磁盘,而是PageCache.及时一个字节修改,也有可能触发内核产生缺页中断,以分配新页,将一些物理块读取新页,然后在这个Page中进行一个字节的修改,并在合适的时机由内核或者应用将这个page数据更新到磁盘。
持久化内存感知文件访问
  • 持久化内存感知文件系统使用字节可寻址的方式访问系统的线性地址,经过缺页中断在内存管理单元中建立虚拟地址到持久内存块的链接,内存控制器通过这些物理块地址直接访问持久内存介质。
块设备访问
  • 传统的块访问是将磁盘文件系统IO请求通过块窗口设备驱动访问真正的持久化内存。基本分为如下基本:
    • 第一是确定内核要你读写的目标缓冲区
    • 第二确定IO请求的外部逻辑块地址(Logic Block Address,LBA)
    • 第三讲外部LBA传递给块翻译表(Block Translation Table,BTT),根据写入原子性的需求,BTT空闲块大小和数量计算出正确的映射后的LBA,将映射后的LBA转换为命名空间的偏移量
    • 第四,将命名空间的偏移量转为设备物理地址
    • 第五,选择可用的块窗口(Block Window,BW)命令寄存器、状态寄存器和BW孔径编程来 使用命名空间描述持久化内存设备
    • 释放BW资源并取消映射目标缓冲区
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 存储内核技术交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
大模型系列——解读RAG
RAG 是2023年最流行的基于 LLM 的应用系统架构。有许多产品几乎完全建立在 RAG 之上,覆盖了结合网络搜索引擎和 LLM 的问答服务,到成千上万个数据聊天的应用程序。很多人将RAG和Agent 作为大模型应用的两种主流架构,但什么是RAG呢?RAG又涉及了哪些具体的技术呢?
半吊子全栈工匠
2024/02/06
21.5K1
大模型系列——解读RAG
从零开始优化 RAG 流程的终极指南,解决检索增强生成的核心挑战
首先,我们将 RAG 工作流程分为三个部分,以增强我们对 RAG 的理解,并优化每个部分以提高整体性能:
致Great
2025/02/22
1.3K0
从零开始优化 RAG 流程的终极指南,解决检索增强生成的核心挑战
生产级RAG系统一些经验总结
本文将探讨如何使用最新技术构建生产级检索增强生成(RAG)系统,包括健壮的架构、向量数据库(Faiss、Pinecone、Weaviate)、框架(LangChain、LlamaIndex)、混合搜索、重排序器、流式数据接入、评估策略以及实际部署技巧。
致Great
2025/05/02
3100
精彩手绘全解:RAG技术,从入门到精通
本文整理自IVAN ILIN发布于Towards AI的博客[1]。感谢作者的精彩讲解。
zenRRan
2024/01/12
2.6K0
精彩手绘全解:RAG技术,从入门到精通
LLM RAG系列
本文介绍了RAG以及RAG pipeline的整个流程,包括请求转换、路由和请求构造、索引和检索、生成和评估等,其中引用了大量有价值的论文。
charlieroro
2024/04/02
8770
LLM RAG系列
RAG科普文!检索增强生成的技术全景解析
增强生成 (RAG) 是塑造应用生成式 AI 格局的关键技术。Lewis 等人在其开创性论文中提出了一个新概念面向知识密集型 NLP 任务的检索增强生成之后,RAG 迅速成为基石,提高了大型语言模型 (LLM) 输出的可靠性和可信度。
致Great
2025/02/15
1K0
RAG科普文!检索增强生成的技术全景解析
同济大学发布最新检索增强(RAG)的LLM生成技术综述
摘要主要介绍了大型语言模型(LLMs)在实际应用中面临的挑战,比如幻觉、知识更新缓慢和答案缺乏透明度等问题,并提出了检索增强生成(Retrieval-Augmented Generation,RAG)作为一种解决方案。RAG通过从外部知识库检索相关信息来辅助大型语言模型回答问题,已经被证明能显著提高回答的准确性,减少模型产生的幻觉,尤其是在知识密集型任务中。
唐国梁Tommy
2023/12/21
17.2K0
同济大学发布最新检索增强(RAG)的LLM生成技术综述
独家 | 进阶RAG-提升RAG效果
在我的上一篇博客中,我深入地介绍了RAG以及它是如何用LlamaIndex实现的。然而,RAG在回答问题时经常遇到许多挑战。在本博客中,我将解决这些挑战,更重要的是,我们将深入研究提高RAG性能的解决方案,使其可用于生产环境。
数据派THU
2024/06/28
8430
独家 | 进阶RAG-提升RAG效果
RAG流程优化(微调)的4个基本策略
在本文中,我们将介绍使用私有数据优化检索增强生成(RAG)的四种策略,可以提升生成任务的质量和准确性。通过使用一些优化策略,可以有效提升检索增强生成系统的性能和输出质量,使其在实际应用中能够更好地满足需求。
deephub
2024/07/01
1.4K0
RAG流程优化(微调)的4个基本策略
评估与优化RAG指南:提高准确性与质量的最佳实践
本指南将教你如何评估一个 RAG 系统的准确性 和质量。你将学会通过测试搜索精度、召回率、上下文相关性和响应准确性来保持 RAG 系统的性能。
AgenticAI
2025/03/18
2600
评估与优化RAG指南:提高准确性与质量的最佳实践
Advanced RAG的相关技巧
在这篇文章中,我们将深入研究检索增强生成 (RAG),并向您展示改进 RAG 流程每个部分的实用技巧和窍门!我们首先考虑一个实际示例:构建一个聊天机器人来模拟或协助人类医生。
致Great
2025/01/04
1270
【RAG】001.1-RAG相关核心概念
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合信息检索与生成模型的混合架构,旨在提升生成的准确性和可信度。其核心概念可归纳为以下六个方面:
訾博ZiBo
2025/03/26
3660
影响生产RAG流水线5大瓶颈
检索增强生成(Retrieval Augmented Generation,RAG)已成为基于大型语言模型的生成式人工智能应用的关键组成部分。其主要目标是通过将通用语言模型与外部信息检索系统集成,增强通用语言模型的能力。这种混合方法旨在解决传统语言模型在处理复杂、知识密集型任务方面的局限性。通过这样做,RAG显著提高了生成响应的事实准确性和可靠性,尤其是在需要精确或最新信息的情况下。
云云众生s
2024/03/28
2860
七种RAG架构cheat sheet!
RAG 即检索增强生成(Retrieval - Augmented Generation ),是一种结合检索技术和生成模型的人工智能方法。
codetrend
2025/01/24
5400
七种RAG架构cheat sheet!
一文带你全面了解 RAG 组件
检索增强生成 (RAG) 流程正在彻底改变我们与大型语言模型 (LLM) 的交互方式。RAG 不再仅仅依赖这些模型中预先训练的知识,而是让 LLM 能够实时访问和利用外部知识源,从而产生更准确、更相关、更有根据的响应。然而,构建有效的 RAG 系统并不是一个即插即用的操作;它是一个经历复杂选择的过程。
致Great
2024/12/29
4000
一文带你全面了解 RAG 组件
提高检索增强的相关性
次优的嵌入模型、低效的分块以及缺乏元数据过滤可能会影响LLM响应的相关性。以下是应对方法。
云云众生s
2024/03/28
2210
提高检索增强的相关性
RAG技术全解析:打造下一代智能问答系统
大型语言模型(LLM)已经取得了显著的成功,尽管它们仍然面临重大的限制,特别是在特定领域或知识密集型任务中,尤其是在处理超出其训练数据或需要当前信息的查询时,常会产生“幻觉”现象。为了克服这些挑战,检索增强生成(RAG)通过从外部知识库检索相关文档chunk并进行语义相似度计算,增强了LLM的功能。通过引用外部知识,RAG有效地减少了生成事实不正确内容的问题。RAG目前是基于LLM系统中最受欢迎的架构,有许多产品基于RAG构建,使RAG成为推动聊天机器人发展和增强LLM在现实世界应用适用性的关键技术。
用户9177072
2024/05/08
6420
大模型+RAG,全面介绍!
大型语言模型(LLMs)在处理特定领域或高度专业化的查询时存在局限性,如生成不正确信息或“幻觉”。缓解这些限制的一种有前途的方法是检索增强生成(RAG),RAG就像是一个外挂,将外部数据检索集成到生成过程中,增强模型提供准确和相关响应的能力。
算法进阶
2024/05/31
9940
大模型+RAG,全面介绍!
Langchain 和 RAG 最佳实践
这是一篇关于LangChain和RAG的快速入门文章,主要参考了由Harrison Chase和Andrew Ng讲授的Langchain chat with your data课程。你可以在rag101仓库中查看完整代码。本文翻译自我的英文博客,最新修订内容可随时参考:LangChain 与 RAG 最佳实践。
timerring
2025/03/05
1031
《你的RAG出错了?快来Get这份改进秘籍》
首先,得给我们的 RAG 系统装上一个“质检员”——也就是一个强大的评估模块。这个模块要能对检索到的内容进行打分,看看信息质量如何,生成的答案是不是真的解决了用户的问题。
致Great
2025/01/11
1190
《你的RAG出错了?快来Get这份改进秘籍》
相关推荐
大模型系列——解读RAG
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档