EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

This is my blog.

考虑一个系统使用混合逻辑时钟 HLC 实现因果一致性。每个节点维护一个数据,事务使用 2PC 保证原子提交。每个事务有开始时间戳 $T.sts$、准备时间戳 $T.pts$ 提交时间戳 $T.cts$。

考虑只有三个事务执行: $$ T_1={W(x,1),W(z,1)}\ T_2={R(x,1), W(y,2)}\ T_3={R(x,1), R(y,2), R(z,_)} $$ 根据上述条件,推测 $T_3$ 读到的 $z$ 必是 1 而不能是初始值。

由于存在这样的情况:节点 $z$ 上,$T_1$ 进入准备阶段但还未收到协调者的提交信息,收到了 $T_3$ 的读请求并返回了初始值 $z=0$。虽然客观上有 $T_1.pts \le T_1.cts < T_3.sts$,但是由于节点 $z$ 还未收到协调者的提交信息,因此节点上只有 $T_1.pts < T_3.sts$,此时应该阻塞 $T_3$ 的读直到 $T_1$ 提交。

下面的公理描述了因果一致性(CC)和前缀一致性(PC),其中 VIS 表示可见关系,AR 是全局仲裁序。 [ TransVis(T) \equiv; & \forall T', S \in \T.;T' \rel{\VIS} S \land S \rel{\VIS} T \implies T' \rel{\VIS} T. \
Prefixaxiom(T) \equiv; & \forall T', S \in \T.; T' \rel{\AR} S \land S \rel{\VIS} T \implies T' \rel{\VIS} T ] 我们已经知道,HLC 实现的是 CC 而非 PC。考虑如下的 long fork 异常,这是在 CC 下允许而 PC 下不允许的,请结合 HLC 的实现解释 CC 为什么会产生这样的异常。 [ T_1={W(x,1)}\ T_2={W(y,2)}\ T_3={R(x,1), R(y,0)}\ T_4={R(x,0), R(y,2)}\ ]

阅读全文 »

生平和基本思想

让·皮亚杰

让·皮亚杰(Jean Piaget,1896-1980),从小喜爱软体动物,后来进入大学研习生物学;

1918 年,24 岁时,在纳特沙尔大学获得自然科学博士学位,论文是《阿尔卑斯山的软体动物》。

皮亚杰在求学时代就勤奋好学,博览群书,博学精思,对哲学、逻辑学、心理学发生浓厚的兴趣。

阅读全文 »

为什么学习哲学

解决生活问题的需要。在生活中,人们会遇到很多问题,引发我们的思考。实践和行动的前提是理解,而理解就需要学习。

学习哲学是一种生活的需要——理解。理解自我,理解生活,理解我们生活于其中的这个世界。哲学在加深我们的理解方面能够提供有效的帮助。

冯友兰讲,哲学是对人生有系统的反思,这种反思是对自我、对生活和世界深入理解的结果。学习哲学就可以帮我们加深理解。

学习哲学有助于我们健全自我意识(克服精神空虚)、树立完整的世界观、掌握科学的方法论。

阅读全文 »