精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:新聞中心行業(yè)動(dòng)態(tài) → 正文

Azul Systems推出Falcon,一個(gè)基于LLVM的新的Java即時(shí)編譯器

責(zé)任編輯:editor004 作者:Charles Humble Victor Grazi |來(lái)源:企業(yè)網(wǎng)D1Net  2017-05-12 11:52:02 本文摘自:INFOQ

近日,Azul Systems發(fā)布了Zing 17.03。該版本完全支持Azul基于LLVM的新的Java即時(shí)(JIT)編譯器Falcon。該編譯器設(shè)計(jì)用來(lái)取代Zing先前版本以及Oracle HotSpot和OpenJDK使用的C2編譯器。Falcon是1997年JavaOne大會(huì)推出C2以來(lái)Java SE的第一個(gè)新的生產(chǎn)用JIT編譯器。

LLVM是一個(gè)現(xiàn)代化的開源編譯器框架,也是Swift、Rust等許多新語(yǔ)言首選的后端“引擎”。它獲得了學(xué)術(shù)界的大力支持,并且擁有包括AMD、Apple、Cray、IBM、Intel、 Microsoft、Sony和SAP在內(nèi)的眾多商業(yè)支持者。廣泛的支持可以幫助它充分利用新的服務(wù)器硬件和新的指令集,它經(jīng)常利用新的處理器技術(shù),如Intel的Broadwell和Skylake處理器提供的矢量化和加密優(yōu)化,早在其他語(yǔ)言之前提供這種支持。

Azul首席執(zhí)行官Gil Tene告訴InfoQ:

使用LLVM為我們提供了巨大的優(yōu)勢(shì),數(shù)以百計(jì)的人對(duì)它進(jìn)行優(yōu)化,讓它與最新的處理器能力保持同步,這些成果可以立即應(yīng)用到Java代碼上。

關(guān)于這一點(diǎn),一個(gè)簡(jiǎn)單具體的例子是,F(xiàn)alcon已經(jīng)使用Intel最新的CPU(例如,當(dāng)前Broadwell Intel E5-v4服務(wù)器上的AVX2指令集)所提供的最新/最棒的矢量指令功能來(lái)優(yōu)化常規(guī)的Java循環(huán)。由于AVX2增加了謂詞矢量運(yùn)算能力,所以Falcon能夠在循環(huán)(例如,“將數(shù)組中的偶數(shù)相加”)中矢量化在之前的硬件上無(wú)法矢量化的謂詞操作,因此,同樣的Java類在較新的服務(wù)器上執(zhí)行速度更快。[目前]HotSpot甚至都沒有試一下……

但最重要的是,我們獲得了這種好處,不是通過(guò)一群Azul工程師花時(shí)間進(jìn)行矢量化優(yōu)化以及選擇恰當(dāng)?shù)姆椒ㄆヅ涿恳环N處理器。舉例來(lái)說(shuō),我們是從Intel過(guò)去兩年的投入以及他們將這些優(yōu)化貢獻(xiàn)給LLVM獲益的。他們的貢獻(xiàn)已經(jīng)應(yīng)用到了C/C++/Clang/Rust,就像(現(xiàn)在)應(yīng)用到Java一樣。

Falcon讓我們可以做一些很酷的、JVM相關(guān)的優(yōu)化,而使用C2則無(wú)法應(yīng)用這些優(yōu)化。GC屏障相關(guān)的優(yōu)化就是其中的一個(gè)例子。此外還有更高層次的語(yǔ)言優(yōu)化。關(guān)于更高層次的優(yōu)化,一個(gè)具體的例子是,我們用較少的投入就在Falcon中引入了針對(duì)“真正final”字段的優(yōu)化,在C2中引入的話,投入要多得多。[實(shí)例final字段的挑戰(zhàn)在于,它們可能不是“真正final”的,因?yàn)榉瓷浜蚒nsafe可以重寫它們,而且經(jīng)常這樣做]。Falcon能夠優(yōu)化Java中使用實(shí)例final字段的操作,它所采用的方式是以前的JIT不曾做過(guò)的(例如,將數(shù)組范圍檢查提取到循環(huán)之外)。過(guò)去的幾年里,在HotSpot和Zing中,這一特性一直處于原型模型開發(fā)階段(在OpenJDK的部分郵件列表中可以找到相關(guān)討論),但之前從沒有在哪個(gè)JVM中實(shí)現(xiàn)產(chǎn)品化,其中有一部分原因是讓JIT編輯器處理得很好復(fù)雜度很高。

有鑒于此,F(xiàn)alcon在新硬件上性能超過(guò)C2就不奇怪了。例如,Tene告訴InfoQ,在特定的加密負(fù)載基準(zhǔn)測(cè)試中,它比Oracle HotSpot快3.5倍,比Oracle HotSpot使用基于Skylake的服務(wù)器(Intel Xeon E5-xxxx)進(jìn)行Cassandra基準(zhǔn)測(cè)試快大約10%。另外,在低延遲環(huán)境中,它也比Zing以前的版本快許多。按照Tene的說(shuō)法,一個(gè)運(yùn)行交易基礎(chǔ)設(shè)施的Azul Zing客戶觀察到了大約18~24%的速度提升。

Azul是第一個(gè)在生產(chǎn)級(jí)托管運(yùn)行時(shí)中使用LLVM的組織。為了完成這項(xiàng)工作,LLVM借助Azul提供的其他功能進(jìn)行了增強(qiáng),包括安全點(diǎn)和GC屏障方面的優(yōu)化,提供JIT代碼替換和逆優(yōu)化的能力,包括隱式null檢查、預(yù)測(cè)去虛擬化及保護(hù)內(nèi)聯(lián)在內(nèi)的預(yù)測(cè)運(yùn)行時(shí)優(yōu)化。

如你所料,F(xiàn)alcon還支持Azul在2014年推出的ReadyNow技術(shù)。按照設(shè)計(jì),ReadyNow是為了避免Java虛擬機(jī)“預(yù)熱”,鑒于JVM有足夠的時(shí)間學(xué)習(xí)哪些代碼要編譯成機(jī)器級(jí),應(yīng)用程序所有者試圖通過(guò)這種方法充分利用JIT編譯器優(yōu)化。

現(xiàn)有用戶可以從Zing支持門戶上直接下載Zing 17.03。Azul網(wǎng)站上也提供了Zing新版本的30天試用。Zing單許可的全年訂閱價(jià)為每臺(tái)服務(wù)器3500美元,大量許可長(zhǎng)期訂閱價(jià)格會(huì)低許多。

5月4日,太平洋時(shí)間上午11點(diǎn),Azul首席技術(shù)官Gil Tene舉辦了一場(chǎng)題為“走進(jìn)Falcon編譯器”的網(wǎng)絡(luò)研討會(huì)。研討會(huì)加Q&A持續(xù)了約一小時(shí)。

查看英文原文:Azul Systems Launches Falcon, a New Just-in-Time Compiler for Java, Based on LLVM

關(guān)鍵字:AzulFalcon

本文摘自:INFOQ

x Azul Systems推出Falcon,一個(gè)基于LLVM的新的Java即時(shí)編譯器 掃一掃
分享本文到朋友圈
當(dāng)前位置:新聞中心行業(yè)動(dòng)態(tài) → 正文

Azul Systems推出Falcon,一個(gè)基于LLVM的新的Java即時(shí)編譯器

責(zé)任編輯:editor004 作者:Charles Humble Victor Grazi |來(lái)源:企業(yè)網(wǎng)D1Net  2017-05-12 11:52:02 本文摘自:INFOQ

近日,Azul Systems發(fā)布了Zing 17.03。該版本完全支持Azul基于LLVM的新的Java即時(shí)(JIT)編譯器Falcon。該編譯器設(shè)計(jì)用來(lái)取代Zing先前版本以及Oracle HotSpot和OpenJDK使用的C2編譯器。Falcon是1997年JavaOne大會(huì)推出C2以來(lái)Java SE的第一個(gè)新的生產(chǎn)用JIT編譯器。

LLVM是一個(gè)現(xiàn)代化的開源編譯器框架,也是Swift、Rust等許多新語(yǔ)言首選的后端“引擎”。它獲得了學(xué)術(shù)界的大力支持,并且擁有包括AMD、Apple、Cray、IBM、Intel、 Microsoft、Sony和SAP在內(nèi)的眾多商業(yè)支持者。廣泛的支持可以幫助它充分利用新的服務(wù)器硬件和新的指令集,它經(jīng)常利用新的處理器技術(shù),如Intel的Broadwell和Skylake處理器提供的矢量化和加密優(yōu)化,早在其他語(yǔ)言之前提供這種支持。

Azul首席執(zhí)行官Gil Tene告訴InfoQ:

使用LLVM為我們提供了巨大的優(yōu)勢(shì),數(shù)以百計(jì)的人對(duì)它進(jìn)行優(yōu)化,讓它與最新的處理器能力保持同步,這些成果可以立即應(yīng)用到Java代碼上。

關(guān)于這一點(diǎn),一個(gè)簡(jiǎn)單具體的例子是,F(xiàn)alcon已經(jīng)使用Intel最新的CPU(例如,當(dāng)前Broadwell Intel E5-v4服務(wù)器上的AVX2指令集)所提供的最新/最棒的矢量指令功能來(lái)優(yōu)化常規(guī)的Java循環(huán)。由于AVX2增加了謂詞矢量運(yùn)算能力,所以Falcon能夠在循環(huán)(例如,“將數(shù)組中的偶數(shù)相加”)中矢量化在之前的硬件上無(wú)法矢量化的謂詞操作,因此,同樣的Java類在較新的服務(wù)器上執(zhí)行速度更快。[目前]HotSpot甚至都沒有試一下……

但最重要的是,我們獲得了這種好處,不是通過(guò)一群Azul工程師花時(shí)間進(jìn)行矢量化優(yōu)化以及選擇恰當(dāng)?shù)姆椒ㄆヅ涿恳环N處理器。舉例來(lái)說(shuō),我們是從Intel過(guò)去兩年的投入以及他們將這些優(yōu)化貢獻(xiàn)給LLVM獲益的。他們的貢獻(xiàn)已經(jīng)應(yīng)用到了C/C++/Clang/Rust,就像(現(xiàn)在)應(yīng)用到Java一樣。

Falcon讓我們可以做一些很酷的、JVM相關(guān)的優(yōu)化,而使用C2則無(wú)法應(yīng)用這些優(yōu)化。GC屏障相關(guān)的優(yōu)化就是其中的一個(gè)例子。此外還有更高層次的語(yǔ)言優(yōu)化。關(guān)于更高層次的優(yōu)化,一個(gè)具體的例子是,我們用較少的投入就在Falcon中引入了針對(duì)“真正final”字段的優(yōu)化,在C2中引入的話,投入要多得多。[實(shí)例final字段的挑戰(zhàn)在于,它們可能不是“真正final”的,因?yàn)榉瓷浜蚒nsafe可以重寫它們,而且經(jīng)常這樣做]。Falcon能夠優(yōu)化Java中使用實(shí)例final字段的操作,它所采用的方式是以前的JIT不曾做過(guò)的(例如,將數(shù)組范圍檢查提取到循環(huán)之外)。過(guò)去的幾年里,在HotSpot和Zing中,這一特性一直處于原型模型開發(fā)階段(在OpenJDK的部分郵件列表中可以找到相關(guān)討論),但之前從沒有在哪個(gè)JVM中實(shí)現(xiàn)產(chǎn)品化,其中有一部分原因是讓JIT編輯器處理得很好復(fù)雜度很高。

有鑒于此,F(xiàn)alcon在新硬件上性能超過(guò)C2就不奇怪了。例如,Tene告訴InfoQ,在特定的加密負(fù)載基準(zhǔn)測(cè)試中,它比Oracle HotSpot快3.5倍,比Oracle HotSpot使用基于Skylake的服務(wù)器(Intel Xeon E5-xxxx)進(jìn)行Cassandra基準(zhǔn)測(cè)試快大約10%。另外,在低延遲環(huán)境中,它也比Zing以前的版本快許多。按照Tene的說(shuō)法,一個(gè)運(yùn)行交易基礎(chǔ)設(shè)施的Azul Zing客戶觀察到了大約18~24%的速度提升。

Azul是第一個(gè)在生產(chǎn)級(jí)托管運(yùn)行時(shí)中使用LLVM的組織。為了完成這項(xiàng)工作,LLVM借助Azul提供的其他功能進(jìn)行了增強(qiáng),包括安全點(diǎn)和GC屏障方面的優(yōu)化,提供JIT代碼替換和逆優(yōu)化的能力,包括隱式null檢查、預(yù)測(cè)去虛擬化及保護(hù)內(nèi)聯(lián)在內(nèi)的預(yù)測(cè)運(yùn)行時(shí)優(yōu)化。

如你所料,F(xiàn)alcon還支持Azul在2014年推出的ReadyNow技術(shù)。按照設(shè)計(jì),ReadyNow是為了避免Java虛擬機(jī)“預(yù)熱”,鑒于JVM有足夠的時(shí)間學(xué)習(xí)哪些代碼要編譯成機(jī)器級(jí),應(yīng)用程序所有者試圖通過(guò)這種方法充分利用JIT編譯器優(yōu)化。

現(xiàn)有用戶可以從Zing支持門戶上直接下載Zing 17.03。Azul網(wǎng)站上也提供了Zing新版本的30天試用。Zing單許可的全年訂閱價(jià)為每臺(tái)服務(wù)器3500美元,大量許可長(zhǎng)期訂閱價(jià)格會(huì)低許多。

5月4日,太平洋時(shí)間上午11點(diǎn),Azul首席技術(shù)官Gil Tene舉辦了一場(chǎng)題為“走進(jìn)Falcon編譯器”的網(wǎng)絡(luò)研討會(huì)。研討會(huì)加Q&A持續(xù)了約一小時(shí)。

查看英文原文:Azul Systems Launches Falcon, a New Just-in-Time Compiler for Java, Based on LLVM

關(guān)鍵字:AzulFalcon

本文摘自:INFOQ

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號(hào)-6 京公網(wǎng)安備 11010502049343號(hào)

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 绥江县| 日土县| 贵南县| 高安市| 鹰潭市| 深水埗区| 武胜县| 阜阳市| 宁化县| 鸡东县| 屯留县| 马尔康县| 绍兴市| 长沙县| 定边县| 柳林县| 余干县| 雷山县| 朔州市| 大田县| 周口市| 乌鲁木齐县| 赫章县| 乌拉特后旗| 庄浪县| 嘉义市| 张掖市| 陕西省| 溆浦县| 江源县| 乌鲁木齐市| 镇沅| 思茅市| 无为县| 兰西县| 唐河县| 项城市| 灵川县| 高要市| 江川县| 聂荣县|