论真正教授计算机科学的残酷性

2024-08-20

这篇文章探讨了计算机作为一种根本性新事物的残酷性。作者Edsger W. Dijkstra认为,计算机科学需要一种全新的思维方式,而传统的类比和隐喻方法已经过时。他批评了软件工程领域普遍存在的对渐进式变革的迷信,以及将程序视为类似于其他设备的错误类比。Dijkstra主张采用形式化方法,将程序视为数学公式,并通过数学证明来验证其正确性。他还对人工智能将人类思维拟人化的做法表示怀疑,认为这是一种掩盖计算机真正力量的尝试。

阅读更多
未分类

内存一致性模型教程

2024-05-14

本文介绍了内存一致性模型,它定义了并行线程如何观察其共享内存状态。文章首先解释了顺序一致性模型,该模型要求所有线程以相同的顺序看到内存操作,但由于效率低下,现代架构采用了放松的内存模型,例如总存储排序(TSO)。TSO允许使用存储缓冲区来隐藏写延迟,但这会导致程序员意想不到的行为。文章还讨论了语言级内存模型,以及编译器优化如何影响程序行为。最后强调了数据竞争和同步的重要性,并建议使用同步库来处理内存排序问题。

阅读更多
未分类 内存一致性