Introductie van ‘mesh’, geheugenbesparende

Introductie van ‘mesh’, geheugenbesparende

Introductie van ‘mesh’, geheugenbesparende plug-in om telefoon- en computerprestaties te verbeteren

Applicaties zoals webbrowsers of smartphone-apps gebruiken vaak veel geheugen. Om dit aan te pakken, heeft een onderzoeksgroep onder leiding van Emery Berger, een professor in computerwetenschappen aan de Universiteit van Massachusetts Amherst, een systeem ontwikkeld dat ze Mesh noemen en die dergelijke geheugeneisen automatisch kunnen verminderen. Berger presenteert dit werk vandaag op Cppcon, de C ++ -conferentie in Aurora, Colorado Introductie van.

Berger en collega’s van het College of Information and Computer Science (CICS) verwachten dat Mesh een substantiële impact zal hebben op de computerwereld, van mobiele applicaties tot desktops tot datacenters, omdat niemand eerder in staat was om geheugen te comprimeren in applicaties die zijn geschreven in of uitgevoerd op veelgebruikte talen zoals C, C ++ of Objective C, de taal die wordt gebruikt voor iOS-apps Introductie van

Zoals de auteurs uitleggen, kunnen programma’s die zijn geschreven in C-achtige talen last hebben van ernstige geheugenfragmentatie, waarbij het geheugen wordt verbroken, net als een slecht Tetris-bord, zegt Berger, dus er zitten veel lege gaten tussen. “Dit is hoe geheugen wordt verspild”, merkt hij op. “Stel je een Tetris-bord voor waar je het op elk gewenst moment kunt stoppen en reorganiseren – dit zou het spel een stuk eenvoudiger maken, omdat je altijd de lege ruimte kunt uitknijpen. Maar je kunt dit niet doen in C, net zoals je kunt doe het niet in Tetris. ”

Mesh verkleint deze lacunes effectief door gebruik te maken van een hardwarefunctie genaamd “virtueel geheugen” dat door bijna alle moderne computers wordt ondersteund. “De truc is om stukjes geheugen te vinden die kunnen worden verweven, een beetje zoals wanneer in elkaar grijpende tandwielen gaas zijn,” legt Berger uit. Wanneer Mesh deze brokken vindt, kan het het geheugen van een van de brokken terugwinnen door de twee brokken in slechts één te combineren. “Dit meshing-proces werkt omdat we alleen dingen in ‘fysiek’ geheugen veranderen. Vanuit het perspectief van het programma, dat alleen ‘virtueel’ geheugen kan zien, is er niets veranderd. Dit is krachtig omdat we dit voor elke toepassing automatisch kunnen doen.”

Het team meldt dat de resultaten tot nu toe zeer veelbelovend zijn; Het gebruik van Mesh vermindert bijvoorbeeld automatisch de geheugenvereisten van de Firefox-webbrowser met 16%. Voor Redis, een populaire open source datastructuurserver, vermindert Mesh de geheugenbehoefte met bijna 40%.

Het CICS Mesh-team bestaat uit professor Emery Berger, een expert in geheugenbeheer die het algoritme heeft ontworpen waarop de Mac OS X-geheugenbeheerder is gebaseerd, professor Andrew McGregor, een specialist in algoritmeontwerp en -analyse, en promovendi Bobby Powers en David Tench. Powers is een vierdejaars promovendus die ook een infrastructuuringenieur is bij Stripe, en Tench is een vijfdejaars promovendus die gespecialiseerd is in gerandomiseerde algoritmen.

In een veld waar ‘catastrofale fragmentatie’ lang als onvermijdelijk werd geaccepteerd, is hun software een grote stap vooruit, benadrukken de auteurs. “Dit is iets waarvan iedereen dacht dat het onmogelijk was”, merkt McGregor op. “Nadat Emery zijn belangrijkste inzicht had, konden we het theoretisch analyseren en een efficiënt algoritme ontwerpen om het idee te implementeren. Tegen bijna 50 jaar conventionele wijsheid is het geweldig dat we nu een oplossing hebben voor dit belangrijke probleem dat niet alleen werkt in theorie, maar is praktisch. ”

Eerder dit jaar presenteerde Berger technische details op de ACM SIGPLAN Programming Language Design and Implementation-conferentie (PLDI ’19) in Phoenix. In reactie op het artikel tweette Microsoft-programmeur en gerenommeerde ingenieur Miguel de Icaza dat Mesh een “echt inspirerend werk is, met diepe impact. Een mooi volledig ontwikkeld idee. Wat een geweldige bijdrage aan de industrie.”

admin

Leave a Reply

Your email address will not be published. Required fields are marked *