• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  • Vi introducerar mesh, ett minnesbesparande plug-in som kan öka telefonens och datorns prestanda

    En forskargrupp leds av Emery Berger, professor i datavetenskap vid UMass Amherst, har utvecklat ett system som de kallar Mesh som automatiskt kan minska sådana minneskrav. Kredit:UMass Amherst

    Applikationer som webbläsare eller smartphoneappar använder ofta mycket minne. För att ta itu med detta, en forskargrupp som leds av Emery Berger, professor i datavetenskap vid University of Massachusetts Amherst, har utvecklat ett system som de kallar Mesh som automatiskt kan minska sådana minneskrav. Berger presenterar detta arbete idag på Cppcon, C++-konferensen i Aurora, Colorado.

    Berger och kollegor i College of Information and Computer Science (CICS) förväntar sig att Mesh kommer att ha en betydande inverkan på datorvärlden, från mobilapplikationer till stationära datorer till datacenter, eftersom ingen tidigare har kunnat komprimera minne i applikationer som är skrivna i eller körs ovanpå allmänt använda språk som C, C++, eller mål C, språket som används för iOS-appar.

    Som författarna förklarar, program skrivna på C-liknande språk kan drabbas av allvarlig minnesfragmentering, där minnet är brutet, ungefär som en dålig Tetris-bräda, Berger säger, så det finns många tomma luckor däremellan. "Det är så minnet slösas bort, " påpekar han. "Föreställ dig en Tetris-bräda där du kan stoppa och omorganisera den när som helst – det här skulle göra spelet mycket enklare, eftersom du alltid kan klämma ut det tomma utrymmet. Men du kan inte göra detta i C, precis som du inte kan göra det i Tetris."

    Mesh klämmer effektivt ut dessa luckor genom att dra fördel av en hårdvarufunktion som kallas "virtuellt minne" som stöds av nästan alla moderna datorer. "Knepet är att hitta minnesbitar som kan interfolieras, ungefär som när sammankopplade växlar griper in, " förklarar Berger. När Mesh hittar dessa bitar, den kan återta minnet från en av bitarna genom att kombinera de två bitarna till bara en. "Denna meshing-process fungerar eftersom vi bara ändrar saker i "fysiskt" minne. Ur programmets perspektiv, som bara kan se "virtuella" minne, inget har förändrats. Detta är kraftfullt eftersom vi kan göra detta för alla program automatiskt."

    Teamet rapporterar att resultaten hittills har varit extremt lovande; till exempel, att använda Mesh minskar automatiskt minneskraven för Firefox webbläsare med 16 %. För Redis, en populär datastrukturserver med öppen källkod, Mesh minskar minneskraven med nästan 40 %.

    CICS Mesh-teamet inkluderar professor Emery Berger, en expert på minneshantering som designade algoritmen som Mac OS X-minneshanteraren är baserad på, professor Andrew McGregor, en specialist på algoritmdesign och analys, och doktoranderna Bobby Powers och David Tench. Powers är en doktorand på fjärde året som också är infrastrukturingenjör på Stripe, och Tench är en doktorand på femte året som specialiserat sig på randomiserade algoritmer.

    På ett område där "katastrofisk fragmentering" länge accepterades som oundviklig, deras mjukvara är ett stort steg framåt, påpekar författarna. "Det här är något som alla trodde var omöjligt, ", konstaterar McGregor. "Efter att Emery hade sin nyckelinsikt, vi kunde analysera det teoretiskt och designa en effektiv algoritm för att implementera idén. Mot nästan 50 år av konventionell visdom, det är bra att vi nu har en lösning på detta viktiga problem som inte bara fungerar i teorin, men det är praktiskt."

    Tidigare i år, Berger presenterade tekniska detaljer vid ACM SIGPLAN Programming Language Design and Implementation konferens (PLDI '19) i Phoenix. Som svar på tidningen, Microsofts programmerare och framstående ingenjör Miguel de Icaza twittrade att Mesh är ett "verkligen inspirerande arbete, med djup påverkan. En vacker idé fullt utvecklad. Vilket fantastiskt bidrag till branschen."


    © Vetenskap https://sv.scienceaq.com