- 博客(298)
- 收藏
- 关注
转载 DeepSeek 3FS 架构分析和思考
火山引擎文件存储团队阅读和分析了 3FS 的设计文档和源代码,总结出这篇文章,在介绍了 3FS 关键设计的同时,尝试从存储专业的视角挖掘出 3FS 团队在这些设计背后的考量。通过固定切分 chunk 的方式,能够有效的规避数据读写过程中与 Meta Service 的交互次数,降低元数据服务的压力,但是也引入另外一个弊端,即对写容错不够友好,当前写入过程中,如果一个 chunk 写失败,是不支持切下一个 chunk 继续写入的,只能在失败的 chunk 上反复重试直到成功或者超时失败。
2025-04-01 15:41:29
72
转载 【译】Object Storage on CRAQ 上篇
大型存储系统通常会在许多可能出故障的组件上进行数据复制和数据分区,从而保证可靠性和可扩展性。但是许多商业部署系统为了实现更高的可用性和吞吐量,牺牲了强一致性,特别是那些实时交互系统。本论文介绍了CRAQ的设计、实现和评估。CRAQ是一个挑战上述僵化取舍的分布式对象存储系统。我们的基本方法是对链式复制进行改性,在保证强一致性的同时,大幅提高读取吞吐量。通过在所有对象副本上分配负载,CRAQ可以随链的大小线性扩展,而无需增加一致性协调。
2025-04-01 15:15:37
8
转载 io_uring对比
在 polling 模式下,io_uring 和 SPDK 的性能非常接近,特别是高 QueueDepth 下,io_uring 有赶超的架势,同时完爆 libaio。io_uring vs libaio,在非 polling 模式下,io_uring 性能提升不到 10%,好像并没有什么了不起的地方。bluefs仅仅需要提供append only的写入即可,不需要提供随机写,大大简化了bluefs的实现。,抽象出了统一的块设备,直接操作裸设备,对上层提供统一的读写方法。,在其抽象的通用块层加入了。
2025-03-10 14:48:27
15
转载 [译] Linux 异步 I/O 框架 io_uring:基本原理、程序示例与性能压测(2020)
当这个系统调用返回时,表示一定数量的 SEQ 已经被消费和提交了,此时可以安全的重用队列中的 SEQ。(long term mappings of application memory associated with the buffers), 这个操作只会在注册时执行一次,而不是每个 I/O 请求都会处理,因此减少了 per-I/O overhead。通过 SQ 来提交 SQE,以及监控 CQ 的完成状态,应用无需任何系统调用,就能提交和收割 I/O(submit and reap I/Os)。
2025-03-10 11:25:16
24
转载 深入解析18种软件架构设计模式 (2)
主从架构通过主节点的集中控制实现了以下目标:高效分布:将任务分配到多个从节点,减少单点瓶颈。容错性:在部分节点失效的情况下,保持系统的正常运行。扩展性:可以通过增加从节点来扩展系统处理能力。无论是在Web服务器的负载均衡场景,还是在数据库系统中,主从架构都提供了灵活且高效的解决方案,适用于需要高性能、高可靠性的分布式系统。
2025-02-24 19:25:42
21
转载 深入解析18种软件架构设计模式 (1)
它包括识别并选择合适的组件,决定它们如何相互作用,并确定它们应如何组织以实现特定目标。软件架构的目标是创建一个可维护、可扩展、安全的系统,满足用户和组织的需求。
2025-02-24 19:19:46
52
转载 PCIe(二) —— 配置空间
这一篇我们把配置空间的结构,分配和访问,都大概总结了一遍,并且还介绍了它们的头部字段和这些字段的意义,包括BAR和消息路由的原理。
2025-02-06 19:39:16
125
转载 facebook海量图片存储系统与淘宝TFS系统比较
本篇论文描述了Haystack,一个为Facebook的照片应用而专门优化定制的对象存储系统。Facebook当前存储了超过260 billion的图片,相当于20PB的数据。用户每个星期还会上传1 billion的新照片(60TB),Facebook在峰值时需提供每秒查询超过1 million图片的能力。相比我们以前的方案(基于NAS和NFS),Haystack提供了一个成本更低的、性能更高的解决方案。我们观察到一个非常关键的问题:传统的设计因为元数据查询而导致了过多的磁盘操作。
2025-01-26 19:18:02
25
转载 海量小文件(LOSF)问题综述
在互联网(尤其是移动互联网)、物联网、云计算、大数据等高速发展的大背景下,数据呈现爆炸式地增长。根据IDC的预测,到2020年产生的数据量将达到40ZB,而之前2011年6月的预测是35ZB。然而,社会化网络、移动通信、网络视频音频、电子商务、传感器网络、科学实验等各种应用产生的数据,不仅存储容量巨大,而且还具有数据类型繁多、数据大小变化大、流动快等显著特点,往往能够产生千万级、亿级甚至十亿、百亿级的海量小文件,而且更多地是海量大小文件混合存储。
2025-01-26 14:52:27
45
转载 Presto架构及原理
Presto 是 Facebook 推出的一个基于Java开发的大数据分布式 SQL 查询引擎,可对从数 G 到数 P 的大数据进行交互式的查询,查询的速度达到商业数据仓库的级别,据称该引擎的性能是 Hive 的 10 倍以上。Presto 可以查询包括 Hive、Cassandra 甚至是一些商业的数据存储产品,单个 Presto 查询可合并来自多个数据源的数据进行统一分析。Presto 的目标...
2019-10-22 21:01:39
803
原创 Super Ugly Number -- leetcode
Write a program to find the nth super ugly number.Super ugly numbers are positive numbers whose all prime factors are in the given prime list primes of size k. For example, [1, 2, 4, 7, 8, 13,
2016-10-07 17:08:39
631
转载 跳表SkipList
原文地址:http://www.cnblogs.com/xuqiang/archive/2011/05/22/2053516.html跳表SkipList1.聊一聊跳表作者的其人其事2. 言归正传,跳表简介3. 跳表数据存储模型4. 跳表的代码实现分析5. 论文,代码下载及参考资料 . 聊一聊作者的其人其事 跳表是由Wil
2016-09-16 19:42:46
532
转载 LevelDb日知录
文章来自朗格科技http://www.samecity.com/LevelDb日知录之一:初识LevelDb 说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google公司重量级的工程师,为数甚少的Google
2016-09-16 18:05:24
1006
原创 Minimum Height Trees -- Leetcode
For a undirected graph with tree characteristics, we can choose any node as the root. The result graph is then a rooted tree. Among all possible rooted trees, those with minimum height are called mini
2016-09-16 12:57:32
321
原创 Range Sum Query - Mutable -- Leetcode
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.The update(i, val) function modifies nums by updating the element at index i to val.Examp
2016-08-14 20:03:09
400
原创 Additive Number -- leetcode
Additive number is a string whose digits can form additive sequence.A valid additive sequence should contain at least three numbers. Except for the first two numbers, each subsequent number in the
2016-08-07 17:37:32
360
转载 The Log-Structured Merge-Tree
作者:Patrick O’Neil &Edward Cheng etc. 1996原文:http://www.springerlink.com/content/rfkpd5yej9v5chrp/译者:phylips@bmy 2011-12-25译文:http://duanple.blog.163.com/blog/static/7097176720120391321283/
2016-08-07 11:24:45
493
原创 Range Sum Query 2D -- leetcode
Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper left corner (row1, col1) and lower right corner (row2, col2).The above rectangle (with the red bo
2016-07-24 18:04:28
248
原创 Remove Invalid Parentheses -- Leetcode
Remove the minimum number of invalid parentheses in order to make the input string valid. Return all possible results.Note: The input string may contain letters other than the parentheses ( and ).
2016-07-17 21:14:55
466
原创 Longest Increasing Subsequence -- Leetcode
Given an unsorted array of integers, find the length of longest increasing subsequence.For example,Given [10, 9, 2, 5, 3, 7, 101, 18],The longest increasing subsequence is [2, 3, 7, 101], ther
2016-07-17 09:20:19
327
原创 Bulls and Cows -- leetcode
You are playing the following Bulls and Cows game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend makes a guess, you provide a hint t
2016-07-09 21:12:28
346
原创 Serialize and Deserialize Binary Tree -- leetcode
Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be
2016-07-09 19:28:22
341
原创 Find Median from Data Stream -- Leetcode
Median is the middle value in an ordered integer list. If the size of the list is even, there is no middle value. So the median is the mean of the two middle value.Examples: [2,3,4] , the median
2016-07-02 21:35:38
330
原创 Nim Game -- leetcode
You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the
2016-07-02 19:50:02
270
原创 Word Pattern -- Leetcode
Given a pattern and a string str, find if str follows the same pattern.Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.
2016-07-02 18:51:25
289
原创 Game of Life -- leetcode
According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970."Given a board with m
2016-06-26 18:12:11
367
转载 正则表达式30分钟入门教程
目录跳过目录本文目标如何使用本教程正则表达式到 底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负 向零宽断言注释贪婪与懒惰处理选项平衡组/递 归匹配还 有些什么东西没提到联系作者最 后,来点广告……网上的资源及本文参 考文献更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它
2015-10-18 09:31:46
329
原创 Peeking Iterator -- leetcode
Given an Iterator class interface with methods: next() and hasNext(), design and implement a PeekingIterator that support the peek() operation -- it essentially peek() at the element that will be
2015-10-14 16:58:12
482
原创 Move Zeroes -- leetcode
Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.For example, given nums = [0, 1, 0, 3, 12], after calling you
2015-10-14 16:03:23
322
原创 Expression Add Operators -- leetcode
算法一,每得到一个新的整数,对其进行+, -, *三种运算。使用dfs递归,免去重复计算。此处使用sum, mul两个变量记录中间结果。 sum 存储累加和, mul 存储乘积结果。之所以用两个,是基于如下情况:1. 当我们在一个整数前添加+号时, 此整数后面紧跟的是*运算的话,我们则不能将此整数运算到sum中2. -号同上3. 当添加*时,我们只需要将该整数累乘进mu
2015-10-14 10:19:42
509
原创 Perfect Squares -- leetcode
Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n.For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n =
2015-10-10 13:42:34
857
原创 First Bad Version -- leetcode
You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based on the
2015-10-09 11:51:07
413
原创 H-Index II -- leetcode
Follow up for H-Index: What if the citations array is sorted in ascending order? Could you optimize your algorithm?基本思路:折半查找1. 选取中间点,判断该处是否满足hIndex定义2. 如果满足定义,则在左区间继续搜索,以找到更大的hIndex3
2015-10-05 15:08:42
347
原创 H-Index -- leetcode
Given an array of citations (each citation is a non-negative integer) of a researcher, write a function to compute the researcher's h-index.According to the definition of h-index on Wikipedia: "A
2015-10-05 10:42:45
695
原创 Integer to English Words -- leetcode
Convert a non-negative integer to its english words representation. Given input is guaranteed to be less than 231 - 1.For example,123 -> "One Hundred Twenty Three"12345 -> "Twelve Thousand Th
2015-10-04 12:58:33
417
原创 Missing Number -- leetcode
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.For example,Given nums = [0, 1, 3] return 2.Note:Your algorithm shoul
2015-10-03 19:46:01
540
原创 Ugly Number II -- leetcode
Write a program to find the n-th ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 is the sequence of the first
2015-10-03 18:05:17
375
原创 Ugly Number -- leetcode
Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly sinc
2015-10-03 14:46:30
330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人