Variaons of Virtual Memory - University of California, San...

29
Varia%ons of Virtual Memory CSE 240A Student Presenta%on Paul Loriaux Thursday, January 21, 2010

Transcript of Variaons of Virtual Memory - University of California, San...

Page 1: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Varia%onsofVirtualMemory

CSE240AStudentPresenta%on

PaulLoriauxThursday,January21,2010

Page 2: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...
Page 3: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Everyuserprocessassigneditsownlinearaddressspace.

VM:RealandImagined

Eachaddressspaceasingleprotec%ondomainsharedbyallthreads.

Sharingonlypossibleatpagegranularity.

Disadvantage1:Pointermeaninglessoutsideitsaddresscontext

Disadvantage2:Transferofcontrolacrossprotec%ondomainsrequiresexpensivecontextswitch.

Inotherwords,sharingishardandslow.

Comparethisto“ideal”VMasimaginedyearsago.

Everyallocatedregiona“segment”withitsownprotec%oninforma%on.

However,thishassofarprovedtobeslowandcumbersome.Sofar...

Page 4: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Offersfinegrainedmemoryprotec%on,

EnterMondrianmemoryprotec%on(MMP)!

withthesimplicityandefficiencyoftoday’slinearaddressing,

withacceptablysmallrun‐%meoverheads.

How?By(A)allowingdifferentPDstotohavedifferentpermissionsonthesamememoryregion.

By(B)suppor%ngsharinggranularitysmallerthanapage.

Conven%onallinearVMsystemsfailon(A)and(B).

Page‐groupsystemsfailon(A)and(B).

Capability‐basedsystemsfailmainlyon(C),arguablyon(A).By(C)allowingPDstoownregionsof

memoryandgrantorrevokeprivileges.

Page 5: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

1.APermissionsTable,oneperPDandstoredinprivilegedmemory,specifiesthepermissionsthatPDhasforeveryaddressintheaddressspace.

MMPDesign

2.Acontrolregisterholdstheaddressoftheac%vePD’spermissionstable.

1

2 3

3.APLBcachesentriesfrom(1)toreducememoryaccesses.

4

4.Asidecarregister,oneperaddressregister,cachesthelastsegmentaccessedbyitsassociatedregister.

Acompressedpermissionstablereducesspaceneededforpermissions.

Page 6: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Alinear,sortedarrayofsegments,permi%ngabinarysearchonPLBmiss.

Howtostorepermissions,take1:SST

Segmentscanbeanynumberofwordsinlength,butcannotoverlap.

SortedSegmentTable

Goal:balance(a)spaceoverhead,(b)access%meoverhead,(c)PLBu%liza%on,and(d)%metomodifythetableswhenpermissionschange.

EachentryintheSSTincludesa30‐bitstartaddressanda2‐bitpermissionsfield.

Problem:cans%lltakemanystepstolocateasegmentwhenthenumberofsegmentsislarge.

Problem:CanonlybesharedbetweenPDsinitsen%rety.

Page 7: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Amul%‐leveltable,sortoflikeaninode.

Howtostorepermissions,take2:MLPT

1024entries,eachofwhichmapsa4MBblock,inwhicheachentrymapsa4KBblock,inwhicheachofthe64entriesprovidesindividualpermissionsfor16x4Bwords.

Mul8‐levelPermissionsTable

Howarepermissionsstoredinthose4Bytewords?

Op%on1:PermissionVectorEntries

Op%on2:Mini‐SSTentries

Page 8: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Well,you’vegot32bits,youhave2‐bitpermissions,sojustchoptheentryupinto162‐bitvaluesforindica%ngthepermissionsforeachof16words.

PermissionVectorEntries

Problem:Donottakeadvantageofthefactthatmostusersegmentsarelongerthanasingleword.I.e.notcompact.

Page 9: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Twosegments(mid0,mid1)encodetwodifferentpermissionsfor16words.

Mini‐SSTEntries

Onesegment(first)encodespermissionsfor31‐wordsegment(maximally)upstream.

Onesegment(last)encodespermissionsfor32‐wordsegment(maximally)downstream.

Advantage:muchmorecompact

Advantage:overlapinsegmentsmayalleviateproximalloadsfromthetable

Totaladdressrange:79words

Disadvantage:overlappingaddressrangescomplicatestableupdates.

2‐bitentrytype.Eitherpointertonextlevel,pointertopermissionvector,ormini‐SSTentry.

Page 10: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

ThePLBcachesPermissionsTableentries,analogoustotheTLB.

Boos%ngPerformancevia2‐LevelPermissionsCaching

Loworder“don’tcare”bitsinthePLBtagincreasethenumberofaddressesaPLBentrymatches,thusdecreasingthePLBmiss‐rate.

ChangesinpermissionsrequiresaPLBflush.Asabove,“don’tcare”bitsinthesearchkeyallowallPLBentrieswithinthemodifiedregiontobeinvalidatedduringasinglecycle.

Page 11: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Eachaddressregisterinthemachinehasanassociatedsidecarregister.

Boos%ngPerformancevia2‐LevelPermissionsCaching

OnaPLBmiss,theentryreturnedbythePermissionsTableisalsoloadedintotheappropriatesidecarregister.

Thebaseandboundoftheusersegmentrepresentedbythetableentryareexpandedtofacilitateboundarychecks.

Idea:thememoryaddressreferencedbyapar%cularaddressregisterontheCPUwillfrequentlyload/storefrom/tothataddressoronewithinthesameusersegment,sohardwirethepermissions.

ReducestraffictothePLB.

Page 12: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

EvaluatedbothCandJavaprograms.(why?)thatwereamixofbothmemory‐referenceandmemory‐alloca%onintensive.

Evalua%ngPerformanceOverhead

Refs:totalno.ofloadsandstoresx106

Segs:no.ofsegmentswriientoPT

R/U:avg.referencesperPTupdate

Cs:no.ofcoarse‐grainedsegments

Oneconfoundingparameter:thedegreeofgranularity.Evaluatedtheextrema,(a)coarse‐grainedasprovidedbytoday’sVM,and(b)super‐fine‐grainedwhereeveryobjectisitsownusersegment.

AllbenchmarkprogramsrunonaMIPSsimulatormodifiedtotracememoryreferences.

Page 13: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Metrics

Run%meoverhead=numberofpermissionstablereferences(rw)÷numberofmemoryreferencesmadebytheapplica%on.

Spaceoverhead=spaceoccupiedbyprotec%ontables÷byspacebeingusedbyapplica%on(data+instruc%ons)atendofrun.

Spacebeingusedbyapplica%ondeterminedbyqueryingeverywordinmemoryandseeingifithasvalidpermissions.

Caveat:spacebetweenmallocedregionsnotincludedinthisquan%ty.

Caveat:notmeasuringpeakoverhead. Caveat:thisoverheadmayormaynotmanifestitselfasperformanceloss,dependingoncpuimplementa%on.

Page 14: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

MLPTwithmini‐SSTentriesand60‐entryPLBversusconven%onalpagetableplusTLB.

Coarse‐GrainedProtec%onResults

Expecta%on:slightspaceoverheadfromMLPTleaftables.

Expecta%on:slightspeedimprovementfromaddi%onalhardware.

Claim:overheadforMMPword‐levelprotec%onisverylowwhennotused.

Expecta%onsgenerallyhold.

Page 15: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Fine‐GrainedProtec%onResults

Removedpermissionsonmallocheaderandonlyallowedprogramaccesstotheallocatedblock.

Claim1.MLPToutperformsSSTassegmentnumberincreases.Why?

Claim2.MLPTspaceoverheadisalways<9%.

Claim3.ThemSSTtableentryoutperformsprotec%onvectors.

Page 16: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

MemoryHierarchyPerformance

Sidecarmissrateabout10‐20%.PLBmissratejust0.5%.

ImpactofpermissionstableaccessesonL1L2cacheefficiencyisslight,withlessthananaddi%onal0.25%beingaddedtothemissrateintheworstcase.

Page 17: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

1.Fine‐grainedsegment‐basedmemoryprotec%onthatiscompa%blewithcurrentlinearlyaddressedISAsisfeasible.

Conclusions

2.Thespaceandrun%meoverheadofprovidingthisprotec%onissmallandscaleswiththedegreeofgranularity.

3.TheMMPfacili%escanbeusedtoimplementefficientapplica%ons.

Page 18: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...
Page 19: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

64‐bitvirutaladdressspacesarecoming.

Context

Thisalleviatestheexis%ngevolu%onarypressureonOSestotreatvirtualaddressesasascarceresourcethatmustbemul%plyallocated.

Allprogramscannowliveinonebighappyaddressspace.Thesearesingleaddressspace(SAS)opera8ngsystems.

That’smoreaddressspacethanaprogramcouldeverwantorneed.

Pro:addressesareuniqueandcontextindependent.

Con:nomoreprivateaddressspacemeansnointrinsicprotec%on.

Thispaperfocusesonhowtorepresentprotec%oninforma%oninthecachestructuresinSASsystems.

Page 20: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

ThePromisesofSASOSes

VirituallyIndexedCachesSupportforSharing

VAsaregloballyuniquesocanbepassedbetweendomainswithouttransla%on.

AlleviatestheneedforcostlyRPCswhencommunica%ngacrossprotec%ondomains.

Virituallyindexedcachesarefasterthanphysicallyindexedcachesbecausenoaddytransla%onrequired.

However,mul%pleaddressspaceOSesmustusephysicalindexingbecause:

2+VAsfrom2+PDsmayreferencethesamephysicaladdress(synonyms),causingcoherencyproblems.

1VAfrom2+PDsmayreference2+physicaladdress(homonyms).

Boththesemaybecircumvented,butatthecostofperformance.InSASsystems,synonymsandhomonymsdon’texist.Virtualtophysicalmappingis(canbe)1‐to‐1.

Page 21: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Mo%va%on

WewouldliketotakeadvantageofthebenefitsofSASOses.

Thispaperseekstoevaluatetwomodelofhardwaresupportforprotec%oninSASsystems.

Todosoweneedtorestoretheprotec%onthatwelostwhenwehadaseparateaddressspaceforeveryprotec%ondomain.

Page 22: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

1.Protec%ondomainsinaSASsystemwouldtypicallyreferencesmallandwidelyscaieredpiecesoftheaddressspace.Linearpagetablescannotrepresentsuchsparsemappingscompactly.

What’swrongwithconven%onalarchitecturesandSAS?

2.Transla%onmappingsforsharedpagesmustbeduplicatedinthepagetablesofforeachdomain.Thisiswastefulandinvitescoherencyissues.

Page 23: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Twomodelsforsuppor%ngprotec%oninSASsystems

Page‐GroupModelDomain‐PageModel

Specifiespermissionsexplicitlyforeachdomain‐pagepair.

Defineslogicalgroupingofpagescalledpage‐groups.

APDdefinedbythesetofpage‐groupsitcanaccess.

CanbeimplementedbymovingPDtagsfromtheTLBtoaprotec8onlookasidebuffer(PLB).

Eachpagewithinagrouphasaccessrightsthatareusedbyalldomainswithaccesstothegroup.

Page 24: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

ThePLB

EachPLBentrycontainstheprotec%oninforma%ongrantedtoonePDforonespecificvirtualpage.

OneachmemoryreferencethePLBisaccessedbytheVPNandPD‐ID,providedbyprocessorctrlregister.

NoteVAusedforbothcacheandPLB,solookupscanoccurinparallel.

Notethatsepara%onoftransla%onandprotec%oninthismannerallowsthePLBtobeusedinconjunc%onwithavirtuallyindexedandtaggedcache

Page 25: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

ThePLB

Notethisisdifferentthanwhatwe’veseenbefore.Addresstransla%onisoutsidethecri%calpathofthecpu.

HeretheTLBcanbemovedoff‐chip,allowingforpoten%allyamuchlargerTLB.

NotetheTLBonlyrequiresoneentryforeachvirtual‐to‐physicalmapping.Apurgeisrequiredonlyonthechangeofavirtual‐to‐physicaltransla%onandnotduringaprotec%ondomainswitch.

Page 26: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

ThePage‐GroupModel

TheprocessormustdeterminewhetherthecurrentPDhasaccesstothepage‐groupiden%fiedbytheAID

ThisTLBtakesaVPNandreturns(a)aphysicaladdress,(b)rights,and(c)anaccessiden8fier(AID)thatcontainsapage‐groupnumber.

Fourpage‐groupregisters(PIDs)storethesetofpage‐groupsaccissibletothecurrentPD.

IfAID==0(global)orAID==PID1‐4thenaccessisgranted,withrightsgivenby(a)theTLB,(b)thecurrentcpuprivilegelevel,and(c)awritebit.

a b c

Page 27: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

ThePage‐GroupModel

Note2thefourpage‐groupregistersobviouslylimitthenumberofgroupsaPDcanaccess.Foreval,theauthorsassumeanLRUcacheofpage‐groups.

Note1ifaccessisnotgrantedthenanaccessviola%onissignaledandthekernelisinvoked.

Note3transla%onandprotec%onarecombinedinthisTLB,thustheTLBmustbeon‐chip.ButavirtuallyindexedTLBandon‐chipPLBcouldhavebeenusedaswell,thusmakingpage‐groupingabitofanorthologousissue.

Page 28: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Evalua%onA

Page 29: Variaons of Virtual Memory - University of California, San ...cseweb.ucsd.edu/classes/wi10/cse240a/Slides/loriaux_VM.pdf · Variaons of Virtual Memory ... linear address space. ...

Evalua%onB