自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 235 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 1468

原创 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 736

原创 最优二叉搜索树

最优二叉搜索树问题:给出一系列节点,以及虚节点(不在树中的数值区间)的概率,确定一个平均查找路径最短的二叉搜索树。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 570

原创 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 3559 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 971

原创 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

MagicDocking

C#实现VS2008等软件界面的子窗口(可浮动、停靠、自动隐藏)的功能 浮动窗口的示例代码,适合初学者学习!

2012-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除