深圳南财多媒体有限公司介绍

您當(dāng)前的位置 :環(huán)球傳媒網(wǎng)>健康 > 正文
在 RISC-V 中開發(fā) Java 是一種什么體驗(yàn)?
2023-04-24 23:15:40 來源:InfoQ 編輯:

作者 | 鄭孝林

策劃 | 凌敏


(資料圖)

背景介紹

1. Alibaba Dragonwell 發(fā)行版

Alibaba Dragonwell是一款免費(fèi)的 OpenJDK 發(fā)行版。它提供了長期支持,包括性能增強(qiáng)、安全修復(fù)以及 Dragonwell 上專有的一些特性,比如 Wisp 協(xié)程、多租戶、JWarmup、G1 elastic heap 以及 serviceability 上的特性等等。Dragonwell 包括 8、11、17 三個(gè)版本,而每個(gè)版本又包括 standard (和 OpenJDK 基本保持一致) 和 extended (基于 OpenJDK,搭載了 Dragonwell 的各種專有特性) 兩個(gè)子版本。而我們當(dāng)前介紹的 RISC-V 后端支持是在 Dragonwell11 上的 extended 版本上,已在 2023 年 2 月正式 release,其中 Dragonwell11 上的特性如 Wisp 暫時(shí)還不支持。

2. RISC-V 指令集架構(gòu)

RISC-V 是一個(gè)基于 RISC (精簡指令集) 的指令集架構(gòu)。 它主要的特性是開源、模塊化、可擴(kuò)展性以及非常精簡的指令集 。當(dāng)前的 RISC-V 主要應(yīng)用于物聯(lián)網(wǎng);而后續(xù)進(jìn)入服務(wù)器領(lǐng)域也是未來可期的。同時(shí),得到 Arm 等商業(yè)芯片指令集的授權(quán)都需要支付高額的商業(yè)費(fèi)用,而 RISC-V 是完全開源的指令集架構(gòu),芯片廠商可以根據(jù)自己的需要做定制化。當(dāng)前的商業(yè) RISC-V 處理器有如 Alibaba 玄鐵 C910 處理器、SiFive 的 RISC-V 半導(dǎo)體 IP 核等。從開發(fā)的角度而言,它們也都是使用體驗(yàn)很好的處理器/設(shè)備。

3. OpenJDK on RISC-V

在 2020 年的年末,華為的 Bisheng JDK 團(tuán)隊(duì)開源了基于 OpenJDK 的 RISC-V (64 位) 后端實(shí)現(xiàn),約 6w 行代碼的 initial load。Alibaba Dragonwell 團(tuán)隊(duì)也同期參與到了 RISC-V 后端研發(fā)當(dāng)中。

從 Alibaba Dragonwell 團(tuán)隊(duì)的角度,在去年社區(qū)成立 openjdk/riscv-port repo,隨后 RISC-V 后端正式合并到上游 openjdk/jdk repo 到現(xiàn)在,我們對 OpenJDK RISC-V 后端的貢獻(xiàn)包括在 OpenJDK 上的 RISC-V "C" 壓縮指令擴(kuò)展這個(gè)特性的實(shí)現(xiàn);20 余個(gè) bug fixes;部分 enhancements 和 refactoring;以及部分 Loom (協(xié)程) RISC-V port 的支持等。其中 C 擴(kuò)展的實(shí)現(xiàn)已經(jīng)在 OpenJDK 20 上的 RISC-V 后端中默認(rèn)開啟,可以減小 ~20% 的后端 Java compiled code 的 code size footprint。

Alibaba Dragonwell11 on RISC-V

為什么是 JDK11?

JDK11 是當(dāng)前的主流版本。國內(nèi)的 Java 客戶大多都在使用 JDK8,但現(xiàn)在已經(jīng)有越來越多升級到 JDK11 的趨勢了。默認(rèn)的 G1 GC (CMS 在后面 JDK 版本中已經(jīng)棄用)、更好的性能、AArch64 后端更好的支持、AppCDS 特性、Safepoint 的 Threadlocal Handshake、能提升代碼性能的 Segmented Code Cache 特性等都可以讓 JDK11 相比于 JDK8 有更多的優(yōu)勢,也是用戶升級 JDK 的動力所在。

雖然 JDK11 的確是當(dāng)下的主流版本,但是社區(qū)上的 RISC-V 后端是在 19/20 這兩個(gè)版本中支持的,因此這對于很多 Java 應(yīng)用的維護(hù)者來說,升級到這么高的版本的確是略有些遙遠(yuǎn)且工作量頗高的事情。所以,如果要嘗試在 RISC-V 上開發(fā) Java 應(yīng)用的話, 能繼續(xù)使用 JDK11 應(yīng)該是一個(gè)比較好的選擇

硬件特性支持平頭哥 RISC-V 芯片

因此,Alibaba Dragonwell 團(tuán)隊(duì)將 OpenJDK 上游的 RISC-V 后端移植回了 Dragonwell11上,我們會長期維護(hù) Dragonwell11 的版本和后端,同步上游社區(qū)的 bug fixes 保證用戶的使用體驗(yàn)。從兼容性的角度上講,我們完成了 QEMU / SiFive 開發(fā)板 / 平頭哥開發(fā)板 上的驗(yàn)證,以及 JCK / jtreg / SPECjbb2015 等各種 benchmark 的支持。Dragonwell11 上的 RISC-V 和上游大部分保持一致;包括基礎(chǔ)的 RVI 指令集支持的同時(shí),我們還支持一部分平頭哥芯片專有的指令集和其生態(tài),如果在平頭哥的硬件上如 C910,則可以使用 -XX:+UseCSky 開啟相關(guān)的支持。

與此同時(shí),我們還支持一些基于 RVV(RISC-V 的向量指令擴(kuò)展)-0.7.1 的 vector intrinsic 的向量化,在支持 RVV-0.7.1 版本的(如平頭哥的一些 RISC-V 芯片,如開啟 vector 支持的 C910 等)開發(fā)板上可以自動開啟。由于搭載 RVV-1.0 版本的芯片現(xiàn)階段實(shí)際上很少,所以 Dragonwell 可能是目前唯一能夠在硬件上運(yùn)行 RVV 的 JDK。

二進(jìn)制版本下載

Dragonwell11 的二進(jìn)制版本已經(jīng)于二月份發(fā)布,有興趣的開發(fā)者可以直接從 Github 鏈接下載。

此外,Dragonwell11 的 RISC-V 版本已經(jīng)集成進(jìn)龍蜥的 Anolis 源中,如果是使用 Anolis OS 的用戶可以直接使用 yum 源來安裝 Dragonwell11 JDK。

使用方便的 QEMU Docker 容器鏡像進(jìn)行模擬

RISC-V 現(xiàn)在還在快速發(fā)展階段中。因此面臨著硬件資源有限的問題: 開發(fā)者有時(shí)并不容易得到硬件設(shè)備;拿到硬件設(shè)備之后還面臨著需要搭建環(huán)境、初始化網(wǎng)絡(luò)等比較麻煩的操作 。在這種情況下,有一個(gè)模擬器就是非常有必要的了。主流的模擬器是 QEMU,如果把 QEMU 內(nèi)置在 Docker 鏡像當(dāng)中,用戶就可以得到最大程度上的使用便利:用戶可以直接在 x86 機(jī)器上一鍵模擬 RISC-V 程序。并且,鏡像是 portable 的:因?yàn)槿萜麋R像可以隨時(shí)遷移到其他機(jī)器上去。

我們維護(hù)了一個(gè) RISC-V QEMU Docker 鏡像的倉庫,使用 Debian 的 RISC-V 源。用戶可以直接查看 README 手動構(gòu)建一個(gè) QEMU Docker。省力一些的話,用戶也可以直接將鏡像 pull 下來:

# 現(xiàn)只支持 x86 宿主機(jī)docker pull multiarch/qemu-user-static && \docker run --rm --privileged --net host multiarch/qemu-user-static --resetdocker pull alibabadragonwelljdk/riscv-qemu && \docker run -it --rm alibabadragonwelljdk/riscv-qemu /bin/bash

復(fù)制代碼

Demo:Springboot 示例

SpringBoot 是非常優(yōu)秀的 Java 應(yīng)用框架,我們可以從官網(wǎng)上下載其 Hello World demo 并使用 maven 構(gòu)建。

我們也提供了一個(gè)預(yù)編譯好的 SpringBoot demo 以供演示用:

https://dragonwell.oss-cn-shanghai.aliyuncs.com/demo-0.0.1-SNAPSHOT.jar

我們可以在實(shí)際的物理開發(fā)板上啟動 Java 程序;也可以在上述的 QEMU Docker 中用同樣的命令啟動:

圖/啟動一個(gè)簡單的 SpringBoot Hello World 程序 (實(shí)際啟動時(shí)間可能與圖片上有差別)

總結(jié)和展望

RISC-V 是一個(gè)有前景的指令集,中立和開放是它的兩大優(yōu)勢。在成立了 Datacenter (數(shù)據(jù)中心) SIG 和 HPC (高性能計(jì)算) SIG 之后,RISC-V 也開始逐漸向高性能方向逐漸演進(jìn)。除此之外,就 RISC-V 的軟件生態(tài)而言,RISC-V 上的各種 toolchain (GCC、GDB 等) 的支持也已經(jīng)十分完備,各種操作系統(tǒng) (Ubuntu、Debian) 等都已經(jīng)支持了 RISC-V 指令集,各種開源社區(qū)對相關(guān)軟件的移植的支持也非常積極。Debian-port 上大約 95% 的軟件包都可以在 RISC-V 上使用,因此用戶的開發(fā)流程是比較流暢的。

相比于 x86 平臺的一些復(fù)雜指令及一些歷史包袱,RISC-V 具有著較新、指令集簡單、較強(qiáng)的拓展性等特性,已經(jīng) ratify 了多個(gè)指令集擴(kuò)展。隨著社區(qū)的蓬勃發(fā)展,我們相信 RISC-V 架構(gòu)有著光明的前景。

致謝

感謝華為 Bisheng JDK 團(tuán)隊(duì)的開發(fā)同學(xué)們的工作,感謝中科院軟件所 PLCT 實(shí)驗(yàn)室團(tuán)隊(duì)對硬件設(shè)施方面給予的幫助。感謝社區(qū) RISC-V 后端的 reviewers 的各種幫助。我們也會持續(xù)輸出并不斷反饋社區(qū),在社區(qū)的維護(hù)上貢獻(xiàn)我們的力量。

本文轉(zhuǎn)載來源:

https://www.infoq.cn/article/aqLULmKMHK4NEA8rfgHy

關(guān)鍵詞:

相關(guān)閱讀
分享到:
版權(quán)和免責(zé)申明

凡注有"環(huán)球傳媒網(wǎng)"或電頭為"環(huán)球傳媒網(wǎng)"的稿件,均為環(huán)球傳媒網(wǎng)獨(dú)家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來源為"環(huán)球傳媒網(wǎng)",并保留"環(huán)球傳媒網(wǎng)"的電頭。

Copyright ? 1999-2017 cqtimes.cn All Rights Reserved 環(huán)球傳媒網(wǎng)-重新發(fā)現(xiàn)生活版權(quán)所有 聯(lián)系郵箱:8553 591@qq.com
主站蜘蛛池模板: 精准猎取科技资讯,高效阅读科技新闻_科技猎 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 西安耀程造价培训机构_工程预算实训_广联达实作实操培训 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 深圳公司注册-工商注册代理-注册公司流程和费用_护航财税 | 双菱电缆-广州电缆厂_广州电缆厂有限公司| 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 上海洗地机-洗地机厂家-全自动洗地机-手推式洗地机-上海滢皓洗地机 | 24位ADC|8位MCU-芯易德科技有限公司 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 福建成考网-福建成人高考网| 熔体泵_熔体出料泵_高温熔体泵-郑州海科熔体泵有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 电机修理_二手电机专家-河北豫通机电设备有限公司(原石家庄冀华高压电机维修中心) | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 快速门厂家批发_PVC快速卷帘门_高速门_高速卷帘门-广州万盛门业 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 小青瓦丨古建筑瓦丨青瓦厂家-宜兴市徽派古典建筑材料有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 楼承板设备-楼承板成型机-免浇筑楼承板机器厂家-捡来 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 全温度恒温培养摇床-大容量-立式-远红外二氧化碳培养箱|南荣百科 |