吾皇斯巴达
码龄15年
求更新 关注
提问 私信
  • 博客:98,221
    动态:69
    98,290
    总访问量
  • 56
    原创
  • 40
    粉丝
  • 49
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
加入CSDN时间: 2011-08-02

个人简介:存储研发工程师,搜索sci-geek关注.

博客简介:

SinjoyWong的博客

查看详细资料
个人成就
  • 获得288次点赞
  • 内容获得12次评论
  • 获得302次收藏
  • 博客总排名21,316名
  • 原力等级
    原力等级
    3
    原力分
    259
    本月获得
    0
创作历程
  • 27篇
    2026年
  • 2篇
    2025年
  • 1篇
    2024年
  • 1篇
    2021年
  • 4篇
    2020年
  • 18篇
    2019年
  • 6篇
    2017年
成就勋章
TA的专栏
  • gcsfuse
    20篇
  • ceph
    2篇
  • 分布式存储
    16篇
  • 软技能
    1篇
  • 系统设计
    1篇
  • Coding
    7篇
  • 文献管理
  • 网络安全
  • 算法题
    3篇
  • 计算机系统
    13篇

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 1

TA参与的活动 0

创作活动更多

【多重好礼】鸿蒙心迹 · 开发录原创征稿活动

鸿蒙开发者的实战经验,值得被记录。从踩坑排查到项目复盘,从工具脚本到学习笔记,每一段真实的开发经历,都是社区最宝贵的技术资产。「鸿蒙心迹 · 开发录」正式启航,不限主题、随时可写,只要是鸿蒙开发相关的真实经验都欢迎投稿。 本活动为 [HarmonyOS 7.0 创新内容共创季](https://builderx.csdn.net/activity-site/harmonyos/activity2026)双轨征文之一,与[「共创季 · 稿事节」](https://harmonyosdev.csdn.net/6a97f0de2b83d06f0ecadec5.html)深度征文互补——「稿事节」写深度技术长文,「开发录」写日常开发实战笔记。 「开发录」每月一期,12月截止,本季共三期,投稿即有机会获得京东卡、CSDN博客流量券、亿万Token、社区定制周边好礼!

258人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

gcsfuse的symlinks模拟:Legacy和Standard两种方法

GCS为对象存储,其对象的命名空间是扁平的(bucket, name) -> bytes + metadat,没有inode,也没有symlink的概念。因此FUSE需要一种机制来让对象存储模拟文件存储的symlink。metadata 有 goog-reserved-file-is-symlink==true?直接取 gcsfuse_symlink_target 的 value。来兼容Legacy和Standard两种symlink实现方式。:构造SymlinkInode结构体,通过。
原创
博文更新于 2026.09.10 ·
181 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

gcsfuse的gzip

透明解压(transparent decompression)是HTTP客户端库(Go的net/http)在客户端完全没有要求的情况下,自动完成了gzip的协商与解码,让上层代码“看不见”压缩的存在。代码从resp.Body读到的已经是解压后的明文字节,仿佛压缩从未发生过。“透明”的另一面是“不可见”。它同时抹掉了三个证据:响应头里的,以及解压动作本身。除了问题时看到的不是报错,而是字节数对不上这种静默错位。
原创
博文更新于 2026.09.08 ·
128 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

ceph index-less桶可以用radosgw-admin bucket rm吗

不行。对 indexless bucket 会"成功"退出(exit 0),但。
原创
博文更新于 2026.08.26 ·
202 阅读 ·
6 点赞 ·
0 评论 ·
3 收藏

O_DIRECT与gcsfuse的go程序中实现内存页面对齐

O_DIRECT。
原创
博文更新于 2026.08.26 ·
172 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

gcsfuse与中断FUSE_INTERRUPT

发起某个请求的那个进程被信号打断了,请尽快终止那个在途请求“。// 指向被中断的原始请求的唯一 ID它由内核发起,携带一个unique字段,指明要终止的是哪一个在途请求。核心语义是“尽力而为的提示”, daemon可以终止该请求,也可以无视它继续做完。发送中断后,内核仍然会等待daemon恢复原始请求。本质上gcsfuse 中的的参数时在“POSIX中断语义(可被Ctrl-C打断)“与”远端写操作的原子性/一致性“之间做的一个全局粗粒度的取舍。默认对所有操作类型的中断都是”不理会中断“。
原创
博文更新于 2026.08.25 ·
259 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

一些我开发过程中用到的AI配置

当用户询问某个概念/术语时,回答应遵循三段式结构:1. What — 这个概念是什么(定义、本质);2. Why — 为什么需要这个概念(它解决了什么问题、存在的动机);3. How — 如何设计和实现的,为什么这样设计而不是那样设计(设计决策、trade-off 分析)。
原创
博文更新于 2026.08.06 ·
185 阅读 ·
7 点赞 ·
0 评论 ·
2 收藏

gcsfuse的generation以及412 PreconditionFail

上文中提到了gcsfuse中针对gcs返回的的利用,从而用于处理本地打开一个文件后,还未关闭,远端已经修改了这个文件这种场景。由于这是和后端存储服务端相关的功能,因此需要详细分析一下现在gcs go sdk的设计和gcsfuse的使用情况。写过一片文章分析ceph里412的处理,但是还是不够直观,因此又查看gcsfuse和gcs go sdk的代码以及官方文档,从而拼凑一下这里的设计思路和实现思路。
原创
博文更新于 2026.08.01 ·
333 阅读 ·
10 点赞 ·
0 评论 ·
5 收藏

ceph中的412 precondition failed错误码

在 Ceph RGW 中的设计是一个从 HTTP 协议层出发,逐步向内层渗透的经典案例。它从纯粹的 HTTP 条件头校验(RFC 7232 协议合规)起步,逐步被复用用于内部状态校验(版本控制互斥、过期时间匹配、数据同步冲突解决),最终形成了一种“状态预期不满足”的通用语义。这种设计的优雅之处在于调用方可以用统一的方式处理"不是真正错误"的场景,但代价是语义边界变得模糊——有时 412 意味着客户端应该重试,有时意味着操作应该被静默跳过,有时仅仅意味着一个参数越界。
原创
博文更新于 2026.07.30 ·
259 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

gcsfuse的TypeCache

在gcsfuse中,TypeCache的存在是为了解决一个文件系统模拟对象存储的根本gap: 对象存储的目录是由'/'prefixto在时需要判断一个字路径是文件还是目录,或不存在。在早期设计中,是独立维护了一个typeCache,每次lookUp先查询typeCache拿到cachedType,再据此决定取GCS查什么。
原创
博文更新于 2026.07.27 ·
188 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

gcsfuse的statCache的正缓存与负缓存

StatObject请求需要经由网络去访问远端对象存储,是个耗时的操作,因此需要将其缓存下来。缓存有两种,一种是正向缓存,在请求了StatObject(或类似的请求),拿到了元数据之后将这个对象的元数据进行缓存;一种是负向缓存,在调用了DeleteObject(或类似的请求),记录在缓存中,表明这个对象是不存在的,无需再对这个对象发起StatObject请求。为什么需要负向缓存?是因为一个条目的存在性也是需要发起网络请求才能确认。
原创
博文更新于 2026.07.23 ·
236 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

gcsfuse的metadata prefetch功能

TryAcquire。
原创
博文更新于 2026.06.05 ·
241 阅读 ·
8 点赞 ·
0 评论 ·
6 收藏

Google Cloud Storage以及对应CSI使用分层命名空间(HNS)桶时对 AI/ML 检查点性能的优化

特性命名空间模型原生分层命名空间,文件夹为一等资源实体扁平命名空间 + 前缀模拟目录,仅支持有限分层能力Blob 存储附加 HNS 层,元数据与数据分离存储检查点重命名速度比扁平存储桶快 20 倍,原子性操作,无中间状态非原子操作,时间复杂度 O (n),性能随对象数量线性下降原子操作,但存在元数据同步开销,延迟比 GCS HNS 高约 40%初始 QPS比扁平存储桶提升 8 倍,冷启动 10 分钟达 100,000 写入 QPS。
原创
博文更新于 2026.05.09 ·
435 阅读 ·
10 点赞 ·
0 评论 ·
12 收藏

深度解析 Google Cloud Storage 分层命名空间(HNS)对 AI/ML 检查点性能的优化

特性命名空间模型原生分层命名空间,文件夹为一等资源实体扁平命名空间 + 前缀模拟目录,仅支持有限分层能力Blob 存储附加 HNS 层,元数据与数据分离存储检查点重命名速度比扁平存储桶快 20 倍,原子性操作,无中间状态非原子操作,时间复杂度 O (n),性能随对象数量线性下降原子操作,但存在元数据同步开销,延迟比 GCS HNS 高约 40%初始 QPS比扁平存储桶提升 8 倍,冷启动 10 分钟达 100,000 写入 QPS。
原创
博文更新于 2026.05.08 ·
465 阅读 ·
10 点赞 ·
0 评论 ·
8 收藏

GCSFuse Profiles - SRE 运维指南

本指南覆盖 GCSFuse profile 的运维层面:监控、故障排查、容量规划以及与 profile 优化系统相关的事件响应。
原创
博文更新于 2026.05.08 ·
371 阅读 ·
6 点赞 ·
0 评论 ·
10 收藏

GCSFuse Profiles - 用户指南

覆盖:使用 5 分钟 TTL 而非无限# 覆盖:禁用 range read 缓存Profile 先应用所有默认值,然后你的显式覆盖在其上生效。
原创
博文更新于 2026.05.08 ·
411 阅读 ·
7 点赞 ·
0 评论 ·
10 收藏

GCSFuse Profiles - 设计规约

GCS 上的 AI/ML 工作负载具有高度特定的 I/O 模式,与通用场景截然不同。实现最优性能需要协调 6+ 个配置参数,它们之间的交互关系并不直观。用户不应需要深入理解 GCSFuse 内部机制才能获得高性能的 AI/ML 工作负载。
原创
博文更新于 2026.05.07 ·
837 阅读 ·
36 点赞 ·
0 评论 ·
4 收藏

GCSFuse Profile 机制设计动机分析

从维度读模式顺序大读随机/range readrange read写模式顺序大写几乎不写顺序大写目录操作隐式目录列表缓存rename数据变化频率低(数据集固定)极低(模型不变)中(新 ckpt 周期产生)三个 profile 恰好覆盖了 AI/ML 管道的三个阶段:fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;模型更新训练。
原创
博文更新于 2026.05.07 ·
295 阅读 ·
12 点赞 ·
0 评论 ·
2 收藏

gcs-fuse-csi-driver Profiles Recommender sre ops guide

SRE、平台运维工程师: 日志分析、故障排查、容量规划、告警配置。
原创
博文更新于 2026.05.07 ·
195 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

gcs-fuse-csi-driver Profiles Recommender user guide

Profiles Recommender 是一个自动缓存调优系统。你的 Bucket 大小(对象数量和数据总量)所在节点的硬件类型(GPU / TPU / 通用节点)可用内存和临时存储容量自动计算最优的stat cache和file cache配置,无需你手动计算和设置。一句话总结: 把性能调参的认知负担从你转移到系统。metadata:labels:此时推荐器将设置 file cache = -1 (unlimited) 并跳过介质选择,让 gcsfuse 使用你提供的缓存卷。
原创
博文更新于 2026.05.07 ·
241 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

gcs-fuse-csi-driver Profiles Recommender design spec

开发者、系统架构师。
原创
博文更新于 2026.05.07 ·
340 阅读 ·
8 点赞 ·
0 评论 ·
11 收藏
加载更多