OTP_R15A:R15 預發行版本

2011年11月23日 · 作者:Kenneth Lundin

我們最近已將一個新的 master 推送至 GitHub,並標記為 OTP_R15A。

這是目前 R15 開發的穩定快照(將於 12 月 14 日以 R15B 版本發佈),其中包含以下內容:

OTP-9468  「例外中的行號」

OTP-9451  「平行建置」

OTP-4779  Observer 的新 GUI。整合 pman、etop 和 tv 至 observer,並具備追蹤功能。

OTP-7775  已實作多項記憶體配置最佳化。大多數最佳化皆可減少因記憶體配置和釋放時執行緒間同步化所造成的競爭。最值得注意的是:已重寫排程器特定分配器實例中記憶體管理的同步化,以使用無鎖同步化。

             已重寫排程器特定預先分配器中記憶體管理的同步化,以使用無鎖同步化。

             「mseg_alloc」記憶體區段分配器現在使用排程器特定的實例,而非單一實例。除了減少競爭之外,這也確保記憶體分配器始終在 NUMA 系統上於本機 NUMA 節點上建立記憶體區段。

OTP-9632  已導入 ERTS 內部通用的多對一無鎖佇列,用於執行緒之間的通訊。多對一情境在 ERTS 中非常常見,因此未來可以在許多地方使用。目前它用於排程特定作業和非同步執行緒池,但計劃在未來有更多用途。

             使用 driver_async 功能的驅動程式不再自動鎖定到系統,並且可以像任何動態連結的驅動程式一樣卸載。

             現在,就緒的非同步作業的排程也會穿插在其他作業之間。先前,所有就緒的非同步作業都會一次執行。

OTP-9631  ERTS 內部系統區塊功能已由新的系統區塊功能取代。舊的系統區塊功能有競爭問題和複雜性問題。新的功能利用執行緒進度追蹤功能,這是執行階段系統中新引入的無鎖同步化所需要的。當不使用系統區塊功能時,幾乎沒有任何額外負荷。因為追蹤執行緒進度的功能本來就在那裡,而且無論如何都需要它。

…以及更多更多。

這不是 R15 的完整版本,而是預發行版本。歡迎試用我們的 R15A 版本,並向我們回報您的發現。

您的回饋對我們非常重要,我們非常歡迎。

敬上,

OTP 團隊