自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 问答 (5)
  • 收藏
  • 关注

原创 MIT 6.824 Lab2 Raft实现总结

前言本文的局限性在于,本文不完全按照论文(raft extended)实现,并以通过所有测试和自我满足为目的。在部分与论文不一致,或论文没有详细讨论的地方,我将以引用的格式来说明。文本并不详细论证Raft,即不按照领导选取(leader election)、日志复制(log replication)、安全(safety)展开,并且(暂时-2020/10/4)不讨论成员变化(membership changes)。本文将把这些部分融合起来,全面展示各个部分的状态变化。在实现Raft的时候,加锁是个难题,

2020-10-05 13:51:33 828

翻译 Lab2 汉化

前言仅供学习,转载请标明出处。有任何翻译上的问题欢迎评论和私聊。具体的实现思路会发布在另一篇文章中,本篇文章仅讨论翻译问题。原文:http://nil.csail.mit.edu/6.824/2020/labs/lab-raft.html课程详情:http://nil.csail.mit.edu/6.824/2020/schedule.html6.824 实验 2: Raft介绍这是一系列实验中的第一个实验,您将在这一系列实验中构建具有容错能力的key/value存储系统。首先,您将此实验中

2020-10-04 23:02:08 477 1

原创 MIT 6.824 Lab1 MapReduce实现思路

关键问题提供RPC接口,供worker调取文件(名)确保每个文件都被worker正确消费,如果worker过了10s还没消费掉这个文件,则将这个文件给别人消费在所有文件都被消费之后,通知每个worker结束任务应该避免任务重复执行,包括map任务和reduce任务master实现在所有的任务都被完成后,等待10s,给每个前来要任务的worker发送一个特殊的reply,通知他们退出程序。master需要实现一个RPC函数,这个函数要求上一次完成的工作,如果是第一次,则为nil。发请求

2020-10-04 23:00:31 288

原创 实现Raft时 对于加锁和避免死锁的思考

在用go实现raft之时,有众多的变量需要加锁,遇到了很多问题,以下为这些思考的总结考虑极端的两种情况为每个变量加锁优点省事:每个变量都有锁,各个变量的访问都很安全缺点性能差:访问和更改每个变量都需要加锁和解锁依旧有场景不能满足:有时候我们需要同时保护多个变量不被修改和读取,直到某个行为完全完成。整个大类使用一个变量优点省事:整个类的所有行为都串行执行,非常安全,也不会有死锁。缺点性能差:完全丧失多线程的性能提升,整个类的所有方法都不得不串行执行可能产生死锁:比如一

2020-10-04 22:59:05 386

原创 MySQL用自增主键和随机变量做主键插入性能实测,与理论完全相反,求解答!

先报测试环境:python 3.5 Flask 1.1.1 Flask-SQLAlchemy 2.4.0 MySQL 5.7.17 Linux Ubuntu 16.04.6 LTS测试方法概述通过flask创建了三个models类分别是主键为我给定的随机数的model,自增主键的model(创建了btree索...

2019-07-16 19:30:43 816

空空如也

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

TA关注的人

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