工程
文章平均质量分 51
rsy56640
学生
展开
-
Non-Volatile Memory Database Management Systems 读书笔记
Non-Volatile Memory Database Management Systems 读书笔记 正在进行中原创 2020-06-27 14:27:58 · 2802 阅读 · 0 评论 -
Transaction Processing on Modern Hardware 读书笔记
Transaction Processing on Modern Hardware 读书笔记 正在进行中原创 2020-06-27 14:27:25 · 1938 阅读 · 0 评论 -
Processor Microarchitecture an Implementation Perspective 读书笔记
转到 Processor Microarchitecture an Implementation Perspective 读书笔记原创 2020-05-31 13:56:20 · 1895 阅读 · 0 评论 -
Perfbook 阅读笔记(持续更新)
https://github.com/rsy56640/triviality/tree/master/content/perf-book原创 2019-12-15 11:58:04 · 3926 阅读 · 0 评论 -
Rethinking Multi-Master Database with Poset Logging
有了一些初步的想法,但是现在先不急着给出方案。。。关键我也不知道能不能成本文可能更新若干年,也有可能鸽了原创 2019-12-14 22:56:35 · 1382 阅读 · 0 评论 -
The Chubby lock service for loosely-coupled distributed systems 论文阅读笔记
The Chubby lock service for loosely-coupled distributed systems 论文阅读笔记特点:高可靠、高可用、粗粒度锁服务、小文件存储主要用于高可用的集群配置管理和系统元数据GFS:使用 Chubby lock 任命 master serverBigtable选举 mastermaster 轮询获得下面的 serverclien...原创 2019-05-02 22:06:11 · 3908 阅读 · 0 评论 -
Spanner 论文阅读笔记
Spanner: Google’s globally-distributed database 论文阅读笔记重点就是如何用 TrueTime 做 MVCC介绍分布式多版本数据库:(key, timestamp) -> row外部一致性:第一个事务提交后,第二个事务开始,那么第二个事务提交时间戳一定大于第一个事务提交时间戳实现placement driver:定期与 s...原创 2019-04-27 22:53:35 · 1889 阅读 · 0 评论 -
Bigtable 论文阅读笔记
Bigtable: a distributed storage system for structured data 论文阅读笔记数据模型(row: string, column: string, timestamp: int64) -> string对 row 的单个操作是原子的,将 row 按照 key 排序,一个 row range 作为一个 tablet,即若干个 SSTabl...原创 2019-04-22 23:12:22 · 609 阅读 · 0 评论 -
ZooKeeper: wait-free coordination for internet-scale systems 论文阅读笔记
ZooKeeper: wait-free coordination for internet-scale systems 论文阅读笔记有些表述绕来绕去,似乎也没什么内容个人感觉就2点:leader 把写请求转换成幂等的写事务leader 广播写事务的通道是 FIFO 的特征client 请求(大多是读)对同一 client 的请求是 FIFO 执行的写请求由 leade...原创 2019-04-26 14:42:10 · 846 阅读 · 0 评论 -
Spinnaker 论文阅读笔记
Using Paxos to build a scalable, consistent, and highly available datastore 阅读笔记简介所有 server 都在一个 data center,Network Partition 比较罕见,所以选择 CA 模型按 key 分区(shard),每一个 key range 有3个副本,放到3个 server 上提供 k...原创 2019-04-22 10:07:44 · 527 阅读 · 0 评论 -
mit6.824 Lab2: Raft
项目地址:https://github.com/rsy56640/Distributed_System_Learning/tree/master/MIT6.824/1st_learningLab 2A: Raft leader election代码可以在 commit 记录中找到说实话体验不是很好,我看网上很多人到 lab2就不做了,之前以为是有难度,但其实不然。主要问题在于,它给了 c...原创 2019-04-18 23:26:19 · 1372 阅读 · 0 评论 -
Percolator 论文阅读笔记
Large-scale incremental processing using distributed transactions and notifications 论文阅读笔记主要有2点:事务提交细节(lock列,write列),相当于用 SI+锁 实现一致性(注意 Write Skew)2PC 细节,故障恢复需求:海量数据,随机读写,跨行事务(强一致性),高吞吐量,延迟无所谓为...原创 2019-05-19 15:16:33 · 2922 阅读 · 0 评论 -
Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask 笔记
Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask 论文阅读笔记看了 Ref[1] 和 Ref[2],基本就差不多了Vectorization:materialization 开销,可以利用 SIMD 并行数据操作,最好是 column store...原创 2019-05-16 23:56:29 · 3218 阅读 · 0 评论 -
Vectorization vs. Compilation in Query Execution 论文阅读笔记
Vectorization vs. Compilation in Query Execution 论文阅读笔记ProjectionVectorization对于复杂表达式,会产生很多中间列,多余的 load/storeCompilation直接把复杂表达式写成一条,无需按表达式树执行,并且省去了多余的 load/storeSelection (conjunctive)通常 branc...原创 2019-05-31 13:04:27 · 2330 阅读 · 0 评论 -
An Empirical Evaluation of In-Memory Multi-Version Concurrency Control 论文阅读笔记
An Empirical Evaluation of In-Memory Multi-Version Concurrency Control 论文阅读笔记Ref[1]中他讲了这篇论文名字的变化历程。。。上课笔记:03 Multi-Version Concurrency Control Design DecisionsConcurrency Control ProtocolVersio...原创 2019-06-12 21:27:40 · 3103 阅读 · 0 评论 -
Rethinking SIMD Vectorization for In-Memory Databases 论文阅读笔记
Rethinking SIMD Vectorization for In-Memory Databases 论文阅读笔记基本操作selective store将 vector lane 的一部分(根据 mask)写入连续内存selective load从连续内存读入到 vector lane 的一部分(根据 mask)selective gather从非连续内存(根据 index...原创 2019-06-09 00:04:20 · 2835 阅读 · 0 评论 -
Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems 论文阅读笔记
Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems 论文阅读笔记这是一篇好论文Serializable MVCC implementation不允许 write-write(CAS更新?),commit-ts 作为 serialization orderdelta s...原创 2019-06-15 23:54:52 · 2885 阅读 · 0 评论 -
Hybrid Garbage Collection for Multi-Version Concurrency Control in SAP HANA 论文阅读笔记
Hybrid Garbage Collection for Multi-Version Concurrency Control in SAP HANA 论文阅读笔记GC 的基本方法是把所有 commit-ts < 最小的 txn 的 version 回收(除了最后的)。但是 OLAP 会有 long-lived read txn,ts 比较小,在这个 read duration 中的 ve...原创 2019-06-16 23:21:15 · 1737 阅读 · 0 评论 -
最近在做的3件事
我发现一下子想学很多东西是不现实的。。于是就把精力放在几件事上了。最近主要干3件事:mit6.824学习记录:https://github.com/rsy56640/Distributed_System_Learning/tree/master/MIT6.824/1st_learning论文阅读:https://github.com/rsy56640/paper-reading/tre...原创 2019-04-08 23:13:58 · 299 阅读 · 0 评论 -
Effective Modern Cpp 学习笔记
大二的时候看这本书还是很晦涩。。。一年过去了,我看过的文章和帖子应该都有上千了,现在过一遍这本书表示纪念。分段不定期更新原创 2019-03-20 15:50:19 · 276 阅读 · 0 评论 -
Effective C++ 学习笔记
...................................................................................................................................................总结一哈子:(2018-2-8)虽然是05 06年左右的书,但是收获还是不少的,(而且经常随便查一下就把内...原创 2017-12-29 13:59:34 · 667 阅读 · 0 评论 -
RB_Tree 项目启动
目前的想法是: 1.理论看算法导论, 2.然后实践 \quad \quad i) 按照STL源码剖析来写, \quad \quad ii) 之后如果有时间再按照自己的风格写一个版本。。不过现在遇到了一些困难, 算导和STL上很多实现手法是不一样的,搞得我有点懵逼。。比如NIL 还有比如Alloc,还有iterator之类的目前还没搞出来。。 现在都有点想同时写两个版本了...原创 2018-03-24 10:55:59 · 152 阅读 · 0 评论 -
2018-3-31 关于最近某些工作的感想
最近两周的某一项工作就是把 线段树 不断地抽象,然后封装起来,并且逐步引入新的模式来提高效率。 这里稍作总结。 \quad \quad 一开始的版本: https://blog.csdn.net/rsy56640/article/details/79342325 \quad 没有泛型,不支持函数设置,只有区间求和查询,还有单点值修改的操作。 \quad \quad 稍微调...原创 2018-03-31 17:18:09 · 143 阅读 · 0 评论 -
红黑树总结
红黑树1:基本性质 https://blog.csdn.net/rsy56640/article/details/79647271红黑树2:旋转 https://blog.csdn.net/rsy56640/article/details/79647877红黑树3:插入 https://blog.csdn.net/rsy56640/article/details/79676868...原创 2018-04-10 00:04:30 · 184 阅读 · 0 评论 -
Eclipse install new software 失败 解决方案
这个东西烦我好久了。。。 一句话: 进入这个目录,看文件夹名称是否与自己eclipse安装路径名吻合,修改,成功 C:\Users\lenovo.p2\org.eclipse.equinox.p2.engine\profileRegistry...原创 2018-04-30 10:24:19 · 9167 阅读 · 6 评论 -
总结一下这个学期
这学期我个人的工作算是到此结束了,这里总结一下。之后就去准备期末的各种事宜了。这几个月以来对工程的兴趣可以说是从微不足道到乐在其中,起因是上个学期末开始看《Effective C++》,然后寒假又精读了一遍,对于底层系统和框架方面产生了极大的兴趣。之后又结合算法导论,把一些经典算法以工程化的手法封装成库,收获颇大。又看了《More Effective C++》、《深度探索C++对象模型》(...原创 2018-05-03 12:59:54 · 460 阅读 · 1 评论 -
写了个map;最近进度有点慢;
顺手把map封装了一下,感觉还有模有样的 https://github.com/rsy56640/rsy_little_lib/tree/master/library_for_algorithm/RB_Tree/map其中故意写了一个地方:ValueProxy,用来区分读和写, 当然这个是不需要的,我只是模拟一下《More Effective C++》Item 30 上面的手法。不过的...原创 2018-04-27 22:54:10 · 241 阅读 · 0 评论 -
Hash IN C
做了点微小的工作,回家两天全是水,之后要抓紧了。 把红黑树移植到了C语言上,另外发现之前写的 operator-- 有点问题。 Hash in C - github/rsy56640 在设计上又花费了一点心思,主要是 object ownership 和接口友好。 hash 的实现就是散列,桶里面放红黑树。...原创 2018-07-27 21:26:23 · 294 阅读 · 0 评论 -
Synchronized keyword in C++
参考资料:Exception Safety Analysis两个小trick:通过 INJECT_VARIABLE 注入静态 std::mutex利用 function try bolck 抛出 std::lock_guard&amp;amp;amp;lt;std::mutex&amp;amp;amp;gt; 进入 catch-block,也就是逻辑代码。实现:https://github.com/rsy56640/dai...原创 2018-08-25 22:48:01 · 458 阅读 · 0 评论 -
关于实现红黑树的一些总结
https://github.com/rsy56640/rsy_little_lib/tree/master/library_for_algorithm/RB_Tree一开始是打算照着 STL 写的,结果发现一个尴尬的情况: 没有allocator,std_config.h,iterator,所以这个 RBTREE1 就搁置了。后来 开始搞 RBTREE2 ,又碰到了一个很麻烦的问题。 ...原创 2018-04-09 23:57:29 · 174 阅读 · 0 评论 -
SkipList
SkipList实现,实现完感觉很蠢,具体见readme。原创 2018-09-07 18:03:24 · 183 阅读 · 0 评论 -
Trie
Trie实现,还行原创 2018-09-07 18:04:07 · 203 阅读 · 0 评论 -
解释器构造实验 - 1
https://github.com/rsy56640/Mini_C第一步是一个 词法分析器,不得不说一句: 黎总(好强!!)一高兴,把词法分析器一口气写完了。我主要就划水 。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚做法大概和传统差不多,读入char,然后尝试匹配,主要工作麻烦在 维护全局状态 和 一些错误信息处理上。...原创 2018-09-23 20:15:01 · 399 阅读 · 0 评论 -
SICP 第二章 学习笔记
至此,SICP 第二章 学习笔记 更新完毕。https://github.com/rsy56640/daily_learning/blob/master/SICP/README.md原创 2018-09-24 19:47:33 · 305 阅读 · 0 评论 -
Apriori 与 FPGrowth
应该是上周写的,补一下。Apriori算法流程:扫描 k项集 支持度去除那些少于最低支持度的项集如果数量少于两个,返回join,通过 1项集 和 k项集 生成 k+1项集Apriori.hFP-Growth流程是:排个序,剪枝生成一个 Trie,并用一个 table 记录每个结点的出现对于所有不同的 key,生成它的 条件FP树合成频繁项集递归终止条件: r...原创 2018-10-24 14:20:38 · 1186 阅读 · 0 评论 -
探究 “条件变量signal时是否需要持有mutex”
Waiting Processpthread_mutex_lock(&amp;amp;amp;amp;amp;amp;mutex);while (condition == FALSE) pthread_cond_wait(&amp;amp;amp;amp;amp;amp;cond, &amp;amp;amp;amp;amp;amp;mutex);pthread_mutex_unlock(&amp;amp;amp;amp;a原创 2018-12-11 12:43:21 · 645 阅读 · 0 评论 -
汇编作业
计算机接口与通信作业(汇编)访问 github 时请在 url 后加上 ?ts=4 使得 tab 表示 4 个空格。1. 求100以内所有质数注意到若 nnn 不是质数,则 ∃q≤n,s.t.&amp;nbsp;q∣n\exist q\le \sqrt{n},\quad s.t.\ q|n∃q≤n,s.t.&amp;nbsp;q∣n,所以写了一个简易的计算 int(n)int(\sqrt{n})int...原创 2018-12-24 21:05:05 · 448 阅读 · 0 评论