Tag Archives: computing

加快 ls 的速度

看到「When setting an environment variable gives you a 40x speedup」這篇在講 ls 的速度。

文章是由 StanfordSherlock 發出來的,不過看起來跟電視劇沒關係,從網站上的標語「The HPC cluster for all your computing needs」可以看出是 HPC 相關的單位。

在 HPC 環境裡面可以預期單一目錄裡會有很多檔案,所以使用者跑來抱怨 ls 的速度就不算太意外了。不過這次使用者有提到在他自己的 laptop 上跑 ls 反而很快:

It all started from a support question, from a user reporting a usability problem with ls taking several minutes to list the contents of a 15,000+ entries directory on $SCRATCH.

Having thousands of files in a single directory is usually not very file system-friendly, and definitely not recommended. The user knew this already and admitted that wasn’t great, but when he mentioned his laptop was 1,000x faster than Sherlock to list this directory’s contents, of course, it stung. So we looked deeper.

直接跳到後面的結論... 原因是出自於因為需要顯示不同顏色,而需要透過 lstat() 查詢額外的檔案性質 (可執行、setuid 以及 setgid 這些資料),導致速度變慢:

From 13s with the default settings, to 0.3s with a small LS_COLORS tweak, that’s a 40x speedup right there, for the cheap price of not having setuid/setgid or executable files colorized differently.

Of course, this is now setup on Sherlock, for every user’s benefit.

透過設定 LS_COLORS='ex=00:su=00:sg=00:ca=00:',可以讓 lstat() 消失,所以被放進 Sherlock 的預設值了... 而沒有遇到這個問題的環境 (像是有設計好對應的目錄結構),或是想要維持原來的樣子的人,則可以 unset 掉這個值讓輸出還是有色彩差異 :o

CloudHarmony 的市占率統計 (CDN、DNS、Cloud Computing)

CloudHarmony 發表了他們對 CDN、DNS、Cloud Computing 市占率的統計數據:

CDN 的部份可以看出來 Akamai 仍然是稱霸整個市場,不過 CloudFlare 也不是小數字就是了...

DNS 的部份比較沒有那麼明顯,由於 CloudFlare 免費方案必須把 DNS hosting 指到他們家,所以 CDN 連帶影響到 DNS 的部份,看起來頗亂,比較明顯的是 Route53 一直在成長。

Cloud Computing 的部份不知道是怎麼估算的,跟另外從營收數字估算的是另外一種面貌。雖然 EC2 還是很大,不過你要說 Rackspace 有 EC2 的 1/3 大?hmmm...

Bitcoin 有單一團體超過 50% 計算能力了...

Bitcoin 的安全性是利用「當整個社群夠大時,不會有單一團體擁有超過 50% 的計算能力」的假設上發展演算法及防護機制:(參考「Weaknesses - Bitcoin」)

An attacker that controls more than 50% of the network's computing power can, for the time that he is in control, exclude and modify the ordering of transactions. This allows him to:

  • Reverse transactions that he sends while he's in control. This has the potential to double-spend transactions that previously had already been seen in the block chain.
  • Prevent some or all transactions from gaining any confirmations
  • Prevent some or all other miners from mining any valid blocks

不過讓人噴飯的消息出來了,即使在 Bitcoin 這麼火熱的情況下,仍然有單一團體計算能力已經超過 50%:「Largest Bitcoin Mining Pool Pledges Not To Execute '51% Attack'」。

這應該是當設計時始料未及的... XD

AWS 歷史上第一台 RAM 比儲存空間多的 instance...

看到 AWS 推出新的 EC2 instance:「EC2 for In-Memory Computing - The High Memory Cluster Eight Extra Large Instance」,看完這個 instance 的規格笑了出來 XDDD

120GB SSD 兩顆 (所以是 240GB),加上 244GB RAM,結果記憶體比 SSD 空間大,應用程式一定得分層利用... XDDD

Colin Percival 開了台 FreeBSD 9.1 起來測試,可以順便看到一些硬體資訊。

目前還沒有 Reserved Instances 可以買,所以依照目前的價錢 USD$3.50/hour,一年大約是 90 萬新台幣,而這金額差不多可以直接買一台了... 所以這個 instance 的定位是在非長期的大量運算?不過依照 AWS 的慣例,過陣子應該還是會出 Reserved Instances 讓需要的人買...

不過這也是目前記憶體最多的機器,如果下次看到有文章寫「因為資料超過 244GB,所以資料庫效能炸掉」的訊息,就知道發生什麼事情了 XDDD

試用 HP Cloud (Compute 部分)

剛剛註冊了 HP Cloud 測試 Compute 的部分 (相對於 AWS 就是 EC2)。

先就公開的資訊來看,其實還不錯?最小的 instance 是 Extra Small,規格是 1GB RAM + 30GB Disk,收費 USD$0.04/hour,如果是 Small 則是 2GB RAM + 60GB Disk,另外在 Public Beta 期間是 50% off (半價)。

頻寬部分與 AWS 美國區的價錢相同,Inbound 不收費,Outbound 與 AWS 階梯式相同。

有提供網頁介面操作外,也有提供 CLI 可以用:「Unix Command Line Interface」,看起來是 Ruby... (沒裝起來測)

實際註冊完成後可以由從 zone 的名稱「az-1.region-a.geo-1」推敲出實際的機房位置在亞利桑那州 (實際開起來後也是如預期),HiNet 過去大約 140ms。

就 Public Beta 服務來看,要開 instance 時可以選擇的 OS image 也還算豐富:

CPU 部分,openssl speed 的數據是:「HP Cloud, openssl speed」,速度比起 EC2 的 m1.small 算是相當好的。

硬碟部分,iozone -a 的數據:「HP Cloud, iozone -a (over XFS)」,我是在跑 iozone 的時候用 dstat -at 觀察,寫入極限大約有 90MB/sec 到 100MB/sec,不過實際用 dd 測試就會發現應該是 host 有 cache,因為檔案很大的時候只有 20MB/sec 的寫入速度 XD

晚點再來測 Object Storage 與 CDN 的部分...