青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

教父的告白
一切都是紙老虎
posts - 82,  comments - 7,  trackbacks - 0

http://shiningray.cn/some-facts-about-erlang-and-smp.html

原文:http://groups.google.com/group/erlang-questions/browse_thread/thread/7827f5e32681ca8e

by.Kenneth Erlang/OTP team, Ericsson
譯:ShiningRay

 

以下是一些Erlang SMP實現的細節和與性能與伸縮性相關一些簡單介紹。

幾周之內還有有一個關于多核如何運作以及未來如何發展的更詳細的介紹。我打算將一些內容放在我的報告中,將于9月27日的ICFP2008,Erlang Workshop在Victoria BC展示給大家。

沒有SMP支持的Erlang VM只有1個運行在主處理線程中的調度器。該調度器從運行隊列(run-queue)中取出可以運行的Erlang進程以及IO任務,而且因為只有一個線程訪問他們所以無須鎖定任何數據。

而帶有SMP支持的Erlang VM可以有一個或多個調度器,每個運行在一個線程中。調度器從同一個公共運行隊列中取出可運行的Erlang進程和IO任務。在SMP VM中所有的共享數據結構都會由鎖進行保護,運行隊列就是這樣一個由鎖保護的數據結構。

從OTP R12B開始,如果操作系統報告有多于1個的CPU(或者核心)VM的SMP版本會自動啟動,并且根據CPU或者核心的數量啟動同樣數量的調度器。

你可以從“erl”命令打印出來的第一行看到它選擇了哪些參數。例如:


Erlang (BEAM) emulator version 5.6.4 [source] [smp:4] [asynch-threads:0] …..
其中“[smp:4]”表示SMP VM運行了4個調度器。

默認值可以用“-smp [enable|disable|auto]”來替換,auto是默認的。如果smp被啟用了(-smp enable),要設置調度器的數量可以使用“+S Number”其中Number是調度器的數量(1到1024)

注意1:運行多于CPU或核心總數的調度器不會有任何提升。

注意2:在某些操作系統中一個進程可使用的CPU或者核心的數量可以被限制。例如,在Linux中,命令“taskset”就可以實現這個功能。 Erlang VM目前還只能探測CPU或者核心的總數,不會考慮“taskset”所設置的掩碼。正因如此,例如可能會出現(已經出現過了)即使Erlang VM運行了4個調度器,也只使用了2個核心。OS會進行限制因為它要考慮“taskset”所設置的掩碼。

每個Erlang VM的調度器都運行于一個OS線程上,是OS來決定線程是否執行在不同的核心上。一般來說OS會很好地處理這個問題并且會保證線程在執行期間運行于同一個核心上。

Erlang進程會被不同的調度器運行,因為他們是從一個公共運行隊列中被取出,由首先可用的調度器運行。

性能和伸縮性

只有一個調度器的SMP VM要比非SMP的VM稍微慢那么一點點。SMP VM內部需要用到各種鎖,不過只要不存在鎖的爭用,那么由鎖引起的開銷不會非常大(就是鎖爭用上面需要花時間)。這也解釋了為何在某些情況下,運行多個只有一個調度器的SMP VM要比包含多個調度器的單一SMP VM更加高效。當然運行多個VM要求應用可以按照多個并行任務的方式運行并且之間沒有或者幾乎不通訊。

一個程序是否能在多核上的SMP VM中良好地進行提升很大程度上取決于程序的性質,某些程序可以保持線性提升至8核甚至16核,同時其他某些程序基本不能提升,連2核都不行。實際應用中很多程序都能在主流市場的核心數上得到提升,見下文。

若并行的持續“通話”由每個核心一個或多個Erlang進程來表示,實際的支持大量通話的電信產品已經先現出在雙核和四核處理器上不俗的伸縮性。注意,這些產品是在SMP VM和多核處理器出現很久以前按照普通的Erlang風格來寫的,他們也能無須任何修改甚至不需重新編譯代碼就能從Erlang SMP VM中獲益。

SMP性能得到持續改進

SMP實現正被不斷改進以便能得到更好的性能和伸縮性。在每個服務發布版R12B-1,2,3,4,5…,R13B等等中,你都能發現新的優化。

一些已知的瓶頸

單一的常見運行隊列隨著CPU或核心的數量的增加會成為一個顯著的瓶頸。

這從4核開始往上就會顯現出來,不過4核仍然可以為多數應用程序提供不錯的性能。我們正在從事一個每個調度器一個運行隊列的解決方法作為目前最重要的改進。

Ets表格會引入鎖。在R12B-4之前在每次對一個ets-table的訪問中會用到兩個鎖,但是在R12B-4中meta-table的鎖被優化過,可以顯著減少爭用(前面已經提到爭用是有很大代價的)。如果很多Erlang進程訪問同一個表格,就會有很多鎖爭用造成性能降低尤其當這些進程主要工作是訪問ets-table。鎖存在于表級而非記錄級。注意!這也會影響到Mnesia因為Mnesia用到了很多ets-table。

我們關于SMP的策略

當我們開始實現SMP VM的最初,我們就確定了策略:“首先讓它可以運行,然后測量,然后優化”。自從2006年五月我們發布了第一個穩定的SMP VM(R11B)以來,我們一直遵循著這個策略。

還有更多已知的東西可以改進,我們會按照性能的收益大小先后各個擊破。

我們將主要的精力放在多核(大于4)上更好的連續伸縮性上。

卓越典范

即使SMP系統有還有一些已知的瓶頸不過已經有不錯的整體性能和伸縮性,同時我相信在讓程序員利用多核機器事半功倍方面,我們是一個卓越的典范。

posted on 2009-09-24 22:23 暗夜教父 閱讀(613) 評論(0)  編輯 收藏 引用 所屬分類: erlang

<2009年9月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久免费| 亚洲性线免费观看视频成熟| 欧美在线视频a| 亚洲久久视频| 亚洲高清成人| 夜夜嗨一区二区三区| 国内精品久久国产| 国产片一区二区| 国产精品毛片a∨一区二区三区|国 | 国产美女精品一区二区三区| 欧美激情视频一区二区三区不卡| 久久久久国产免费免费| 久久丁香综合五月国产三级网站| 亚洲欧美国产精品专区久久| 老司机久久99久久精品播放免费| 欧美亚洲系列| 久久九九久久九九| 巨乳诱惑日韩免费av| 玖玖玖免费嫩草在线影院一区| 久久婷婷国产综合精品青草 | 久久国产精品久久久久久久久久| 久久国产精品亚洲77777| 欧美一区二视频| 免费中文字幕日韩欧美| 欧美性猛交xxxx乱大交蜜桃| 国模吧视频一区| 一本一本久久a久久精品综合妖精| 亚洲午夜小视频| 蜜臀va亚洲va欧美va天堂| aa亚洲婷婷| 免费91麻豆精品国产自产在线观看| 欧美午夜无遮挡| 亚洲黄色av一区| 久久黄色影院| 一区二区三区欧美| 欧美国产日本韩| 亚洲成人在线| 久久精品99无色码中文字幕| 亚洲精选视频免费看| 久久久成人精品| 国产欧美一区二区三区国产幕精品| 亚洲精品美女| 欧美xart系列高清| 久久久欧美精品| 国产日韩欧美在线一区| 一区二区三区精品国产| 欧美国产日韩一区| 久久久精品国产免大香伊| 国产女主播在线一区二区| 中文精品视频一区二区在线观看| 欧美大片免费久久精品三p| 欧美一区二区日韩一区二区| 国产精品高潮呻吟久久av黑人| 91久久精品国产91性色| 你懂的国产精品永久在线| 久久精品99国产精品| 国产日韩欧美综合一区| 午夜在线精品偷拍| 亚洲免费视频网站| 国产精品人人做人人爽 | 亚洲精品一线二线三线无人区| 美女精品自拍一二三四| 久久精品视频在线| 黑人中文字幕一区二区三区| 久久精品在线观看| 久久久综合精品| 亚洲国内高清视频| 亚洲精品精选| 欧美性大战久久久久久久| 亚洲一区欧美激情| 亚洲综合日韩| 一区二区视频免费完整版观看| 久久视频国产精品免费视频在线| 欧美亚洲综合在线| 激情综合久久| 亚洲精美视频| 国产精品久久7| 久久久久久亚洲精品杨幂换脸| 猛干欧美女孩| 欧美大片免费观看| 欧美精品偷拍| 欧美亚洲综合另类| 久久精品官网| 亚洲精品久久久久久久久久久| 亚洲黄色天堂| 国产九色精品成人porny| 久久精品一区| 欧美精品一区二区蜜臀亚洲| 亚洲午夜激情| 久久久久久久久一区二区| 亚洲激情婷婷| 亚洲影院一区| 亚洲高清视频的网址| 亚洲韩国青草视频| 国产日韩欧美在线| 亚洲肉体裸体xxxx137| 国产精品国产三级国产a| 久久精品亚洲一区二区| 欧美国产综合一区二区| 午夜欧美大尺度福利影院在线看| 久久精品理论片| 中文精品视频| 另类尿喷潮videofree| 亚洲欧美日韩国产中文| 免费亚洲电影| 久久精品电影| 欧美日韩亚洲一区三区| 欧美成人国产va精品日本一级| 欧美视频导航| 欧美国产精品日韩| 国产日本欧美一区二区三区| 91久久国产综合久久蜜月精品| 国产色产综合产在线视频| 亚洲精品免费在线| 在线看日韩av| aa级大片欧美三级| 久久xxxx| 欧美综合二区| 欧美日韩视频在线一区二区观看视频 | 国产精品久久久久秋霞鲁丝| 欧美高清视频一区二区| 国产午夜精品麻豆| 99精品国产高清一区二区| 永久91嫩草亚洲精品人人| 亚洲免费网址| 亚洲欧美日韩爽爽影院| 欧美日韩ab片| 亚洲日本在线观看| 亚洲三级色网| 欧美大片第1页| 欧美大片一区| 91久久午夜| 欧美大片在线看| 亚洲国产精品99久久久久久久久| 樱桃视频在线观看一区| 香蕉成人伊视频在线观看| 亚洲欧美日韩国产综合| 国产精品国色综合久久| 亚洲性夜色噜噜噜7777| 亚洲综合不卡| 国产精品v欧美精品v日本精品动漫| 伊人夜夜躁av伊人久久| 欧美一区二区三区在线观看 | 欧美一区二区三区久久精品茉莉花 | 久久综合色婷婷| 国内一区二区三区| 久久天天躁狠狠躁夜夜爽蜜月| 老色批av在线精品| 亚洲黄色天堂| 欧美激情亚洲自拍| 亚洲精品激情| 亚洲欧美日韩人成在线播放| 国产日韩欧美综合精品| 久久亚洲综合色| 亚洲欧洲精品天堂一级| 亚洲图片欧美午夜| 国产麻豆精品theporn| 久久精品二区三区| 亚洲国产精品嫩草影院| 一区二区不卡在线视频 午夜欧美不卡在| 欧美高清在线播放| 亚洲一区二区三| 开心色5月久久精品| 亚洲精品乱码久久久久久黑人| 欧美人与禽猛交乱配视频| 亚洲女性喷水在线观看一区| 鲁大师成人一区二区三区| 99国产麻豆精品| 国产日韩精品一区二区浪潮av| 久久午夜羞羞影院免费观看| 亚洲三级免费| 久久久久看片| 亚洲在线一区二区| 黄色成人在线网站| 欧美日韩不卡| 久久久福利视频| 亚洲视频www| 亚洲福利视频二区| 欧美亚洲视频一区二区| 亚洲三级色网| 黄色综合网站| 国产精品a久久久久| 嫩模写真一区二区三区三州| 亚洲综合社区| 亚洲精品在线免费观看视频| 久久久久国内| 亚洲欧美国产不卡| 亚洲精品永久免费| 影音先锋另类| 国产亚洲人成a一在线v站| 欧美日韩情趣电影| 男女视频一区二区| 久久久噜久噜久久综合| 亚洲欧美日韩中文视频| 亚洲美女毛片| 91久久黄色| 亚洲黄色三级| 亚洲经典三级| 亚洲人体影院| 亚洲激情电影在线|