Go 1.9 的 GC 改善

Update:被提醒後仔細看了一下,是 1.8 預設生效 (但保留選項切回來 debug),如果沒問題的話 1.9 把舊的方式拔乾淨:

Assuming things go smoothly, we will remove stack re-scanning support when the tree opens for Go 1.9 development.

標題就不改了... 以下原文。

在「Sub-millisecond GC pauses」這邊看到的。Golang 想辦法將 GC 造成的影響降低:「Proposal: Eliminate STW stack re-scanning」。

目標是解決最大的 GC pause 來源:

As of Go 1.7, the one remaining source of unbounded and potentially non-trivial stop-the-world (STW) time is stack re-scanning.

然後拿新的解法來戰,目前初步的測試看起來可以降到 50µs (== 0.05ms):

We propose to eliminate the need for stack re-scanning by switching to a hybrid write barrier that combines a Yuasa-style deletion write barrier [Yuasa '90] and a Dijkstra-style insertion write barrier [Dijkstra '78]. Preliminary experiments show that this can reduce worst-case STW time to under 50µs, and this approach may make it practical to eliminate STW mark termination altogether.

在「runtime: eliminate stack rescanning · Issue #17503 · golang/go」這邊可以看到進度,現在已經在 master branch 上了,看起來會在 1.9 的時候被放出來... 不過 worst case 的時間上修了 XDDD

The high level summary is that this reduces worst-case STW time to about 100 µs and typical 95%ile STW time to 50 µs (assuming, of course, that the OS doesn't get in the way and that the system isn't otherwise overloaded).

但看起來應該還是很大的效能改善,尤其是 CPU bound 的應用?

Mark Callaghan 講最近的 MySQL 的行銷活動...

Mark Callaghan 這篇倒是沒提到什麼技術的東西,主要是講最近 MySQL 的兩大 conference,一個是 OracleOracle Open World,另外一個是 PerconaPercona Live Amsterdam 2016,然後用了 benchmarketing 這個酸酸的詞 XDDD:「Peak benchmarketing season for MySQL」。

裡面有些也很有趣的東西:

My joke is that each of these makes a different group happy: performance -> marketing, usability -> developers, manageability -> operations, availability -> end users, efficiency -> management.

另外提到了 RocksDB 建出來的 MyRocks 在 memory fit 時可能會比 InnoDB 還要好:

One last disclaimer. If you care about read-mostly/in-memory workloads then InnoDB is probably an excellent choice. MyRocks can still be faster than InnoDB for in-memory workloads. That is more likely when the bottleneck for InnoDB is page write-back performance. So write-heavy/in-memory can still be a winner for MyRocks.

這就有趣了,找個時間來測試看看...

Netflix 把戰場開到全球

Netflix 除了在台灣上以外,也在全球各地上線:「Netflix Is Now Available Around the World」。

helloWorld

紅色區域是 Netflix 有服務的點,可以看到除了中國、敘利亞、克里米亞半島 (唔?) 以及南極洲 (不在圖上,所以我猜應該是沒有),其他都有服務。

不過就目前網路上的評價看起來,版權還是最難搞的一塊。不知道台灣區影片數量成長的速度可以多快,應該是配合全球授權在簽?

來想看看要找哪個 device 接大電視看比較方便...

Minecraft 與 Bitcoin 的結合?

VentureBeat 的這篇「How Minecraft may make bitcoin the ‘official currency of virtual worlds’」讓人想了一下遊戲的虛擬貨幣與 Bitcoin 的結合...

與以往的不一樣的情況:

  • 不需要找金流系統接,Bitcoin 可以直接獨立運作,馬上可以想到不少方法利用 Bitcoin 的架構來規劃虛擬貨幣。
  • 法令更不容易管制,如果遊戲本身再透過 Tor 隱藏在 Tor network 裡的話就更完整。以往在最後要換錢的部份都還會經過金流系統與實體界接,現在連這個部分都避開了。

再來是 Bitcoin 的中立性,跨遊戲之間的交易也許是另外一個可能的強大之處?

不過 Bitcoin 的 n=6 確認應該會讓人感覺到愈來愈痛,不知道後面會怎麼解決...

網路上使用預設密碼的攝影機...

從「Website Peeps Into 73,000 Unsecured Security Cameras Via Default Passwords」看到的,有人掃過一輪後,把大約七萬多個攝影機的資料做成網站:「Online IP netsurveillance cameras of the world」。

隨便找一個台灣的:「73454」,網站速度不快,但看起來超歡樂的...

World IPv6 Day

預定在 6/8 舉辦的 World IPv6 Day 快要到了,因為是以 UTC 時間來算,所以換算成台灣的時間,是早上八點開始。在「Participating websites」有列出參與的站台以及會使用的 domain (也就是直接加上 AAAA record)。

可以看到 Google 是拿 www.google.com 以及 www.youtube.com 出來參戰,Facebook 也會將 www.facebook.com 參與。

這樣已經很大沒錯,但另外一個重點是 YouTube 的 video data 本身有沒有打算要上這一波的測試。

另外剛剛發現 HiNet 已經建立了自己的 192.88.99.1 anycast address 負責 6to4 (nopa.tw/45),而 TWGate 則是透過香港的 Hurricane Electric 轉。

另外兩家大的 ISP 就不提了,都是 Hurricane Electric 在美西的點...