“是什么意思?”;“现代计算机体系结构上共享内存的幻觉”;来自Akka演员文档?

“是什么意思?”;“现代计算机体系结构上共享内存的幻觉”;来自Akka演员文档?,akka,reactive-streams,actor-model,Akka,Reactive Streams,Actor Model,我从演员模型开始,在理解背后的概念时遇到了一些问题,请您用一个例子简单地解释一下。首先,让我们明确您所指的是什么。您引用的是从中讨论为什么需要新的编程模型。我之所以提到这一点,是因为这完全是计算机科学理论,与学习API没有直接关系。总的来说,我认为这是一个比较小的问题。 但是,文件的这一段已经给出了几个例子。本段的基本观点是,并发在现代系统上本质上是困难的,而传统的并发API通常会创建具有意外性能后果的抽象 具体来说,本段讨论了即使内存通过并发API“共享”,现代CPU体系结构的现实意味着并非所

我从演员模型开始,在理解背后的概念时遇到了一些问题,请您用一个例子简单地解释一下。

首先,让我们明确您所指的是什么。您引用的是从中讨论为什么需要新的编程模型。我之所以提到这一点,是因为这完全是计算机科学理论,与学习API没有直接关系。总的来说,我认为这是一个比较小的问题。

但是,文件的这一段已经给出了几个例子。本段的基本观点是,并发在现代系统上本质上是困难的,而传统的并发API通常会创建具有意外性能后果的抽象

具体来说,本段讨论了即使内存通过并发API“共享”,现代CPU体系结构的现实意味着并非所有访问都是平等的。如果一段数据由线程0创建并由线程1使用,那么CPU体系结构最终会使线程0上的数据无效,并将缓存线传送到线程1。i、 e.即使内存被标记为“共享”,每次不同的线程访问该内存时,实际上都会有显著的性能损失。“共享”内存模型是一种错觉,因为CPU需要维护各种缓存,这些缓存导致内存不是真正共享的,而是来回传递的(代价很大)


这只是开场白中的一个小问题,但它带来了参与者模型提供的并发性的一些好处。由于参与者具有对其状态的独占访问权,不仅API更简单(因为您不必担心并发性),而且物理CPU也不必担心并发性。这不仅不需要担心锁,而且CPU也不需要担心锁:它将能够访问内存,而不必在Physcal cores/CPU之间来回传递缓存线。

首先,让我们弄清楚您引用的是什么。您引用的是从中讨论为什么需要新的编程模型。我之所以提到这一点,是因为这完全是计算机科学理论,与学习API没有直接关系。总的来说,我认为这是一个比较小的问题。

但是,文件的这一段已经给出了几个例子。本段的基本观点是,并发在现代系统上本质上是困难的,而传统的并发API通常会创建具有意外性能后果的抽象

具体来说,本段讨论了即使内存通过并发API“共享”,现代CPU体系结构的现实意味着并非所有访问都是平等的。如果一段数据由线程0创建并由线程1使用,那么CPU体系结构最终会使线程0上的数据无效,并将缓存线传送到线程1。i、 e.即使内存被标记为“共享”,每次不同的线程访问该内存时,实际上都会有显著的性能损失。“共享”内存模型是一种错觉,因为CPU需要维护各种缓存,这些缓存导致内存不是真正共享的,而是来回传递的(代价很大)

这只是开场白中的一个小问题,但它带来了参与者模型提供的并发性的一些好处。由于参与者具有对其状态的独占访问权,不仅API更简单(因为您不必担心并发性),而且物理CPU也不必担心并发性。这不仅不用担心锁,CPU也不用担心锁:它将能够访问内存,而无需在Physcal cores/CPU之间来回传递缓存线