麻省理工學院研究人員開發的一種新技術重新考慮了硬件數據壓縮地下六合彩玩法,以釋放計算機和移動設備使用的更多內存,從而使它們能夠更快地運行並同時執行更多任務。
數據壓縮利用冗餘數據新天下娛樂城從而釋放存儲容量,提高計算速度並提供其他好處。在當前的計算機系統中,與實際計算相比,訪問主存儲器非常昂貴。因此,在內存中使用數據壓縮有助於提高性能,因為它減少了需要從主內存中提取數據程序的頻率和數量。
現代計算機中的內存以固定大小的塊來管理和傳輸數據,傳統的壓縮技術必須在此大小上運行。但是,軟件並不自然地將其數據存儲在固定大小的塊中。相反,它使用“對象”,即包含各種類型的數據並具有可變大小的數據結構。因此,傳統的硬件壓縮技術不能很好地處理對象。
麻省理工學院的研究人員在本週舉行的ACM國際編程語言和操作系統體系結構支持國際會議上發表的一篇論文中,描述了在內存層次結構中壓縮對象的第一種方法。這減少了內存使用,同時提高了性能和效率。
使用任何現代編程語言(例如Java,Python和Go)進行編程時,程序員都可以從該技術中受益,該語言可以在對像中存儲和管理數據而無需更改其代碼。最終,消費者會看到計算機可以運行得更快,或者可以以相同的速度運行更多的應用程序。由於每個應用程序消耗的內存更少,因此運行速度更快,因此設備可以在其分配的內存中支持更多應用程序。
在使用改良的Java虛擬機進行的實驗中,該技術壓縮了兩倍的數據,並減少了內存使用量。耀發娛樂城 是傳統基於緩存的方法的一半。
“第一手作者Po-An Tsai說:“動機是試圖提出一種新的內存層次結構,該層次結構可以執行基於對象的壓縮,而不是高速緩存行壓縮,因為這是大多數現代編程語言如何管理數據的方式。在計算機科學與人工智能實驗室(CSAIL)中。
“所有計算機系統都將從中受益”,共同作者,計算機科學與電氣工程教授,CSAIL研究員Daniel Sanchez補充道。 “程序變得更快,因為它們不再受到內存帶寬的瓶頸。”
研究人員建立在他們先前的工作之上,該工作重新構造了內存體系結構以直接操作對象。傳統的體系結構將數據存儲在塊中,這些塊以逐漸增大和減小的內存層次結構(稱為“緩存”)存儲。最近訪問的塊上升到更小,更快的緩存,而較舊的塊被移動到速度越來越慢的緩存,最終返回主內存。儘管這種組織非常靈活,但是卻很昂貴:要訪問內存,每個緩存都需要在其內容中搜索地址。
“由於現代編程語言中數據管理的自然單位是對象,為什麼不僅大樂透開獎號碼僅建立一個處理對象的存儲器層次結構?”桑切斯說。
在去年10月發表的一篇論文中,研究人員詳細描述了一個名為Hotpads的系統,該系統存儲緊密封裝在層次結構中的整個對象(即“ pads”)。這些級別完全位於高效的,片上直接尋址的存儲器上,而無需複雜的搜索。
然後,程序會直接在焊盤的層次結構中引用所有對象的位置。新分配和最近引用的對像以及它們指向的對象處於更快的級別。更快的級別填滿後,它將運行“逐出”過程,該過程將保留最近引用的對象,但將較舊的對象降低到較慢的級別,並回收不再有用的對象, 萬來博娛樂城釋放空間。然後在每個對像中更新指針,以指向所有移動對象的新位置。這樣,程序可以比通過緩存級別進行搜索便宜得多。
對於他們的新工作,研究人員設計了一種稱為“ Zippads”的技術,該技術利用Hotpads架構壓縮對象。當對象首次以更快的速度啟動時,它們將被解壓縮。但是,當它們被驅逐到較慢的水平時,它們都會被壓縮。然後,跨級別的所有對像中的指針都指向那些壓縮的對象,這使它們易於調用回更快的級別,並且比現有技術更緊湊地存儲。
然後,壓縮算法可有效利用對象之間的冗餘。與以前的技術相比,該技術發現了更多的壓縮機會,而以前的技術僅限於在每個固定大小的塊中查找冗餘。該算法首先選擇一些代表性對像作為“基礎”對象。然後,在新對像中,它僅存儲那些對象與代表性基礎對象之間的不同數據。
卡內基梅隆大學電氣和計算機工程助理教授布蘭登·盧西亞(Brandon Lucia)讚揚了這項工作所取得的成就威博娛樂城面向對象編程語言的強大功能可以更好地壓縮內存。 贏家娛樂城諸如面向對象程序設計之類的抽像被添加到系統中以簡化程序設計,但通常會在系統性能或效率方面帶來成本,”他說。 “這項工作的有趣之處在於,它使用現有的對象抽像作為一種使內存壓縮更有效的方式,從而通過新穎的計算機體系結構功能使系統更快,更高效。”
本文已從麻省理工學院提供的材料中重新發布。注意:材料的長度和內容可能已被編輯。有關更多信息,請聯繫引用的來源。
參考:Tsai,P.-A.和Sanchez,D.(2019)。壓縮對象,而不是高速緩存行:基於對象的壓縮內存層次結構。第二十四屆國際編程線上麻將現金語言和操作系統的體系結構支持會議論文集-ASPLOS ’19,229–242。 https://doi.org/10.1145/3297858.3304006