Linux多队列与PCIe SSD(2)

 

上回说到要想在NUMA架构提升块设备层性能,就得减少跨CPU的内存访问。当然你可以绑定CPU,唐杰在他之前SSD测试的文章中讲过这些技巧,比如SSD插在CPU 0上,那么就只通过CPU 0发命令,中断也只发到CPU 0上。但这些都是块设备层的公公婆婆、儿子儿媳干的活,不是它能够操心的事。从块设备层角度,开发了多队列机制来解决这个问题。

 

使命

 

我们做一件事,先要给出个目标。多队列设计的目标有如下几点:

  1. 公平。访问同一个SSD,所有的核都是公平的,不能歧视谁。
  2. 跟设备无关。不管是一个还是多个设备,接口都是一样的。
  3. 有个缓冲层。命令先发到缓冲层,让程序员搞搞排序算法,同时设备那边命令[……]

阅读全文

Linux多队列与PCIe SSD(1)

上面这个可爱的小伙子名字叫Jens Axboe,他是丹麦哥本哈根大学计算机系没毕业的学生,他还有一个有名的同乡叫Linus,没想到老乡后来也成了他的领导。Jens今年39岁,16岁开始就接触Linux,后来也成了Linux开发者,现在是Linux Kernel大拿了,负责块设备层的维护。这个块设备层就是跟我们SSD关系最紧密的层级,联系了上层文件系统和下层设备驱动程序。他开发了不少有用的程序,比如Linux IO Scheduler里面的Deadline, CFQ Scheduler,还有著名的王牌测试工具FIO。

 

今天我们来聊的就是他参与的Linux块设备多队列机制。这个是专门为了[……]

阅读全文

阿呆实战NVMe 1-6合集

 


 

 

 

看完了蛋蛋的NVMe系列,你是不是有点手痒痒了,毕竟这是一门技术,不是艺术,只能欣赏,却不能亵玩,实在是太不让人尽兴了。三俗的来说,估计你也是看了上面的女神进来看文章的,但是,是不是下面的苍老师才能让你真正动手实践?

 

 

八卦蛋蛋

 

作为ssdfans的招牌,蛋蛋现在已经有了很多粉丝。你估计也想知道蛋蛋到底是个什么样的人,阿呆有幸略知一二。首先,蛋蛋博士真的是一位博士,饱读诗书,而且智商也很高。肯定有人要问了,你怎么知道他智商高呢,把跑分亮出来看看。其实阿呆也没跑过分,只知道[……]

阅读全文

你知道RAID中的Write Hole问题吗?

 

RAID写洞洞是个啥东东?NVRAM又起了什么作用?

 

想要和作者吴忠杰还有全世界的大牛讨论SSD及存储相关技术?加nanoarch为微信好友,拉你进ssdfans微信群。

 
 

RAID系统中会存在一个称之为Write Hole的问题,这到底是一个什么问题?会给用户带来什么影响?目前开源RAID系统中如何解决这个问题?这类问题需要采用什么方式来解决呢?存储老吴从研发的角度和大家一起分析一下这个问题,看看这个问题的本质以及解决思路。

 
 

Write Hole是一种非常形象的描述。对于一个采用条带内部通过校验数据进行数据保护的系统,当应用程序正在更新条带内部数据的时候,[……]

阅读全文

双端口NVMe SSD?没有想象中美好

 

最近OCZ等SSD公司宣布了Dual-Port NVMe SSD,其实就是一个SSD有两个PCIe接口。一个SSD可以让两台机器使用?一个盘怎么插到两台机器?阿呆带你来看看这货到底怎么用。

 

背景介绍

 

一般我们的硬盘都是只有一个端口,要么组成阵列放到磁盘阵列里面,要么就接到一台机器上的硬盘槽位。如果接到硬盘槽位,就有个问题,如果用户到服务器到硬盘的通路任何一环挂了,这个盘的数据也就没办法访问了。只能拔下来,重新插到一台新的机器上,这段时间里,用户放在里面的数据访问不到。

 

那怎么办呢?在SAS时代,就发明了双端口硬盘,一个硬盘通过SAS线缆连到两台机器上,任何一个服务器挂掉,另一台[……]

阅读全文