<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Erasure-Coding on Q先生的世界</title>
		<link>https://qianzhou.tech/tags/erasure-coding/</link>
		<description>Recent content in Erasure-Coding on Q先生的世界</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Sun, 10 Mar 2024 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://qianzhou.tech/tags/erasure-coding/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>经典算法深度解析｜纠删码（架构选型篇）：什么时候该用三副本、RS、LRC，什么时候根本不该上 EC</title>
				<link>https://qianzhou.tech/2024/03/10/erasure-coding-architecture-selection/</link>
				<pubDate>Sun, 10 Mar 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/03/10/erasure-coding-architecture-selection/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码架构选型篇什么时候该用三副本rslrc什么时候根本不该上-ec&#34;&gt;经典算法深度解析｜纠删码（架构选型篇）：什么时候该用三副本、RS、LRC，什么时候根本不该上 EC&lt;/h1&gt;&#xA;&lt;p&gt;到了这一组文章的这个阶段，真正重要的问题已经不再是：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;RS 是怎么编码的&lt;/li&gt;&#xA;&lt;li&gt;repair 为什么会打满网络&lt;/li&gt;&#xA;&lt;li&gt;partial write 为什么会放大&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;而是一个更根本、也更接近架构评审会的问题：&lt;/p&gt;</description>
			</item>
			<item>
				<title>经典算法深度解析｜纠删码（案例排障篇）：repair 打满网络、degraded read 尾延迟飙升与 partial write 放大</title>
				<link>https://qianzhou.tech/2024/03/03/erasure-coding-troubleshooting-cases/</link>
				<pubDate>Sun, 03 Mar 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/03/03/erasure-coding-troubleshooting-cases/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码案例排障篇repair-打满网络degraded-read-尾延迟飙升与-partial-write-放大&#34;&gt;经典算法深度解析｜纠删码（案例排障篇）：repair 打满网络、degraded read 尾延迟飙升与 partial write 放大&lt;/h1&gt;&#xA;&lt;p&gt;前面的几篇文章，我们已经把 EC 从原理、实现、性能一路讲得比较完整。&lt;/p&gt;&#xA;&lt;p&gt;但只要它真的进了生产，最终最能教育人的往往不是公式，而是事故。&lt;/p&gt;</description>
			</item>
			<item>
				<title>经典算法深度解析｜纠删码（性能篇）：benchmark、NUMA、线程模型与 repair 限流</title>
				<link>https://qianzhou.tech/2024/02/25/erasure-coding-performance-tuning/</link>
				<pubDate>Sun, 25 Feb 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/02/25/erasure-coding-performance-tuning/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码性能篇benchmarknuma线程模型与-repair-限流&#34;&gt;经典算法深度解析｜纠删码（性能篇）：benchmark、NUMA、线程模型与 repair 限流&lt;/h1&gt;&#xA;&lt;p&gt;前面的几篇文章，已经把 EC 从原理一路讲到源码骨架。&lt;/p&gt;&#xA;&lt;p&gt;但真正把它跑在生产里以后，很多团队最后遇到的并不是“不会编码”，而是：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;为什么 benchmark 明明很好看，上线后吞吐还是上不去&lt;/li&gt;&#xA;&lt;li&gt;为什么 CPU 还有余量，延迟却已经开始恶化&lt;/li&gt;&#xA;&lt;li&gt;为什么 repair 一开，前台业务就被拖慢&lt;/li&gt;&#xA;&lt;li&gt;为什么同一段 EC 代码，在两台机器上表现差很多&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这类问题说明你已经跨过“算法能不能工作”，开始进入另一层更现实的工作：&lt;/p&gt;</description>
			</item>
			<item>
				<title>经典算法深度解析｜纠删码（源码篇）：最小 RS encoder/decoder 与 read-modify-write 伪代码</title>
				<link>https://qianzhou.tech/2024/02/18/erasure-coding-source-walkthrough/</link>
				<pubDate>Sun, 18 Feb 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/02/18/erasure-coding-source-walkthrough/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码源码篇最小-rs-encoderdecoder-与-read-modify-write-伪代码&#34;&gt;经典算法深度解析｜纠删码（源码篇）：最小 RS encoder/decoder 与 read-modify-write 伪代码&lt;/h1&gt;&#xA;&lt;p&gt;前面的几篇文章，已经把纠删码讲到了实现层：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;为什么它在数学上成立&lt;/li&gt;&#xA;&lt;li&gt;为什么它在系统上会贵&lt;/li&gt;&#xA;&lt;li&gt;为什么不同系统会做出不同取舍&lt;/li&gt;&#xA;&lt;li&gt;为什么实现里会被 GF 运算、SIMD、full-stripe write 和 partial write 卡住&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;但很多工程师真正卡住的位置，其实还要再往下一层。&lt;/p&gt;</description>
			</item>
			<item>
				<title>经典算法深度解析｜纠删码（实现篇）：GF 运算、SIMD、full-stripe write 与小写更新路径</title>
				<link>https://qianzhou.tech/2024/02/11/erasure-coding-implementation-details/</link>
				<pubDate>Sun, 11 Feb 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/02/11/erasure-coding-implementation-details/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码实现篇gf-运算simdfull-stripe-write-与小写更新路径&#34;&gt;经典算法深度解析｜纠删码（实现篇）：GF 运算、SIMD、full-stripe write 与小写更新路径&lt;/h1&gt;&#xA;&lt;p&gt;前面的几篇文章，已经把纠删码的三个主要层次搭起来了：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;数学上为什么可行&lt;/li&gt;&#xA;&lt;li&gt;系统上为什么会贵&lt;/li&gt;&#xA;&lt;li&gt;不同存储系统为什么会做出不同取舍&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;但如果你真的开始写代码、接库、做 benchmark，很快会发现另一层现实：&lt;/p&gt;</description>
			</item>
			<item>
				<title>经典算法深度解析｜纠删码（实战篇）：Ceph、HDFS 与 Azure LRC 的实现取舍</title>
				<link>https://qianzhou.tech/2024/02/04/erasure-coding-in-practice/</link>
				<pubDate>Sun, 04 Feb 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/02/04/erasure-coding-in-practice/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码实战篇cephhdfs-与-azure-lrc-的实现取舍&#34;&gt;经典算法深度解析｜纠删码（实战篇）：Ceph、HDFS 与 Azure LRC 的实现取舍&lt;/h1&gt;&#xA;&lt;p&gt;前面三篇我们一直在讲两层内容：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;EC 在数学上为什么成立&lt;/li&gt;&#xA;&lt;li&gt;EC 在工程上为什么会贵&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;但真正把 EC 用到系统里以后，你会发现还有第三层现实：&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;同样都是纠删码，不同存储系统会做出完全不同的设计。&lt;/strong&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>经典算法深度解析｜纠删码（三）：条带布局、故障域、降级读与分布式存储里的工程落地</title>
				<link>https://qianzhou.tech/2024/01/28/erasure-coding-part-3/</link>
				<pubDate>Sun, 28 Jan 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/01/28/erasure-coding-part-3/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码三条带布局故障域降级读与分布式存储里的工程落地&#34;&gt;经典算法深度解析｜纠删码（三）：条带布局、故障域、降级读与分布式存储里的工程落地&lt;/h1&gt;&#xA;&lt;p&gt;前两篇我们分别解决了两类问题：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;EC 为什么成立，它的编码基础和 MDS 本质是什么&lt;/li&gt;&#xA;&lt;li&gt;EC 为什么昂贵，恢复带宽、更新放大和局部修复优化到底在讲什么&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;系列文章：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/01/14/erasure-coding-part-1/&#34;&gt;纠删码（一）：从多副本到 Reed-Solomon、有限域与 MDS 本质&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/01/21/erasure-coding-part-2/&#34;&gt;纠删码（二）：故障恢复、更新放大、修复带宽与 LRC 演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/01/28/erasure-coding-part-3/&#34;&gt;纠删码（三）：条带布局、故障域、降级读与分布式存储里的工程落地&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/02/04/erasure-coding-in-practice/&#34;&gt;纠删码（实战篇）：Ceph、HDFS 与 Azure LRC 的实现取舍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/02/11/erasure-coding-implementation-details/&#34;&gt;纠删码（实现篇）：GF 运算、SIMD、full-stripe write 与小写更新路径&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/02/18/erasure-coding-source-walkthrough/&#34;&gt;纠删码（源码篇）：最小 RS encoder/decoder 与 read-modify-write 伪代码&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/02/25/erasure-coding-performance-tuning/&#34;&gt;纠删码（性能篇）：benchmark、NUMA、线程模型与 repair 限流&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/03/03/erasure-coding-troubleshooting-cases/&#34;&gt;纠删码（案例排障篇）：repair 打满网络、degraded read 尾延迟飙升与 partial write 放大&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://qianzhou.tech/2024/03/10/erasure-coding-architecture-selection/&#34;&gt;纠删码（架构选型篇）：什么时候该用三副本、RS、LRC，什么时候根本不该上 EC&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;讲到这里，如果你站在“算法理解”的角度，其实已经能把 Reed-Solomon 说清楚了。&lt;/p&gt;</description>
			</item>
			<item>
				<title>经典算法深度解析｜纠删码（二）：故障恢复、更新放大、修复带宽与 LRC 演进</title>
				<link>https://qianzhou.tech/2024/01/21/erasure-coding-part-2/</link>
				<pubDate>Sun, 21 Jan 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/01/21/erasure-coding-part-2/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码二故障恢复更新放大修复带宽与-lrc-演进&#34;&gt;经典算法深度解析｜纠删码（二）：故障恢复、更新放大、修复带宽与 LRC 演进&lt;/h1&gt;&#xA;&lt;p&gt;上一篇我们把 EC 的理论骨架搭了起来：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;为什么要从多副本走向 &lt;code&gt;k+m&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;条带是什么&lt;/li&gt;&#xA;&lt;li&gt;Reed-Solomon 本质上是有限域上的线性编码&lt;/li&gt;&#xA;&lt;li&gt;MDS 的关键含义是任意 &lt;code&gt;k&lt;/code&gt; 个块都能恢复原始数据&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;系列文章：&lt;/p&gt;</description>
			</item>
			<item>
				<title>经典算法深度解析｜纠删码（一）：从多副本到 Reed-Solomon、有限域与 MDS 本质</title>
				<link>https://qianzhou.tech/2024/01/14/erasure-coding-part-1/</link>
				<pubDate>Sun, 14 Jan 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/01/14/erasure-coding-part-1/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析纠删码一从多副本到-reed-solomon有限域与-mds-本质&#34;&gt;经典算法深度解析｜纠删码（一）：从多副本到 Reed-Solomon、有限域与 MDS 本质&lt;/h1&gt;&#xA;&lt;p&gt;只要系统开始认真做存储，工程师迟早会面对一个非常现实的问题：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;数据必须可靠&lt;/li&gt;&#xA;&lt;li&gt;成本不能失控&lt;/li&gt;&#xA;&lt;li&gt;故障恢复不能太慢&lt;/li&gt;&#xA;&lt;li&gt;容量利用率还得说得过去&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;最直接的办法当然是多副本。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
