- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 阅读 A Critique of ANSI SQL Isolation Levels
目录ANSI隔离级别定义锁与异常场景快照隔离SI(Snapshot Isolation)总结ANSI隔离级别定义文章主要是对ANSI SQL的隔离级别进行补充。在进行补充之前的,分别给出了脏读(A1,P1),不可重复读(A2,P2),幻读(A3,P3)的读写序列化定义,大概知道是定义了上面三种异常场景即可。A1: w1[x]...r2[x]...(a1 and c2 in either order) (Dirty Read)A2: r1[x]...w2
2021-11-08 11:17:52 259
原创 阅读 The Design of a Practical System for Fault-Tolerant Virtual Machines
这篇文章介绍了VMware容错虚拟机的设计。之前看到的GFS是应用级别的分布式应用,而VMware FT是基于机器级别(虚拟机)的复制。基本配置如下,主从服务器之间通过Logging channel来进行同步,使用的是共享存储。文章提到,backup server是不会对存储进行读操作的。这里的backup server完全可以理解为是一个灾备服务器。logging channellogging channel主要用于primary backup同步的日志传输。对于非确定型的事件(中断)或者
2021-02-10 18:17:16 236 1
原创 google file system
网上有不少很好的翻译,本篇文章不再逐字逐句翻译,简单整理一下文章的内容。都说经典的文章的,过段时日回头看看,会有不一样的感受。先留个坑吧。1.基本交互流程上图对应的执行步骤如下:1)client根据给定的文件以及offset向master发起请求,请求从master获取相关信息,如持有租约的数据集,以及数据集的位置。如果暂时没有数据集获得租约,master就进行授权,确定一个持有租约数据集。对于一个chunk,gfs上保存有多份的副本。所谓租约,相当于一个主节点的凭证。是指在对一个chunk进
2021-02-07 21:39:41 187
原创 Finding Tenuous Groups in Social Networks - 2018
概述这是18年关于社区稀疏子图的一篇文章。文章指出,以k-line作为核心的指标,提出了KMLA算法来衡量图的稀疏程度。文章与MKTG1的方法进行对比(见之前分享过的文章On Finding Socially Tenuous Groups for Online Social Networks),认为本文提出的方法,在某些场景上找到更好的稀疏子图,同时有着更好的效率。1)结果的稀疏程度比较文章提出了上面这样一个场景,并认为节点1和2,根据MKTG的方法,可能存在最终的稀疏子图中包含了节点1和节点2的可
2021-01-19 14:39:30 229 1
原创 On Finding Socially Tenuous Groups for Online Social Networks - 2017
概述比起以往关于社区搜索寻找稠密子图不同,本文聚焦在寻找带有N个节点的稀疏子图。1)问题定义:给定一个图,从社区中找到至少有N个节点的,互不相连的,拥有最小的Δk(F)∣F∣\frac{\Delta _k(F)}{|F|}∣F∣Δk(F)的子图。其中|F|是子图包含节点数量,Δk(F)\Delta _k(F)Δk(F)代表F中k-triangle数量。2)衡量指标:Δk(F)∣F∣\frac{\Delta _k(F)}{|F|}∣F∣Δk(F)3)算法:TERA,TERA-ADV算法介绍
2021-01-17 21:42:10 178 2
原创 MIT6.824 - lab1
MIT6.824 - lab1关于lab1,网上也不少的资料了。这里简单地描述一下流程。需要完成的主要有下面几个部分:1)master初始化任务,两种任务是不互相干扰的,只是有前后关系,所以启动就可以将任务加载放入到mapTaskWaittingChan和reduceTaskWaittingChan。chan本身是并发安全,较为方便。2)master监听从worker的请求分发任务:如果mapTaskWaittingChan非空,分发mapTask;如果map任务全部完成,reduceTask
2020-12-16 11:01:01 237 2
原创 MIT6.824 - 环境配置wls+vscode+go
环境配置目前是wls+vscode+go的环境来做这个实验。vscode的remote explorer还是挺好的,能够跨操作系统访问,算是比较舒服。一开始还是比较头疼,不知道如何配置调试,比较麻烦。google了下,算是找到方法。vscode下Ctrl+Shift+p,检索下remote setting,如下配置一下即可。{ "go.gopath": "/home/test/go", "go.goroot": "/usr/lib/go-1.13", "go.formatT
2020-12-11 15:11:09 1474
原创 N皇后问题随机搜索(线性冲突检测)
N皇后问题随机搜索(线性冲突检测)问题:对于N皇后问题,可以通过回溯法来进行求解,能够找到所有的可行解。随着规模的增大,可以通过随机搜索的方式来快速地获得一个可行的解。随机搜索的过程中,通过皇后之间的冲突数来衡量结果的好坏。从第一行开始,每个皇后轮询地和后续的皇后进行检查,看是否存在冲突,时间复杂度为O(n^2)。随着时间上升,冲突计算部分是明显的瓶颈。可以通过其他方法将冲突计算时间复杂度优化为O(n)。网上的方法,现成的代码也不少。但似乎没有太细致地说这件事情,因此有了本文。简单地说一说,希望能够
2020-12-07 11:23:55 663
原创 MIT 6.828: Homework:shell
主要实现的是三个部分的功能,命令执行,重定向,管道。1)命令执行: case ' ': ecmd = (struct execcmd*)cmd; if(ecmd->argv[0] == 0) _exit(0); if (access(ecmd->argv[0], F_OK) == 0) execv(ecmd->a
2020-10-30 19:10:41 737
原创 最优二叉搜索树
最优二叉搜索树问题:给出一系列节点,以及虚节点(不在树中的数值区间)的概率,确定一个平均查找路径最短的二叉搜索树。1)最优子结构说明这问题之前,先引入一些符号的说明:aia_iai代表失败节点发生的概率bib_ibi代表节点发生的概率T(i,j)T(i,j)T(i,j)是由节点ai−1a_{i-1}ai−1,aia_{i}ai,bib_{i}bi,…aja_{j}aj,bjb_{j}bj构成的查找树假设一棵二叉查找树的最优查找树为T(i,j)T(i,j)T(i,j),对应的,最
2020-10-24 17:46:09 574
原创 MIT 6.828环境初始化
知乎上看到一篇文章1,介绍了MIT这门课,而近期有意提升下工程能力,就开始学起来。具体的步骤还是按照课程的说明来,已经非常详细了,见文章。2介绍下环境:1)虚拟机:VirtualBox-6.1.14 官网32)OS :ubuntu-18.04.5-live-server 官网4make编译时候需要实现export一下环境变量,否则在编译gcc时候出现找不到刚编译的lib而产生报错。export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib (如果
2020-09-28 19:36:13 234
原创 拜占庭将军问题OM算法详解(m=1,m=2)
拜占庭问题OM算法介绍关于OM算法的讨论,并没有太深入,网上能看到比较多m=1的情况,对于m>1的情况,并没有过多的介绍。在一开始,对m=2的情况进行推演的时候,遇到了较多的问题。网上,有些方法,可能还和OM算法的描述对应不上。本篇文章,主要就是对m=1,2的情况进行介绍,并借此,OM算法结合作者描述,说明清楚。OM算法OM算法,即oral messages algorithm,是为了解决在拜占庭将军问题中,达成一致的算法。如果拜占庭将军问题当中,最多有m个叛徒,则将军总数n>=3m+
2020-09-18 23:16:31 3561 6
原创 【转载】我是一名技术总监,被技术选型给埋坑里了
着实看乐了,特别喜欢这种风格的文章,饱经岁月“摧残”,保持本色,老外这种性格上的好玩,乐观,确实非常有意思。当然,和生存环境也是相关。看到印着马斯克的innovation tokens,真的乐了。译文地址:https://mp.weixin.qq.com/s?__biz=MzI4NTA1MDEwNg==&mid=2650796070&idx=1&sn=728eb514dbccdcac3830be6ba0be7554&chksm=f3f945b3c48ec.
2020-09-12 11:36:39 111
原创 二阶段提交(2PC),三阶段提交(3PC)
2PC2PC,也就是两段提交:1)第一阶段参与值接收到开始事务的请求之后,返回accept或者abort,如果返回accept,就预先执行事务,并记录相关的日志和undo。2)第二阶段coordinator发起commit,participant接受后返回commit或者abort。3PC3PC,是三段提交:1)第一阶段接受到开始事务的请求之后,根据particip
2017-10-22 00:21:27 972
原创 mysql copy to tmp on disk
对于Mysql,show processlist的时候,能够发现有些进程处于copy to tmp on disk的过程当中。在这里就,记录一下与临时表相关的内容。1)临时表相关参数可以看到参数当中与tmp相关的参数主要有这么三个,created_tmp_disk_tables, created_tmp_files, created_tmp_tables。creat
2017-06-11 22:33:28 424
原创 开始
学一样东西是一回事,说出来是或许就没那么容易,说出来让不懂的人听懂,是一门艺术。乐于分享,才有进步。自己是个比较懒于分享,懒于写文件记录些事情的,但是,开始了这个博客,名为分享,实则激烈一下自己。希望,一段时间回过头来,博文不太少,不太落寞。
2017-06-11 22:02:45 168
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人