对Cwinux消息处理流程的描述,补充之前两篇博文的内容。
Cwinux源码解析(七)
Cwinux是如何实现框架功能的。使用Cwinux时,需要先继承AppFramework,并实现AppFramework的noticeXXX和onXXX两种类型的函数。本文描述什么是框架,noticeXXX和onXXX是如何实现的。
Cwinux简介及用法简述
Cwinux框架是一个开源的Linux下通信框架,本文简单介绍了Cwinux,以及Cwinux用法。
Calvin简介
前面介绍的并发控制算法评估里面,测试也把Cavlin算进来了,这里简单介绍下Calvin。详细的可以参考下原论文 Calvin: Fast Distributed Transactions for Partitioned Database Systems (SIGMOD12')。
Calvin面向的场景是确定性事务,不支持交互式事务。这一点需要特别注意。在互联网很多业务里,这点是不适用的。
Calvin也是一个deterministic的分布式数据库,这里先简单介绍下它的架构。...
深度优先搜索求解青蛙交换位置小游戏
用DFS搜索算法求解青蛙交换位置游戏。详细描述了算法的步骤和代码结构,包括描述状态的表示,获取后续状态,执行递归的DFS搜索。该方法具有很强的通用性。
Helping compiler help you : Ispike, BOLT
《BOLT: A Practical Binary Optimizer for Data Centers and Beyond》 CGO 2019
《Ispike: A Post-link Optimizer for the IntelR ItaniumR Architectur》 CGO 2004
Helping compiler help you
现在数据中心跑的程序二进制文件普遍都比较大而且代码逻辑比较复杂,因此编译过程的优化在很多情况下能够显著提升性能。编译优化是一种 helping compiler help you的方式。
编译优化常见的几种优化技术...
Jeff Dean点赞的Consensus Revised论文在说啥?
《Distributed consensus revised》 Heidi Howard
整篇论文151页,粗略通读了一遍,主要是了解各个变体的基本思路和正确性直觉的理解,更形式化的证明基本上都跳过了。
这里假设读者对Basic Paxos有了一定了解,看过Lamport的那篇原始论文。另外我这里行文术语基本沿用原始论文的说法,跟这篇论文稍有差异,不过如果熟悉Basic Paxos的话,应该很容易对应起来。
导读
FLP定理已经证明了在异步...
InMemoryDB并发控制算法评估
An Empirical Evaluation of In-Memory Multi-Version Concurrency Control (VLDB17')
这篇工作梳理了MVCC的四个要点:
并发控制协议
多版本存储
垃圾回收
索引管理
还介绍了MVCC的多种变体原理,实现了这些变体,然后在OLTP workload上测试评估各个变体的效果。
MVCC基础
MVCC介绍
MVCC是一种并发控制算法,一个数据库对象可能会被并发操作,算法维护同一个对象的多个版本来提高并...
写跨平台C语言代码的十个规则
翻译了一篇关于写跨平台C语言代码的文章,介绍了10个相关规则。Rule #1: 同时开发 – 不要先开发后移植。不要把迁移工作外包。Rule #3: 使用标准C类型,不要使用特定于平台的类型。Rule #4: 只使用内置的 #ifdef 编译标志,不要自己发明轮子。 Rule #5: 开发一个简单的可重用的跨平台的基础库,来隐藏每个平台的代码。Rule 6#: 在所有的API中都使用Unicode(特别是UTF-8)。Rule #7: 不要使用第三方应用程序框架或者运行时环境来是你的代码跨平台。Rule #8: 原生代码本来就总是可以所有平台上编译->不是某个脚本让它们从不能编译变得能够编译了。 Rule #9:所有的程序都能在所有的平台编译。Rule #10:开除那些懒惰、不称职、态度差、不遵循这些规则的程序员。
Hekaton内存引擎
Hekaton: SQL Server’s Memory-Optimized OLTP Engine(SIGMOD13')
Hekaton是SQL Server的一个纯内存数据引擎,用户可以声明一张表存放在Hekaton上,这张表完全支持原SQL Server所有操作,包括T-SQL。同时如果T-SQL只涉及Hekaton表,T-SQL还可以进一步编译执行,性能更高。
为什么要重新设计Hekaton引擎?
单纯优化现有的SQL Server还能不能有10-100倍吞吐提升?
说到底吞吐提升的三条路:提升sca...