LoopJump's Blog

C++ typename用法

Programming
C++中typename关键字的使用方法 1.用在模板定义里,标明其后的模板参数是类型参数。例如 12345678910template<typename T, typename Y>T foo(const T& t, const Y& y) { /*. ...
Read more

LockFree数据结构的内存回收性能测试

Programming
最近在搞性能优化,读了一篇挺有意思的相关论文。 Performance of memory reclamation for lockless synchronization 几种Memory Reclaimation Scheme评测了几种回收机制的性能: QSBR  quiescent- ...
Read more

关于事务的一点琐碎思考

Database
最近又零散地看了一些mvcc/snapshot的东西,有了一些新的理解和观点,记录一下,内容比较碎,不一定正确,欢迎大家讨论拍砖。 在某些实现下,2PC会影响MVCC ?MVCC相比lock-based的并发控制,可以使得写不阻塞读。不过如果如果使用基于时间戳的行级多版本,在有分布 ...
Read more

Ubuntu 12.04编译安装3.15.6新内核

Programming
最近又零散地看了一些mvcc/snapshot的东西,有了一些新的理解和观点,记录一下,内容比较碎,不一定正确,欢迎大家讨论拍砖。 在某些实现下,2PC会影响MVCC ?MVCC相比lock-based的并发控制,可以使得写不阻塞读。不过如果如果使用基于时间戳的行级多版本,在有分布 ...
Read more

WordPress公式范例

Misc
没想到wordpress的latex插件支持的这么好。 写了几个例子,**右键”Show Math As”=>”Tex Commands”**可以看原始文本。 花体字母$\scr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ $\scr{abcdepfghijkl ...
Read more

浅谈数据库隔离级别

Database
关系型数据库具备事务ACID的特性:原子性、一致性、隔离性、持久性。 原子性是说,事务的操作要么都完成,要么都不完成。一致性是说事务不能破坏数据库的一些约束。隔离性是说,并发事务执行时,如何看到其他事务的执行结果。持久性是说,宕机重启后,数据库状态还能恢复。 在分布式数据库中,原子性通常可以 ...
Read more

Percolator论文阅读笔记

Database
Percolator是Google在2011年发的论文,用于替换MapReduce做索引。核心是分布式事务和观察者通知机制。 概述Google搜索引擎建立网页索引:通过处理网页库,会建好一个索引库。之后爬虫会新抓下来少量页面(相比于原始网页库的数量)。对于新抓来的页面,如何处理?有两种方式。 ...
Read more

再读Bigtable论文

Database
本文是Bigtable论文的阅读笔记,比较简略。 1 基本概念介绍Bigtable本质上是GFS之上对GFS文件数据的一层索引。 1.1 Bigtable的数据模型一个稀疏的分布式的持久化的多维度的排序的map。所谓map,就是key-value对。 如图示,bigtable的数据模型是: ...
Read more

再读GFS论文

Database
之前上学的时候读过Google三架马车的论文,后续再读时,发现有些地方以前理解还是不够深刻。本文是重新学习GFS论文时记录的阅读笔记,行文比较散,主要是记录一下自己比较感兴趣的点,有需要的同学还是请直接参考原始论文。 1 背景用大量普通机器搭建集群,因此节点失效成为集群中常态的问题,GFS必 ...
Read more

Why Functional Programming Matters 阅读笔记

Programming
本文是 Why Functional Programming Matters的阅读笔记,用相对通俗的语言解读了这篇论文,并对我觉得重要的一些点做了一些解释,欢迎在读这篇论文的朋友留言交流。不得不说的是,这篇论文大量涉及到SICP这本书中的知识,所以如果能看过SICP再看这篇论文,相信应该会轻 ...
Read more
Prev Next