本次技術(shù)沙龍邀請(qǐng)到了愛丁堡大學(xué)信息學(xué)院的教授Bjoern Franke為大家?guī)矸窒怼K闹饕芯款I(lǐng)域?yàn)?a href="http://m.xsypw.cn/v/tag/2447/" target="_blank">嵌入式系統(tǒng)的軟件工具,特別是優(yōu)化及并行化編譯器、指令集模擬器等,以及設(shè)計(jì)空間探索與性能評(píng)估工具。
Franke 教授首先簡單介紹了研究背景,數(shù)據(jù)集合在編程中非常重要,但在給定問題域和目標(biāo)平臺(tái)上,選擇正確的集合并實(shí)現(xiàn)并不容易。以層級(jí)的結(jié)構(gòu)組織起來的集合框架雖然方便,但會(huì)因使用者過度指定集合數(shù)據(jù)類型,從而限制了實(shí)現(xiàn)的靈活性,最終影響應(yīng)用的性能。
在本次分享中,F(xiàn)ranke 教授為大家介紹了他們團(tuán)隊(duì)開發(fā)的 Collection Skeletons,這個(gè)框架為數(shù)據(jù)集合提供了一種新穎的聲明式方式,屬性可以被顯示地進(jìn)行選擇。Collection Skeletons中已經(jīng)定義了一系列語義、接口屬性,未來還將定義運(yùn)行時(shí)、空間等屬性。
Franke 教授團(tuán)隊(duì)基于Collection Skeletons 實(shí)現(xiàn)了一個(gè) C++ 庫,集合的聲明類似下圖,基于程序接口開發(fā)了對(duì)應(yīng)接口屬性的成員函數(shù)和集合的默認(rèn)方法。
教授還介紹了并行化來進(jìn)一步提高性能,其中 Algorithmic Skeletons 的工作非常有趣,教授也提出了一些后續(xù)待解決的問題,比如有哪些屬性可以從源代碼中自動(dòng)推斷出來,現(xiàn)有的屬性集是否完整等。
使用這個(gè) C++ 庫,F(xiàn)ranke 教授團(tuán)隊(duì)重寫了 benchmarks,并在三個(gè)不同的硬件平臺(tái) (Intel Desktop、Intel Server、Arm Server) 上進(jìn)行了實(shí)驗(yàn)。結(jié)果證明,部分 benchmarks 有性能提升,平均在 2.57 至 2.93 間。
Algorithmic Skel
未來,F(xiàn)ranke 教授團(tuán)隊(duì)會(huì)支持更多的平臺(tái),進(jìn)行更多 Parallel Algorithmic Skeletons 的相關(guān)研究,并探索其他的問題域(如圖、矩陣等),歡迎感興趣的小伙伴持續(xù)關(guān)注!
審核編輯 :李倩
-
編程語言
+關(guān)注
關(guān)注
10文章
1951瀏覽量
35078 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4350瀏覽量
63081 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1211瀏覽量
24890
原文標(biāo)題:活動(dòng)回顧|編程語言技術(shù)沙龍第 23 期:Collection Skeletons: 數(shù)據(jù)集合的聲明式抽象
文章出處:【微信號(hào):編程語言Lab,微信公眾號(hào):編程語言Lab】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
java集合干貨系列
嵌入式操作系統(tǒng)的通用硬件抽象層設(shè)計(jì)
u*** hid報(bào)告描述符collection application和collection physical有什么關(guān)系是從屬關(guān)系嗎
抽象層在嵌入式設(shè)計(jì)中有何作用
嵌入式ARM開發(fā)之自定義數(shù)據(jù)類型相關(guān)資料推薦
嵌入式系統(tǒng)硬件抽象層的設(shè)計(jì)思想簡析
HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS的聲明式開發(fā)范式
運(yùn)算放大器電路集合--Op Amp Circuit Coll

嵌入式操作系統(tǒng)的通用硬件抽象層設(shè)計(jì)

嵌入式軟件中狀態(tài)機(jī)的抽象與實(shí)現(xiàn)
分析java接口和抽象類區(qū)別
JAVA集合類匯總

評(píng)論