Flickr 用 GPU 產生縮圖

Flickr 說明了用 GPU 產生縮圖的技術:「Real-time Resizing of Flickr Images Using GPUs」。

這邊可以看到是透過 apache module 再轉到 resize worker:

成果就是讓縮圖的產生時間縮短很多,以 2048px 轉到 1600px 為例,速度快了 15 倍,即使是與 Yahoo 自己最佳化過的版本相比,也快了 10 倍:

而 GPU-based 的架構每台 server 可以支撐 300 resizes/sec:

Equally noteworthy, at peak load, each resize server can perform over 300 resizes per second.

AWS 提供更大台的 GPU instance:g2.8xlarge

就如同標題所寫的,比以前的大了四倍:「New G2 Instance Type with 4x More GPU Power」。

Jeff Barr 把 2013 年的公告也拿出來讓大家看一下:「Build 3D Streaming Applications with EC2’s New G2 Instance Type」。

速度上當然是大幅改善,價錢當然也是照比例計算 XD

用 Amazon EC2 的 GPU instance 計算 MD5 collision

在「Create your own MD5 collisions」這篇教你用 Amazon EC2 的 GPU instance 計算 MD5 collision。

由於不是什麼正式的服務,文章裡介紹你用 Spot instance 開機器,會便宜不少。可以看到最後的結果:

在文後也把兩張圖都附上來讓大家確認,抓下來後也可以確認:

gslin@GSLIN-DESKTOP [~/tmp] [13:16/W3] md5sum *.jpg
253dd04e87492e4fc3471de5e776bc3d  plane.jpg
253dd04e87492e4fc3471de5e776bc3d  ship.jpg

屬於 chosen prefix collision 的攻擊。

各種密碼破解速度...

oclHashcat-plus 提供了透過 GPU 破解的 benchmark 數據:

可以看到 PBKDF2、sha512crypt $6$ 以及 bcrypt $2a$ 的速度慢得很漂亮 XD 不過 SHA512 的速度比 SHA256 慢不少倒是頗意外...

PBKDF2 的使用率很高 (因為無線網路 WPA/WPA2 的規格),所以各語言的普及率也高不少,如果要找個標準來用的話,PBKDF2 相當不錯...

在 PostgreSQL 上用 GPU 加速計算...

看到 PGStorm 這個 PostgreSQL 上的惡搞套件,可以把本來 CPU 要做的事情丟到 GPU 上加速...

不過例子很怪啊,不是用 R-tree index 解決的事情嗎?PostgreSQL 明明就有支援 R-tree index 啊?為什麼會要這樣設計,然後用 table scan?我再回去想想好了...

暴力法破解密碼...

MD5SHA-1 或是前陣子通過的 SHA-3,都不是設計用來單向儲存密碼用的。bcrypt 或是 PBKDF2 比較接近這個需求。

針對使用 Cryptographic hash function 儲存密碼的行為,除了可以用 Rainbow table 攻擊外,最近流行使用 GPU 加速暴力運算...

前幾天看到的 cluster 相當威猛,可以在 5.5 小時內計算出「所有 8 個字元的組合」(NTLM):「25-GPU cluster cracks every standard Windows password in <6 hours」。

這個 cluster 用了 25 張 AMD Radeon 卡,如果是針對 SHA-1 計算,每秒可以計算 630 億次,如果是 MD5 的話則可以到每秒 1800 億次,NTLM 則是每秒 3500 億次。

不過算一算也是吃電大怪物... XD