加载中
CPU体系结构

受前段meldown漏洞事件的影响,那段时间也正好在读Paul的论文关于内存屏障的知识,其中有诸多细节想不通,便陷入无尽的煎熬和冥想中,看了《计算机系统结构》、《深入理解计算机系统》、《大...

03/11 16:27
469
如何给redis添加新数据结构

前言 作为一款缓存型nosql数据库,redis在诞生之初就以高性能、丰富的数据结构等特性获得业界的青睐。redis默认提供了五种数据类型的支持:string、list、set、zset、hash。针对一般性的日常应...

03/03 12:44
479
Wangle源码分析:ServerBootstrap

ServerBootstrap介绍 ServerBootstrap,顾名思义,它是作为Wangle服务端的一个启动辅助类,熟悉Netty的朋友都知道builder模式,它的唯一目的就是以方便的、统一的方式启动一个Server。 示例 ...

设备树详解(二)

一、DTS的加载过程 如果要使用Device Tree,首先用户要了解自己的硬件配置和系统运行参数,并把这些信息组织成Device Tree source file。通过DTC(Device Tree Compiler),可以将这些适合人...

设备树(Device Tree)科普--背景介绍

一、前言 作为一个多年耕耘在linux 2.6.23内核的开发者,各个不同项目中各种不同周边外设驱动的开发以及各种琐碎的、扯皮的俗务占据了大部分的时间。当有机会下载3.14的内核并准备学习的时候...

go内存模型

Happens Before 是内存模型中一个通用的概念,Go 中也定义了Happens Before以及各种发生Happens Before关系的操作,因为有了这些Happens Before操作的保证,我们写的多goroutine的程序才会按...

Go
07/30 13:45
9
SSD内部原理

1 晶体管概述 Flash的存储单元是一种被称之为“浮栅”的MOS晶体管,它与常见的MOSFET区别如下: 当Vcg加一个大电压,衬底Vsub为0V,Source和Drain也全部为0V时,衬底上的电子将在电场的作用下...

Raft中Batching和pipelining到底是什么?

Raft supports batching and pipelining of log entries, and both are important for best performance. Many of the costs of request processing are amortized when multiple requests a...

PacificA 一致性协议解读

PacificA 的 paper 在 08 年左右发出来的,比 Raft 早了 6,7 年。 在 PacificA 论文中,他们强调该算法使用范围是 LAN (Local Area Network),讲白了就是对跨机房不友好。<......

数据库中常说的steal和force到底是什么?

时长在看一些database paper的时候看到steal和no-force的字样,深入了解了一下,发现我们平时关注的redo log个undo log都是有渊源的,什么时候需要redo log,什么时候需要undo log,什么时候...

06/20 14:26
320
CASPaxos: Replicated State Machines without logs

新读一篇论文,试着翻译一下,原文在这。 摘要 CASPaxos是一个无等待,线性化,多读者和多写者的寄存器,支持在不可靠的异步网络上执行任意更新操作,包括compare-and-set(CAS)。 该寄存器...

LMDB概述

发现一篇讲解LMDB不错的文章,记录一下,原文在这里。 Overview homepage: http://symas.com/mdb/ https://github.com/LMDB/lmdb source codes doc: http://symas.com/mdb/doc/starting.html...

06/12 10:49
60
聊聊Non-Volatile Memory数据库的Storage和Recovery方法

本文是自己在阅读“Let’s Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems”paper时的翻译。 摘要 在数据库系统(DBMSs)领域,non-volatile memory (NVM)...

06/10 20:46
23
c++对象内存模型【内存布局】

#类中的元素 0. 成员变量 1. 成员函数 2. 静态成员变量 3. 静态成员函数 4. 虚函数 5. 纯虚函数 #影响对象大小的因素 0. 成员变量 1. 虚函数表指针(_vftptr) 2. 虚基类表指针(_vbtptr) ...

06/10 14:40
27
ext文件系统机制原理剖析

将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分。划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法)。格式化分区的过程其实就是创建文件系统。 文件系统的类型有很多种...

06/08 16:23
15
c++ 全局变量初始化的一点总结

什么时候初始化 根据 C++ 标准,全局变量的初始化要在 main 函数执行前完成,常识无疑,但是这个说法有点含糊,main 函数执行前到底具体是什么时候呢?是编译时还是运行时?答案是既有编译时...

06/08 14:01
33
设计模式C++实现--Singleton模式

单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责......

06/08 09:52
29
聚簇索引(clustered index )和非聚簇索引(secondary index)的区别

这两个名字虽然都叫做索引,但这并不是一种单独的索引类型,而是一种数据存储方式。对于聚簇索引存储来说,行数据和主键B+树存储在一起,辅助键B+树只存储辅助键和主键,主键和非主键B+树几乎...

06/07 13:41
10
数据一致性与Paxos算法

1. CAP与数据一致性 1-1. CAP概要 分布式系统的假设是,工作在网络环境下的系统拥有多个节点,而这些节点本身会由于各种原因而变得不稳定。这其中就有一个非常重要的概念——CAP原理。这个原...

etcd raft模块分析--WAL日志

WAL是write ahead log的缩写,顾名思义,也就是在执行真正的写操作之前先写一个日志,可以类比redo log,和它相对的是WBL(write behind log),这些日志都会严格保证持久化,以保证整个操作...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部