自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

转载 leveldb 并发处理

在并发写入的时候,leveldb巧妙的利用一个时间窗口做batch写入,这部分代码值得一读:Status DBImpl::Write(const WriteOptions& options, WriteBatch* my_batch) {  //part A  Writer w(&mutex_);  w.batch = my_batch;  w.sync = options.syn...

2018-04-25 10:04:55 1922

原创 phxpaxos的Proposer和Acceptor的流程

    在paxos算法中,主要包含了三个角色,proposer、accepter和learner。learner在paxos算法的论文中提及不是很详细,但是在phxpaxos实现是最为复杂的,之后独立一篇文章分析。    在微信的文档中,通过推导,一步一步得出simple-paxos正式算法的流程,推导的过程可以反复看看原先的文档(Paxos理论介绍(1): 朴素Paxos算法理论推导与证明),...

2018-04-20 18:02:51 785

原创 phxpaxos 状态机

引用的话:        状态机这个名词大家都不陌生,一个状态机必然涉及到一个状态转移,而Paxos的每个实例,就是状态转移的输入,由于每台机器的实例编号都是连续有序增长的,而每个实例确定的值是一样的,那么可以保证的是,各台机器的状态机输入是完全一致的。根据状态机的理论,只要初始状态一致,输入一致,那么引出的最终状态也是一致的。而这个状态,是有无限的想象空间,你可以用来实现非常多的东西。phpax...

2018-04-10 14:57:50 547

转载 白话解析:一致性哈希算法 consistent hashing

  在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。一、场景描述  假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存,我们希望这些图片被均匀的缓存到这3台服务器上,以便它们...

2018-04-02 13:32:37 166

转载 内存映射mmap

一直都对内存映射文件这个概念很模糊,不知道它和虚拟内存有什么区别,而且映射这个词也很让人迷茫,今天终于搞清楚了。。。下面,我先解释一下我对映射这个词的理解,再区分一下几个容易混淆的概念,之后,什么是内存映射就很明朗了。 原理:首先,“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种一一对应关系,在这里主要是只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大小相同的区域之间的一一...

2018-03-27 21:41:56 176

原创 malloc的brk和mmap

先放一张虚拟地址空间分布图(图截至深入理解计算机系统第三版):    malloc的分配内存有两个系统调用,一个brk,一个mmap,brk是将.data的最高地址指针_edata往高地址走,mmap则是在进程的虚拟地址空间(在堆和栈之间的内存映射区域)找一块空间。这两种都是没有实际分配物理内存,只有当真正使用的时候才发生缺页中断,分配物理内存。 http://blog.yufeng.info/a...

2018-03-27 20:30:55 2550

原创 nfs-ganesha的mdcache源码分析----mdcache_readdir流程

2 mdcache_readdir       在2.5.0之后的版本中,加入了readdir chunk,可以不完全将目录存入cache中,默认每个chunk存128个条目(可以通过Dir_Chunk设置),整个系统chunk的水线为10000(可以通过Chunks_HWMark设置)。chunk也有自己的lru列表,如果超过chunk的数目,就会被踢掉。    if (test_mde_fla...

2018-03-13 19:59:40 1041 1

原创 nfs-ganesha的mdcache源码分析----mdcache_lookup流程

        项目中使用了ganesha-nfs,之前使用了nfs-ganesha的2.3.3版本, 但是貌似cache中出现了一些问题,而2.4以后的版本重构了inode cache模块,导致只能自己分析源码,解决部分bug(其实大部分问题起始在2.5.4的稳定版本之后已经修复)。        mdcache在2.4.0之后放在了FSAL层,对应的目录为src\FSAL\Stackable_...

2018-03-13 19:49:13 1572

原创 ganesha 2.3.3 遇到的问题记录

项目中在使用ganesha2.3.3版本中,遇到一个棘手的问题。    我们是自己实现的一个分布式文件系统,对接的ganesha-nfs的2.3.3的接口。有一个应用场景是将目录通过nfs挂载给vmware,以建立虚拟机使用。最近在测试强压力测试(vdbench做着压力测试,还开着虚拟机)中,出现了虚拟机开启时报文件不存在的错误,再次开启就好了。    首先是开启调试日志,预感这种问题应该是在强压...

2018-03-13 19:47:58 726

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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