| 查看: 552 | 回复: 4 | |||
| 当前主题已经存档。 | |||
yalefield金虫 (文坛精英)
老汉一枚
|
[交流]
【讨论】天赋异禀,返老还童--Erlang语言 [转载+评述]
|
||
|
Erlang:为了并发而生 20多年前,它的创建者们就已经意识到了这一问题,转而选择了一条与主流语言完全不同的路:采用消息模型,进程之间并不共享任何数据,因而也就完全地避免了引入锁的必要。 对于多核系统而言,完全无锁,也就意味着相同的代码在更多核心的CPU上会很容易具有更高的性能,而对于分布式系统,则意味着尽可能地避免了顺序瓶颈,可以把更多的机器无缝地加入到计算网络中来 就年龄而言,Erlang大约与Perl同年,比C++年轻四岁,长Java差不多十岁,但Java早已经是工业主流语言,C++和Perl甚至已经进入其生命周期的下降阶段。照理说,一个被扔在角落里二十多载无人理睬的老家伙合理的命运就是坐以待毙,没想到Erlang却像是突然吃了返老还童丹似的在二十多岁的“高龄”又火了一把。 为什么呢? CPU的多核化与云计算 2005年,C++标准委员会主席Herb Sutter在Dr. Dobb’s Journal上发表《免费午餐已经结束》一文:如果未来不能有效地以并行化的软件充分利用并行化的硬件资源,我们的计算效率就会永远停滞在仅仅略高于当前的水平上,而不得动弹。因此,未来的计算必然是并行的。 Herb Sutter本人曾表示,如果一个语言不能够以优雅可靠的方式处理并行计算的问题,那它就失去了在21世纪的生存权。 “主流语言”当然不想真的丧失掉这个生存权,于是纷纷以不同的方式解决并行计算的问题。 C/C++:除了标准委员会致力于以标准库的方式来提供并行计算库之外,标准化的OpenMP和 MPI,以及Intel的Threading Building Blocks库也都是可信赖的解决方案; Java:在5.0版中引入了意义重大的concurrency库,得到Java社区的一致推崇; 微软:先是在.NET中引入APM,随后又在Robotics Studio中提供了CCR库,最近又发布了Parrallel FX和MPI.NET,可谓不遗余力。 亡羊补牢! 因为这些语言和基础设施在创造时都没有把并行化的问题放到优先的位置来考虑。 与它们相反,Erlang从其构思的时候起,就把“并行”放到了中心位置,其语言机制和细节的设计无不从并行角度出发和考虑,并且在长达二十年的发展完善中不断成熟。今天,Erlang可以说是为数不多的天然适应多核的可靠计算环境,这不能不说是一种历史的机缘。 |
» 猜你喜欢
磺酰氟产物,毕不了业了!
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有16人回复
求个博导看看
已经有19人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
2楼2010-03-24 08:50:39
sondwall
铁杆木虫 (著名写手)
- 应助: 2 (幼儿园)
- 金币: 5393.6
- 散金: 3
- 红花: 7
- 帖子: 1723
- 在线: 351.7小时
- 虫号: 405109
- 注册: 2007-06-17
- 性别: GG
- 专业: 金属有机化学
3楼2010-03-24 09:15:51
holmescn
金虫 (正式写手)
- 程序强帖: 37
- 应助: 1 (幼儿园)
- 金币: 1918.8
- 散金: 275
- 红花: 1
- 帖子: 699
- 在线: 102.6小时
- 虫号: 913482
- 注册: 2009-11-26
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与讨论! 2010-03-26 16:30
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与讨论! 2010-03-26 16:30
|
这东西挖出来其实没什么用。Erlang的设计虽然是完全并行化的,但要命的是,它实现了一套自己的VM,线程控释方面都是自己在做,而于系统脱节。这虽然提供了强大的thin thread但牺牲了效率。已经有用Erlang实现的Web Server,测试表明,在并发性上没有比C有更大的优势。特别是在IO的时候。这个可以想象,因为C直接面对硬件,而Erlang则隔着一个中间层。 不过在一些大型的分布式环境中,Erlang的优势还是不小的。但在数值计算领域,我没有看到他的威力。 目前关注的另一个新兴语言是Google去年年底刚刚发布的Go-lang。这个同样原生支持并发的语言,号称在效率方面直逼C。 当然,已经发展多年的HPF也可能是数值领域的救世主。谁知道呢。未来真的很难说。 |
4楼2010-03-26 12:11:37
yalefield
金虫 (文坛精英)
老汉一枚
- 程序强帖: 3
- 应助: 129 (高中生)
- 贵宾: 0.17
- 金币: 21238.9
- 散金: 3440
- 红花: 66
- 帖子: 12101
- 在线: 759.1小时
- 虫号: 96063
- 注册: 2005-10-07
- 专业: 高等教育学
- 管辖: 计算模拟
5楼2010-03-26 12:44:31







回复此楼