前段时间抽了很多时间进入了网络开发,所以也恶补了不少知识,由于是现成的方案,于实上手就可以开始设计程序编码,少了很多思考的过程。譬如该方案相比其它的方案,有何优势与劣势,缺少了选型的一环。 需要全面的...
Vhost-user虚机接入 Vhost-user 使用 Unix Domain Socket(UDS) 作为控制平面的通讯方式,所以通讯实现比较简单。在 backend 这一侧,可以有多种选择,既可...
vhost-user多队列模式 在设计vswitch的架构的时候,每个核心上分配的虚拟设备端口是个挺麻烦的事情。在物理端口上,由于都支持多队列模式,所以每个核心都可以负责至少一条队列,也就是每个核心在...
由于前些日子的工作,恶补了网络知识,主要是二三层的东西,让自己学到不少东西,虽然现在工作内容可能又开始有调整了,心里有点不舒服。 不谈有的没的了,在这里写点东西来记一下一些知识点。首先从Tap/Tun...
由于内存的易失性,所以不少信息需要保存于硬盘中。同时由于内存及硬盘的速度的差异,需要有很多方式来折衷硬盘和内存的特性。比如对于硬盘的随机写及fsync等操作,我们要尽量避免,所以现代很多存储引擎基本都...
This is the area most people find confusing when looking at the memory model. Atomic variables are p...
最近一直在研究RocksDB的源码,非常多的原子操作涉及到内存序,之前由于用原子操作常常只是用作计数,在这种简单的场景下其实各个内存序是没有差异的。但是为何要有各种内存序呢? 我们首先来看下定义的内存...
RocksDB的读流程分析 相对于写流程,Get的流程还是相对而言比较简单的,我们这里简单的梳理一下Get经过哪几个步骤,是怎么样进行处理的。 获取当前时刻的SuperVersion。SuperVer...
RocksDB ThreadLocalPtr梳理 关于ThreadLocal,做过多线程编程的同学应当很熟悉了,通过ThreadLocal,我们可以在不同的线程中获取到对应的存储而不受其它线程影响。关...