自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

转载 PCIe(一) —— 基础概念与设备树

PCIE基础概念与设备树

2025-01-24 16:37:25 143

原创 nvme-cli源码框架

nvme cli

2024-12-27 17:04:38 156

转载 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关注的人

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