向多核的转变是不可避免的。要让C和Java的遗留代码并行化是非常困难的,而调试并行化的C和Java则更难……那么有没有其他更好的选择呢?
Erlang的并发模式——不同进程之间不通过共享内存而是通过消息传递来通信——可以很自然地转换到多核处理器,而且这对于程序员而言大部分都是透明的,这确保了你可以在更强大的硬件上运行Erlang进程,而无须重新设计它们。
Erlang首次关于对称多处理(Symmetric multiprocessing,SMP)实验性的支持的研发始于20世纪90年代末,它现在已经成为标准发布中的一个组成部分。爱立信的Erlang/OTP开发团队的想法是运行SMP,测试其性能,然后找出瓶颈并优化。自从Erlang的第一个SMP功能版本发布之后,这一直是他们所坚持的工作方式。在最近发布版本中,虚拟机模型已经从一个单一的运行队列(进程可能运行在不同的处理器上),发展到在每个处理器上运行一个队列,这确保了运行队列不再是一个系统瓶颈,如图1-3所示。随着越来越多的复杂处理器的出现,运行时系统将与它们一起发展。
Erlang编程指南——Erlang和多核
书名: Erlang编程指南
作者:
出版社: 机械工业出版社
原作名: Erlang Programming
译者: 慕尼黑Isar工作组 | Simon Thompson
出版年: 2011-3
页数: 444
定价: 79.00元
装帧: 平装
ISBN: 9787111303251