看到一則震驚的消息(關於cpu的)

999台要多少錢??多少空間??一個禮堂??

999核一台或99核十台會不會比較好一點??一般辦公室就放的下!!一般人也買的起!!


一台 intel server 可以有二到六十四顆 Xeon CPU

一台最普通算兩顆好了 一顆四核心 就是八核心了

一個機架櫃可以放10台 1 U 的SERVER 好了 ,那就是 80核心了

999/80 = 12.4875

一排放六個機架櫃 (三個機架櫃約一坪,預留前後空間各一坪,就是三坪/六個機架櫃要六坪/12個機架櫃要12坪)

那兩排機架櫃的空間就差不多了

兩排機架櫃二十坪 就非常多了 不用到大禮堂哦

要是你要一台server 四顆cpu 的 就只要一排(六個機架櫃) 就夠了 十坪大小

那要是你用IBM的刀峰伺服器呢 薄薄的一片的體積 五坪不到


國外的動畫公司都這樣玩的 但是他會用更多 六十四顆CPU的 UNIX SERVER來跑

SUN 的 SPARC CPU 現在已經做到單顆 八核 每個核心可以執行八個執行緒

所以一顆就可有六十四個執行緒一起跑

六十四顆cpu的就是 64 * 64 = 最多支援 4096 個執行緒同時在跑
arisaka wrote:
對於多核心CPU的未來,沒必要震不震驚的
會發展多核心,是一個必然趨勢
Intel很早就發現,時脈一直拉高
CPU燙得跟火爐一樣,外加高額的功率消耗,根本不是一條路
正確的說法是 P4 被 K8 狠K之後才有的覺悟。

如果當初沒有K8,現在散熱器製造商可能變成台灣另一個首富,可能叫做「黃台明」或者叫做「李台明」的。
◎幾天前有隻蛙呱呱呱(註:應是蛤蟆),吵,沒想到幾天後巷口有隻蛙乾,被車輾過死狀淒慘 ◎處世格言:「人不要臉,連鬼都怕」
這之中的箇中原理小弟才疏學淺所以聽不懂

但是我覺得低時脈的多核心CPU之所以能擊敗P4高時脈
是因為電腦開機之後通常是多個軟體要同時運作

當然
如果能在一個乾淨到只操作一個程式的環境下運作
那才是這篇所謂的變慢吧!
我倒覺得報導還滿有道理的,只是用比較誇張的方式在表達(台灣傳媒界的默契)
我想問題並不是有多少執行序要處理(電腦開著一堆執行序CPU使用率還不是0%),而是如何把一個真正需要去處理的執行序分給多個核心去處理,我想這應該是困難所在,把不相關的分開做很簡單,好比上面打掃的例子,一人掃地一人擦東西,但若同時做一件事,情況就不同,要相互溝通那裡做好了那還沒做,而且掃地還可以兩個各從不同邊掃到中間,但程式不可能從開端和末端同時運算,然後在中間會合,程式是有順序性的,就像車子打蠟,一定要洗完車才能打蠟,總不能邊洗車邊打蠟,這兩項工作後者有依賴前者的關係,這是我看完前面後所整理出的概念,非巷內者的愚見。
POWERED BY .\ /.
這有什麼好擔心的?

這樣子代表寫程式的都永遠都不會失業,因為有一堆的系統等著你翻新啊!

另外,這是上世紀就知道的問題...

就是199x年就被提出來討論過了!

免責聲明:本文所載資料僅供參考,以上都是玩笑話,不構成投資建議,本人對該資料或使用該資料所導致的結果概不承擔任何責任!
我看那篇報導... 只有看到一個重點... 寫程式的工作真的不是人幹的啊~

因為x86 CPU雖然能向下相容, 可是軟體設計人員總是想榨光效能...
而且寫軟體的軟體一直在演進... 搞到最後想要追上流行, 就要那時間. 金錢和肝來換
個體戶的話, 更要懂得自重....
工廠苦命人の沒力人生... Orz
樓主太緊張啦!!
Intel早就有對策, 如果您常用的軟體不支援多核心
CPU可以啟動Turbo mode, 也就是把其他核心關掉只留一個核心
當然時脈會以不超過原有的TDP下加到最高
所以這是問題嗎??
頭一次在政治文裡回與政治文無關文章被停權~~~~
PIII wrote:
我倒覺得報導還滿有道...(恕刪)


恩~我喜歡這個車打蠟的例子
剛好可以跟書上的多工處理方法做個說明

如果把一輛車子洗好再打蠟看作是一個程式(process)
車子相當於程式中的資料
洗好再打蠟就是程式中執行的演算法
用單工跟多工的情況來比擬的話
單工最簡單,就是一個人(一個核心)
先洗車-->洗完車擦乾-->擦乾後打蠟(一個執行緒)

多工的情況要考慮如何拆解這項工作
假設有三個人(三核心)負責這項工作
1. 資料平行化
把車子劃分成三區,每個人分別負責一區
同時進行 洗車-->擦乾-->打蠟
一個人可以看成執行一個執行緒
所以同時有三個執行緒在跑(一個核心一個)

2. 任務平行化
每個人負責不同的任務,一個洗車、一個擦乾、一個打蠟
然後同時對一步車子進行這項工作
咦?怪怪的吧!
沒錯,資料有相依性(不能先打蠟後洗車),最後車子會弄得亂七八糟的

3. pipelining(管線式平行) <--不太確定是不是這樣說
同樣是每人負責不同的任務,洗車、擦乾、打蠟
但是車子分成許多小區
第一個人先洗A區,第二、三人休息
A區洗好後,第二個人接手擦乾A區,第一個人去洗B區
B區洗好後,第二個人接手擦乾B區,第一個人去洗C區,第三個人打蠟A區
C區洗好後,第二個人接手擦乾C區,第一個人去洗D區,第三個人打蠟B區
...直到完成所有區域
這裡的洗車、擦乾、打蠟可以各看成一個執行緒
只有一開始跟最後會有執行緒休息(要等洗好的區域,或是等最後把蠟打好的時候)
大多數時候都是三個執行緒同時執行(一個核心一個)

所以當資料有相依性的時候,還是能平行化
不過效率上當然會打比較多折扣
像是第一種平行化的方法,也關係到怎麼分區的問題
還有許多小細節是需要考量的
這也考驗寫程式時候如何去分解問題

更複雜的情況,例如大家多核心電腦裡跑的一堆程式、一堆執行緒
該怎麼分配核心資源,已經超出這個例子的範圍了
程式要支援多核心,本來就比較難寫
除非硬體也有特別設計
不然都得靠人腦來處理平行化分解的部份
多執行緒的話 是這樣設計的

洗車美容是你的應用程式項目AP1

A洗車、B擦乾、C打蠟有前後的順序

你有三個工人 P1 P2 P3 => cpu 每個工人都會洗車、擦乾、打蠟

把洗車 分三個部分(3個threads) A1洗車頭 A2 洗車中段 A3 洗車尾 每段工作要1分鐘
把擦乾 分三個部分(3個threads) B1擦車頭 B2 擦車中段 B3 擦車尾 每段工作要1分鐘
把打蠟 分三個部分(3個threads) C1打蠟車頭 C2 打蠟車中段 C3 打蠟車尾 每段工作要1分鐘


車子進來了 你(programer)把工作表A1~A3 交給領班OS

OS 叫 P1 執行 A1 ,P2 執行 A2, P3執行 A3
好做完了 平行作業 共花了一分鐘

接下來你(programer)把工作表B1~B3交給領班OS
這時候 P3 在做其它的事(喝水 上洗手間)
OS 叫 P1 執行 B1,P2 執行 B2跟 B3
P1花一分鐘做完 P2 花二分鐘做完 所以共花了二分鐘做完

接下來你(programer)把工作表C1~C3交給領班OS
這時候換 P1和P2 在做其它的事(喝水 上洗手間)
OS 叫 P3 執行 C1,C2,C3
P3做到C1完,正在做C2 一半的時候 ,P1回來了 所以OS 把C3 給 P1做
所以共花了二分半鐘

全部花了五分半鐘



如果是全程單執行緒(從頭到尾一個人做)就是 9分鐘才會完成



所以你看到你Program 負責產生可分離的工作部分項目

OS負責任務的調度派工 (CPU P1 P2 P3 可能沒時間做事)

CPU負責執行


還有電腦系統就是 垃圾進 垃圾出
你給他錯的順序 他只是照做

也可以這樣執行



只要五分鐘做完 需要三個人的時間只有一分鐘 需要兩個人的時候有二分鐘 需要一個人的時候有二分鐘

現在的速度瓶頸不是都出現在i/o上嗎
就算cpu運算再快也會卡在這些瓶頸上吧

多核芯的配合方式前面也很多人提過哩
這裡想到一種作法的是類似cache的機制

在運算需要前後相依又運算耗時的情況下
就讓一個核心去跑
其他的核猜結果去運算接下去的東西.
等到第一個核心真正算出結果後
就知道其他核心有沒有猜到啦.
再從猜到的核心部份接手.
這樣應該可以提昇效率吧.
問題點在要是那運算結果分支要能先範圍且不能太大.
或許在某些特定運算有點用吧.
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 16)

今日熱門文章 網友點擊推薦!