自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全世界只有我們Erlang程序員是正確的

開發(fā) 項(xiàng)目管理
全世界只有我們是正確的,其他的全錯(cuò)了。我們(Erlang程序員)找到了癥結(jié)并正確的解決了問題,所有的其他人(非Erlang人)都找錯(cuò)了方向,解決了錯(cuò)誤的問題。

多核處理器

 

全世界其他人想解決的問題是如何讓現(xiàn)存的程序能并行執(zhí)行。2004年之前,摩爾定律一直有效。每年我們的程序執(zhí)行都會(huì)變得更快,我們不需要成為一個(gè)優(yōu)秀的程序員,我們不需要掌握更優(yōu)化的算法就能讓程序一年比一年更快。

芯片越來越大,時(shí)鐘速度越來越快,程序運(yùn)行速度越來越快,每年大概以15%幅度的性能提升。

到了2004年,這些現(xiàn)象終止了。芯片已經(jīng)足夠大,時(shí)鐘的速率已經(jīng)快到在一個(gè)時(shí)鐘周期內(nèi)時(shí)鐘脈沖不能到達(dá)芯片的所有部分。電路設(shè)計(jì)開始改變。多核處理器出現(xiàn)。

從2004年開始,芯片的體積仍然在增大,但時(shí)鐘的速率開始變小,每個(gè)芯片上的CPU數(shù)量開始增加。我們從每一個(gè)芯片只有一個(gè)超級(jí)處理器的時(shí)代進(jìn)入到每個(gè)芯片有多個(gè)速度較慢、性能較弱的多核處理器時(shí)代。

由此開始,順序執(zhí)行的程序顯得越來越慢,一年慢過一年,而并行執(zhí)行的程序開始變得越來越快。

問題是,根本沒有并行執(zhí)行的程序,有也是極少。

而Erlang是一種具有并發(fā)特征的編程語言,所以Erlang程序本質(zhì)上在具有并行能力的計(jì)算機(jī)上運(yùn)行時(shí)要比其它程序都快的多。而唯一能阻擋它運(yùn)行的更快的問題就是Erlang程序中可能存在一些必須順序執(zhí)行的瓶頸。

并行程序中有需要順序執(zhí)行的部分,這正應(yīng)驗(yàn)了Amdahl定律。

假設(shè)你的程序中有10%是需要順序執(zhí)行的(其余部分可以并行),可以并行的部分的執(zhí)行時(shí)間可以壓縮近似0——只要有足夠的可以并行的處理器。但順序執(zhí)行部分的時(shí)間無法縮減。

如果程序中含有10%的需要順序執(zhí)行的代碼,你的程序執(zhí)行速度***能提高10倍。其中1/10的程序的速度永遠(yuǎn)無法提高,其它9/10的程序的執(zhí)行時(shí)間可以縮減至接近0。

所以,對(duì)于Erlang程序員來說,提高他們的程序的運(yùn)行速度的技巧就是找出代碼中需要順序執(zhí)行的部分。

而對(duì)于任何對(duì)于其他編寫順序執(zhí)行程序的程序員來說,提高他們程序速度的方法是找出他們程序中可以并行執(zhí)行的部分。

讓串行程序自動(dòng)并行化的征途鋪滿荊棘,無法走通。(并不完全是這樣,在某些特殊環(huán)境中是可以實(shí)現(xiàn)的,但絕非易事)。

現(xiàn)在的數(shù)據(jù)中心了都排滿了酷炫的新型計(jì)算機(jī),某些***的配置里擁有多達(dá)24核。但它們的性能呢?這些酷炫的新機(jī)器能快24倍嗎?

對(duì)某些程序來說是的,但對(duì)大多數(shù)程序來說不是。對(duì)大多數(shù)程序來說24個(gè)CPU中只有一個(gè)被利用。CPU的低利用率成了一個(gè)嚴(yán)重的問題。這點(diǎn)正印證了Alexander Gounares
Brilliant在Erlang factory談到的問題。

Alexander的演講讓我們隱約看到了未來。他開創(chuàng)concurix讓我們看到了未來的方向。他們正在開發(fā)工具能自動(dòng)找出Erlang代碼中需要順序執(zhí)行的瓶頸。

Concurix使用這些工具來發(fā)現(xiàn)Erlang虛擬機(jī)中的瓶頸,在他們的測(cè)試中顯示了驚人的結(jié)果。他們找到了一個(gè)圖片處理應(yīng)用中的瓶頸,它是zlib庫中的一個(gè)程序鎖,是用C寫成的。他們用Erlang重寫了它,用Erlang替換了C代碼。

這真是不可思議,C程序本應(yīng)更快,事實(shí)也是,但它卻有個(gè)同步鎖。Erlang程序相比之下要慢,但沒有狀態(tài)鎖,這賦予了它提升能力的機(jī)會(huì)。去掉了C代碼后,用Erlang寫成的圖片處理應(yīng)用比原始的C程序快了很多。

我很吃驚——驚奇于這樣的好東西的出現(xiàn)。

當(dāng)Alexander在Erlang factory的演講視頻出來之后,你們觀看時(shí)準(zhǔn)備好驚奇吧。這是未來,未來就在下周舊金山。

英文原文:Solving the wrong problem

譯文連接:http://www.aqee.net/erlang-solving-the-wrong-problem/

責(zé)任編輯:林師授 來源: 外刊IT評(píng)論
相關(guān)推薦

2022-07-20 16:57:18

程序員高薪職業(yè)

2020-05-11 08:36:21

程序員工作生活

2013-06-14 11:16:14

2024-07-15 09:06:51

2017-12-04 23:25:24

2013-03-07 09:12:41

巨型電腦云計(jì)算

2015-07-13 11:32:09

PHP程序員正確姿勢(shì)

2020-12-29 11:06:46

程序員技能開發(fā)者

2014-07-30 13:44:57

2015-08-11 09:18:44

程序員最好

2019-12-18 14:14:40

程序員存儲(chǔ)程序

2013-08-01 10:03:41

程序員

2014-11-28 09:45:35

程序員

2015-04-10 19:37:34

程序員

2014-10-15 10:49:27

程序員

2015-06-03 11:15:20

程序員真相

2011-04-26 10:00:23

C語言程序員

2015-08-12 14:39:47

程序員問題

2011-12-20 09:01:25

.NET

2012-09-06 10:30:58

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)