%PDF-1.3 % 2 0 obj << /Length 11558 >> stream BT /TT2 1 Tf 22 0 0 22 156.125 713.75 Tm 0 g /GS1 gs -0.0002 Tc 0 Tw [(A)-249.6(N)0.4(ew)-249(Hashing)-255(Package)-249.5(for)-251.8(UNIX)]TJ /TT4 1 Tf 20 0 0 20 481.875 721.75 Tm 0 Tc (1)Tj /TT6 1 Tf 12 0 0 12 200.875 694.625 Tm [(Margo)-250.7(Seltzer)]TJ /TT7 1 Tf 5.9583 0 TD <003c>Tj /TT6 1 Tf 0.8021 0 TD [(University)-257.5(of)-250.3(California,)-268.7(Berkeley)]TJ -2.5104 -1 TD [(Ozan)-254.7(Yigit)]TJ /TT7 1 Tf 4.6771 0 TD <003c>Tj /TT6 1 Tf 0.8021 0 TD [(York)-246.9(University)]TJ /TT2 1 Tf -2.1875 -2.1979 TD (ABSTRACT)Tj /TT6 1 Tf 10 0 0 10 144 639.25 Tm [(UNIX)-413(support)-400(of)-404.5(disk)-395.5(oriented)-411.1(hashing)-401.7(was)-407.3(originally)-399.3(provided)-407.8(by)]TJ /TT4 1 Tf 28.425 0 TD (dbm)Tj /TT6 1 Tf 2.1125 0 TD [([ATT79])-402.6(and)]TJ -30.5375 -1.1 TD [(subsequently)-315.8(improved)-317.5(upon)-312.5(in)]TJ /TT4 1 Tf 13.0875 0 TD (ndbm)Tj /TT6 1 Tf 2.5375 0 TD [([BSD86].)-301.2(In)-304.5(AT&T)-303.3(System)-292.7(V,)-302.8(in-memory)-306.6(hashed)]TJ -15.625 -1.1 TD [(storage)-462.3(and)-456.2(access)-471.3(support)-450(was)-457.3(added)-462.3(in)-447.2(the)]TJ /TT4 1 Tf 19.4875 0 TD (hsearch)Tj /TT6 1 Tf 3.6125 0 TD [(library)-447(routines)-440.8([ATT85].)-702.6(The)]TJ -23.1 -1.1 TD [(result)-465.8(is)-458(a)-468.7(system)-459.7(with)-459.7(two)-462.5(incompatible)-466.8(hashing)-451.7(schemes,)-462.3(each)-468.5(with)-447.2(its)-442.7(own)-452.8(set)-451.7(of)]TJ T* (shortcomings.)Tj 0 -1.425 TD [(This)-272.2(paper)-291.8(presents)-285.6(the)-278.3(design)-264.2(and)-268.7(performance)-297.8(characteristics)-293.7(of)-267(a)-268.7(new)-271.5(hashing)-264.2(package)]TJ 0 -1.1 TD [(providing)-248.8(a)-256.1(superset)-260.6(of)-254.5(the)-253.3(functionality)-252.6(provided)-257.8(by)]TJ /TT4 1 Tf 21.3625 0 TD (dbm)Tj /TT6 1 Tf 1.975 0 TD (and)Tj /TT4 1 Tf 1.7 0 TD (hsearch)Tj /TT6 1 Tf 3.175 0 TD [(.)-500(The)-257.8(new)-259(package)]TJ -28.2125 -1.1 TD [(uses)-402.8(linear)-411.1(hashing)-401.7(to)-397.2(provide)-407.8(ef)]TJ /TT8 1 Tf 13.7394 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(cient)-411.1(support)-387.5(of)-392(both)-384.7(memory)-392.5(based)-398.1(and)-393.7(disk)-383(based)]TJ -14.2955 -1.1 TD [(hash)-254.5(tables)-255(with)-247.2(performance)-285.3(superior)-260.6(to)-247.2(both)]TJ /TT4 1 Tf 18.625 0 TD (dbm)Tj /TT6 1 Tf 1.975 0 TD (and)Tj /TT4 1 Tf 1.7 0 TD (hsearch)Tj /TT6 1 Tf 3.425 0 TD [(under)-260.6(most)-242.7(conditions.)]TJ /TT2 1 Tf -22.875 -2.2 TD (Introduction)Tj /TT6 1 Tf -6.1 -1.65 TD [(Current)-745.3(UNIX)-750.5(systems)-733(offer)-757.1(two)-737.5(forms)-742(of)]TJ -2.15 -1.1 TD [(hashed)-385.6(data)-384.5(access.)]TJ /TT4 1 Tf 8.6625 0 TD (Dbm)Tj /TT6 1 Tf 2.325 0 TD [(and)-381.2(its)-367.7(derivatives)-375.3(provide)]TJ -10.9875 -1.1 TD [(keyed)-349.8(access)-346.3(to)-322.2(disk)-320.5(resident)-334.5(data)-334.5(while)]TJ /TT4 1 Tf 16.775 0 TD (hsearch)Tj /TT6 1 Tf 3.5 0 TD (pro-)Tj -20.275 -1.1 TD [(vides)-501.7(access)-521.3(for)-509(memory)-505(resident)-509.5(data.)-759.5(These)-512.3(two)]TJ T* [(access)-683.8(methods)-648.8(are)-666.8(incompatible)-654.3(in)-647.2(that)-650.5(memory)]TJ T* [(resident)-472(hash)-467(tables)-467.5(may)-453.3(not)-447.2(be)-456.2(stored)-456.2(on)-450(disk)-445.5(and)]TJ T* [(disk)-383(resident)-397(tables)-392.5(cannot)-397(be)-393.7(read)-404.3(into)-369.3(memory)-380(and)]TJ T* [(accessed)-277.4(using)-245.5(the)-253.3(in-memory)-256.6(routines.)]TJ /TT4 1 Tf 2.15 -1.425 TD (Dbm)Tj /TT6 1 Tf 2.4875 0 TD [(has)-542(several)-556(shortcomings.)-786.3(Since)-540.8(data)-534.5(is)]TJ -4.6375 -1.1 TD [(assumed)-456.2(to)-447.2(be)-456.2(disk)-445.5(resident,)-459.5(each)-468.5(access)-458.8(requires)-454.3(a)]TJ T* [(system)-259.7(call,)-269.1(and)-268.7(almost)-258.5(certainly,)-277(a)-256.2(disk)-245.5(operation.)-261.1(For)]TJ T* [(extremely)-402(large)-401.5(databases,)-406(where)-407.1(caching)-390.6(is)-370.5(unlikely)]TJ T* [(to)-347.2(be)-356.2(effective,)-377.9(this)-330.2(is)-333(acceptable,)-368.7(however,)-357.1(when)-346.5(the)]TJ T* [(database)-332.6(is)-308(small)-308.5(\(i.e.)-307.8(the)-303.3(password)]TJ /TT8 1 Tf 14.7 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le\),)-301.7(performance)]TJ -15.2562 -1.1 TD [(improvements)-328.8(can)-337.3(be)-318.7(obtained)-319.1(through)-314.2(caching)-328.1(pages)]TJ T* [(of)-392(the)-390.8(database)-407.6(in)-384.7(memory.)-630(In)-379.5(addition,)]TJ /TT4 1 Tf 17.175 0 TD (dbm)Tj /TT6 1 Tf 2.1 0 TD (cannot)Tj -19.275 -1.1 TD [(store)-331.2(data)-334.5(items)-321(whose)-332.3(total)-322.7(key)-331.2(and)-318.7(data)-322(size)-320.3(exceed)]TJ T* [(the)-403.3(page)-412.3(size)-407.8(of)-404.5(the)-403.3(hash)-404.5(table.)-656.6(Similarly,)-390.3(if)-401.7(two)-400(or)]TJ T* [(more)-282.8(keys)-279.5(produce)-291.8(the)-278.3(same)-282.8(hash)-279.5(value)-284.5(and)-268.7(their)-267.5(total)]TJ T* [(size)-395.3(exceeds)-410.4(the)-390.8(page)-399.8(size,)-395.3(the)-390.8(table)-394.1(cannot)-384.5(store)-381.2(all)]TJ T* [(the)-253.3(colliding)-244.8(keys.)]TJ 2.15 -1.425 TD [(The)-420.3(in-memory)]TJ /TT4 1 Tf 6.8375 0 TD (hsearch)Tj /TT6 1 Tf 3.575 0 TD [(routines)-403.3(have)-412.3(different)]TJ -12.5625 -1.1 TD [(shortcomings.)-598.8(First,)-341(the)-353.3(notion)-344.3(of)-342(a)-343.7(single)-336.3(hash)-342(table)]TJ T* [(is)-420.5(embedded)-440.6(in)-409.7(the)-415.8(interface,)-440.4(preventing)-423.6(an)-418.7(applica-)]TJ T* [(tion)-719.3(from)-731.2(accessing)-743.5(multiple)-717(tables)-717.5(concurrently.)]TJ T* [(Secondly,)-315.8(the)-315.8(routine)-317.5(to)-309.7(create)-338.8(a)-318.7(hash)-317(table)-319.1(requires)-316.8(a)]TJ T* [(parameter)-327.9(which)-306.2(declares)-312.1(the)-290.8(size)-295.3(of)-292(the)-290.8(hash)-292(table.)-294.1(If)]TJ T* [(this)-255.2(size)-257.8(is)-245.5(set)-251.7(too)-247.2(low,)-250(performance)-285.3(degradation)-267.3(or)-254.5(the)]TJ T* [(inability)-267(to)-272.2(add)-281.2(items)-271(to)-272.2(the)-265.8(table)-269.1(may)-265.8(result.)-765.8(In)-267(addi-)]TJ T* (tion,)Tj /TT4 1 Tf 2.375 0 TD (hsearch)Tj /TT6 1 Tf 3.75 0 TD [(requires)-591.8(that)-575.5(the)-578.3(application)-569.6(allocate)]TJ -6.125 -1.1 TD [(memory)-630(for)-634(the)-628.3(key)-631.2(and)-631.2(data)-634.5(items.)-871(Lastly,)-625.5(the)]TJ /TT4 1 Tf T* (hsearch)Tj /TT6 1 Tf 3.6625 0 TD [(routines)-490.8(provide)-495.3(no)-487.5(interface)-515.4(to)-484.7(store)-481.1(hash)]TJ -3.6625 -1.1 TD [(tables)-255(on)-250(disk.)]TJ ET 0 G 1 J 0 j 0.25 w 10 M []0 d 1 i 90 92.875 m 198 92.875 l S BT /TT4 1 Tf 8 0 0 8 95 86 Tm (1)Tj /TT6 1 Tf 9 0 0 9 99 82.875 Tm [(UNIX)-250.5(is)-249.7(a)-250.6(registered)-252.1(trademark)-252.3(of)-250.3(AT&T.)]TJ 10 0 0 10 359.75 526 Tm [(The)-370.3(goal)-365.8(of)-367(our)-367(work)-369.8(was)-369.8(to)-359.7(design)-364.2(and)-368.7(imple-)]TJ -2.15 -1.1 TD [(ment)-425.5(a)-431.2(new)-434(package)-449.6(that)-425.5(provides)-418.7(a)-418.7(superset)-423.1(of)-417(the)]TJ T* [(functionality)-365.1(of)-367(both)]TJ /TT4 1 Tf 8.8125 0 TD (dbm)Tj /TT6 1 Tf 2.0875 0 TD (and)Tj /TT4 1 Tf 1.8125 0 TD (hsearch)Tj /TT6 1 Tf 3.175 0 TD [(.)-600(The)-357.8(package)]TJ -15.8875 -1.1 TD [(had)-618.7(to)-609.7(overcome)-632.6(the)-615.8(interface)-640.4(shortcomings)-611.3(cited)]TJ T* [(above)-412.3(and)-406.2(its)-392.7(implementation)-398.6(had)-406.2(to)-397.2(provide)-407.8(perfor-)]TJ T* [(mance)-340.6(equal)-334.5(or)-329.5(superior)-335.6(to)-322.2(that)-325.5(of)-329.5(the)-328.3(existing)-308.5(imple-)]TJ T* [(mentations.)-936.8(In)-692(order)-690.1(to)-672.2(provide)-682.8(a)-681.2(compact)-687.8(disk)]TJ T* [(representation,)-560.9(graceful)-562.1(table)-531.6(growth,)-529.5(and)-531.2(expected)]TJ T* [(constant)-755(time)-735.2(performance,)-772.8(we)-746.5(selected)-754.8(Litwins)]TJ T* [(linear)-436.1(hashing)-426.7(algorithm)-424.3([LAR88,)-429.5(LIT80].)-687.3(We)-437.3(then)]TJ T* [(enhanced)-362.1(the)-328.3(algorithm)-324.3(to)-322.2(handle)-334.5(page)-337.3(over)]TJ /TT8 1 Tf 18.0019 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ows)-330.7(and)]TJ -18.558 -1.1 TD [(large)-426.5(key)-418.7(handling)-413(with)-409.7(a)-418.7(single)-411.3(mechanism,)-420.8(named)]TJ T* (buddy-in-waiting.)Tj /TT2 1 Tf 3.3625 -1.925 TD [(Existing)-236.5(UNIX)-256.8(Hashing)-230.4(Techniques)]TJ /TT6 1 Tf -1.2125 -1.65 TD [(Over)-476(the)-453.3(last)-448.8(decade,)-474.6(several)-468.5(dynamic)-456.6(hashing)]TJ -2.15 -1.1 TD [(schemes)-287.3(have)-287.3(been)-287.3(developed)-290.6(for)-284(the)-278.3(UNIX)-288(timeshar-)]TJ T* [(ing)-597.2(system,)-597.2(starting)-588(with)-584.7(the)-590.8(inclusion)-583.5(of)]TJ /TT4 1 Tf 18.9375 0 TD (dbm)Tj /TT6 1 Tf 1.725 0 TD 0.5875 Tc (,a)Tj -20.6625 -1.1 TD 0 Tc [(minimal)-442(database)-470.1(library)-459.5(written)-455(by)-450(Ken)-459(Thompson)]TJ T* [([THOM90],)-577.1(in)-559.7(the)-565.8(Seventh)-565.8(Edition)-555.7(UNIX)-575.5(system.)]TJ T* [(Since)-403.3(then,)-403.3(an)-406.2(extended)-415.6(version)-406.2(of)-404.5(the)-390.8(same)-395.3(library,)]TJ /TT4 1 Tf T* (ndbm)Tj /TT6 1 Tf 2.225 0 TD [(,)-362.5(and)-368.6(a)-356.2(public-domain)-355.5(clone)-359.5(of)-354.5(the)-353.3(latter,)]TJ /TT4 1 Tf 17.3625 0 TD (sdbm)Tj /TT6 1 Tf 2.1125 0 TD (,)Tj -21.7 -1.1 TD [(have)-562.3(been)-562.3(developed.)]TJ 9.8125 0 TD 0.0016 Tc [(Another)-546.5(interface-compatible)]TJ -9.8125 -1.1 TD 0 Tc (library)Tj /TT4 1 Tf 3.05 0 TD (gdbm)Tj /TT6 1 Tf 2.225 0 TD [(,)-375(was)-382.3(recently)-392.3(made)-384.5(available)-378.6(as)-367(part)-370.3(of)]TJ -5.275 -1.1 TD [(the)-315.8(Free)-323.1(Software)-327.6(Foundations)-309.7(\(FSF\))-303(software)-319.6(distri-)]TJ T* (bution.)Tj 2.15 -1.425 TD [(All)-459.7(of)-467(these)-470.3(implementations)-459.5(are)-479.3(based)-460.6(on)-450(the)]TJ -2.15 -1.1 TD [(idea)-397(of)-392(revealing)-404.8(just)-380.2(enough)-381.1(bits)-367.7(of)-379.5(a)-381.2(hash)-379.5(value)-384.5(to)]TJ T* [(locate)-287.8(a)-281.2(page)-274.8(in)-259.7(a)-268.7(single)-261.3(access.)-533.8(While)]TJ /TT4 1 Tf 16.0125 0 TD (dbm/ndbm)Tj /TT6 1 Tf 4.4875 0 TD (and)Tj /TT4 1 Tf -20.5 -1.1 TD (sdbm)Tj /TT6 1 Tf 2.525 0 TD [(map)-415.8(the)-415.8(hash)-417(value)-422(directly)-408.3(to)-397.2(a)-406.2(disk)-395.5(address,)]TJ /TT4 1 Tf -2.525 -1.1 TD (gdbm)Tj /TT6 1 Tf 2.6875 0 TD [(uses)-465.3(the)-465.8(hash)-454.5(value)-459.5(to)-447.2(index)-453.3(into)-444.3(a)]TJ /TT4 1 Tf 15.5875 0 TD (directory)Tj /TT6 1 Tf -18.275 -1.1 TD [([ENB88])-259(containing)-253.8(disk)-245.5(addresses.)]TJ 2.15 -1.425 TD (The)Tj /TT4 1 Tf 1.9375 0 TD (hsearch)Tj /TT6 1 Tf 3.55 0 TD [(routines)-378.3(in)-372.2(System)-367.7(V)-365.3(are)-379.3(designed)]TJ -7.6375 -1.1 TD [(to)-447.2(provide)-457.8(memory-resident)-468.9(hash)-454.5(tables.)-705(Since)-440.8(data)]TJ T* [(access)-471.3(does)-454.5(not)-447.2(require)-468.5(disk)-445.5(access,)-471.3(simple)-446(hashing)]TJ T* [(schemes)-412.3(which)-406.2(may)-403.3(require)-406(multiple)-379.5(probes)-396.5(into)-381.8(the)]TJ T* [(table)-344.1(are)-354.3(used.)-342(A)-340.3(more)-345.3(interesting)-341.3(version)-343.7(of)]TJ /TT4 1 Tf 18.775 0 TD (hsearch)Tj /TT6 1 Tf -18.775 -1.1 TD [(is)-308(a)-318.6(public)-313(domain)-313(library,)]TJ /TT4 1 Tf 11.1 0 TD (dynahash)Tj /TT6 1 Tf 3.8375 0 TD [(,)-300(that)-300.5(implements)]TJ -14.9375 -1.1 TD [(Larsons)-626(in-memory)-606.6(adaptation)-610([LAR88])-609(of)-604.5(linear)]TJ T* [(hashing)-251.7([LIT80].)]TJ /TT2 1 Tf -24.825 -4.075 TD (USENIX)Tj /TT7 1 Tf 4.025 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)]TJ /TT6 1 Tf 35.775 0 TD (1)Tj ET endstream endobj 3 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 12 0 obj << /Length 15752 >> stream BT /TT2 1 Tf 10 0 0 10 54 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)-25569.3(Seltzer)-270.1(&)-254.5(Yigit)]TJ /TT4 1 Tf 8.025 -3.5 TD (dbm)Tj /TT6 1 Tf 1.975 0 TD (and)Tj /TT4 1 Tf 1.7 0 TD (ndbm)Tj /TT6 1 Tf -9.55 -1.65 TD (The)Tj /TT4 1 Tf 1.95 0 TD (dbm)Tj /TT6 1 Tf 2.1 0 TD (and)Tj /TT4 1 Tf 1.825 0 TD (ndbm)Tj /TT6 1 Tf 2.6 0 TD [(library)-384.5(implementations)-372(are)]TJ -10.625 -1.1 TD [(based)-660.6(on)-650(the)-653.3(same)-657.8(algorithm)-649.3(by)-650(Ken)-646.5(Thompson)]TJ T* [([THOM90,)-372.7(TOR88,)-362.5(WAL84],)-377.6(but)-347.2(differ)-366.8(in)-347.2(their)-355(pro-)]TJ T* [(grammatic)-336.6(interfaces.)-351.3(The)-332.8(latter)-333.3(is)-320.5(a)-331.2(modi)]TJ /TT8 1 Tf 17.1932 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-306.8(version)]TJ -17.7493 -1.1 TD [(of)-429.5(the)-428.3(former)-441.8(which)-431.2(adds)-417(support)-412.5(for)-421.5(multiple)-404.5(data-)]TJ T* [(bases)-359(to)-347.2(be)-356.2(open)-343.7(concurrently.)-609.3(The)-345.3(discussion)-333(of)-342(the)]TJ T* [(algorithm)-386.8(that)-388(follows)-387.5(is)-383(applicable)-391.1(to)-372.2(both)]TJ /TT4 1 Tf 18.4 0 TD (dbm)Tj /TT6 1 Tf 2.1 0 TD (and)Tj /TT4 1 Tf -20.5 -1.1 TD (ndbm)Tj /TT6 1 Tf 2.225 0 TD (.)Tj -0.075 -1.425 TD [(The)-395.3(basic)-395.3(structure)-401.5(of)]TJ /TT4 1 Tf 9.525 0 TD (dbm)Tj /TT6 1 Tf 2.1125 0 TD [(calls)-380(for)]TJ /TT8 1 Tf 3.7625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (xed-sized)Tj -18.1061 -1.1 TD [(disk)-583(blocks)-589.2(\(buckets\))-604.3(and)-593.7(an)]TJ /TT4 1 Tf 13.3375 0 TD (access)Tj /TT6 1 Tf 3.2 0 TD [(function)-580(that)]TJ -16.5375 -1.1 TD [(maps)-276.7(a)-281.2(key)-281.2(to)-259.7(a)-268.7(bucket.)-522(The)-270.3(interface)-290.4(routines)-265.8(use)-267(the)]TJ /TT4 1 Tf T* (access)Tj /TT6 1 Tf 3.0125 0 TD [(function)-380(to)-372.2(obtain)-375.5(the)-378.3(appropriate)-396.8(bucket)-384.5(in)-372.2(a)]TJ -3.0125 -1.1 TD [(single)-248.8(disk)-245.5(access.)]TJ 2.15 -1.425 TD [(Within)-535.2(the)]TJ /TT4 1 Tf 5.075 0 TD (access)Tj /TT6 1 Tf 3.1625 0 TD [(function,)-542.5(a)-543.7(bit-randomizing)]TJ -10.3875 -1.1 TD [(hash)-392(function)]TJ /TT4 1 Tf 8 0 0 8 109.625 550.875 Tm (2)Tj /TT6 1 Tf 10 0 0 10 117.5 547.75 Tm [(is)-383(used)-392(to)-372.2(convert)-389(a)-381.2(key)-381.2(into)-369.3(a)-381.2(32-bit)]TJ -6.35 -1.1 TD [(hash)-329.5(value.)-334.5(Out)-325(of)-329.5(these)-320.3(32)-312.5(bits,)-305.2(only)-309.7(as)-317(many)-315.8(bits)-305.2(as)]TJ T* [(necessary)-375.8(are)-366.8(used)-354.5(to)-347.2(determine)-364.5(the)-340.8(particular)-356.4(bucket)]TJ T* [(on)-262.5(which)-268.7(a)-268.7(key)-268.7(resides.)-523.1(An)-265.3(in-memory)-269.1(bitmap)-260.2(is)-258(used)]TJ T* [(to)-484.7(determine)-502(how)-490.3(many)-490.8(bits)-480.2(are)-504.3(required.)-493.5(Each)-489(bit)]TJ T* [(indicates)-370.8(whether)-366.8(its)-342.7(associated)-365.6(bucket)-359.5(has)-354.5(been)-362.3(split)]TJ T* [(yet)-403.3(\(a)-410.6(0)-387.5(indicating)-388.5(that)-388(the)-390.8(bucket)-397(has)-392(not)-384.7(yet)-390.8(split\).)]TJ T* [(The)-420.3(use)-417(of)-417(the)-415.8(hash)-417(function)-417.5(and)-418.7(the)-403.3(bitmap)-397.7(is)-395.5(best)]TJ T* [(described)-381(by)-362.5(stepping)-348.8(through)-351.7(database)-370.1(creation)-367.3(with)]TJ T* [(multiple)-242(invocations)-252.1(of)-254.5(a)]TJ /TT4 1 Tf 10.225 0 TD (store)Tj /TT6 1 Tf 2.25 0 TD (operation.)Tj -10.325 -1.425 TD [(Initially,)-359(the)-365.8(hash)-367(table)-369.1(contains)-367.5(a)-368.7(single)-348.8(bucket)]TJ -2.15 -1.1 TD [(\(bucket)-489(0\),)-479.5(the)-478.3(bit)-469.3(map)-478.3(contains)-480(a)-481.2(single)-473.8(bit)-469.3(\(bit)-461.3(0)]TJ T* [(corresponding)-291.8(to)-272.2(bucket)-284.5(0\),)-279.5(and)-281.2(0)-275(bits)-517.7(of)-279.5(a)-281.2(hash)-267(value)]TJ T* [(are)-379.3(examined)-375.3(to)-359.7(determine)-377(where)-382.1(a)-368.7(key)-368.7(is)-358(placed)-378.1(\(in)]TJ T* [(bucket)-309.5(0\).)-554.5(When)-312.3(bucket)-309.5(0)-300(i)0(s)-295.5(full,)-298.8(its)-292.7(bit)-294.3(in)-297.2(the)-303.3(bitmap)]TJ T* [(\(bit)-261.3(0\))-267(is)-258(set,)-264.2(and)-268.7(its)-255.2(contents)-267.5(are)-279.3(split)-252.3(between)-268.5(buckets)]TJ T* [(0)-337.5(and)-331.2(1,)-325(by)-325(considering)-334.5(the)-328.3(0)]TJ /TT4 1 Tf 7 0 0 7 174.625 372.5 Tm (th)Tj /TT6 1 Tf 10 0 0 10 185 368.5 Tm [(bit)-319.3(\(the)-332.8(lowest)-326.7(bit)-319.3(not)]TJ -13.1 -1.1 TD [(previously)-378.3(examined\))-392.3(of)-379.5(the)-365.8(hash)-367(value)-372(for)-371.5(each)-381(key)]TJ T* [(within)-394.3(the)-403.3(bucket.)-409.5(Given)-406.2(a)-393.7(well-designed)-403.1(hash)-392(func-)]TJ T* [(tion,)-456.8(approximately)-461.6(half)-457.8(of)-454.5(the)-453.3(keys)-454.5(will)-444.3(have)-462.3(hash)]TJ T* [(values)-370.3(with)-359.7(the)-365.8(0)]TJ /TT4 1 Tf 7 0 0 7 125.5 328.5 Tm (th)Tj /TT6 1 Tf 10 0 0 10 136.25 324.5 Tm [(bit)-356.8(set.)-364.2(All)-347.2(such)-354.5(keys)-354.5(and)-356.2(associ-)]TJ -8.225 -1.1 TD [(ated)-259.5(data)-259.5(are)-266.8(moved)-253.3(to)-247.2(bucket)-259.5(1,)-250(and)-256.2(the)-253.3(rest)-256.2(remain)-261.1(in)]TJ T* [(bucket)-259.5(0.)]TJ 2.15 -1.425 TD [(After)-390.1(this)-367.7(split,)-352.3(the)]TJ /TT8 1 Tf 8.225 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-359.7(now)-365.3(contains)-367.5(two)-362.5(buck-)]TJ -10.9312 -1.1 TD [(ets,)-264.2(and)-268.7(the)-265.8(bitmap)-260.2(contains)-267.5(three)-264(bits:)-239.8(the)-253.3(0)]TJ /TT4 1 Tf 7 0 0 7 230.625 281.25 Tm (th)Tj /TT6 1 Tf 10 0 0 10 240.25 277.25 Tm [(bit)-244.3(is)-245.5(set)]TJ -18.625 -1.1 TD [(to)-384.7(indicate)-397.5(a)-381.2(bucket)-384.5(0)-375(split)-364.8(when)-384(no)-375(bits)-367.7(of)-379.5(the)-378.3(hash)]TJ T* [(value)-534.5(are)-541.8(considered,)-543.5(and)-531.2(two)-525(more)-532.8(unset)-526.7(bits)-517.7(for)]TJ T* [(buckets)-370.3(0)-362.5(and)-368.7(1.)-612.5(The)-370.3(placement)-378.6(of)-367(an)-356.2(incoming)-347.7(key)]TJ T* [(now)-427.8(requires)-441.8(examination)-432.1(of)-429.5(the)-428.3(0)]TJ /TT4 1 Tf 7 0 0 7 200 237.25 Tm (th)Tj /TT6 1 Tf 10 0 0 10 211.375 233.25 Tm [(bit)-419.3(of)-429.5(the)-415.8(hash)]TJ -15.7375 -1.1 TD [(value,)-522(and)-518.7(the)-515.8(key)-506.2(is)-495.5(placed)-515.6(either)-511.1(in)-497.2(bucket)-509.5(0)-500(o)0(r)]TJ T* [(bucket)-359.5(1.)-600(If)-359(either)-361.1(bucket)-359.5(0)-350(o)0(r)-354.5(bucket)-359.5(1)]TJ /TT8 1 Tf 16.975 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(lls)-336.5(up,)-337.5(it)-331.8(is)]TJ -17.5312 -1.1 TD [(split)-352.3(as)-354.5(before,)-371.3(its)-342.7(bit)-344.3(is)-345.5(set)-351.7(in)-347.2(the)-353.3(bitmap,)-347.7(and)-356.1(a)-356.2(new)]TJ T* [(set)-251.7(of)-254.5(unset)-251.7(bits)-242.7(are)-266.8(added)-262.3(to)-247.2(the)-253.3(bitmap.)]TJ 2.15 -1.425 TD [(Each)-339(time)-322.7(we)-334(consider)-324.8(a)-318.7(new)-321.5(bit)-306.8(\(bit)-311.3(n\),)-317(we)-321.5(add)]TJ -2.15 -1.1 TD (2)Tj /TT4 1 Tf 7 0 0 7 59 168 Tm (n)Tj /TT9 1 Tf 0.6607 0 TD (+)Tj /TT6 1 Tf 0.5536 0 TD (1)Tj 10 0 0 10 74.375 164 Tm [(bits)-330.2(to)-334.7(the)-340.8(bitmap)-322.7(and)-331.2(obtain)-325.5(2)]TJ /TT4 1 Tf 7 0 0 7 200.875 168 Tm (n)Tj /TT9 1 Tf 0.6607 0 TD (+)Tj /TT6 1 Tf 0.5536 0 TD (1)Tj 10 0 0 10 216.125 164 Tm [(more)-332.8(address-)]TJ -16.2125 -1.1 TD [(able)-372(buckets)-370.3(in)-359.7(the)]TJ /TT8 1 Tf 8.1875 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le.)-609.7(As)-363.7(a)-368.7(result,)-365.8(the)-365.8(bitmap)-347.7(con-)]TJ -8.7437 -1.1 TD [(tains)-436.3(the)-440.8(previous)-443.7(2)]TJ /TT4 1 Tf 7 0 0 7 137.75 146 Tm (n)Tj /TT9 1 Tf 0.6607 0 TD (+)Tj /TT6 1 Tf 0.5536 0 TD (1)Tj /TT7 1 Tf 10 0 0 10 149.75 142 Tm <003c>Tj /TT6 1 Tf 0.55 0 TD [(1)-437.5(bits)-430.2(\(1)]TJ /TT9 1 Tf 3.65 0 TD (+)Tj /TT6 1 Tf 0.55 0 TD (2)Tj /TT9 1 Tf 0.5 0 TD (+)Tj /TT6 1 Tf 0.55 0 TD (4)Tj /TT9 1 Tf 0.5 0 TD (+)Tj /TT6 1 Tf 0.55 0 TD (...)Tj /TT9 1 Tf 0.75 0 TD (+)Tj /TT6 1 Tf 0.55 0 TD (2)Tj /TT4 1 Tf 7 0 0 7 236.25 146 Tm (n)Tj /TT6 1 Tf 10 0 0 10 241.375 142 Tm [(\))-429.5(which)]TJ -18.7375 -1.1 TD [(trace)-770.1(the)-753.3(entire)]TJ /TT4 1 Tf 7.725 0 TD [(split)-739.8(history)]TJ /TT6 1 Tf 5.9875 0 TD [(of)-754.5(the)-740.8(addressable)]TJ ET 0 G 1 J 0 j 0.25 w 10 M []0 d 1 i 54 112.875 m 162 112.875 l S BT /TT4 1 Tf 8 0 0 8 59 106 Tm (2)Tj /TT6 1 Tf 9 0 0 9 65.375 102.875 Tm [(This)-263.8(bit-randomizing)-265.5(property)-265.1(is)-249.7(important)-250.7(to)-249.9(obtain)-250.5(radi-)]TJ -1.2639 -1.1111 TD [(cally)-376.1(different)-377.1(hash)-375.3(values)-375.9(for)-375.7(nearly)-376.5(identical)-362.7(keys,)-361.4(which)]TJ T* [(in)-249.9(turn)-250.3(avoids)-250.3(clustering)-251.1(of)-250.3(such)-250.3(keys)-250.3(in)-249.9(a)-250.6(single)-250.2(bucket.)]TJ 10 0 0 10 302.25 724.75 Tm (buckets.)Tj 2.15 -1.425 TD [(Given)-293.7(a)-293.7(key)-293.7(and)-293.7(the)-290.8(bitmap)-285.2(created)-313.8(by)-287.5(this)-280.2(algo-)]TJ -2.15 -1.1 TD [(rithm,)-333.5(we)]TJ /TT8 1 Tf 4.2625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(rst)-331.3(examine)-350.3(bit)-331.8(0)-325(o)0(f)-329.5(the)-328.3(bitmap)-322.7(\(the)-332.8(bit)-319.3(to)]TJ -4.8187 -1.1 TD [(consult)-298.8(when)-309(0)-287.5(bits)-280.2(of)-292(the)-290.8(hash)-292(value)-297(are)-304.3(being)-290.8(exam-)]TJ T* [(ined\).)-357.8(If)-359(it)-344.3(is)-345.5(set)-339.2(\(indicating)-343(that)-338(the)-340.8(bucket)-347(split\),)-331.8(we)]TJ T* [(begin)-265.8(considering)-272(the)-265.8(bits)-255.2(of)-267(the)-253.3(32-bit)-248.8(hash)-254.5(value.)-509.5(As)]TJ T* [(bit)-281.8(n)-275(i)0(s)-270.5(revealed,)-301.3(a)-281.2(mask)-276.7(equal)-284.5(to)-272.2(2)]TJ /TT4 1 Tf 7 0 0 7 443.25 659.5 Tm (n)Tj /TT9 1 Tf 0.6607 0 TD (+)Tj /TT6 1 Tf 0.5536 0 TD (1)Tj /TT7 1 Tf 10 0 0 10 455.25 655.5 Tm <003c>Tj /TT6 1 Tf 0.55 0 TD [(1)-275(will)-269.3(yield)-275.5(the)]TJ -15.85 -1.1 TD [(current)-381(bucket)-372(address.)-626(Adding)-350(2)]TJ /TT4 1 Tf 7 0 0 7 442 648.5 Tm (n)Tj /TT9 1 Tf 0.6607 0 TD (+)Tj /TT6 1 Tf 0.5536 0 TD (1)Tj /TT7 1 Tf 10 0 0 10 454 644.5 Tm <003c>Tj /TT6 1 Tf 0.55 0 TD [(1)-350(t)0(o)-347.2(the)-353.3(bucket)]TJ -15.725 -1.1 TD [(address)-538.5(identi)]TJ /TT8 1 Tf 5.8148 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(es)-508.5(which)-518.7(bit)-506.8(in)-509.7(the)-515.8(bitmap)-510.2(must)-505.2(be)]TJ -6.371 -1.1 TD [(checked.)-537.1(We)-274.8(continue)-269.1(revealing)-279.8(bits)-242.7(of)-254.5(the)-253.3(hash)-254.5(value)]TJ T* [(until)-329(all)-338(set)-339.2(bits)-317.7(in)-322.2(the)-328.3(bitmap)-322.7(are)-341.8(exhausted.)-339(The)-332.8(fol-)]TJ T* [(lowing)-522.2(algorithm,)-524.3(a)-531.2(simpli)]TJ /TT8 1 Tf 11.438 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(cation)-512.5(of)-529.5(the)-528.3(algorithm)]TJ -11.9941 -1.1 TD [(due)-393.7(to)-384.7(Ken)-396.5(Thompson)-384.7([THOM90,)-397.7(TOR88],)-392(uses)-377.8(the)]TJ T* [(hash)-754.5(value)-509.5(and)-506.1(the)-503.3(bitmap)-497.7(to)-497.2(calculate)-522.3(the)-490.8(bucket)]TJ T* [(address)-263.5(as)-254.5(discussed)-254.5(above.)]TJ /TT11 1 Tf 8 0 0 8 302.25 530.125 Tm -0.0049 Tc [(hash)-573.3(=)-592.3(calchash\(key\);)]TJ 0 -1.375 TD 0 Tc [(mask)-568.4(=)-587.4(0)0(;)]TJ T* (while)Tj 3.5625 0 TD -0.0063 Tc [(\(isbitset\(\(hash)-592.7(&)]TJ 10.6875 0 TD 0 Tc [(mask\))-562(+)-587.4(mask\)\))]TJ -9.75 -1.375 TD [(mask)-568.4(=)-587.4(\(mask)-562(<<)-581.1(1\))-581.1(+)-587.4(1)0(;)]TJ -4.5 -1.375 TD [(bucket)-555.7(=)-587.4(hash)-568.4(&)-587.4(mask;)]TJ /TT4 1 Tf 10 0 0 10 401.375 440.5 Tm (sdbm)Tj /TT6 1 Tf -7.7625 -1.65 TD (The)Tj /TT4 1 Tf 1.85 0 TD (sdbm)Tj /TT6 1 Tf 2.4 0 TD [(library)-297(is)-283(a)-293.7(public-domain)-280.5(clone)-284.5(of)-279.5(the)]TJ /TT4 1 Tf -6.4 -1.1 TD (ndbm)Tj /TT6 1 Tf 2.75 0 TD [(library,)-534.5(developed)-540.6(by)-525(Ozan)-540.1(Yigit)-519.3(to)-509.7(provide)]TJ /TT4 1 Tf -2.75 -1.1 TD (ndbm)Tj /TT6 1 Tf 2.225 0 TD [(s)-477.8(functionality)-477.6(under)-473.1(some)-464.2(versions)-467(of)-467(UNIX)]TJ -2.225 -1.1 TD [(that)-263(exclude)-278.1(it)-244.3(for)-259(licensing)-252.1(reasons)-263.5([YIG89].)-269.1(The)-257.8(pro-)]TJ T* [(grammer)-353.1(interface,)-365.4(and)-343.6(the)-340.8(basic)-345.3(structure)-351.5(of)]TJ /TT4 1 Tf 18.85 0 TD (sdbm)Tj /TT6 1 Tf 2.4375 0 TD (is)Tj -21.2875 -1.1 TD [(identical)-494.6(to)]TJ /TT4 1 Tf 5.2 0 TD (ndbm)Tj /TT6 1 Tf 2.7125 0 TD [(but)-484.7(internal)-495.8(details)-477.1(of)-479.5(the)]TJ /TT4 1 Tf 11.4125 0 TD (access)Tj /TT6 1 Tf -19.325 -1.1 TD [(function,)-267.5(such)-267(as)-267(the)-265.8(calculation)-275.8(of)-254.5(the)-253.3(bucket)-259.5(address,)]TJ T* [(and)-368.6(the)-365.8(use)-354.5(of)-354.5(different)-370.1(hash)-354.5(functions)-353.3(make)-359.5(the)-353.3(two)]TJ T* [(incompatible)-254.3(at)-253.3(the)-253.3(database)-270.1(level.)]TJ 2.15 -1.425 TD (The)Tj /TT4 1 Tf 1.875 0 TD (sdbm)Tj /TT6 1 Tf 2.425 0 TD [(library)-322(is)-308(based)-310.6(on)-300(a)-306.2(simpli)]TJ /TT8 1 Tf 11.1005 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-287(imple-)]TJ -18.1066 -1.1 TD [(mentation)-501(of)-504.5(Larsons)-513.5(1978)]TJ /TT4 1 Tf 12.35 0 TD [(dynamic)-499.8(hashing)]TJ /TT6 1 Tf 7.5375 0 TD (algo-)Tj -19.8875 -1.1 TD [(rithm)-308.5(including)-310.2(the)]TJ /TT4 1 Tf 8.1 0 TD (re)Tj /TT12 1 Tf 0.833 0 TD ()Tj /TT4 1 Tf 0.5 0 TD [(nements)-327.6(and)-300(variations)]TJ /TT6 1 Tf 9.7545 0 TD [(of)-304.5(sec-)]TJ -19.1875 -1.1 TD [(tion)-244.3(5)-250([LAR78].)-259(Larsons)-263.5(original)-252.1(algorithm)-249.3(calls)-255(for)-259(a)]TJ T* [(forest)-435.6(of)-429.5(binary)-432.8(hash)-429.5(trees)-424.8(that)-413(are)-429.3(accessed)-439.9(by)-412.5(two)]TJ T* [(hash)-267(functions.)-265.8(The)]TJ /TT8 1 Tf 8.1625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(rst)-256.3(hash)-267(function)-267.5(selects)-272(a)-268.7(partic-)]TJ -8.7187 -1.1 TD [(ular)-357.8(tree)-364(within)-344.3(the)-353.3(forest.)-360.6(The)-357.8(second)-360.6(hash)-342(function,)]TJ T* [(which)-568.6(is)-558(required)-581(to)-559.7(be)-556.2(a)-556.2(boolean)-559.5(pseudo-random)]TJ T* [(number)-307.8(generator)-324.6(that)-300.5(is)-295.5(seeded)-316.8(by)-300(the)-303.3(key,)-306.2(is)-295.5(used)-292(to)]TJ T* [(traverse)-772.9(the)-740.8(tree)-751.5(until)-729(internal)-745.8(\(split\))-736.3(nodes)-742(are)]TJ T* [(exhausted)-314(and)-306.2(an)-306.2(external)-317.3(\(non-split\))-303.3(node)-293.7(is)-283(reached.)]TJ T* [(The)-357.8(bucket)-359.5(addresses)-368(are)-366.8(stored)-356.2(directly)-345.8(in)-334.7(the)-340.8(exter-)]TJ T* [(nal)-253.3(nodes.)]TJ 2.15 -1.425 TD [(Larsons)-413.5(re)]TJ /TT8 1 Tf 4.6894 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(nements)-409.5(are)-416.8(based)-410.6(on)-400(the)-403.3(observa-)]TJ -7.3955 -1.1 TD [(tion)-344.3(that)-350.5(the)-353.3(nodes)-354.5(can)-362.3(be)-356.1(represented)-379.1(by)-337.5(a)-343.7(single)-336.3(bit)]TJ T* [(that)-388(is)-383(set)-389.2(for)-396.5(internal)-395.8(nodes)-392(and)-393.7(not)-384.7(set)-376.7(for)-384(external)]TJ T* [(nodes,)-342(resulting)-338(in)-334.7(a)-343.6(radix)-345.3(search)-358.8(trie.)-580(Figure)-326.7(1)-325(illus-)]TJ T* [(trates)-372(this.)-592.7(Nodes)-357.3(A)-352.8(and)-356.2(B)-345.5(are)-366.8(internal)-358.3(\(split\))-348.8(nodes,)]TJ T* [(thus)-270.5(having)-278.3(no)-275(bucket)-284.5(addresses)-280.5(associated)-278.1(with)-259.7(them.)]TJ T* [(Instead,)-299.8(the)-290.8(external)-304.8(nodes)-292(\(C,)-287.5(D,)-290.3(and)-293.7(E\))-293.7(each)-293.5(need)-287.3(to)]TJ T* [(refer)-313.3(to)-284.7(a)-293.7(bucket)-297(address.)-551(These)-299.8(bucket)-297(addresses)-305.5(can)]TJ T* [(be)-443.7(stored)-443.6(in)-434.7(the)-440.8(trie)-442.5(itself)-438(where)-457.1(the)-428.3(subtries)-426.7(would)]TJ /TT2 1 Tf -24.825 -4.05 TD [(2)-31225(USENIX)]TJ /TT7 1 Tf 35.75 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)]TJ ET endstream endobj 13 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /TT9 14 0 R /TT11 15 0 R /TT12 16 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 18 0 obj << /Length 16475 >> stream BT /TT2 1 Tf 10 0 0 10 90 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(Seltzer)-270.1(&)-254.5(Yigit)-25564.2(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)]TJ /TT6 1 Tf 0 -3.5 TD [(live)-275.5(if)-276.7(they)-265.8(existed)-267.5([KNU68].)-530(For)-260.8(example,)-275.3(if)-264.2(nodes)-267(F)]TJ 0 -1.1 TD [(and)-281.2(G)-277.8(were)-294.6(the)-278.3(children)-286.1(of)-267(node)-268.7(C,)-258(the)-265.8(bucket)-272(address)]TJ T* [(L00)-464.2(could)-465.8(reside)-474.8(in)-459.7(the)-453.3(bits)-442.7(that)-450.5(will)-444.3(eventually)-460(be)]TJ T* [(used)-254.5(to)-247.2(store)-256.2(nodes)-254.5(F)-243.8(and)-256.2(G)-252.8(and)-256.2(all)-250.5(their)-255(children.)]TJ /T1 1 Tf T* -0.0012 Tc ()Tj /TT2 1 Tf 14.675 -16.9625 TD 0 Tc (L1)Tj -13.875 4.025 TD 7.3653 Tc (AE)Tj 4.025 -4.025 TD 0 Tc (D)Tj 4.025 12.075 TD (C)Tj -3.9875 -4.025 TD (B)Tj 9.6875 -4.0875 TD (L01)Tj -0.0625 8.05 TD (L00)Tj -8.225 -6.6 TD (1)Tj -3.975 -3.9625 TD (1)Tj 3.975 9.1125 TD (0)Tj -3.975 -3.9 TD (0)Tj ET 0 G 1 J 0 j 0.25 w 10 M []0 d 1 i 174.625 564.375 m 173.625 568.375 l 173.625 568.375 m 173 566 l 173 566 m 170.5 565.25 l 170.5 565.25 m 174.625 564.375 l 174.625 564.375 m 151.25 587.125 l 174.625 626.75 m 170.5 625.875 l 170.5 625.875 m 173 625.125 l 173 625.125 m 173.625 622.75 l 173.625 622.75 m 174.625 626.75 l 174.625 626.75 m 151.25 604 l 133.625 587.125 m 129.625 586.25 l 129.625 586.25 m 132.125 585.5 l 132.125 585.5 m 132.75 583.125 l 132.75 583.125 m 133.625 587.125 l 133.625 587.125 m 110.375 564.375 l 171.75 555.625 m 171.75 555.625 l 171.75 562.007 176.93 567.187 183.312 567.187 c 189.695 567.187 194.875 562.007 194.875 555.625 c 194.875 549.242 189.695 544.062 183.312 544.062 c 176.93 544.062 171.75 549.242 171.75 555.625 c 222.375 525.375 m 222.375 505.25 l 222.375 505.25 m 262.625 505.25 l 262.625 505.25 m 262.625 525.375 l 262.625 525.375 m 222.375 525.375 l 222.375 565.625 m 222.375 545.5 l 222.375 545.5 m 262.625 545.5 l 262.625 545.5 m 262.625 565.625 l 262.625 565.625 m 222.375 565.625 l 222.375 646.25 m 222.375 626.125 l 222.375 626.125 m 262.625 626.125 l 262.625 626.125 m 262.625 646.25 l 262.625 646.25 m 222.375 646.25 l 131.5 515.375 m 131.5 515.375 l 131.5 521.758 136.68 526.937 143.062 526.937 c 149.445 526.937 154.625 521.758 154.625 515.375 c 154.625 508.992 149.445 503.812 143.062 503.812 c 136.68 503.812 131.5 508.992 131.5 515.375 c 131.5 595.875 m 131.5 595.875 l 131.5 602.257 136.68 607.437 143.062 607.437 c 149.445 607.437 154.625 602.257 154.625 595.875 c 154.625 589.492 149.445 584.312 143.062 584.312 c 136.68 584.312 131.5 589.492 131.5 595.875 c 90 556.875 m 90 556.875 l 90 563.258 95.18 568.437 101.562 568.437 c 107.945 568.437 113.125 563.258 113.125 556.875 c 113.125 550.492 107.945 545.312 101.562 545.312 c 95.18 545.312 90 550.492 90 556.875 c 222.375 515.375 m 218.875 517.5 l 218.875 517.5 m 220.125 515.375 l 220.125 515.375 m 218.875 513.125 l 218.875 513.125 m 222.375 515.375 l 222.375 515.375 m 154.5 515.375 l 221.125 555.625 m 217.625 557.875 l 217.625 557.875 m 218.875 555.625 l 218.875 555.625 m 217.625 553.375 l 217.625 553.375 m 221.125 555.625 l 221.125 555.625 m 196 555.625 l 170.5 636.125 m 170.5 636.125 l 170.5 642.508 175.68 647.687 182.062 647.687 c 188.445 647.687 193.625 642.508 193.625 636.125 c 193.625 629.742 188.445 624.563 182.062 624.563 c 175.68 624.563 170.5 629.742 170.5 636.125 c 221.125 636.125 m 217.625 638.375 l 217.625 638.375 m 218.875 636.125 l 218.875 636.125 m 217.625 633.875 l 217.625 633.875 m 221.125 636.125 l 221.125 636.125 m 196 636.125 l 133 524.125 m 132.125 528.125 l 132.125 528.125 m 131.5 525.75 l 131.5 525.75 m 129 525 l 129 525 m 133 524.125 l 133 524.125 m 110.375 546.75 l S BT 8 0 0 8 90 481.75 Tm [(Figure)-370.6(1:)]TJ /TT6 1 Tf 4.4063 0 TD [(Radix)-377(search)-352.5(trie)-370.6(with)-378.4(internal)-367.7(nodes)-370.1(A)-371.6(and)-353(B,)-364.3(external)]TJ -4.4063 -1.375 TD [(nodes)-338.9(C,)-348.6(D,)-340.3(and)-337.4(E,)-342.3(and)-337.4(bucket)-334.5(addresses)-324.2(stored)-337.4(in)-347.2(the)-325.2(unused)-323.2(por-)]TJ T* [(tion)-256.8(of)-245.1(the)-247.1(trie.)]TJ /T1 1 Tf 10 0 0 10 90 426.75 Tm -0.0012 Tc ()Tj /TT6 1 Tf 2.15 -2.525 TD 0 Tc [(Further)-318.7(simpli)]TJ /TT8 1 Tf 5.763 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(cations)-285.8(of)-304.5(the)-303.3(above)-312.3([YIG89])-319.1(are)]TJ -8.4691 -1.1 TD [(possible.)-447.2(Using)-448.3(a)-456.2(single)-448.8(radix)-457.8(trie)-455(to)-447.2(avoid)-440.8(the)]TJ /TT8 1 Tf 20.4 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (rst)Tj -20.9562 -1.1 TD [(hash)-467(function,)-455(replacing)-467.3(the)-453.3(pseudo-random)-466.8(number)]TJ T* [(generator)-374.6(with)-347.2(a)-356.2(well)-353.3(designed,)-357.8(bit-randomizing)-357.1(hash)]TJ T* [(function,)-580(and)-581.2(using)-570.5(the)-578.3(portion)-573.8(of)-567(the)-565.8(hash)-567(value)]TJ T* [(exposed)-485.6(during)-476.7(the)-478.3(trie)-480(traversal)-495.1(as)-479.5(a)-468.7(direct)-473.6(bucket)]TJ T* [(address)-376(results)-364.2(in)-359.7(an)]TJ /TT4 1 Tf 8.8 0 TD (access)Tj /TT6 1 Tf 2.9875 0 TD [(function)-367.5(that)-363(works)-368.2(very)]TJ -11.7875 -1.1 TD [(similar)-397.7(to)-397.2(Thompsons)-387.5(algorithm)-386.8(above.)-399.8(The)-395.3(follow-)]TJ T* [(ing)-309.7(algorithm)-311.8(uses)-315.3(the)-315.8(hash)-317(value)-322(to)-309.7(traverse)-322.9(a)-306.2(linear-)]TJ T* [(ized)-259.5(radix)-257.8(trie)]TJ /TT4 1 Tf 8 0 0 8 145.75 305.625 Tm (3)Tj /TT6 1 Tf 10 0 0 10 152.25 302.5 Tm [(starting)-250.5(at)-253.3(the)-253.3(0)]TJ /TT4 1 Tf 7 0 0 7 214.25 306.5 Tm (th)Tj /TT6 1 Tf 10 0 0 10 223.875 302.5 Tm (bit.)Tj /TT11 1 Tf 8 0 0 8 90 265.125 Tm [(tbit)-568.4(=)-587.4(0)0(;)-3643.6(/)0(*)-581.1(radix)-562(trie)-568.4(index)-562(*/)]TJ 0 -1.375 TD [(hbit)-568.4(=)-587.4(0)0(;)-3643.6(/)0(*)-581.1(hash)-568.4(bit)-574.7(index)-1749.5(*/)]TJ T* [(mask)-568.4(=)-587.4(0)0(;)]TJ T* -0.0049 Tc [(hash)-573.3(=)-592.3(calchash\(key\);)]TJ 0 -2.75 TD 0 Tc [(for)-574.7(\(mask)-562(=)-587.4(0)0(;)]TJ 2.9687 -1.375 TD -0.0063 Tc (isbitset\(tbit\);)Tj T* 0 Tc [(mask)-568.4(=)-587.4(\(mask)-562(<<)-581.1(1\))-581.1(+)-587.4(1)0(\))]TJ 1.5313 -1.375 TD [(if)-581.1(\(hash)-562(&)-587.4(\()]TJ 7.1313 0 TD -0.0066 Tc [(1)-587.7(<)-6.6(<)-587.7(hbit++\)\)\))]TJ -4.7563 -1.375 TD 0 Tc [(/*)-581.1(right)-562(son)-1168.5(*/)]TJ T* (tbit)Tj 2.9688 0 TD [(=)-587.4(2)-587.4(*)-587.4(tbit)-568.4(+)-587.4(2)0(;)]TJ -5.3437 -1.375 TD (else)Tj ET 0.75 w 90 122.875 m 198 122.875 l S BT /TT4 1 Tf 8 0 0 8 95 116 Tm (3)Tj /TT6 1 Tf 9 0 0 9 102.25 112.875 Tm [(A)-361.2(linearized)-363.7(radix)-362(trie)-361.9(is)-360.8(merely)-362.5(an)-347.8(array)-349.1(representation)]TJ -1.3611 -1.1111 TD [(of)-278.1(the)-278.3(radix)-278.6(search)-279.6(trie)-278.6(described)-279.6(above.)-529(The)-278.6(children)-279.2(of)-278.1(the)]TJ T* [(node)-347.8(with)-347.2(index)-347.8(i)-333.3(can)-334.5(be)-333.9(found)-333.7(at)-333.9(the)-333.9(nodes)-333.7(indexed)-334.5(2*i+1)]TJ T* [(and)-250.6(2*i+2.)]TJ /TT11 1 Tf 8 0 0 8 393.25 724.75 Tm [(/*)-581.1(left)-568.4(son)-1762.2(*/)]TJ 0 -1.375 TD (tbit)Tj 2.9687 0 TD [(=)-587.4(2)-587.4(*)-587.4(tbit)-568.4(+)-587.4(1)0(;)]TJ -9.8437 -2.75 TD [(bucket)-555.7(=)-587.4(hash)-568.4(&)-587.4(mask;)]TJ /TT4 1 Tf 10 0 0 10 436.875 646.125 Tm (gdbm)Tj /TT6 1 Tf -7.7125 -1.65 TD [(The)-307.8(gdbm)-297.2(\(GNU)-313(data)-309.5(base)-310.6(manager\))-324.6(library)-309.5(is)-295.5(a)]TJ -2.15 -1.1 TD [(UNIX)-338(database)-345.1(manager)-345.1(written)-330(by)-312.5(Philip)-297.9(A.)-315.3(Nelson,)]TJ T* [(and)-331.2(made)-334.5(available)-341.1(as)-329.5(a)-318.7(part)-320.3(of)-317(the)-315.8(FSF)-294(software)-332.1(dis-)]TJ T* [(tribution.)-630.7(The)-382.8(gdbm)-372.2(library)-384.5(provides)-381.1(the)-378.3(same)-382.8(func-)]TJ T* [(tionality)-692(of)-704.5(the)]TJ /TT4 1 Tf 7.475 0 TD (dbm)Tj /TT6 1 Tf 1.725 0 TD (/)Tj /TT4 1 Tf 0.275 0 TD (ndbm)Tj /TT6 1 Tf 2.9125 0 TD [(libraries)-698.6([NEL90])-702.6(but)]TJ -12.3875 -1.1 TD [(attempts)-511.8(to)-509.7(avoid)-515.8(some)-514.2(of)-517(their)-517.5(shortcomings.)-498.8(The)]TJ T* [(gdbm)-372.2(library)-384.5(allows)-376.7(for)-384(arbitrary-length)-400.1(data,)-372(and)-368.7(its)]TJ T* [(database)-570.1(is)-545.5(a)-543.7(singular,)-540.8(non-sparse)]TJ /TT4 1 Tf 8 0 0 8 484 555.75 Tm (4)Tj /TT8 1 Tf 10 0 0 10 493.375 552.625 Tm ()Tj /TT6 1 Tf 0.5562 0 TD [(le.)-534.7(The)-545.3(gdbm)]TJ -16.0686 -1.1 TD [(library)-347(also)-339.2(includes)]TJ /TT4 1 Tf 8.625 0 TD (dbm)Tj /TT6 1 Tf 2.05 0 TD (and)Tj /TT4 1 Tf 1.775 0 TD (ndbm)Tj /TT6 1 Tf 2.55 0 TD [(compatible)-332.1(inter-)]TJ -15 -1.1 TD (faces.)Tj 2.15 -1.425 TD [(The)-282.8(gdbm)-272.2(library)-284.5(is)-270.5(based)-285.6(on)]TJ /TT4 1 Tf 12.1125 0 TD [(extensible)-277(hashing)]TJ /TT6 1 Tf 7.4375 0 TD (,)Tj -21.7 -1.1 TD [(a)-306.2(dynamic)-306.6(hashing)-301.7(algorithm)-299.3(by)-300(Fagin)-297.2(et)-303.3(al)-303.3([FAG79].)]TJ T* [(This)-409.7(algorithm)-411.8(differs)-415.1(from)-406.2(the)-403.3(previously)-403.3(discussed)]TJ T* [(algorithms)-260.2(in)-259.7(that)-263(it)-256.8(uses)-265.3(a)]TJ /TT4 1 Tf 10.85 0 TD (directory)Tj /TT6 1 Tf 3.9375 0 TD [(that)-263(is)-245.5(a)-256.1(collapsed)]TJ -14.7875 -1.1 TD [(representation)-410.9([ENB88])-396.5(of)-392(the)-390.8(radix)-395.3(search)-408.8(trie)-392.5(used)]TJ T* (by)Tj /TT4 1 Tf 1.25 0 TD (sdbm)Tj /TT6 1 Tf 2.1125 0 TD (.)Tj /T1 1 Tf -3.3625 -1.1 TD -0.0012 Tc ()Tj /TT2 1 Tf 7 0 0 7 446.5 321.875 Tm 0 Tc (L1)Tj ET 0.25 w 435.625 324.75 m 433.125 326.375 l 433.125 326.375 m 434 324.75 l 434 324.75 m 433.125 323.125 l 433.125 323.125 m 435.625 324.75 l 435.625 324.75 m 385.625 324.75 l 397.5 413.625 m 397.5 413.625 l 397.5 418.317 401.308 422.125 406 422.125 c 410.692 422.125 414.5 418.317 414.5 413.625 c 414.5 408.933 410.692 405.125 406 405.125 c 401.308 405.125 397.5 408.933 397.5 413.625 c 338.25 355.25 m 338.25 355.25 l 338.25 359.942 342.058 363.75 346.75 363.75 c 351.442 363.75 355.25 359.942 355.25 355.25 c 355.25 350.558 351.442 346.75 346.75 346.75 c 342.058 346.75 338.25 350.558 338.25 355.25 c 368.75 384 m 368.75 384 l 368.75 388.692 372.558 392.5 377.25 392.5 c 381.942 392.5 385.75 388.692 385.75 384 c 385.75 379.308 381.942 375.5 377.25 375.5 c 372.558 375.5 368.75 379.308 368.75 384 c 368.75 324.75 m 368.75 324.75 l 368.75 329.442 372.558 333.25 377.25 333.25 c 381.942 333.25 385.75 329.442 385.75 324.75 c 385.75 320.058 381.942 316.25 377.25 316.25 c 372.558 316.25 368.75 320.058 368.75 324.75 c 435.625 421 m 435.625 406.25 l 435.625 406.25 m 465.375 406.25 l 465.375 406.25 m 465.375 421 l 465.375 421 m 435.625 421 l 435.625 361.75 m 435.625 346.875 l 435.625 346.875 m 465.375 346.875 l 465.375 346.875 m 465.375 361.75 l 465.375 361.75 m 435.625 361.75 l 435.625 332.125 m 435.625 317.25 l 435.625 317.25 m 465.375 317.25 l 465.375 317.25 m 465.375 332.125 l 465.375 332.125 m 435.625 332.125 l 398.375 354.375 m 398.375 354.375 l 398.375 359.067 402.183 362.875 406.875 362.875 c 411.567 362.875 415.375 359.067 415.375 354.375 c 415.375 349.683 411.567 345.875 406.875 345.875 c 402.183 345.875 398.375 349.683 398.375 354.375 c 370.375 377.5 m 367.375 376.875 l 367.375 376.875 m 369.25 376.375 l 369.25 376.375 m 369.75 374.5 l 369.75 374.5 m 370.375 377.5 l 370.375 377.5 m 353.25 360.75 l 400.5 406.625 m 397.5 406 l 397.5 406 m 399.375 405.5 l 399.375 405.5 m 399.75 403.75 l 399.75 403.75 m 400.5 406.625 l 400.5 406.625 m 383.375 390 l 400.5 360.75 m 399.75 363.75 l 399.75 363.75 m 399.375 362 l 399.375 362 m 397.5 361.375 l 397.5 361.375 m 400.5 360.75 l 400.5 360.75 m 383.375 377.5 l S BT 7 0 0 7 355.25 370.875 Tm (0)Tj 4.1607 4.1071 TD (0)Tj -4.1607 -9.5893 TD (1)Tj 4.1607 4.1607 TD (1)Tj 8.6964 6.9464 TD (L00)Tj 0.0536 -8.4643 TD (L01)Tj ET 524.625 421 m 524.625 406.25 l 524.625 406.25 m 554.25 406.25 l 554.25 406.25 m 554.25 421 l 554.25 421 m 524.625 421 l 524.625 391.375 m 524.625 376.5 l 524.625 376.5 m 554.25 376.5 l 554.25 376.5 m 554.25 391.375 l 554.25 391.375 m 524.625 391.375 l 524.625 346.875 m 524.625 332.125 l 524.625 332.125 m 554.25 332.125 l 554.25 332.125 m 554.25 346.875 l 554.25 346.875 m 524.625 346.875 l 495 428.375 m 495 398.75 l 495 398.75 m 509.75 398.75 l 509.75 398.75 m 509.75 428.375 l 509.75 428.375 m 495 428.375 l 495 398.75 m 495 369.125 l 495 369.125 m 509.75 369.125 l 509.75 369.125 m 509.75 398.75 l 509.75 398.75 m 495 398.75 l 495 369.125 m 495 339.5 l 495 339.5 m 509.75 339.5 l 509.75 339.5 m 509.75 369.125 l 509.75 369.125 m 495 369.125 l 495 339.5 m 495 309.875 l 495 309.875 m 509.75 309.875 l 509.75 309.875 m 509.75 339.5 l 509.75 339.5 m 495 339.5 l 524.625 413.625 m 522 415.25 l 522 415.25 m 523 413.625 l 523 413.625 m 522 412 l 522 412 m 524.625 413.625 l 524.625 413.625 m 509.75 413.625 l 524.625 384 m 522 385.625 l 522 385.625 m 523 384 l 523 384 m 522 382.375 l 522 382.375 m 524.625 384 l 524.625 384 m 509.75 384 l 509.75 354.375 m 517.125 354.375 l 517.125 354.375 m 517.125 343.25 l 509.75 324.75 m 517.125 324.75 l 517.125 324.75 m 517.125 335.75 l 524.625 343.25 m 522 344.875 l 522 344.875 m 523 343.25 l 523 343.25 m 522 341.625 l 522 341.625 m 524.625 343.25 l 524.625 343.25 m 517.125 343.25 l 524.625 335.75 m 522 337.375 l 522 337.375 m 523 335.75 l 523 335.75 m 522 334.125 l 522 334.125 m 524.625 335.75 l 524.625 335.75 m 517.125 335.75 l S BT 7 0 0 7 498.875 410.75 Tm (00)Tj 0 -4.2321 TD (01)Tj T* (10)Tj T* (11)Tj 4.9643 12.6964 TD (L00)Tj 0 -4.2321 TD (L01)Tj 0.25 -6.3571 TD (L1)Tj ET 435.625 354.375 m 433.125 356 l 433.125 356 m 434 354.375 l 434 354.375 m 433.125 352.75 l 433.125 352.75 m 435.625 354.375 l 435.625 354.375 m 416.25 354.375 l 435.625 413.625 m 433.125 415.25 l 433.125 415.25 m 434 413.625 l 434 413.625 m 433.125 412 l 433.125 412 m 435.625 413.625 l 435.625 413.625 m 415.25 413.625 l 370.875 331.125 m 370.25 334.125 l 370.25 334.125 m 369.75 332.375 l 369.75 332.375 m 367.875 331.875 l 367.875 331.875 m 370.875 331.125 l 370.875 331.125 m 353.25 348.75 l S BT 8 0 0 8 338.25 287.875 Tm [(Figure)-245.6(2:)]TJ /TT6 1 Tf 4.1562 0 TD [(A)-246.6(radix)-242.2(search)-227.5(trie)-245.6(and)-243.7(a)-243.6(directory)-234.4(representing)-229.5(the)-247.1(trie.)]TJ /T1 1 Tf 10 0 0 10 338.25 265.875 Tm -0.0012 Tc ()Tj /TT6 1 Tf 2.15 -2.525 TD 0 Tc [(In)-292(this)-280.2(algorithm,)-286.8(a)-293.7(directory)-303.1(consists)-283(of)-292(a)-281.2(search)]TJ -2.15 -1.1 TD [(trie)-430(of)-417(depth)]TJ /TT4 1 Tf 5.65 0 TD (n)Tj /TT6 1 Tf 0.6625 0 TD [(,)-412.5(containing)-416.3(2)]TJ /TT4 1 Tf 7 0 0 7 459.375 233.625 Tm (n)Tj /TT6 1 Tf 10 0 0 10 468.625 229.625 Tm [(bucket)-422(addresses)-430.5(\(i.e.)]TJ -13.0375 -1.1 TD [(each)-556(element)-547.5(of)-542(the)-540.8(trie)-530(is)-520.5(a)-531.2(bucket)-534.5(address\).)-793(To)]TJ T* [(access)-308.8(the)-290.8(hash)-292(table,)-294.1(a)-281.2(32-bit)-273.8(hash)-279.5(value)-284.5(is)-270.5(calculated)]TJ T* (and)Tj /TT4 1 Tf 1.9375 0 TD (n)Tj /TT6 1 Tf 1.15 0 TD [(bits)-480.2(of)-492(the)-490.8(value)-497(are)-504.3(used)-479.5(to)-472.2(index)-478.3(into)-469.3(the)]TJ -3.0875 -1.1 TD [(directory)-290.6(to)-272.2(obtain)-275.5(a)-281.2(bucket)-284.5(address.)-538.5(It)-276.7(is)-270.5(important)-274.3(to)]TJ T* [(note)-278.3(that)-275.5(multiple)-267(entries)-284.5(of)-267(this)-255.2(directory)-278.1(may)-265.8(contain)]TJ T* [(the)-365.8(same)-357.8(bucket)-359.5(address)-363.5(as)-354.5(a)-356.1(result)-353.3(of)-354.5(directory)-365.6(dou-)]TJ T* [(bling)-406.8(during)-414.2(bucket)-422(splitting.)-396.7(Figure)-414.2(2)-412.5(illustrates)-399.3(the)]TJ T* [(relationship)-528.8(between)-543.5(a)-518.7(typical)-516.3(\(skewed\))-535(search)-533.8(trie)]TJ T* [(and)-356.2(its)-342.7(directory)-365.6(representation.)-373.4(The)-357.8(formation)-344.1(of)-342(the)]TJ T* [(directory)-265.6(shown)-251.2(in)-247.2(the)]TJ /TT8 1 Tf 9.2375 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(gure)-254.5(is)-245.5(as)-254.5(follows.)]TJ ET 0.75 w 338.25 92.875 m 446.25 92.875 l S BT /TT4 1 Tf 8 0 0 8 343.25 86 Tm (4)Tj /TT6 1 Tf 9 0 0 9 349.5 82.875 Tm [(It)-250.3(does)-250.3(not)-249.9(contain)-251.1(holes.)]TJ /TT2 1 Tf 10 0 0 10 90 47 Tm (USENIX)Tj /TT7 1 Tf 4.025 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)-31223.3(3)]TJ ET endstream endobj 19 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /TT11 15 0 R /T1 20 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 22 0 obj << /Length 13786 >> stream BT /TT2 1 Tf 10 0 0 10 54 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)-25569.3(Seltzer)-270.1(&)-254.5(Yigit)]TJ /TT6 1 Tf 2.15 -3.5 TD [(Initially,)-746.5(there)-764(is)-745.5(one)-743.7(slot)-730.2(in)-734.7(the)-740.8(directory)]TJ -2.15 -1.1 TD [(addressing)-348.1(a)-343.7(single)-336.3(bucket.)-597(The)-332.8(depth)-328.3(of)-329.5(the)-328.3(trie)-330(is)-320.5(0)]TJ T* [(and)-368.7(0)-362.5(bits)-355.2(of)-367(each)-381(hash)-367(value)-372(are)-379.3(examined)-362.8(to)-347.2(deter-)]TJ T* [(mine)-400.5(in)-397.2(which)-406.2(bucket)-409.5(to)-397.2(place)-415.6(a)-406.2(key;)-403.3(all)-388(keys)-392(go)-387.5(in)]TJ T* [(bucket)-459.5(0.)-687.5(When)-449.8(this)-430.2(bucket)-447(is)-433(full,)-436.3(its)-430.2(contents)-442.5(are)]TJ T* [(divided)-325.5(between)-343.5(L0)-326.7(and)-331.2(L1)-314.2(as)-317(was)-319.8(done)-318.7(in)-309.7(the)-315.8(previ-)]TJ T* [(ously)-733(discussed)-742(algorithms.)-985.2(After)-752.6(this)-730.2(split,)-727.3(the)]TJ T* [(address)-476(of)-467(the)-453.3(second)-460.6(bucket)-459.5(must)-442.7(be)-456.2(stored)-456.2(in)-447.2(the)]TJ T* [(directory.)-690.6(To)-676.7(accommodate)-684.8(the)-665.8(new)-671.5(address,)-676(the)]TJ T* [(directory)-390.6(is)-370.5(split)]TJ /TT4 1 Tf 8 0 0 8 121.5 628.875 Tm (5)Tj /TT6 1 Tf 10 0 0 10 125.5 625.75 Tm [(,)-375(b)0(y)-362.5(doubling)-356.8(it,)-356.8(thus)-358(increasing)-378.1(the)]TJ -7.15 -1.1 TD [(depth)-253.3(of)-254.5(the)-253.3(directory)-265.6(by)-250(one.)]TJ 2.15 -1.425 TD [(After)-502.6(this)-480.2(split,)-477.3(a)-481.2(single)-473.8(bit)-469.3(of)-479.5(the)-478.3(hash)-479.5(value)]TJ -2.15 -1.1 TD [(needs)-610.6(to)-597.2(be)-593.7(examined)-600.3(to)-584.7(decide)-603.1(whether)-604.3(the)-590.8(key)]TJ T* [(belongs)-376.7(to)-372.2(L0)-376.7(or)-379.5(L1.)-376.7(Once)-390.1(one)-381.2(of)-379.5(these)-370.3(buckets)]TJ /TT8 1 Tf 20.4625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (lls)Tj -21.0187 -1.1 TD [(\(L0)-381.2(for)-384(example\),)-392.3(it)-369.3(is)-370.5(split)-364.8(as)-379.5(before,)-396.3(and)-368.7(the)-365.8(direc-)]TJ T* [(tory)-301.7(is)-295.5(split)-289.8(again)-309.5(to)-297.2(make)-309.5(room)-301.7(for)-296.5(the)-290.8(address)-301(of)-292(the)]TJ T* [(third)-436.3(bucket.)-947(This)-434.7(splitting)-421.7(causes)-452.6(the)-440.8(addresses)-455.5(of)]TJ T* [(the)-465.8(non-splitting)-451.2(bucket)-472(\(L1\))-473.1(to)-447.2(be)-456.2(duplicated.)-710(The)]TJ T* [(directory)-565.6(now)-552.8(has)-554.5(four)-559(entries,)-559.5(a)-556.2(depth)-553.3(of)-554.5(2,)-550(and)]TJ T* [(indexes)-295.3(the)-290.8(buckets)-295.3(L00,)-289.2(L01)-289.2(and)-293.7(L1,)-289.2(as)-292(shown)-288.7(in)-272.2(the)]TJ T* [(Figure)-251.7(2.)]TJ 2.15 -1.425 TD [(The)-345.3(crucial)-354.8(part)-345.3(of)-329.5(the)-328.3(algorithm)-324.3(is)-320.5(the)-328.3(observa-)]TJ -2.15 -1.1 TD [(tion)-294.3(that)-300.5(L1)-301.7(is)-295.5(addressed)-319.6(twice)-309.5(in)-297.2(the)-303.3(directory.)-315.6(If)-309(this)]TJ T* [(bucket)-422(were)-432.1(to)-409.7(split)-402.3(now,)-402.8(the)-403.3(directory)-415.6(already)-420.1(con-)]TJ T* [(tains)-348.8(room)-351.7(to)-347.2(hold)-334.7(the)-340.8(address)-351(of)-342(the)-340.8(new)-346.5(bucket.)-597(In)]TJ T* [(general,)-295.1(the)-278.3(relationship)-278.8(between)-293.5(the)-278.3(directory)-290.6(and)-268.7(the)]TJ T* [(number)-345.3(of)-342(bucket)-347(addresses)-355.5(contained)-350.3(therein)-336.1(is)-320.5(used)]TJ T* [(to)-284.7(decide)-303.1(when)-296.5(to)-272.2(split)-264.8(the)-278.3(directory.)-540.6(Each)-289(bucket)-284.5(has)]TJ T* [(a)-468.7(depth,)-465.8(\()]TJ /TT4 1 Tf 4.1875 0 TD (n)Tj 7 0 0 7 100.875 408.25 Tm (b)Tj /TT6 1 Tf 10 0 0 10 106 410.25 Tm [(\),)-467(associated)-478.1(with)-459.7(it)-444.3(and)-456.2(appears)-471.3(in)-447.2(the)]TJ -5.2 -1.1 TD [(directory)-290.6(exactly)-287.8(2)]TJ /TT4 1 Tf 7 0 0 7 129.75 403.75 Tm (n)Tj /TT7 1 Tf 0.6607 0 TD <003c>Tj /TT4 1 Tf 0.5536 0 TD (n)Tj 4 0 0 4 141.75 403.25 Tm (b)Tj /TT6 1 Tf 10 0 0 10 147.625 399.25 Tm [(times.)-271(When)-287.3(a)-281.2(bucket)-284.5(splits,)-250.7(its)]TJ -9.3625 -1.1 TD [(depth)-353.3(increases)-372.9(by)-350(one.)-606.2(The)-357.8(directory)-365.6(must)-342.7(split)-339.8(any)]TJ T* [(time)-347.7(a)-343.7(buckets)-349.8(depth)-340.8(exceeds)-360.4(the)-340.8(depth)-340.8(of)-342(the)-340.8(direc-)]TJ T* [(tory.)-614.2(The)-370.3(following)-348.8(code)-362.3(fragment)-365.6(helps)-351.7(to)-347.2(illustrate)]TJ T* [(the)-303.3(extendible)-310(hashing)-301.7(algorithm)-299.3([FAG79])-308.5(for)-296.5(access-)]TJ T* [(ing)-247.2(individual)-244.8(buckets)-257.8(and)-256.2(maintaining)-248.1(the)-253.3(directory.)]TJ /TT11 1 Tf 8 0 0 8 54 306.875 Tm -0.0049 Tc [(hash)-573.3(=)-592.3(calchash\(key\);)]TJ 0 -1.375 TD [(mask)-573.4(=)-592.4(maskvec[depth];)]TJ 0 -2.75 TD 0 Tc [(bucket)-555.7(=)]TJ 5.3437 0 TD -0.0063 Tc [(directory[hash)-593.2(&)]TJ 10.0937 0 TD 0 Tc (mask];)Tj -15.4375 -2.75 TD -0.0066 Tc [(/)-6.6(*)-587.7(K)-6.6(e)-6.6(y)-581.3(Insertion)-596(*)-6.6(/)]TJ 0 -1.375 TD -0.0055 Tc [(if)-586.6(\(store\(bucket,)]TJ 10.6875 0 TD 0 Tc [(key,)-568.4(data\))-562(==)-581.1(FAIL\))-562({)]TJ -6.1875 -1.375 TD [(newbl)-562(=)]TJ 4.75 0 TD -0.0065 Tc (getpage\(\);)Tj -4.75 -1.375 TD -0.0063 Tc (bucket->depth++;)Tj T* [(newbl->depth)-594.2(=)-593.7(bucket->depth;)]TJ T* -0.0055 Tc [(if)-586.6(\(bucket->depth)-592.4(>)]TJ 11.875 0 TD 0 Tc [(depth\))-555.7({)]TJ -7.375 -1.375 TD [(/*)-581.1(double)]TJ 5.9375 0 TD -0.0054 Tc [(directory)-594.8(*/)]TJ -5.9375 -1.375 TD 0 Tc (depth++;)Tj ET 0 G 1 J 0 j 0.25 w 10 M []0 d 1 i 54 162.875 m 162 162.875 l S BT /TT4 1 Tf 8 0 0 8 59 156 Tm (5)Tj /TT6 1 Tf 9 0 0 9 66.75 152.875 Tm [(This)-416.6(decision)-417.5(to)-416.6(split)-416.2(the)-403.3(directory)-404.5(is)-402.5(based)-403.7(on)-402.8(a)-403.4(com-)]TJ -1.4167 -1.1111 TD [(parison)-306.2(of)-305.9(the)-306.1(depth)-306.1(of)-292(the)-292.2(page)-292.9(being)-292.2(split)-291.2(and)-292.3(the)-292.2(depth)-292.2(of)]TJ T* [(the)-320(trie.)-570.3(In)-319.8(Figure)-319.7(2,)-319.4(the)-320(depths)-305.8(of)-305.9(both)-305.5(L00)-305.8(and)-306.2(L01)-305.8(are)-307.1(2,)]TJ T* [(whereas)-293.6(the)-292.2(depth)-292.2(of)-292(L1)-291.9(is)-291.3(1.)-541.7(Therefore,)-294.7(if)-278(L1)-278.1(were)-279.3(to)-277.7(split,)]TJ T* [(the)-320(directory)-321.2(would)-319.4(not)-319.4(need)-320.6(to)-319.4(split.)-569(In)-319.8(reality,)-306.9(a)-306.2(bucket)-306.7(is)]TJ T* [(allocated)-488.3(for)-486.8(the)-486.7(directory)-487.8(at)-486.7(the)-486.7(time)-486.5(of)]TJ /TT8 1 Tf 18.0556 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-472.2(creation)-474.2(so)]TJ -18.6117 -1.1111 TD [(although)-319.9(the)-320(directory)-307.3(splits)-304.8(logically,)-306.5(physical)-306.4(splits)-304.8(do)-305.6(not)]TJ T* [(occur)-251.5(until)-249.8(the)]TJ /TT8 1 Tf 6.0278 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-249.9(becomes)-251.5(quite)-250.5(large.)]TJ /TT11 1 Tf 8 0 0 8 374.25 724.75 Tm -0.0063 Tc [(directory)-595.7(=)-593.7(double\(directory\);)]TJ -4.5 -1.375 TD 0 Tc (})Tj T* -0.0062 Tc (splitbucket\(bucket,)Tj 11.875 0 TD 0 Tc (newbl\))Tj -11.875 -1.375 TD (...)Tj -4.5 -1.375 TD (})Tj /TT4 1 Tf 10 0 0 10 396.125 635.125 Tm (hsearch)Tj /TT6 1 Tf -7.2375 -1.65 TD (Since)Tj /TT4 1 Tf 2.7125 0 TD (hsearch)Tj /TT6 1 Tf 3.6625 0 TD [(does)-492(not)-484.7(have)-487.3(to)-472.2(translate)-487.8(hash)]TJ -8.525 -1.1 TD [(values)-457.8(into)-444.3(disk)-445.5(addresses,)-468(it)-444.3(can)-449.8(use)-442(much)-440.8(simpler)]TJ T* [(algorithms)-597.7(than)-603.3(those)-601.7(de)]TJ /TT8 1 Tf 10.8563 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ned)-606.2(above.)-862.3(System)-592.7(Vs)]TJ /TT4 1 Tf -11.4125 -1.1 TD (hsearch)Tj /TT6 1 Tf 3.625 0 TD [(constructs)-457.8(a)]TJ /TT8 1 Tf 5.4125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(xed-size)-462.3(hash)-442(table)-444.1(\(speci)]TJ /TT8 1 Tf 10.844 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ed)Tj -20.9938 -1.1 TD [(by)-262.5(the)-253.3(user)-259(at)-253.3(table)-256.6(creation\).)-521.8(By)-245.5(default,)-261.1(a)-256.2(multiplica-)]TJ T* [(tive)-400.5(hash)-392(function)-392.5(based)-398.1(on)-387.5(that)-388(described)-406(in)-384.7(Knuth,)]TJ T* [(Volume)-428.3(3,)-425(section)-430(6.4)-425([KNU68])-442.5(is)-420.5(used)-429.5(to)-422.2(obtain)-413(a)]TJ T* [(primary)-284.5(bucket)-284.5(address.)-538.5(If)-284(this)-267.7(bucket)-272(is)-258(full,)-261.3(a)-268.7(secon-)]TJ T* [(dary)-410.6(multiplicative)-395.8(hash)-404.5(value)-409.5(is)-383(computed)-394.1(to)-384.7(de)]TJ /TT8 1 Tf 20.4438 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ne)Tj -21 -1.1 TD [(the)-328.3(probe)-335.6(interval.)-583.3(The)-332.8(probe)-335.6(interval)-333.3(is)-320.5(added)-324.8(to)-309.7(the)]TJ T* [(original)-564.6(bucket)-572(address)-576(\(modulo)-561.3(the)-565.8(table)-556.6(size\))-562.3(to)]TJ T* [(obtain)-500.5(a)-506.1(new)-509(bucket)-509.5(address.)-763.5(This)-497.2(process)-513.5(repeats)]TJ T* [(until)-291.5(an)-306.2(empty)-288(bucket)-297(is)-283(found.)-542(If)-296.5(no)-287.5(bucket)-297(is)-283(found,)]TJ T* [(an)-256.2(insertion)-250.5(fails)-253.3(with)-247.2(a)-256.1(table)-265.6(full)-257.8(condition.)]TJ 2.15 -1.425 TD [(The)-670.3(basic)-670.3(algorithm)-661.8(may)-665.8(be)-668.7(modi)]TJ /TT8 1 Tf 15.5557 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-644.3(by)-650(a)]TJ -18.2618 -1.1 TD [(number)-532.8(of)-517(compile)-516.3(time)-510.2(options)-505.2(available)-528.6(to)-509.7(those)]TJ T* [(users)-269.8(with)-259.7(AT&T)-265.8(source)-277.6(code.)-524.8(First,)-253.5(the)-265.8(package)-274.6(pro-)]TJ T* [(vides)-639.2(two)-637.5(options)-617.7(for)-634(hash)-629.5(functions.)-628.3(Users)-635.2(may)]TJ T* [(specify)-512.3(their)-505(own)-502.8(hash)-504.5(function)-505(by)-500(compiling)-482.3(with)]TJ T* [(USCR)-293.2(de)]TJ /TT8 1 Tf 5.1813 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ned)-293.7(and)-293.7(declaring)-304.8(and)-293.7(de)]TJ /TT8 1 Tf 10.1813 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ning)-284.7(the)-290.8(vari-)]TJ -16.475 -1.1 TD (able)Tj /TT4 1 Tf 2 0 TD (hcompar)Tj /TT6 1 Tf 3.5625 0 TD [(,)-325(a)-331.2(function)-317.5(taking)-313(two)-312.5(string)-309.7(arguments)]TJ -5.5625 -1.1 TD [(and)-331.1(returning)-334.5(an)-331.2(integer.)-586.1(Users)-335.2(may)-315.8(also)-314.2(request)-324.8(that)]TJ T* [(hash)-279.5(values)-282.8(be)-281.2(computed)-281.6(simply)-264.8(by)-262.5(taking)-263(the)-265.8(modulo)]TJ T* [(of)-454.5(key)-456.2(\(using)-450(division)-427.3(rather)-456(than)-440.8(multiplication)-427.2(for)]TJ T* [(hash)-304.5(value)-309.5(calculation\).)-567.8(If)-309(this)-292.7(technique)-312.8(is)-283(used,)-292(col-)]TJ T* [(lisions)-300.7(are)-329.3(resolved)-324.8(by)-300(scanning)-307.8(sequentially)-305.5(from)-306.1(the)]TJ T* [(selected)-329.8(bucket)-322(\(linear)-328.1(probing\).)-568.7(This)-309.7(option)-306.8(is)-308(avail-)]TJ T* [(able)-259.5(by)-250(de)]TJ /TT8 1 Tf 4.1188 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ning)-247.2(the)-253.3(variable)-267.3(DIV)-278.1(at)-253.3(compile)-253.8(time.)]TJ -2.525 -1.425 TD [(A)-902.8(second)-910.6(option,)-894.3(based)-898.1(on)-887.5(an)-893.7(algorithm)]TJ -2.15 -1.1 TD [(discovered)-281(by)-262.5(Richard)-272(P.)-256.3(Brent,)-253.3(rearranges)-286.4(the)-253.3(table)-256.6(at)]TJ T* [(the)-415.8(time)-410.2(of)-417(insertion)-413(in)-409.7(order)-415.1(to)-397.2(speed)-410.6(up)-400(retrievals.)]TJ T* [(The)-357.8(basic)-357.8(idea)-359.5(is)-345.5(to)-347.2(shorten)-356.2(long)-347.2(probe)-348.1(sequences)-358.8(by)]TJ T* [(lengthening)-466.3(short)-462.5(probe)-460.6(sequences.)-721.3(Once)-465.1(the)-453.3(probe)]TJ T* [(chain)-272(has)-267(exceeded)-293.3(some)-264.2(threshold)-265.8(\(Brent)-257.8(suggests)-248.3(2\),)]TJ T* [(we)-371.5(attempt)-351(to)-347.2(shuf)]TJ /TT8 1 Tf 7.7347 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(e)-352.8(any)-356.2(colliding)-344.8(keys)-354.5(\(keys)-359(which)]TJ -8.2908 -1.1 TD [(appeared)-341.6(in)-309.7(the)-315.8(probe)-323.1(sequence)-322.9(of)-304.5(the)-303.3(new)-309(key\).)-560.6(The)]TJ T* [(details)-314.6(of)-317(this)-305.2(key)-318.6(shuf)]TJ /TT8 1 Tf 9.3097 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ing)-293.8(can)-312.3(be)-306.2(found)-304.5(in)-297.2([KNU68])]TJ -9.8658 -1.1 TD [(and)-531.2([BRE73].)-764.2(This)-509.7(algorithm)-511.8(may)-515.8(be)-518.7(obtained)-519.1(by)]TJ T* (de)Tj /TT8 1 Tf 0.9438 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ning)-247.2(the)-253.3(variable)-267.3(BRENT)-265.1(at)-253.3(compile)-253.8(time.)]TJ 0.65 -1.425 TD [(A)-627.8(third)-623.8(set)-626.7(of)-617(options,)-605.2(obtained)-619.1(by)-612.5(de)]TJ /TT8 1 Tf 17.4688 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ning)Tj -20.175 -1.1 TD [(CHAINED,)-481(use)-454.5(linked)-438(lists)-425.7(to)-434.7(resolve)-449.8(collisions.)]TJ T* [(Either)-419.1(of)-417(the)-415.8(primary)-409.5(hash)-404.5(function)-405(described)-418.5(above)]TJ T* [(may)-353.3(be)-356.2(used,)-342(but)-334.7(all)-338(collisions)-329(are)-354.3(resolved)-349.8(by)-337.5(build-)]TJ T* [(ing)-422.2(a)-418.7(linked)-413(list)-402.3(of)-417(entries)-422(from)-418.7(the)-415.8(primary)-422(bucket.)]TJ T* [(By)-383(default,)-398.6(new)-396.5(entries)-397(will)-381.8(be)-393.7(added)-399.8(to)-384.7(a)-393.7(bucket)-397(at)]TJ T* [(the)-315.8(beginning)-313(of)-317(the)-315.8(bucket)-309.5(chain.)-559.5(However,)-322.5(compile)]TJ T* [(options)-655.2(SORTUP)-671(or)-667(SORTDOWN)-689(may)-653.3(be)]TJ T* (speci)Tj /TT8 1 Tf 2.0547 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-257.8(to)-247.2(order)-265.1(the)-253.3(hash)-254.5(chains)-257.8(within)-244.3(each)-268.5(bucket.)]TJ /TT2 1 Tf -27.4358 -4.4875 TD [(4)-31225(USENIX)]TJ /TT7 1 Tf 35.75 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)]TJ ET endstream endobj 23 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /TT11 15 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 25 0 obj << /Length 15389 >> stream BT /TT2 1 Tf 10 0 0 10 90 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(Seltzer)-270.1(&)-254.5(Yigit)-25564.2(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)]TJ /TT4 1 Tf 9.05 -3.5 TD (dynahash)Tj /TT6 1 Tf -6.9 -1.65 TD (The)Tj /TT4 1 Tf 2.025 0 TD (dynahash)Tj /TT6 1 Tf 4.3 0 TD [(library,)-472(written)-455(by)-450(Esmond)-447.2(Pitt,)]TJ -8.475 -1.1 TD [(implements)-1121.5(Larsons)-1138.5(linear)-1136.1(hashing)-1114.2(algorithm)]TJ T* [([LAR88])-1046.5(with)-784.7(an)]TJ /TT4 1 Tf 9 0 TD (hsearch)Tj /TT6 1 Tf 3.95 0 TD [(compatible)-782.1(interface.)]TJ -12.95 -1.1 TD [(Intuitively,)-321.5(a)-331.2(hash)-329.5(table)-331.6(begins)-326.7(as)-329.5(a)-318.7(single)-311.3(bucket)-322(and)]TJ T* [(grows)-318.2(in)-309.7(generations,)-328.1(where)-332.1(a)-306.2(generation)-317.3(corresponds)]TJ T* [(to)-409.7(a)-418.7(doubling)-406.8(in)-409.7(the)-415.8(size)-420.3(of)-417(the)-403.3(hash)-404.5(table.)-656.6(The)-407.8(0)]TJ /TT4 1 Tf 7 0 0 7 302.375 657.25 Tm (th)Tj /TT6 1 Tf 10 0 0 10 90 642.25 Tm [(generation)-342.3(occurs)-340.1(as)-329.5(the)-328.3(table)-319.1(grows)-318.2(from)-318.7(one)-318.7(bucket)]TJ T* [(to)-397.2(two.)-650(In)-404.5(the)-403.3(next)-403.3(generation)-417.3(the)-403.3(table)-394.1(grows)-393.2(from)]TJ T* [(two)-275(to)-272.2(four.)-284(During)-279.5(each)-293.5(generation,)-279.8(every)-279.3(bucket)-272(that)]TJ T* [(existed)-255(at)-253.3(the)-253.3(beginning)-250.5(of)-254.5(the)-253.3(generation)-267.3(is)-245.5(split.)]TJ 2.15 -1.425 TD [(The)-307.8(table)-306.6(starts)-301.7(as)-304.5(a)-306.2(single)-298.8(bucket)-309.5(\(numbered)-306(0\),)]TJ -2.15 -1.1 TD [(the)-265.8(current)-281(split)-239.8(bucket)-259.5(is)-245.5(set)-251.7(to)-247.2(bucket)-259.5(0,)-250(and)-256.2(the)-253.3(max-)]TJ T* [(imum)-329(split)-327.3(point)-331.8(is)-333(set)-326.7(to)-322.2(twice)-334.5(the)-328.3(current)-343.5(split)-314.8(point)]TJ T* [(\(0\).)-371.5(When)-374.8(it)-356.8(is)-358(time)-360.2(for)-359(a)-356.2(bucket)-359.5(to)-347.2(split,)-339.8(the)-353.3(keys)-354.5(in)]TJ T* [(the)-678.3(current)-693.5(split)-664.8(bucket)-672(are)-679.3(divided)-663(between)-681(the)]TJ T* [(current)-431(split)-402.3(bucket)-409.5(and)-406.2(a)-406.2(new)-409(bucket)-409.5(whose)-407.3(bucket)]TJ T* [(number)-445.3(is)-433(equal)-447(to)-434.7(1)-437.5(+)-436(current)-456(split)-427.3(bucket)-434.5(+)-423.5(max-)]TJ T* [(imum)-254(split)-252.3(point.)-506.8(We)-262.3(can)-262.3(determine)-264.5(which)-256.1(keys)-254.5(move)]TJ T* [(to)-309.7(the)-303.3(new)-309(bucket)-309.5(by)-300(examining)-303.8(the)]TJ /TT4 1 Tf 14.9125 0 TD (n)Tj 7 0 0 7 245.25 511 Tm (th)Tj /TT6 1 Tf 10 0 0 10 255.375 507 Tm [(bit)-294.3(of)-304.5(a)-306.2(keys)]TJ -16.5375 -1.1 TD [(hash)-404.5(value)-409.5(where)-419.6(n)-400(i)0(s)-395.5(the)-390.8(generation)-404.8(number.)-645.3(After)]TJ T* [(the)-353.3(bucket)-359.5(at)-353.3(the)-353.3(maximum)-332.3(split)-327.3(point)-331.8(has)-342(been)-349.8(split,)]TJ T* [(the)-265.8(generation)-267.3(number)-257.8(is)-245.5(incremented,)-270.6(the)-253.3(current)-268.5(split)]TJ T* [(point)-294.3(is)-295.5(set)-301.7(back)-312.3(to)-297.2(zero,)-316.8(and)-306.2(the)-303.3(maximum)-282.3(split)-277.3(point)]TJ T* [(is)-520.5(set)-526.7(to)-522.2(the)-528.3(number)-532.8(of)-529.5(the)-515.8(last)-511.3(bucket)-522(in)-509.7(the)]TJ /TT8 1 Tf 20.675 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (le)Tj -21.2311 -1.1 TD [(\(which)-360.6(is)-345.5(equal)-347(to)-334.7(twice)-347(the)-340.8(old)-334.7(maximum)-332.3(split)-327.3(point)]TJ T* [(plus)-245.5(1\).)]TJ 2.15 -1.425 TD [(To)-626.7(facilitate)-627.4(locating)-616.3(keys,)-617(we)-621.5(maintain)-613.5(two)]TJ -2.15 -1.1 TD [(masks.)-612.5(The)-370.3(low)-350(mask)-351.7(is)-345.5(equal)-359.5(to)-347.2(the)-353.3(maximum)-344.8(split)]TJ T* [(bucket)-422(and)-418.7(the)-415.8(high)-409.7(mask)-414.2(is)-408(equal)-422(to)-397.2(the)-403.3(next)-403.3(max-)]TJ T* [(imum)-304(split)-302.3(bucket.)-572(To)-314.2(locate)-325.3(a)-318.7(speci)]TJ /TT8 1 Tf 15.1047 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(c)-307.8(key,)-306.2(we)-309(com-)]TJ -15.6608 -1.1 TD [(pute)-290.8(a)-293.7(32-bit)-286.3(hash)-292(value)-284.5(using)-270.5(a)-281.2(bit-randomizing)-282.1(algo-)]TJ T* [(rithm)-483.5(such)-492(as)-492(the)-490.8(one)-493.7(described)-493.5(in)-472.2([LAR88].)-734(This)]TJ T* [(hash)-329.5(value)-334.5(is)-320.5(then)-328.3(masked)-332.8(with)-322.2(the)-315.8(high)-309.7(mask.)-564.2(If)-321.5(the)]TJ T* [(resulting)-325.5(number)-332.8(is)-320.5(greater)-349.6(than)-328.3(the)-315.8(maximum)-307.3(bucket)]TJ T* [(in)-509.7(the)-515.8(table)-519.1(\(current)-535.4(split)-502.3(bucket)-522(+)-511(maximum)-507.3(split)]TJ T* [(point\),)-386.3(the)-390.8(hash)-392(value)-397(is)-383(masked)-395.3(with)-384.7(the)-390.8(low)-387.5(mask.)]TJ T* [(In)-479.5(either)-486.1(case,)-479.3(the)-465.8(result)-465.8(of)-467(the)-465.8(mask)-464.2(is)-458(the)-465.8(bucket)]TJ T* [(number)-307.8(for)-309(the)-303.3(given)-303.3(key.)-556.2(The)-295.3(algorithm)-286.8(below)-293.7(illus-)]TJ T* [(trates)-259.5(this)-242.7(process.)]TJ /TT11 1 Tf 8 0 0 8 90 246.375 Tm -0.0063 Tc [(h)-593.7(=)-593.7(calchash\(key\);)]TJ 0 -1.375 TD 0 Tc (bucket)Tj 4.1562 0 TD -0.0065 Tc [(=)-593.9(h)-593.9(&)-593.9(high_mask;)]TJ -4.1562 -1.375 TD 0 Tc [(if)-581.1(\()-587.4(bucket)]TJ 7.125 0 TD -0.0065 Tc [(>)-593.9(max_bucket)-595.4(\))]TJ -2.625 -1.375 TD 0 Tc (bucket)Tj 4.1562 0 TD -0.0066 Tc [(=)-594(h)-594(&)-594(low_mask;)]TJ -8.6562 -1.375 TD -0.0063 Tc (return\(bucket\);)Tj /TT6 1 Tf 10 0 0 10 111.5 161.75 Tm 0 Tc [(In)-679.5(order)-690.1(to)-672.2(decide)-690.6(when)-684(to)-672.2(split)-664.8(a)-681.2(bucket,)]TJ /TT4 1 Tf -2.15 -1.1 TD (dynahash)Tj /TT6 1 Tf 4.125 0 TD (uses)Tj /TT4 1 Tf 2 0 TD [(controlled)-277.1(splitting)]TJ /TT6 1 Tf 7.65 0 TD [(.)-525(A)-277.8(hash)-279.5(table)-281.6(has)-279.5(a)]TJ /TT8 1 Tf -13.775 -1.1 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-350.7(factor)-381(which)-368.7(is)-358(expressed)-382.1(in)-359.7(terms)-353.3(of)-354.5(the)-353.3(average)]TJ -0.5562 -1.1 TD [(number)-320.3(of)-317(keys)-304.5(in)-297.2(each)-318.5(bucket.)-559.5(Each)-314(time)-297.7(the)-303.3(tables)]TJ T* [(total)-285.2(number)-295.3(of)-292(keys)-292(divided)-288(by)-275(its)-267.7(number)-282.8(of)-279.5(buckets)]TJ T* [(exceeds)-272.9(this)]TJ /TT8 1 Tf 5.125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-238.2(factor,)-268.5(a)-256.2(bucket)-259.5(is)-245.5(split.)]TJ 21.2938 61.8 TD [(Since)-290.8(the)]TJ /TT4 1 Tf 4.025 0 TD (hsearch)Tj /TT6 1 Tf 3.4625 0 TD [(create)-313.8(interface)-315.4(\()]TJ /TT4 1 Tf 6.85 0 TD (hcreate)Tj /TT6 1 Tf 3.0125 0 TD [(\))-279.5(calls)]TJ -19.5 -1.1 TD [(for)-534(an)-531.2(estimate)-530.5(of)-529.5(the)]TJ /TT8 1 Tf 10.15 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(nal)-522.2(size)-532.8(of)-529.5(the)-528.3(hash)-517(table)]TJ -10.7062 -1.1 TD (\()Tj /TT4 1 Tf 0.3375 0 TD (nelem)Tj /TT6 1 Tf 2.4 0 TD (\),)Tj /TT4 1 Tf 1.025 0 TD (dynahash)Tj /TT6 1 Tf 4.275 0 TD [(uses)-440.3(this)-430.2(information)-441.3(to)-434.7(initialize)]TJ -8.0375 -1.1 TD [(the)-553.3(table.)-806.6(The)-557.8(initial)-529.5(number)-545.3(of)-542(buckets)-545.3(is)-533(set)-539.2(to)]TJ /TT4 1 Tf T* (nelem)Tj /TT6 1 Tf 2.75 0 TD [(rounded)-360.6(to)-334.7(the)-340.8(next)-340.8(higher)-345.3(power)-351(of)-342(two.)-587.5(The)]TJ -2.75 -1.1 TD [(current)-318.5(split)-277.3(point)-281.8(is)-283(set)-289.2(to)-284.7(0)-287.5(and)-293.7(the)-290.8(maximum)-282.3(bucket)]TJ T* [(and)-256.1(maximum)-244.8(split)-239.8(point)-244.3(are)-266.8(set)-251.7(to)-247.2(this)-242.7(rounded)-260.6(value.)]TJ /TT2 1 Tf 5.525 -1.925 TD [(The)-245.5(New)-261.8(Implementation)]TJ /TT6 1 Tf -3.375 -1.65 TD [(Our)-494.8(implementation)-486.1(is)-483(also)-476.7(based)-485.6(on)-475(Larsons)]TJ -2.15 -1.1 TD [(linear)-636.1(hashing)-626.7([LAR88])-634(algorithm)-624.3(as)-629.5(well)-628.3(as)-617(the)]TJ /TT4 1 Tf T* (dynahash)Tj /TT6 1 Tf 4.2625 0 TD [(implementation.)-673.6(The)]TJ /TT4 1 Tf 9.1875 0 TD (dbm)Tj /TT6 1 Tf 2.15 0 TD [(family)-427.2(of)-417(algo-)]TJ -15.6 -1.1 TD [(rithms)-394.3(decide)-415.6(dynamically)-407.1(which)-406.2(bucket)-397(to)-384.7(split)-377.3(and)]TJ T* [(when)-434(to)-422.2(split)-402.3(it)-406.8(\(when)-426(it)-406.8(over)]TJ /TT8 1 Tf 12.5519 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ows\))-422.7(while)]TJ /TT4 1 Tf 5.0045 0 TD (dynahash)Tj /TT6 1 Tf -18.1125 -1.1 TD [(splits)-725.7(in)-734.7(a)-743.7(prede)]TJ /TT8 1 Tf 7.7582 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ned)-754.3(order)-752.6(\(linearly\))-754.8(and)-743.7(at)-740.8(a)]TJ -8.3144 -1.1 TD (prede)Tj /TT8 1 Tf 2.2207 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ned)-904.3(time)-872.7(\(when)-888.5(the)-878.3(table)]TJ /TT8 1 Tf 13.3106 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-863.2(factor)-893.5(is)]TJ -16.6437 -1.1 TD [(exceeded\).)-885.3(We)-599.8(use)-592(a)-593.7(hybrid)-589.2(of)-592(these)-595.3(techniques.)]TJ T* [(Splits)-308.7(occur)-341.8(in)-322.2(the)-328.3(prede)]TJ /TT8 1 Tf 10.0207 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ned)-341.8(order)-340.1(of)-329.5(linear)-336.1(hashing,)]TJ -10.5769 -1.1 TD [(but)-459.7(the)-465.8(time)-460.2(at)-453.3(which)-456.2(pages)-460.6(are)-466.8(split)-439.8(is)-445.5(determined)]TJ T* [(both)-259.7(by)-262.5(page)-274.8(over)]TJ /TT8 1 Tf 7.2394 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ows)-268.2(\()]TJ /TT4 1 Tf 2.217 0 TD [(uncontrolled)-264.6(splitting)]TJ /TT6 1 Tf 8.6375 0 TD [(\))-267(and)-256.2(by)]TJ -18.65 -1.1 TD [(exceeding)-271.8(the)]TJ /TT8 1 Tf 5.8 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-238.2(factor)-268.5(\()]TJ /TT4 1 Tf 3.7313 0 TD [(controlled)-252.2(splitting)]TJ /TT6 1 Tf 7.625 0 TD (\))Tj -15.5625 -1.425 TD [(A)-327.8(hash)-329.5(table)-331.6(is)-308(parameterized)-349.9(by)-312.5(both)-309.7(its)-305.2(bucket)]TJ -2.15 -1.1 TD [(size)-920.3(\()]TJ /TT4 1 Tf 2.8125 0 TD (bsize)Tj /TT6 1 Tf 2 0 TD [(\))-917(and)]TJ /TT8 1 Tf 3.6125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-900.7(factor)-918.5(\()]TJ /TT4 1 Tf 5.0438 0 TD (ffactor)Tj /TT6 1 Tf 2.6625 0 TD [(\).)-1154.5(Whereas)]TJ /TT4 1 Tf -16.6875 -1.1 TD (dynahashs)Tj /TT6 1 Tf 4.8625 0 TD [(buckets)-307.8(can)-312.3(be)-293.7(represented)-316.6(as)-292(a)-293.7(linked)-288(list)]TJ -4.8625 -1.1 TD [(of)-317(elements)-320.8(in)-309.7(memory,)-317.5(our)-317(package)-337.1(needs)-323.1(to)-297.2(support)]TJ T* [(disk)-433(access,)-458.8(and)-443.7(must)-430.2(represent)-460.4(buckets)-445.3(in)-434.7(terms)-428.3(of)]TJ T* [(pages.)-585.6(The)]TJ /TT4 1 Tf 5 0 TD (bsize)Tj /TT6 1 Tf 2.3125 0 TD [(is)-308(the)-315.8(size)-320.3(\(in)-314.2(bytes\))-318.6(of)-317(these)-320.3(pages.)]TJ -7.3125 -1.1 TD [(As)-476.2(in)-472.2(linear)-486.1(hashing,)-476.7(the)-478.3(number)-470.3(of)-467(buckets)-470.3(in)-459.7(the)]TJ T* [(table)-556.6(is)-545.5(equal)-559.5(to)-547.2(the)-553.3(number)-557.8(of)-554.5(keys)-554.5(in)-534.7(the)-540.8(table)]TJ T* [(divided)-525.5(by)]TJ /TT4 1 Tf 5.05 0 TD (ffactor)Tj /TT6 1 Tf 2.6625 0 TD (.)Tj /TT4 1 Tf 8 0 0 8 417.875 402.875 Tm (6)Tj /TT6 1 Tf 10 0 0 10 427.125 399.75 Tm [(The)-532.8(controlled)-520.8(splitting)-496.7(occurs)]TJ -8.8875 -1.1 TD [(each)-318.5(time)-297.7(the)-303.3(number)-307.8(of)-304.5(keys)-304.5(in)-297.2(the)-303.3(table)-306.6(exceeds)-322.9(the)]TJ /TT8 1 Tf T* ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-238.2(factor)-268.5(multiplied)-239.2(by)-250(the)-253.3(number)-257.8(of)-254.5(buckets.)]TJ 1.5938 -1.425 TD [(Inserting)-307.8(keys)-304.5(and)-306.2(splitting)-284.2(buckets)-295.3(is)-283(performed)]TJ -2.15 -1.1 TD [(precisely)-290.6(as)-279.5(described)-293.5(previously)-265.8(for)]TJ /TT4 1 Tf 15.0625 0 TD (dynahash)Tj /TT6 1 Tf 3.8375 0 TD [(.)-512.5(How-)]TJ -18.9 -1.1 TD [(ever,)-416.8(since)-407.8(buckets)-407.8(are)-416.8(now)-390.3(comprised)-397(of)-392(pages,)-398.1(we)]TJ T* [(must)-267.7(be)-281.2(prepared)-289.9(to)-259.7(handle)-272(cases)-277.6(where)-282.1(the)-265.8(size)-270.3(of)-267(the)]TJ T* [(keys)-254.5(and)-256.2(data)-259.5(in)-247.2(a)-256.2(bucket)-259.5(exceed)-274.6(the)-253.3(bucket)-259.5(size.)]TJ /TT2 1 Tf 7.65 -1.925 TD (Over)Tj /TT13 1 Tf 2.1655 0 TD ()Tj /TT2 1 Tf 0.5562 0 TD [(ow)-256.1(Pages)]TJ /TT6 1 Tf -8.2217 -1.65 TD [(There)-381(are)-379.3(two)-362.5(cases)-377.6(where)-382.1(a)-368.7(key)-368.6(may)-365.8(not)]TJ /TT8 1 Tf 17.8375 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD 0.3535 Tc [(ti)353.5(n)]TJ -20.5437 -1.1 TD 0 Tc [(its)-255.2(designated)-273.6(bucket.)-522(In)-267(the)]TJ /TT8 1 Tf 11.7625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(rst)-243.8(case,)-266.8(the)-253.3(total)-247.7(size)-257.8(of)]TJ -12.3187 -1.1 TD [(the)-365.8(key)-368.7(and)-368.6(data)-372(may)-365.8(exceed)-387.1(the)-365.8(bucket)-372(size.)-607.8(In)-354.5(the)]TJ T* [(second,)-748.1(addition)-722.7(of)-729.5(a)-731.2(new)-734(key)-731.2(could)-728.3(cause)-741.8(an)]TJ T* (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow,)-719.8(but)-709.7(the)-715.8(bucket)-709.5(in)-697.2(question)-698.8(is)-695.5(not)-697.2(yet)]TJ -2.333 -1.1 TD [(scheduled)-289(to)-272.2(be)-268.7(split.)-502.3(In)-267(existing)-258.5(implementations,)-259.5(the)]TJ T* [(second)-310.6(case)-304.3(never)-304.3(arises)-298.1(\(since)-299.8(buckets)-295.3(are)-304.3(split)-277.3(when)]TJ T* [(they)-340.8(over)]TJ /TT8 1 Tf 3.8394 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow\))-349.3(and)-331.2(the)]TJ /TT8 1 Tf 5.2295 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(rst)-318.8(case)-341.8(is)-320.5(not)-322.2(handled)-334.5(at)-328.3(all.)]TJ -10.1812 -1.1 TD [(Although)-347.2(large)-364(key/data)-362.8(pair)-357.8(handling)-350.5(is)-333(dif)]TJ /TT8 1 Tf 18.1108 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(cult)-333.5(and)]TJ -18.667 -1.1 TD [(expensive,)-464(it)-444.3(is)-445.5(essential.)-706.6(In)-442(a)-443.7(linear)-448.6(hashed)-448.1(imple-)]TJ T* [(mentation,)-513.5(over)]TJ /TT8 1 Tf 6.5394 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-519.8(pages)-510.6(are)-516.8(required)-518.5(for)-509(buckets)]TJ -7.0955 -1.1 TD [(which)-418.7(over)]TJ /TT8 1 Tf 4.6394 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-419.8(before)-433.8(they)-403.3(are)-416.8(split,)-389.8(so)-398.3(we)-409(can)-412.3(use)]TJ -5.1955 -1.1 TD [(the)-365.8(same)-370.3(mechanism)-370.8(for)-371.5(large)-376.5(key/data)-375.3(pairs)-368.7(that)-350.5(we)]TJ T* [(use)-304.5(for)-309(over)]TJ /TT8 1 Tf 4.8894 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-307.3(pages.)-560.6(Logically,)-305.5(we)-309(chain)-297(over)]TJ /TT8 1 Tf 14.7188 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ow)Tj ET 0 G 1 J 0 j 0.25 w 10 M []0 d 1 i 338.25 122.875 m 446.25 122.875 l S BT /TT4 1 Tf 8 0 0 8 343.25 116 Tm (6)Tj /TT6 1 Tf 9 0 0 9 350.125 112.875 Tm [(This)-319.4(is)-319.1(not)-319.4(strictly)-319.9(true.)-570.3(The)]TJ /TT8 1 Tf 12.0278 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-319.4(does)-319.8(not)-319.4(contract)-307.6(when)]TJ -13.9034 -1.1111 TD [(keys)-319.8(are)-321(deleted,)-321.1(so)-319.2(the)-320(number)-320.3(of)-305.9(buckets)-306.4(is)-305.2(actually)-307.2(equal)]TJ T* [(to)-277.7(the)-278.3(maximum)-278.2(number)-264.8(of)-264.2(keys)-264.2(ever)-265.4(present)-265.1(in)-263.8(the)-264.4(table)-265(di-)]TJ T* [(vided)-250.5(by)-250(the)]TJ /TT8 1 Tf 5.1944 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-249.3(factor.)]TJ /TT2 1 Tf 10 0 0 10 90 47 Tm (USENIX)Tj /TT7 1 Tf 4.025 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)-31223.3(5)]TJ ET endstream endobj 26 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /TT11 15 0 R /TT13 27 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 29 0 obj << /Length 27214 >> stream BT /TT2 1 Tf 10 0 0 10 54 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)-25569.3(Seltzer)-270.1(&)-254.5(Yigit)]TJ /TT6 1 Tf 0 -3.5 TD [(pages)-310.6(to)-297.2(the)-303.3(buckets)-307.8(\(also)-306.2(called)-312.8(primary)-297(pages\).)-552.6(In)-292(a)]TJ 0 -1.1 TD [(memory)-392.5(based)-385.6(representation,)-398.4(over)]TJ /TT8 1 Tf 14.4769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-382.3(pages)-385.6(do)-375(not)]TJ -15.033 -1.1 TD [(pose)-617(any)-606.2(special)-611.1(problems)-603.3(because)-622.9(we)-609(can)-612.3(chain)]TJ T* (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-744.8(pages)-735.6(to)-722.2(primary)-734.5(pages)-735.6(using)-720.5(memory)]TJ -2.333 -1.1 TD [(pointers.)-828.3(However,)-597.5(mapping)-575.5(these)-582.8(over)]TJ /TT8 1 Tf 17.3019 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-582.3(pages)]TJ -17.858 -1.1 TD [(into)-344.3(a)-356.2(disk)]TJ /TT8 1 Tf 4.7125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-347.2(is)-333(more)-345.3(of)-342(a)-343.7(challenge,)-356.4(since)-345.3(we)-346.5(need)]TJ -5.2687 -1.1 TD [(to)-659.7(be)-656.2(able)-659.5(to)-647.2(address)-663.5(both)-647.2(bucket)-659.5(pages,)-660.6(whose)]TJ T* [(numbers)-268.7(are)-279.3(growing)-267(linearly,)-258.3(and)-256.2(some)-251.7(indeterminate)]TJ T* [(number)-482.8(of)-479.5(over)]TJ /TT8 1 Tf 6.6269 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-482.3(pages)-485.6(without)-469.3(reorganizing)-496.8(the)]TJ /TT8 1 Tf -7.183 -1.1 TD ()Tj /TT6 1 Tf 0.5562 0 TD (le.)Tj 1.5938 -1.425 TD [(One)-646.5(simple)-633.5(solution)-627.3(would)-637.5(be)-643.7(to)-634.7(allocate)-641.1(a)]TJ -2.15 -1.1 TD (separate)Tj /TT8 1 Tf 3.8125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-509.7(for)-521.5(over)]TJ /TT8 1 Tf 4.6957 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-519.8(pages.)-760.6(The)-507.8(disadvantage)]TJ -9.6205 -1.1 TD [(with)-384.7(such)-392(a)-393.7(technique)-400.3(is)-370.5(that)-375.5(it)-369.3(requires)-391.8(an)-381.1(extra)]TJ /TT8 1 Tf 20.675 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (le)Tj -21.2311 -1.1 TD [(descriptor,)-276.5(an)-268.7(extra)-276.5(system)-259.7(call)-269.1(on)-262.5(open)-268.7(and)-256.2(close,)-257.8(and)]TJ T* [(logically)-338.5(associating)-344.1(two)-337.5(independent)]TJ /TT8 1 Tf 15.6875 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(les.)-570.5(For)-323.3(these)]TJ -16.2437 -1.1 TD [(reasons,)-451(we)-446.5(wanted)-437.3(to)-422.2(map)-428.3(both)-422.2(primary)-434.5(pages)-435.6(and)]TJ T* (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-257.3(pages)-260.6(into)-244.3(the)-253.3(same)]TJ /TT8 1 Tf 9.6045 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-247.2(space.)]TJ -10.3437 -1.425 TD [(The)-882.8(buddy-in-waiting)-881.6(algorithm)-874.3(provides)-881.1(a)]TJ -2.15 -1.1 TD [(mechanism)-683.3(to)-659.7(support)-662.5(multiple)-654.5(pages)-673.1(per)-673.1(logical)]TJ T* [(bucket)-497(while)-490.8(retaining)-495.8(the)-478.3(simple)-471(split)-464.8(sequence)-498(of)]TJ T* [(linear)-836.1(hashing.)-814.2(Over)]TJ /TT8 1 Tf 9.2865 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-822.7(pages)-823.1(are)-829.3(preallocated)]TJ -9.8427 -1.1 TD [(between)-1031(generations)-1028.1(of)-1004.5(primary)-1009.5(pages.)-1010.6(These)]TJ T* (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-532.3(pages)-535.6(are)-541.8(used)-529.5(by)-525(any)-531.2(bucket)-534.5(containing)]TJ -2.333 -1.1 TD [(more)-620.3(keys)-617(than)]TJ /TT8 1 Tf 7.4625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(t)-603.5(o)0(n)-612.5(the)-615.8(primary)-622(page)-624.8(and)-618.6(are)]TJ -8.0187 -1.1 TD [(reclaimed,)-508.1(if)-489.2(possible,)-484.7(when)-496.5(the)-490.8(bucket)-484.5(later)-486.1(splits.)]TJ T* [(Figure)-576.7(3)-575(depicts)-567.5(the)-565.8(layout)-563(of)-567(primary)-572(pages)-573.1(and)]TJ T* (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-444.8(pages)-448.1(within)-431.8(the)-440.8(same)]TJ /TT8 1 Tf 11.542 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le.)-434.7(Over)]TJ /TT8 1 Tf 3.4054 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-435.2(page)]TJ -18.3927 -1.1 TD [(use)-592(information)-591.3(is)-583(recorded)-614.9(in)-572.2(bitmaps)-571(which)-581.2(are)]TJ T* [(themselves)-394.1(stored)-393.7(on)-387.5(over)]TJ /TT8 1 Tf 10.8394 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-382.3(pages.)-635.6(The)-382.8(addresses)]TJ -11.3955 -1.1 TD [(of)-267(the)-265.8(bitmap)-260.2(pages)-273.1(and)-268.7(the)-265.8(number)-270.3(of)-254.5(pages)-260.6(allocated)]TJ T* [(at)-315.8(each)-331(split)-302.3(point)-306.8(are)-329.3(stored)-318.7(in)-297.2(the)]TJ /TT8 1 Tf 14.5 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-297.2(header.)-573(Using)]TJ -15.0562 -1.1 TD [(this)-367.7(information,)-378.8(both)-372.2(over)]TJ /TT8 1 Tf 11.0894 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-382.3(addresses)-380.5(and)-368.7(bucket)]TJ -11.6455 -1.1 TD [(addresses)-318(can)-312.3(be)-293.7(mapped)-297(to)-284.7(disk)-283(addresses)-305.5(by)-287.5(the)-290.8(fol-)]TJ T* [(lowing)-247.2(calculation:)]TJ /TT11 1 Tf 8 0 0 8 54 317.875 Tm [(int)-2949.7(bucket;)-2924.3(/*)-581.1(bucket)-555.7(address)-549.3(*/)]TJ 0 -1.375 TD [(u_short)-549.3(oaddr;)-3524.4(/*)-581.1(OVERFLOW)-543(address)-549.3(*/)]TJ T* -0.005 Tc [(int)-2954.7(nhdr_pages;)]TJ 11.875 0 TD 0 Tc [(/*)-581.1(npages)-555.7(in)]TJ /TT14 1 Tf 7.7187 0 TD ()Tj /TT11 1 Tf -1.1562 0 TD (l)Tj -1.1563 0 TD [(e)-4087.4(header)-555.7(*/)]TJ -17.2813 -1.375 TD -0.005 Tc [(int)-2954.7(spares[32];)]TJ 11.875 0 TD 0 Tc [(/*)-581.1(npages)-555.7(at)-581.1(each)-568.4(split)-562(*/)]TJ -11.875 -1.375 TD [(int)-2949.7(log2\(\);)-3018.1(/*)-581.1(ceil\(log)-543(base)-568.4(2\))-581.1(*/)]TJ 0 -2.75 TD (#DEFINE)Tj 4.75 0 TD -0.0061 Tc [(BUCKET_TO_PAGE\(bucket\))-589.1(\\)]TJ -2.375 -1.375 TD 0 Tc [(bucket)-555.7(+)]TJ 5.3437 0 TD -0.0065 Tc [(nhdr_pages)-595.4(+)-593.9(\\)]TJ -5.3437 -1.375 TD -0.0061 Tc [(\(bucket?spares[logs2\(bucket)-586.7(+)]TJ 17.8125 0 TD 0 Tc (1\)-1]:0\))Tj -20.1875 -2.75 TD (#DEFINE)Tj 4.75 0 TD -0.0062 Tc [(OADDR_TO_PAGE\(oaddr\))-590.2(\\)]TJ -2.375 -1.375 TD [(BUCKET_TO_PAGE\(\(1)-591.7(<)-6.3(<)-587.4(\(oaddr>>11\)\))-594.2(-)-593.7(1)-6.3(\))-587.4(+)-593.7(\\)]TJ T* 0 Tc [(oaddr)-562(&)-587.4(0x7ff;)]TJ /TT6 1 Tf 10 0 0 10 75.5 134.25 Tm [(An)-327.8(over)]TJ /TT8 1 Tf 3.3269 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-332.3(page)-337.3(is)-308(addressed)-332.1(by)-312.5(its)-305.2(split)-302.3(point,)]TJ -6.033 -1.1 TD [(identifying)-936.8(the)-940.8(generations)-953.1(between)-956(which)-943.7(the)]TJ T* (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-294.8(page)-299.8(is)-283(allocated,)-303.6(and)-293.7(its)-280.2(page)-299.8(number,)-282.8(iden-)]TJ -2.333 -1.1 TD [(tifying)-246(the)-253.3(particular)-268.9(page)-262.3(within)-244.3(the)-253.3(split)-239.8(point.)-244.3(In)-254.5(this)]TJ T* [(implementation,)-361.1(offsets)-359(within)-344.3(pages)-360.6(are)-366.8(16)-350(bits)-342.7(long)]TJ T* [(\(limiting)-250(the)-265.8(maximum)-257.3(page)-262.3(size)-257.8(to)-247.2(32K\),)-257.3(so)-248.3(we)-259(select)]TJ 24.825 64.55 TD [(an)-518.7(over)]TJ /TT8 1 Tf 3.2394 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-507.3(page)-512.3(addressing)-510.6(algorithm)-499.3(that)-500.5(can)-512.3(be)]TJ -3.7955 -1.1 TD [(expressed)-332.1(in)-309.7(16)-312.5(bits)-292.7(and)-306.1(which)-306.2(allows)-301.7(quick)-303.3(retrieval.)]TJ T* [(The)-320.3(top)]TJ /TT8 1 Tf 3.4625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ve)-312.5(bits)-305.2(indicate)-310(the)-303.3(split)-289.8(point)-294.3(and)-306.2(the)-303.3(lower)]TJ -4.0187 -1.1 TD [(eleven)-290.6(indicate)-285(the)-278.3(page)-287.3(number)-282.8(within)-269.3(the)-265.8(split)-252.3(point.)]TJ T* (Since)Tj /TT8 1 Tf 2.6875 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ve)-450(bits)-442.7(are)-466.8(reserved)-475.8(for)-459(the)-453.3(split)-439.8(point,)]TJ /TT8 1 Tf 17.0438 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (les)Tj -20.8437 -1.1 TD [(may)-278.3(split)-264.8(32)-275(times)-271(yielding)-272.7(a)-281.2(maximum)]TJ /TT8 1 Tf 16.2875 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-259.7(size)-270.3(of)-267(2)]TJ 7 0 0 7 514.75 673.75 Tm (32)Tj 10 0 0 10 302.25 658.75 Tm [(buckets)-445.3(and)-443.7(32)]TJ /TT4 1 Tf 6.3875 0 TD (*)Tj /TT6 1 Tf 0.6625 0 TD (2)Tj 7 0 0 7 377.75 662.75 Tm (11)Tj 10 0 0 10 389.125 658.75 Tm (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-444.8(pages.)-698.1(The)-432.8(maximum)]TJ -11.0205 -1.1 TD [(page)-349.8(size)-345.3(is)-333(2)]TJ 7 0 0 7 358.625 651.75 Tm (15)Tj 10 0 0 10 365.625 647.75 Tm [(,)-325(yielding)-322.7(a)-331.1(maximum)]TJ /TT8 1 Tf 9.325 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-322.2(size)-332.8(greater)]TJ -16.2187 -1.1 TD [(than)-565.8(131,000)-562.5(GB)-548.3(\(on)]TJ /TT8 1 Tf 9.925 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-547.2(systems)-545.5(supporting)]TJ /TT8 1 Tf 9.8063 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (les)Tj -20.8437 -1.1 TD [(larger)-268.5(than)-253.3(4GB\).)]TJ /T1 1 Tf T* -0.0012 Tc ()Tj ET 0 G 1 J 0 j 0.25 w 10 M []0 d 1 i 501.75 507.625 m 501.75 491 l 485.125 507.625 m 485.125 491 l 468.5 507.625 m 468.5 491 l 385.375 507.625 m 385.375 491 l S BT /TT6 1 Tf 5 0 0 5 440.375 482.625 Tm 0 Tc (2/3)Tj -3.325 0 TD (2/2)Tj -3.325 0 TD (2/1)Tj -9.95 0 TD (1/2)Tj -3.325 0 TD (1/1)Tj ET 1.25 w 476.75 574.125 m 476.75 557.5 l 410.25 574.125 m 410.25 557.5 l 377.125 574.125 m 377.125 557.5 l 360.5 574.125 m 360.5 557.5 l S 0.25 w 460.125 574.125 m 460.125 557.5 l 460.125 557.5 m 476.75 557.5 l 476.75 557.5 m 476.75 574.125 l 476.75 574.125 m 460.125 574.125 l 443.5 574.125 m 443.5 557.5 l 443.5 557.5 m 460.125 557.5 l 460.125 557.5 m 460.125 574.125 l 460.125 574.125 m 443.5 574.125 l 426.875 574.125 m 426.875 557.5 l 426.875 557.5 m 443.5 557.5 l 443.5 557.5 m 443.5 574.125 l 443.5 574.125 m 426.875 574.125 l 410.25 574.125 m 410.25 557.5 l 410.25 557.5 m 426.875 557.5 l 426.875 557.5 m 426.875 574.125 l 426.875 574.125 m 410.25 574.125 l 393.75 574.125 m 393.75 557.5 l 393.75 557.5 m 410.25 557.5 l 410.25 557.5 m 410.25 574.125 l 410.25 574.125 m 393.75 574.125 l 377.125 574.125 m 377.125 557.5 l 377.125 557.5 m 393.75 557.5 l 393.75 557.5 m 393.75 574.125 l 393.75 574.125 m 377.125 574.125 l 360.5 574.125 m 360.5 557.5 l 360.5 557.5 m 377.125 557.5 l 377.125 557.5 m 377.125 574.125 l 377.125 574.125 m 360.5 574.125 l S BT /TT2 1 Tf 8 0 0 8 377.125 466.875 Tm (Over)Tj /TT13 1 Tf 2.1655 0 TD ()Tj /TT2 1 Tf 0.5562 0 TD [(ow)-243.6(Addresses)]TJ 5.0596 -3.625 TD (Over)Tj /TT13 1 Tf 2.1655 0 TD ()Tj /TT2 1 Tf 0.5562 0 TD [(ow)-243.7(Pages)]TJ -13.1123 0 TD (Buckets)Tj ET q 418.625 449.5 16.625 -16.625 re W* n q 0.96 0 0 15.36 418.32 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 419.28 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 420.24 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 421.2 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 422.16 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 423.12 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 424.08 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 425.04 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 426 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 426.96 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 427.92 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 428.88 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 429.84 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 430.8 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 431.76 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 432.72 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 433.68 433.5001 cm /Im1 Do Q q 0.96 0 0 15.36 434.64 433.5001 cm /Im1 Do Q q 0.96 0 0 1.32 418.32 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 419.28 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 420.24 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 421.2 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 422.16 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 423.12 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 424.08 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 425.04 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 426 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 426.96 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 427.92 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 428.88 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 429.84 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 430.8 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 431.76 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 432.72 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 433.68 432.18 cm /Im3 Do Q q 0.96 0 0 1.32 434.64 432.18 cm /Im3 Do Q Q 418.625 449.5 16.625 -16.625 re 335.5 449.5 m 335.5 432.875 l 335.5 432.875 m 352.125 432.875 l 352.125 432.875 m 352.125 449.5 l 352.125 449.5 m 335.5 449.5 l S 1.25 w 518.25 507.625 m 518.25 491 l 402 507.625 m 402 491 l 335.5 507.625 m 335.5 491 l 318.875 507.625 m 318.875 491 l S BT /TT6 1 Tf 8 0 0 8 474.75 546.625 Tm (3)Tj -8.3125 -0.2656 TD (2)Tj -4.1406 0 TD (1)Tj -2.0781 0 TD (0)Tj ET 0.25 w 343.875 574.125 m 343.875 557.5 l 343.875 557.5 m 360.5 557.5 l 360.5 557.5 m 360.5 574.125 l 360.5 574.125 m 343.875 574.125 l 443.5 507.625 m 441.625 510.375 l 441.625 510.375 m 441.875 508.375 l 441.875 508.375 m 440.25 507 l 440.25 507 m 443.5 507.625 l 443.5 507.625 m 408.25 522.25 l 429 507.625 m 427.75 510.75 l 427.75 510.75 m 427.5 508.75 l 427.5 508.75 m 425.625 507.75 l 425.625 507.75 m 429 507.625 l 429 507.625 m 408.25 522.25 l 410.25 507.625 m 411.75 510.75 l 411.75 510.75 m 410 509.5 l 410 509.5 m 408.125 510.25 l 408.125 510.25 m 410.25 507.625 l 410.25 507.625 m 408.25 522.25 l 360.5 507.625 m 363.75 506.75 l 363.75 506.75 m 362.25 508.25 l 362.25 508.25 m 362.625 510.25 l 362.625 510.25 m 360.5 507.625 l 360.5 507.625 m 408.25 522.25 l 343.875 507.625 m 347 506.5 l 347 506.5 m 345.625 508 l 345.625 508 m 346.25 510.125 l 346.25 510.125 m 343.875 507.625 l 343.875 507.625 m 408.25 522.25 l S BT /TT2 1 Tf 8 0 0 8 383.75 523 Tm (Over)Tj /TT13 1 Tf 2.1655 0 TD ()Tj /TT2 1 Tf 0.5562 0 TD [(ow)-243.7(Pages)]TJ ET q 435.25 507.625 16.625 -16.625 re W* n q 0.96 0 0 15.36 434.64 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 435.6 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 436.56 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 437.52 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 438.48 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 439.44 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 440.4 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 441.36 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 442.32 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 443.28 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 444.24 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 445.2 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 446.16 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 447.12 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 448.08 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 449.04 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 450 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 450.96 492.0601 cm /Im1 Do Q q 0.96 0 0 1.68 434.64 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 435.6 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 436.56 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 437.52 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 438.48 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 439.44 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 440.4 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 441.36 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 442.32 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 443.28 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 444.24 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 445.2 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 446.16 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 447.12 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 448.08 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 449.04 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 450 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 450.96 490.38 cm /Im2 Do Q Q 435.25 507.625 16.625 -16.625 re S q 418.625 507.625 16.625 -16.625 re W* n q 0.96 0 0 15.36 418.32 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 419.28 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 420.24 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 421.2 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 422.16 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 423.12 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 424.08 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 425.04 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 426 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 426.96 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 427.92 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 428.88 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 429.84 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 430.8 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 431.76 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 432.72 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 433.68 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 434.64 492.0601 cm /Im1 Do Q q 0.96 0 0 1.68 418.32 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 419.28 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 420.24 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 421.2 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 422.16 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 423.12 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 424.08 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 425.04 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 426 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 426.96 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 427.92 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 428.88 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 429.84 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 430.8 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 431.76 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 432.72 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 433.68 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 434.64 490.38 cm /Im2 Do Q Q 418.625 507.625 16.625 -16.625 re S q 402 507.625 16.625 -16.625 re W* n q 0.96 0 0 15.36 401.04 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 402 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 402.96 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 403.92 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 404.88 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 405.84 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 406.8 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 407.76 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 408.72 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 409.68 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 410.64 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 411.6 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 412.56 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 413.52 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 414.48 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 415.44 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 416.4 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 417.36 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 418.32 492.0601 cm /Im1 Do Q q 0.96 0 0 1.68 401.04 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 402 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 402.96 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 403.92 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 404.88 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 405.84 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 406.8 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 407.76 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 408.72 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 409.68 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 410.64 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 411.6 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 412.56 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 413.52 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 414.48 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 415.44 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 416.4 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 417.36 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 418.32 490.38 cm /Im2 Do Q Q 402 507.625 16.625 -16.625 re S q 352.125 507.625 16.625 -16.625 re W* n q 0.96 0 0 15.36 352.08 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 353.04 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 354 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 354.96 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 355.92 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 356.88 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 357.84 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 358.8 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 359.76 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 360.72 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 361.68 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 362.64 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 363.6 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 364.56 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 365.52 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 366.48 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 367.44 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 368.4 492.0601 cm /Im1 Do Q q 0.96 0 0 1.68 352.08 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 353.04 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 354 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 354.96 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 355.92 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 356.88 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 357.84 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 358.8 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 359.76 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 360.72 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 361.68 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 362.64 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 363.6 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 364.56 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 365.52 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 366.48 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 367.44 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 368.4 490.38 cm /Im2 Do Q Q 352.125 507.625 16.625 -16.625 re S q 335.5 507.625 16.625 -16.625 re W* n q 0.96 0 0 15.36 334.8 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 335.76 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 336.72 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 337.68 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 338.64 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 339.6 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 340.56 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 341.52 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 342.48 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 343.44 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 344.4 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 345.36 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 346.32 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 347.28 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 348.24 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 349.2 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 350.16 492.0601 cm /Im1 Do Q q 0.96 0 0 15.36 351.12 492.0601 cm /Im1 Do Q q 0.72 0 0 15.36 352.08 492.0601 cm /Im5 Do Q q 0.96 0 0 1.68 334.8 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 335.76 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 336.72 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 337.68 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 338.64 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 339.6 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 340.56 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 341.52 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 342.48 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 343.44 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 344.4 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 345.36 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 346.32 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 347.28 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 348.24 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 349.2 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 350.16 490.38 cm /Im2 Do Q q 0.96 0 0 1.68 351.12 490.38 cm /Im2 Do Q q 0.72 0 0 1.68 352.08 490.38 cm /Im4 Do Q Q 335.5 507.625 16.625 -16.625 re 451.875 507.625 m 451.875 491 l 451.875 491 m 518.25 491 l 518.25 491 m 518.25 507.625 l 518.25 507.625 m 451.875 507.625 l 368.75 507.625 m 368.75 491 l 368.75 491 m 402 491 l 402 491 m 402 507.625 l 402 507.625 m 368.75 507.625 l 318.875 507.625 m 318.875 491 l 318.875 491 m 335.5 491 l 335.5 491 m 335.5 507.625 l 335.5 507.625 m 318.875 507.625 l 474.75 576.25 m 472.125 578.5 l 472.125 578.5 m 472.875 576.5 l 472.875 576.5 m 471.625 574.875 l 471.625 574.875 m 474.75 576.25 l 474.75 576.25 m 399.875 588.625 l 408.25 576.25 m 408.125 579.625 l 408.125 579.625 m 407.25 577.75 l 407.25 577.75 m 405.125 577.625 l 405.125 577.625 m 408.25 576.25 l 408.25 576.25 m 399.875 588.625 l 379.125 576.25 m 382.5 576.125 l 382.5 576.125 m 380.75 577.125 l 380.75 577.125 m 380.625 579.25 l 380.625 579.25 m 379.125 576.25 l 379.125 576.25 m 399.875 588.625 l 362.5 576.25 m 365.875 575.375 l 365.875 575.375 m 364.25 576.75 l 364.25 576.75 m 364.625 578.875 l 364.625 578.875 m 362.5 576.25 l 362.5 576.25 m 399.875 588.625 l S BT 8 0 0 8 382.25 589.375 Tm [(Split)-264.6(Points)]TJ ET 302.25 507.625 m 302.25 491 l 302.25 491 m 318.875 491 l 318.875 491 m 318.875 507.625 l 318.875 507.625 m 302.25 507.625 l S BT 8 0 0 8 302.2499 399.875 Tm [(Figure)-308.1(3:)]TJ /TT6 1 Tf 4.2656 0 TD [(Split)-313.5(points)-305.2(occur)-279.3(between)-277.8(generations)-281.3(and)-290.5(are)-279.3(numbered)]TJ -4.2656 -1.375 TD [(from)-274.9(0.)-531.3(In)-276.4(this)]TJ /TT8 1 Tf 6.3437 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(gure)-276.4(there)-267.1(are)-263.7(two)-281.3(over)]TJ /TT8 1 Tf 9.3613 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-273(pages)-270(allocated)-250.5(at)-262.7(split)]TJ -16.8174 -1.375 TD [(point)-256.8(1)-250(and)-243.7(three)-235.8(allocated)-234.9(at)-247.1(split)-261.7(point)-256.8(2.)]TJ /T1 1 Tf 10 0 0 10 302.25 355.875 Tm -0.0012 Tc ()Tj /TT2 1 Tf 6.6375 -3.025 TD 0 Tc [(Buffer)-260.6(Management)]TJ /TT6 1 Tf -4.4875 -1.65 TD [(The)-370.3(hash)-367(table)-369.1(is)-358(stored)-368.7(in)-347.2(memory)-355(as)-354.5(a)-356.1(logical)]TJ -2.15 -1.1 TD [(array)-633.8(of)-617(bucket)-622(pointers.)-865.8(Physically,)-608.5(the)-603.3(array)-621.3(is)]TJ T* [(arranged)-377.4(in)-347.2(segments)-353.3(of)-354.5(256)-350(pointers.)-603.3(Initially,)-334(there)]TJ T* [(is)-733(space)-741.8(to)-722.2(allocate)-741.1(256)-725(segments.)-978.3(Reallocation)]TJ T* [(occurs)-302.6(when)-284(the)-278.3(number)-282.8(of)-279.5(buckets)-282.8(exceeds)-298(32K)-277.8(\(256)]TJ T* [(*)-625(256\).)-879.5(Primary)-628.3(pages)-635.6(may)-615.8(be)-618.7(accessed)-639.9(directly)]TJ T* [(through)-551.7(the)-553.3(array)-558.8(by)-537.5(bucket)-547(number)-545.3(and)-543.7(over)]TJ /TT8 1 Tf 20.1644 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ow)Tj -20.7205 -1.1 TD [(pages)-348.1(are)]TJ 4.2 0 TD 0.005 Tc (referenced)Tj 4.6 0 TD 0 Tc [(logically)-338.5(by)-337.5(their)-342.5(over)]TJ /TT8 1 Tf 9.1269 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-344.8(page)]TJ -18.483 -1.1 TD [(address.)-601(For)-335.8(small)-321(hash)-329.5(tables,)-330(it)-319.3(is)-320.5(desirable)-340.6(to)-322.2(keep)]TJ T* [(all)-338(pages)-348.1(in)-322.2(main)-325.5(memory)-330(while)-328.3(on)-325(larger)-343.5(tables,)-330(this)]TJ T* [(is)-645.5(probably)-657.8(impossible.)-891.5(To)-639.2(satisfy)-639.2(both)-634.7(of)-642(these)]TJ T* [(requirements,)-554.8(the)-540.8(package)-562.1(includes)-542.5(buffer)-544.6(manage-)]TJ T* [(ment)-250.5(with)-247.2(LRU)-250(\(least)-259.5(recently)-267.3(used\))-259(replacement.)]TJ 2.15 -1.425 TD [(By)-583(default,)-598.6(the)-590.8(package)-599.6(allocates)-589.5(up)-575(to)-572.2(64K)]TJ -2.15 -1.1 TD [(bytes)-364.2(of)-367(buffered)-388.3(pages.)-373.1(All)-359.7(pages)-373.1(in)-359.7(the)-365.8(buffer)-369.6(pool)]TJ T* [(are)-329.3(linked)-300.5(in)-297.2(LRU)-300(order)-315.1(to)-297.2(facilitate)-314.9(fast)-306.2(replacement.)]TJ T* [(Whereas)-327.4(ef)]TJ /TT8 1 Tf 4.6019 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(cient)-311.1(access)-321.3(to)-297.2(primary)-309.5(pages)-310.6(is)-295.5(provided)]TJ -5.158 -1.1 TD [(by)-287.5(the)-290.8(bucket)-297(array,)-296.3(ef)]TJ /TT8 1 Tf 9.1394 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(cient)-286.1(access)-296.3(to)-272.2(over)]TJ /TT8 1 Tf 7.9063 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-282.3(pages)]TJ -18.158 -1.1 TD [(is)-370.5(provided)-382.8(by)-375(linking)-366.5(over)]TJ /TT8 1 Tf 11.3269 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-382.3(page)-387.3(buffers)-380.5(to)-359.7(their)]TJ -11.883 -1.1 TD [(predecessor)-392.8(page)-374.8(\(either)-378.1(the)-365.8(primary)-372(page)-374.8(or)-354.5(another)]TJ T* (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-494.8(page\).)-754.3(This)-484.7(means)-495.3(that)-488(an)-493.7(over)]TJ /TT8 1 Tf 15.4563 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-482.3(page)]TJ /TT2 1 Tf -43.1705 -3.8875 TD [(6)-31225(USENIX)]TJ /TT7 1 Tf 35.75 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)]TJ ET endstream endobj 30 0 obj << /ProcSet [/PDF /Text /ImageB ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /TT11 15 0 R /TT13 27 0 R /TT14 31 0 R /T1 20 0 R >> /XObject << /Im1 32 0 R /Im2 33 0 R /Im3 34 0 R /Im4 35 0 R /Im5 36 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 38 0 obj << /Length 32445 >> stream BT /TT2 1 Tf 10 0 0 10 90 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(Seltzer)-270.1(&)-254.5(Yigit)-25564.2(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)]TJ /TT6 1 Tf 0 -3.5 TD [(cannot)-272(be)-268.7(present)-274.8(in)-259.7(the)-265.8(buffer)-269.6(pool)-247.2(if)-251.7(its)-242.7(primary)-259.5(page)]TJ 0 -1.1 TD [(is)-383(not)-384.7(present.)-649.8(This)-384.7(does)-392(not)-384.7(impact)-378.8(performance)-410.3(or)]TJ T* [(functionality,)-752.6(because)-772.9(an)-756.2(over)]TJ /TT8 1 Tf 13.5269 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-757.3(page)-762.3(will)-731.8(be)]TJ -14.083 -1.1 TD [(accessed)-602.4(only)-572.2(after)-593.5(its)-555.2(predecessor)-592.8(page)-574.8(has)-567(been)]TJ T* [(accessed.)-602.4(Figure)-326.7(4)-325(depicts)-330(the)-328.3(data)-322(structures)-324.8(used)-317(to)]TJ T* [(manage)-265.6(the)-253.3(buffer)-269.6(pool.)]TJ 2.15 -1.425 TD [(The)-295.3(in-memory)-294.1(bucket)-297(array)-308.8(contains)-280(pointers)-278.3(to)]TJ -2.15 -1.1 TD [(buffer)-744.6(header)-747.9(structures)-724.8(which)-718.7(represent)-735.4(primary)]TJ T* [(pages.)-573.1(Buffer)-327.6(headers)-333.8(contain)-319.1(modi)]TJ /TT8 1 Tf 14.7432 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-294.3(bits,)-292.7(the)-303.3(page)]TJ -15.2993 -1.1 TD [(address)-438.5(of)-429.5(the)-428.3(buffer,)-444.6(a)-418.6(pointer)-417.5(to)-409.7(the)-415.8(actual)-425.3(buffer,)]TJ T* [(and)-493.7(a)-493.7(pointer)-492.5(to)-484.7(the)-490.8(buffer)-507.1(header)-510.4(for)-496.5(an)-481.2(over)]TJ /TT8 1 Tf 20.1644 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ow)Tj -20.7205 -1.1 TD [(page)-374.8(if)-364.2(it)-356.8(exists,)-359.7(in)-359.7(addition)-360.2(to)-359.7(the)-365.8(LRU)-362.5(links.)-605.2(If)-359(the)]TJ T* [(buffer)-432.1(corresponding)-429.3(to)-409.7(a)-418.7(particular)-431.4(bucket)-422(is)-408(not)-397.2(in)]TJ T* [(memory,)-517.5(its)-505.2(pointer)-517.5(is)-508(NULL.)-521.5(In)-517(effect,)-537.1(pages)-510.6(are)]TJ T* [(linked)-375.5(in)-372.2(three)-389(ways.)-632.3(Using)-373.3(the)-378.3(buffer)-382.1(headers,)-383.8(they)]TJ T* [(are)-416.8(linked)-400.5(physically)-402.2(through)-401.7(the)-390.8(LRU)-387.5(links)-380.2(and)-393.7(the)]TJ T* (over)Tj /TT8 1 Tf 1.7769 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-394.8(links.)-367.7(Using)-373.3(the)-378.3(pages)-385.6(themselves,)-381.6(they)-378.3(are)]TJ -2.333 -1.1 TD [(linked)-288(logically)-288.5(through)-289.2(the)-290.8(over)]TJ /TT8 1 Tf 13.2644 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-282.3(addresses)-293(on)-275(the)]TJ -13.8205 -1.1 TD [(page.)-712.3(Since)-453.3(over)]TJ /TT8 1 Tf 7.3019 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-444.8(pages)-448.1(are)-454.3(accessed)-464.9(only)-434.7(after)]TJ -7.858 -1.1 TD [(their)-467.5(predecessor)-492.8(pages,)-460.6(they)-453.3(are)-466.8(removed)-464(from)-456.2(the)]TJ T* [(buffer)-269.6(pool)-247.2(when)-259(their)-255(primary)-259.5(is)-245.5(removed.)]TJ /T1 1 Tf T* -0.0012 Tc ()Tj ET 0 G 1 J 0 j 0.25 w 10 M []0 d 1 i 288.625 394.875 m 291.625 393 l 291.625 393 m 290.625 394.875 l 290.625 394.875 m 291.625 396.75 l 291.625 396.75 m 288.625 394.875 l 288.625 394.875 m 295.125 394.875 l 98.625 397 m 94.25 397 l 94.25 397 m 94.25 416.5 l 94.25 416.5 m 295.125 416.5 l 295.125 416.5 m 295.125 394.875 l 98.625 405.625 m 95.625 407.5 l 95.625 407.5 m 96.75 405.625 l 96.75 405.625 m 95.625 403.75 l 95.625 403.75 m 98.625 405.625 l 98.625 405.625 m 90 405.625 l 288.625 401.375 m 301.625 401.375 l 301.625 401.375 m 301.625 420.75 l 301.625 420.75 m 90 420.75 l 90 420.75 m 90 405.625 l 115.875 397 m 118.875 395.125 l 118.875 395.125 m 117.75 397 l 117.75 397 m 118.875 398.875 l 118.875 398.875 m 115.875 397 l 115.875 397 m 185 397 l 202.25 394.875 m 203.25 391.5 l 203.25 391.5 m 203.75 393.625 l 203.75 393.625 m 205.75 394.375 l 205.75 394.375 m 202.25 394.875 l 202.25 394.875 m 219.5 379.75 l 236.875 377.625 m 240.375 377.25 l 240.375 377.25 m 238.5 378.375 l 238.5 378.375 m 238.625 380.625 l 238.625 380.625 m 236.875 377.625 l 236.875 377.625 m 271.375 394.875 l 271.375 403.5 m 267.875 403.875 l 267.875 403.875 m 269.75 402.625 l 269.75 402.625 m 269.625 400.5 l 269.625 400.5 m 271.375 403.5 l 271.375 403.5 m 236.875 386.25 l 219.5 388.375 m 218.5 391.75 l 218.5 391.75 m 218.125 389.625 l 218.125 389.625 m 216.125 388.875 l 216.125 388.875 m 219.5 388.375 l 219.5 388.375 m 202.25 403.5 l 185 403.5 m 182 405.375 l 182 405.375 m 183.125 403.5 l 183.125 403.5 m 182 401.625 l 182 401.625 m 185 403.5 l 185 403.5 m 115.875 403.5 l S BT /TT2 1 Tf 5 0 0 5 135.375 407.875 Tm 0 Tc [(LRU)-263.7(chain)]TJ ET q 175.25 310.625 8.625 -8.625 re W* n q 0.96 0 0 9.96 183.12 301.38 cm /Im6 Do Q Q [1 1.5 ]0 d 175.25 310.625 m 183.875 310.625 l 183.875 302 l 175.25 302 l 175.25 310.625 l s BT 5 0 0 5 180.625 323.625 Tm (Over)Tj /TT13 1 Tf 2.1655 0 TD ()Tj /TT2 1 Tf 0.5562 0 TD [(ow)-256.1(Address)]TJ ET 193.625 340.875 m 193.625 332.25 l 219.5 332.25 m 216.625 334.125 l 216.625 334.125 m 217.625 332.25 l 217.625 332.25 m 216.625 330.375 l 216.625 330.375 m 219.5 332.25 l 219.5 332.25 m 193.625 332.25 l S 0.75 w []0 d 219.5 364.625 m 218.75 368.125 l 218.75 368.125 m 218.25 366 l 218.25 366 m 216.125 365.375 l 216.125 365.375 m 219.5 364.625 l 219.5 364.625 m 202.25 381.875 l 280 358.125 m 281.875 361.125 l 281.875 361.125 m 280 360 l 280 360 m 278.125 361.125 l 278.125 361.125 m 280 358.125 l 280 358.125 m 280 375.375 l 228.25 340.875 m 230.125 343.875 l 230.125 343.875 m 228.25 342.75 l 228.25 342.75 m 226.25 343.875 l 226.25 343.875 m 228.25 340.875 l 228.25 340.875 m 228.25 358.125 l 193.625 358.125 m 195.5 361.125 l 195.5 361.125 m 193.625 360 l 193.625 360 m 191.75 361.125 l 191.75 361.125 m 193.625 358.125 l 193.625 358.125 m 193.625 375.375 l 107.25 358.125 m 109.125 361.125 l 109.125 361.125 m 107.25 360 l 107.25 360 m 105.375 361.125 l 105.375 361.125 m 107.25 358.125 l 107.25 358.125 m 107.25 375.375 l 280 410 m 281.875 413 l 281.875 413 m 280 411.875 l 280 411.875 m 278.125 413 l 278.125 413 m 280 410 l 280 410 m 280 427.25 l 193.625 410 m 195.5 413 l 195.5 413 m 193.625 411.875 l 193.625 411.875 m 191.75 413 l 191.75 413 m 193.625 410 l 193.625 410 m 193.625 427.25 l 107.25 410 m 109.125 413 l 109.125 413 m 107.25 411.875 l 107.25 411.875 m 105.375 413 l 105.375 413 m 107.25 410 l 107.25 410 m 107.25 427.25 l S q 271.375 358.125 34.625 -17.25 re W* n q 0.96 0 0 15.36 275.28 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 276.24 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 277.2 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 278.16 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 279.12 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 280.08 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 281.04 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 282 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 282.96 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 283.92 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 284.88 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 285.84 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 286.8 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 287.76 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 288.72 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 289.68 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 290.64 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 291.6 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 292.56 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 293.52 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 294.48 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 295.44 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 296.4 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 297.36 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 298.32 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 299.28 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 300.24 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 301.2 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 302.16 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 303.12 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 304.08 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 305.04 343.26 cm /Im7 Do Q q 0.6 0 0 15.36 306 343.26 cm /Im9 Do Q q 0.96 0 0 3 275.28 340.26 cm /Im8 Do Q q 0.96 0 0 3 276.24 340.26 cm /Im8 Do Q q 0.96 0 0 3 277.2 340.26 cm /Im8 Do Q q 0.96 0 0 3 278.16 340.26 cm /Im8 Do Q q 0.96 0 0 3 279.12 340.26 cm /Im8 Do Q q 0.96 0 0 3 280.08 340.26 cm /Im8 Do Q q 0.96 0 0 3 281.04 340.26 cm /Im8 Do Q q 0.96 0 0 3 282 340.26 cm /Im8 Do Q q 0.96 0 0 3 282.96 340.26 cm /Im8 Do Q q 0.96 0 0 3 283.92 340.26 cm /Im8 Do Q q 0.96 0 0 3 284.88 340.26 cm /Im8 Do Q q 0.96 0 0 3 285.84 340.26 cm /Im8 Do Q q 0.96 0 0 3 286.8 340.26 cm /Im8 Do Q q 0.96 0 0 3 287.76 340.26 cm /Im8 Do Q q 0.96 0 0 3 288.72 340.26 cm /Im8 Do Q q 0.96 0 0 3 289.68 340.26 cm /Im8 Do Q q 0.96 0 0 3 290.64 340.26 cm /Im8 Do Q q 0.96 0 0 3 291.6 340.26 cm /Im8 Do Q q 0.96 0 0 3 292.56 340.26 cm /Im8 Do Q q 0.96 0 0 3 293.52 340.26 cm /Im8 Do Q q 0.96 0 0 3 294.48 340.26 cm /Im8 Do Q q 0.96 0 0 3 295.44 340.26 cm /Im8 Do Q q 0.96 0 0 3 296.4 340.26 cm /Im8 Do Q q 0.96 0 0 3 297.36 340.26 cm /Im8 Do Q q 0.96 0 0 3 298.32 340.26 cm /Im8 Do Q q 0.96 0 0 3 299.28 340.26 cm /Im8 Do Q q 0.96 0 0 3 300.24 340.26 cm /Im8 Do Q q 0.96 0 0 3 301.2 340.26 cm /Im8 Do Q q 0.96 0 0 3 302.16 340.26 cm /Im8 Do Q q 0.96 0 0 3 303.12 340.26 cm /Im8 Do Q q 0.96 0 0 3 304.08 340.26 cm /Im8 Do Q q 0.96 0 0 3 305.04 340.26 cm /Im8 Do Q q 0.6 0 0 3 306 340.26 cm /Im11 Do Q Q 0.25 w 271.375 358.125 34.625 -17.25 re S q 219.5 340.875 34.625 -17.25 re W* n q 0.96 0 0 15.36 229.2 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 230.16 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 231.12 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 232.08 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 233.04 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 234 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 234.96 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 235.92 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 236.88 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 237.84 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 238.8 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 239.76 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 240.72 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 241.68 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 242.64 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 243.6 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 244.56 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 245.52 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 246.48 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 247.44 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 248.4 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 249.36 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 250.32 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 251.28 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 252.24 325.98 cm /Im1 Do Q q 0.96 0 0 15.36 253.2 325.98 cm /Im1 Do Q q 0.96 0 0 3 229.2 322.98 cm /Im10 Do Q q 0.96 0 0 3 230.16 322.98 cm /Im10 Do Q q 0.96 0 0 3 231.12 322.98 cm /Im10 Do Q q 0.96 0 0 3 232.08 322.98 cm /Im10 Do Q q 0.96 0 0 3 233.04 322.98 cm /Im10 Do Q q 0.96 0 0 3 234 322.98 cm /Im10 Do Q q 0.96 0 0 3 234.96 322.98 cm /Im10 Do Q q 0.96 0 0 3 235.92 322.98 cm /Im10 Do Q q 0.96 0 0 3 236.88 322.98 cm /Im10 Do Q q 0.96 0 0 3 237.84 322.98 cm /Im10 Do Q q 0.96 0 0 3 238.8 322.98 cm /Im10 Do Q q 0.96 0 0 3 239.76 322.98 cm /Im10 Do Q q 0.96 0 0 3 240.72 322.98 cm /Im10 Do Q q 0.96 0 0 3 241.68 322.98 cm /Im10 Do Q q 0.96 0 0 3 242.64 322.98 cm /Im10 Do Q q 0.96 0 0 3 243.6 322.98 cm /Im10 Do Q q 0.96 0 0 3 244.56 322.98 cm /Im10 Do Q q 0.96 0 0 3 245.52 322.98 cm /Im10 Do Q q 0.96 0 0 3 246.48 322.98 cm /Im10 Do Q q 0.96 0 0 3 247.44 322.98 cm /Im10 Do Q q 0.96 0 0 3 248.4 322.98 cm /Im10 Do Q q 0.96 0 0 3 249.36 322.98 cm /Im10 Do Q q 0.96 0 0 3 250.32 322.98 cm /Im10 Do Q q 0.96 0 0 3 251.28 322.98 cm /Im10 Do Q q 0.96 0 0 3 252.24 322.98 cm /Im10 Do Q q 0.96 0 0 3 253.2 322.98 cm /Im10 Do Q Q 219.5 340.875 34.625 -17.25 re S q 185 358.125 34.5 -17.25 re W* n q 0.96 0 0 15.36 198.48 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 199.44 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 200.4 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 201.36 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 202.32 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 203.28 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 204.24 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 205.2 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 206.16 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 207.12 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 208.08 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 209.04 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 210 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 210.96 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 211.92 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 212.88 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 213.84 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 214.8 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 215.76 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 216.72 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 217.68 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 218.64 343.26 cm /Im7 Do Q q 0.96 0 0 3 198.48 340.26 cm /Im8 Do Q q 0.96 0 0 3 199.44 340.26 cm /Im8 Do Q q 0.96 0 0 3 200.4 340.26 cm /Im8 Do Q q 0.96 0 0 3 201.36 340.26 cm /Im8 Do Q q 0.96 0 0 3 202.32 340.26 cm /Im8 Do Q q 0.96 0 0 3 203.28 340.26 cm /Im8 Do Q q 0.96 0 0 3 204.24 340.26 cm /Im8 Do Q q 0.96 0 0 3 205.2 340.26 cm /Im8 Do Q q 0.96 0 0 3 206.16 340.26 cm /Im8 Do Q q 0.96 0 0 3 207.12 340.26 cm /Im8 Do Q q 0.96 0 0 3 208.08 340.26 cm /Im8 Do Q q 0.96 0 0 3 209.04 340.26 cm /Im8 Do Q q 0.96 0 0 3 210 340.26 cm /Im8 Do Q q 0.96 0 0 3 210.96 340.26 cm /Im8 Do Q q 0.96 0 0 3 211.92 340.26 cm /Im8 Do Q q 0.96 0 0 3 212.88 340.26 cm /Im8 Do Q q 0.96 0 0 3 213.84 340.26 cm /Im8 Do Q q 0.96 0 0 3 214.8 340.26 cm /Im8 Do Q q 0.96 0 0 3 215.76 340.26 cm /Im8 Do Q q 0.96 0 0 3 216.72 340.26 cm /Im8 Do Q q 0.96 0 0 3 217.68 340.26 cm /Im8 Do Q q 0.96 0 0 3 218.64 340.26 cm /Im8 Do Q Q 185 358.125 34.5 -17.25 re S q 98.625 358.125 34.5 -17.25 re W* n q 0.96 0 0 15.36 106.32 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 107.28 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 108.24 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 109.2 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 110.16 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 111.12 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 112.08 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 113.04 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 114 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 114.96 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 115.92 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 116.88 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 117.84 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 118.8 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 119.76 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 120.72 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 121.68 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 122.64 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 123.6 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 124.56 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 125.52 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 126.48 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 127.44 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 128.4 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 129.36 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 130.32 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 131.28 343.26 cm /Im7 Do Q q 0.96 0 0 15.36 132.24 343.26 cm /Im7 Do Q q 0.96 0 0 3 106.32 340.26 cm /Im8 Do Q q 0.96 0 0 3 107.28 340.26 cm /Im8 Do Q q 0.96 0 0 3 108.24 340.26 cm /Im8 Do Q q 0.96 0 0 3 109.2 340.26 cm /Im8 Do Q q 0.96 0 0 3 110.16 340.26 cm /Im8 Do Q q 0.96 0 0 3 111.12 340.26 cm /Im8 Do Q q 0.96 0 0 3 112.08 340.26 cm /Im8 Do Q q 0.96 0 0 3 113.04 340.26 cm /Im8 Do Q q 0.96 0 0 3 114 340.26 cm /Im8 Do Q q 0.96 0 0 3 114.96 340.26 cm /Im8 Do Q q 0.96 0 0 3 115.92 340.26 cm /Im8 Do Q q 0.96 0 0 3 116.88 340.26 cm /Im8 Do Q q 0.96 0 0 3 117.84 340.26 cm /Im8 Do Q q 0.96 0 0 3 118.8 340.26 cm /Im8 Do Q q 0.96 0 0 3 119.76 340.26 cm /Im8 Do Q q 0.96 0 0 3 120.72 340.26 cm /Im8 Do Q q 0.96 0 0 3 121.68 340.26 cm /Im8 Do Q q 0.96 0 0 3 122.64 340.26 cm /Im8 Do Q q 0.96 0 0 3 123.6 340.26 cm /Im8 Do Q q 0.96 0 0 3 124.56 340.26 cm /Im8 Do Q q 0.96 0 0 3 125.52 340.26 cm /Im8 Do Q q 0.96 0 0 3 126.48 340.26 cm /Im8 Do Q q 0.96 0 0 3 127.44 340.26 cm /Im8 Do Q q 0.96 0 0 3 128.4 340.26 cm /Im8 Do Q q 0.96 0 0 3 129.36 340.26 cm /Im8 Do Q q 0.96 0 0 3 130.32 340.26 cm /Im8 Do Q q 0.96 0 0 3 131.28 340.26 cm /Im8 Do Q q 0.96 0 0 3 132.24 340.26 cm /Im8 Do Q Q 98.625 358.125 34.5 -17.25 re S BT 5 0 0 5 120.25 304.125 Tm [(Buffer)-248.1(Header)]TJ ET q 106.125 310.625 8.625 -8.625 re W* n q 0.96 0 0 9.96 106.32 301.38 cm /Im12 Do Q q 0.96 0 0 9.96 107.28 301.38 cm /Im12 Do Q q 0.96 0 0 9.96 108.24 301.38 cm /Im12 Do Q q 0.96 0 0 9.96 109.2 301.38 cm /Im12 Do Q q 0.96 0 0 9.96 110.16 301.38 cm /Im12 Do Q q 0.96 0 0 9.96 111.12 301.38 cm /Im12 Do Q q 0.96 0 0 9.96 112.08 301.38 cm /Im12 Do Q q 0.96 0 0 9.96 113.04 301.38 cm /Im12 Do Q q 0.96 0 0 9.96 114 301.38 cm /Im12 Do Q Q 106.125 310.625 8.625 -8.625 re S q 219.5 392.75 17.375 -34.625 re W* n q 0.96 0 0 15.36 229.2 377.82 cm /Im14 Do Q q 0.96 0 0 15.36 230.16 377.82 cm /Im14 Do Q q 0.96 0 0 15.36 231.12 377.82 cm /Im14 Do Q q 0.96 0 0 15.36 232.08 377.82 cm /Im14 Do Q q 0.96 0 0 15.36 233.04 377.82 cm /Im14 Do Q q 0.96 0 0 15.36 234 377.82 cm /Im14 Do Q q 0.96 0 0 15.36 234.96 377.82 cm /Im14 Do Q q 0.96 0 0 15.36 235.92 377.82 cm /Im14 Do Q q 0.96 0 0 15.36 229.2 362.46 cm /Im14 Do Q q 0.96 0 0 15.36 230.16 362.46 cm /Im14 Do Q q 0.96 0 0 15.36 231.12 362.46 cm /Im14 Do Q q 0.96 0 0 15.36 232.08 362.46 cm /Im14 Do Q q 0.96 0 0 15.36 233.04 362.46 cm /Im14 Do Q q 0.96 0 0 15.36 234 362.46 cm /Im14 Do Q q 0.96 0 0 15.36 234.96 362.46 cm /Im14 Do Q q 0.96 0 0 15.36 235.92 362.46 cm /Im14 Do Q q 0.96 0 0 5.04 229.2 357.42 cm /Im15 Do Q q 0.96 0 0 5.04 230.16 357.42 cm /Im15 Do Q q 0.96 0 0 5.04 231.12 357.42 cm /Im15 Do Q q 0.96 0 0 5.04 232.08 357.42 cm /Im15 Do Q q 0.96 0 0 5.04 233.04 357.42 cm /Im15 Do Q q 0.96 0 0 5.04 234 357.42 cm /Im15 Do Q q 0.96 0 0 5.04 234.96 357.42 cm /Im15 Do Q q 0.96 0 0 5.04 235.92 357.42 cm /Im15 Do Q Q 219.5 392.75 17.375 -34.625 re S q 271.375 410 17.25 -34.625 re W* n q 0.96 0 0 15.36 275.28 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 276.24 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 277.2 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 278.16 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 279.12 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 280.08 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 281.04 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 282 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 282.96 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 283.92 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 284.88 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 285.84 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 286.8 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 287.76 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 275.28 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 276.24 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 277.2 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 278.16 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 279.12 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 280.08 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 281.04 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 282 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 282.96 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 283.92 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 284.88 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 285.84 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 286.8 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 287.76 378.78 cm /Im14 Do Q q 0.96 0 0 4.08 275.28 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 276.24 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 277.2 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 278.16 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 279.12 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 280.08 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 281.04 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 282 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 282.96 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 283.92 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 284.88 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 285.84 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 286.8 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 287.76 374.7 cm /Im13 Do Q Q 271.375 410 17.25 -34.625 re S q 185 410 m 202.25 410 l 202.25 375.375 l 185 375.375 l 185 410 l W* n q 0.96 0 0 15.36 198.48 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 199.44 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 200.4 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 201.36 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 198.48 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 199.44 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 200.4 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 201.36 378.78 cm /Im14 Do Q q 0.96 0 0 4.08 198.48 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 199.44 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 200.4 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 201.36 374.7 cm /Im13 Do Q Q 185 410 17.25 -34.625 re S q 98.625 410 m 115.875 410 l 115.875 375.375 l 98.625 375.375 l 98.625 410 l W* n q 0.96 0 0 15.36 106.32 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 107.28 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 108.24 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 109.2 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 110.16 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 111.12 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 112.08 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 113.04 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 114 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 114.96 394.14 cm /Im14 Do Q q 0.96 0 0 15.36 106.32 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 107.28 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 108.24 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 109.2 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 110.16 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 111.12 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 112.08 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 113.04 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 114 378.78 cm /Im14 Do Q q 0.96 0 0 15.36 114.96 378.78 cm /Im14 Do Q q 0.96 0 0 4.08 106.32 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 107.28 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 108.24 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 109.2 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 110.16 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 111.12 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 112.08 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 113.04 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 114 374.7 cm /Im13 Do Q q 0.96 0 0 4.08 114.96 374.7 cm /Im13 Do Q Q 98.625 410 17.25 -34.625 re 98.625 444.5 m 98.625 427.25 l 98.625 427.25 m 115.875 427.25 l 115.875 427.25 m 115.875 444.5 l 115.875 444.5 m 98.625 444.5 l 115.875 444.5 m 115.875 427.25 l 115.875 427.25 m 133.125 427.25 l 133.125 427.25 m 133.125 444.5 l 133.125 444.5 m 115.875 444.5 l 133.125 444.5 m 133.125 427.25 l 133.125 427.25 m 150.375 427.25 l 150.375 427.25 m 150.375 444.5 l 150.375 444.5 m 133.125 444.5 l 150.375 444.5 m 150.375 427.25 l 150.375 427.25 m 167.75 427.25 l 167.75 427.25 m 167.75 444.5 l 167.75 444.5 m 150.375 444.5 l 167.75 444.5 m 167.75 427.25 l 167.75 427.25 m 185 427.25 l 185 427.25 m 185 444.5 l 185 444.5 m 167.75 444.5 l 185 444.5 m 185 427.25 l 185 427.25 m 202.25 427.25 l 202.25 427.25 m 202.25 444.5 l 202.25 444.5 m 185 444.5 l 202.25 444.5 m 202.25 427.25 l 202.25 427.25 m 219.5 427.25 l 219.5 427.25 m 219.5 444.5 l 219.5 444.5 m 202.25 444.5 l 219.5 444.5 m 219.5 427.25 l 219.5 427.25 m 236.875 427.25 l 236.875 427.25 m 236.875 444.5 l 236.875 444.5 m 219.5 444.5 l 236.875 444.5 m 236.875 427.25 l 236.875 427.25 m 254.125 427.25 l 254.125 427.25 m 254.125 444.5 l 254.125 444.5 m 236.875 444.5 l 254.125 444.5 m 254.125 427.25 l 254.125 427.25 m 271.375 427.25 l 271.375 427.25 m 271.375 444.5 l 271.375 444.5 m 254.125 444.5 l 271.375 444.5 m 271.375 427.25 l 271.375 427.25 m 288.625 427.25 l 288.625 427.25 m 288.625 444.5 l 288.625 444.5 m 271.375 444.5 l 288.625 444.5 m 288.625 427.25 l 288.625 427.25 m 306 427.25 l 306 427.25 m 306 444.5 l 306 444.5 m 288.625 444.5 l S BT 13 0 0 13 131 452 Tm [(In)-256.6(Memory)-248.9(Bucket)-250(Array)]TJ -1.7404 -8.3077 TD [(B0)-5477.2(B5)-5227.2(B10)]TJ 8.8558 -1.3269 TD (O1/1)Tj 5 0 0 5 189.375 304.125 Tm [(Primay)-234.5(Buffer)]TJ ET [1 1.5 ]0 d 248.75 310.625 m 257.375 310.625 l 257.375 302 l 248.75 302 l 248.75 310.625 l s BT 5 0 0 5 262.75 304.125 Tm (Over)Tj /TT13 1 Tf 2.1655 0 TD ()Tj /TT2 1 Tf 0.5562 0 TD [(ow)-256.2(Buffer)]TJ 8 0 0 8 90 269 Tm [(Figure)-323.7(4:)]TJ /TT6 1 Tf 4.3125 0 TD [(Three)-293.5(primary)-303.2(pages)-301.3(\(B0,)-312.5(B5,)-317.4(B10\))-312.5(are)-294.9(accessed)-283.7(directly)]TJ -4.3125 -1.375 TD [(from)-274.9(the)-278.3(bucket)-272(array.)-508.8(The)-273.4(one)-274.9(over)]TJ /TT8 1 Tf 14.7925 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-273(page)-252.9(\(O1/1\))-255.9(is)-270.5(linked)-266.1(phy-)]TJ -15.3486 -1.375 TD [(sically)-436.5(from)-431.2(its)-430.2(primary)-412.6(pages)-405.8(buffer)-400.9(header)-397.9(as)-417(well)-418.9(as)-417(logically)]TJ T* [(from)-243.7(its)-258.3(predecessor)-217.8(page)-237.3(buffer)-229(\(B5\).)]TJ /T1 1 Tf 10 0 0 10 90 214 Tm -0.0012 Tc ()Tj /TT2 1 Tf 5.8875 -4.125 TD 0 Tc [(Table)-242.7(Parameterization)]TJ /TT6 1 Tf -3.7375 -1.65 TD [(When)-299.8(a)-293.7(hash)-292(table)-294.1(is)-270.5(created,)-301.3(the)-278.3(bucket)-284.5(size,)]TJ /TT8 1 Tf 18.7 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ll)Tj -21.4062 -1.1 TD [(factor,)-331(initial)-304.5(number)-320.3(of)-317(elements,)-320.8(number)-307.8(of)-304.5(bytes)-301.7(of)]TJ T* [(main)-488(memory)-492.5(used)-492(for)-484(caching,)-490.6(and)-481.2(a)-481.2(user-de)]TJ /TT8 1 Tf 19.9304 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ned)Tj -20.4865 -1.1 TD [(hash)-317(function)-317.5(may)-315.8(be)-318.7(speci)]TJ /TT8 1 Tf 11.1547 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed.)-557.8(The)-307.8(bucket)-309.5(size)-307.8(\(and)]TJ -11.7108 -1.1 TD [(page)-437.3(size)-420.3(for)-421.5(over)]TJ /TT8 1 Tf 7.6644 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ow)-419.8(pages\))-427.6(defaults)-422(to)-409.7(256)-412.5(bytes.)]TJ -8.2205 -1.1 TD [(For)-335.8(tables)-342.5(with)-334.7(large)-351.5(data)-347(items,)-333.5(it)-331.8(may)-340.8(be)-343.6(preferable)]TJ T* [(to)-259.7(increase)-287.1(the)-265.8(page)-274.8(size,)-257.8(and,)-256.2(conversely,)-268.5(applications)]TJ T* [(storing)-747.2(small)-746(items)-733.5(exclusively)-745.8(in)-734.7(memory)-742.5(may)]TJ 24.825 64.55 TD (bene)Tj /TT8 1 Tf 1.8877 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(t)-528.3(from)-531.2(a)-531.2(smaller)-531.6(bucket)-534.5(size.)-782.8(A)-515.3(bucket)-522(size)]TJ -2.4438 -1.1 TD [(smaller)-256.6(than)-253.3(64)-250(bytes)-251.7(is)-245.5(not)-247.2(recommended.)]TJ 2.15 -1.425 TD (The)Tj /TT8 1 Tf 1.9125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-338.2(factor)-368.5(indicates)-358.3(a)-356.2(desired)-362.3(density)-336.3(within)]TJ -4.6187 -1.1 TD [(the)-365.8(hash)-367(table.)-619.1(It)-364.2(is)-358(an)-368.7(approximation)-368(of)-367(the)-353.3(number)]TJ T* [(of)-529.5(keys)-529.5(allowed)-534.5(to)-522.2(accumulate)-534.8(in)-509.7(any)-518.7(one)-518.7(bucket,)]TJ T* [(determining)-330.5(when)-334(the)-315.8(hash)-317(table)-319.1(grows.)-568.2(Its)-312.5(default)-323.6(is)]TJ T* [(eight.)-838(If)-596.5(the)-590.8(user)-596.5(knows)-588.7(the)-590.8(average)-616.6(size)-595.3(of)-579.5(the)]TJ T* [(key/data)-387.8(pairs)-381.2(being)-378.3(stored)-368.7(in)-359.7(the)-365.8(table,)-369.1(near)-379.3(optimal)]TJ T* [(bucket)-297(sizes)-293.7(and)]TJ /TT8 1 Tf 6.9375 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-275.7(factors)-304.3(may)-290.8(be)-293.7(selected)-292.3(by)-275(apply-)]TJ -7.4936 -1.1 TD [(ing)-247.2(the)-253.3(equation:)]TJ /TT11 1 Tf 8 0 0 8 338.25 585.125 Tm -0.0062 Tc [(\()-6.2(1)-6.2(\))-2705.9(\(\(average_pair_length)-589.7(+)-593.6(4)-6.2(\))-587.3(*)]TJ 5.0937 -1.375 TD 0 Tc [(ffactor\))-543(>=)-581.1(bsize)]TJ /TT6 1 Tf 10 0 0 10 338.25 536.75 Tm [(For)-523.3(highly)-506.8(time)-510.2(critical)-524.1(applications,)-518(experimenting)]TJ 0 -1.1 TD [(with)-884.7(different)-895.1(bucket)-884.5(sizes)-881.2(and)]TJ /TT8 1 Tf 15.7 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-863.2(factors)-891.8(is)]TJ -16.2561 -1.1 TD (encouraged.)Tj 2.15 -1.425 TD [(Figures)-325(5a,b,)-331.2(and)-331.2(c)-331.2(illustrate)-326(the)-328.3(effects)-335.4(of)-317(vary-)]TJ -2.15 -1.1 TD [(ing)-409.7(page)-424.8(sizes)-418.7(and)]TJ /TT8 1 Tf 8.2125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-388.2(factors)-416.8(for)-409(the)-403.3(same)-407.8(data)-409.5(set.)]TJ -8.7687 -1.1 TD [(The)-420.3(data)-422(set)-401.7(consisted)-403.3(of)-404.5(24474)-400(keys)-404.5(taken)-409.5(from)-406.2(an)]TJ T* [(online)-313(dictionary.)-320.8(The)-320.3(data)-309.5(value)-309.5(for)-309(each)-318.5(key)-306.2(was)-307.3(an)]TJ T* [(ASCII)-288.7(string)-284.7(for)-296.5(an)-293.7(integer)-298.6(from)-293.7(1)-287.5(t)0(o)-272.2(24474)-275(inclusive.)]TJ T* [(The)-457.8(test)-436.3(run)-442(consisted)-440.8(of)-442(creating)-454.8(a)-443.7(new)-446.5(hash)-442(table)]TJ T* [(\(where)-474.1(the)-453.3(ultimate)-448.1(size)-457.8(of)-454.5(the)-453.3(table)-444.1(was)-444.8(known)-440.3(in)]TJ T* [(advance\),)-491.6(entering)-473.6(each)-481(key/data)-475.3(pair)-470.3(into)-456.8(the)-465.8(table)]TJ T* [(and)-343.7(then)-340.8(retrieving)-350.3(each)-356(key/data)-350.3(pair)-345.3(from)-343.7(the)-328.3(table.)]TJ T* [(Each)-401.5(of)-392(the)-390.8(graphs)-384(shows)-374.5(the)-378.3(timings)-362(resulting)-375.5(from)]TJ T* [(varying)-282.8(the)-278.3(pagesize)-295.1(from)-281.2(128)-275(bytes)-276.7(to)-259.7(1M)-260.8(and)-268.7(the)]TJ /TT8 1 Tf 20.85 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ll)Tj -21.4062 -1.1 TD [(factor)-456(from)-443.6(1)-437.5(t)0(o)-434.7(128.)-675(For)-423.3(each)-443.5(run,)-429.5(the)-428.3(buffer)-444.6(size)]TJ T* [(was)-544.8(set)-539.2(at)-528.3(1M.)-773.3(The)-532.8(tests)-522.2(were)-544.6(all)-525.5(run)-529.5(on)-525(an)-531.2(HP)]TJ T* [(9000/370)-859.7(\(33.3)-854.5(Mhz)-854.5(MC68030\),)-848.3(with)-847.2(16M)-848.3(of)]TJ T* [(memory,)-617.5(64K)-602.8(physically)-602.1(addressed)-619.6(cache,)-624.6(and)-606.2(an)]TJ T* [(HP7959S)-528(disk)-533(drive,)-545.3(running)-539.2(4.3BSD-Reno)-523.3(single-)]TJ T* (user.)Tj 2.15 -1.425 TD [(Both)-405.2(system)-409.7(time)-410.2(\(Figure)-406.2(5a\))-410.6(and)-406.2(elapsed)-414(time)]TJ -2.15 -1.1 TD [(\(Figure)-306.2(5b\))-304.5(show)-301.2(that)-300.5(for)-309(all)-288(bucket)-297(sizes,)-293.6(the)-290.8(greatest)]TJ T* [(performance)-335.3(gains)-289.2(are)-304.3(made)-297(by)-287.5(increasing)-303.1(the)]TJ /TT8 1 Tf 18.9875 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-275.7(fac-)]TJ -19.5437 -1.1 TD [(tor)-339.2(until)-329(equation)-344.1(1)-337.5(i)0(s)-333(satis)]TJ /TT8 1 Tf 11.0153 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed.)-584.7(The)-332.8(user)-334(time)-322.7(shown)]TJ -11.5715 -1.1 TD [(in)-284.7(Figure)-289.2(5c)-293.7(gives)-289.2(a)-293.7(more)-295.3(detailed)-297.5(picture)-286.1(of)-279.5(how)-277.8(per-)]TJ T* [(formance)-574.6(varies.)-812.3(The)-557.8(smaller)-544.1(bucket)-547(sizes)-543.7(require)]TJ T* [(fewer)-411.6(keys)-392(per)-398.1(page)-399.8(to)-384.7(satisfy)-389.2(equation)-394.1(1)-387.5(and)-393.7(there-)]TJ T* [(fore)-315.1(incur)-307.8(fewer)-324.1(collisions.)-291.5(However,)-322.5(when)-309(the)-290.8(buffer)]TJ T* [(pool)-447.2(size)-457.8(is)]TJ /TT8 1 Tf 5.35 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(xed,)-437.5(smaller)-444.1(pages)-448.1(imply)-429(more)-445.3(pages.)]TJ -5.9062 -1.1 TD [(An)-327.8(increased)-349.6(number)-320.3(of)-317(pages)-323.1(means)-320.3(more)]TJ /TT4 1 Tf 18.05 0 TD (malloc\(3\))Tj /TT6 1 Tf -18.05 -1.1 TD [(calls)-330(and)-331.2(more)-332.8(overhead)-347.9(in)-322.2(the)-328.3(hash)-329.5(packages)-339.9(buffer)]TJ T* [(manager)-270.1(to)-247.2(manage)-265.6(the)-253.3(additional)-251(pages.)]TJ 2.15 -1.425 TD [(The)-320.3(tradeoff)-335.4(works)-318.2(out)-297.2(most)-292.7(favorably)-318.5(when)-309(the)]TJ -2.15 -1.1 TD [(page)-362.3(size)-357.8(is)-345.5(256)-350(and)-356.2(the)]TJ /TT8 1 Tf 10.4 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-338.2(factor)-368.5(is)-333(8.)-587.5(Similar)-330.7(con-)]TJ -10.9562 -1.1 TD [(clusions)-509.7(were)-532.1(obtained)-519.1(if)-514.2(the)-515.8(test)-511.3(was)-519.8(run)-504.5(without)]TJ T* [(knowing)-262.5(the)]TJ /TT8 1 Tf 5.25 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(nal)-259.7(table)-269.1(size)-270.3(in)-259.7(advance.)-537.1(If)-271.5(the)]TJ /TT8 1 Tf 13.0438 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-259.7(was)]TJ -19.4062 -1.1 TD [(closed)-395.3(and)-381.2(written)-380(to)-372.2(disk,)-370.5(the)-378.3(conclusions)-378.3(were)-394.6(still)]TJ T* [(the)-353.3(same.)-607.8(However,)-372.5(rereading)-374.6(the)]TJ /TT8 1 Tf 14.4875 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-334.7(from)-343.7(disk)-333(was)]TJ -15.0437 -1.1 TD [(slightly)-462(faster)-479.3(if)-464.2(a)-468.7(larger)-481(bucket)-472(size)-470.3(and)]TJ /TT8 1 Tf 18.0375 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-450.7(factor)]TJ -18.5937 -1.1 TD [(were)-457.1(used)-429.5(\(1K)-432.3(bucket)-434.5(size)-432.8(and)-431.2(32)]TJ /TT8 1 Tf 15.0375 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-413.2(factor\).)-697.9(This)]TJ -15.5937 -1.1 TD [(follows)-512.5(intuitively)-501.7(from)-518.7(the)-503.3(improved)-505(ef)]TJ /TT8 1 Tf 17.4269 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ciency)-520.1(of)]TJ /TT2 1 Tf -42.808 -4 TD (USENIX)Tj /TT7 1 Tf 4.025 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)-31223.3(7)]TJ ET endstream endobj 39 0 obj << /ProcSet [/PDF /Text /ImageB ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /TT11 15 0 R /TT13 27 0 R /T1 20 0 R >> /XObject << /Im1 32 0 R /Im6 40 0 R /Im7 41 0 R /Im8 42 0 R /Im9 43 0 R /Im10 44 0 R /Im11 45 0 R /Im12 46 0 R /Im13 47 0 R /Im14 48 0 R /Im15 49 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 51 0 obj << /Length 34477 >> stream BT /TT2 1 Tf 10 0 0 10 54 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)-25569.3(Seltzer)-270.1(&)-254.5(Yigit)]TJ /TT6 1 Tf 0 -3.5 TD [(performing)-476.5(1K)-465.3(reads)-477.6(from)-468.7(the)-465.8(disk)-458(rather)-468.5(than)-453.3(256)]TJ 0 -1.1 TD [(byte)-490.8(reads.)-740.1(In)-479.5(general,)-495.1(performance)-510.3(for)-484(disk)-470.5(based)]TJ T* [(tables)-255(is)-245.5(best)-251.7(when)-259(the)-253.3(page)-262.3(size)-257.8(is)-245.5(approximately)-261.6(1K.)]TJ /T1 1 Tf T* -0.0012 Tc ()Tj ET 0 G 1 J 0 j 0.25 w 10 M []0 d 1 i 77.375 494.5 m 75.875 491.5 l 75.875 491.5 m 78.875 491.5 l 78.875 491.5 m 77.375 494.5 l 78.625 487.375 m 77.125 484.375 l 77.125 484.375 m 80.125 484.375 l 80.125 484.375 m 78.625 487.375 l 81 479 m 79.5 475.875 l 79.5 475.875 m 82.5 475.875 l 82.5 475.875 m 81 479 l 85.75 477.625 m 84.25 474.625 l 84.25 474.625 m 87.25 474.625 l 87.25 474.625 m 85.75 477.625 l 95.25 477.5 m 93.75 474.5 l 93.75 474.5 m 96.875 474.5 l 96.875 474.5 m 95.25 477.5 l 114.5 477.625 m 112.875 474.625 l 112.875 474.625 m 116 474.625 l 116 474.625 m 114.5 477.625 l 152.75 477.5 m 151.25 474.5 l 151.25 474.5 m 154.25 474.5 l 154.25 474.5 m 152.75 477.5 l 229.25 477.625 m 227.75 474.625 l 227.75 474.625 m 230.75 474.625 l 230.75 474.625 m 229.25 477.625 l 77.375 493 m 78.625 485.875 l 78.625 485.875 m 81 477.5 l 81 477.5 m 85.75 476.125 l 85.75 476.125 m 95.25 476 l 95.25 476 m 114.5 476.125 l 114.5 476.125 m 152.75 476 l 152.75 476 m 229.25 476.125 l S BT /TT6 1 Tf 8 0 0 8 203.5 476.75 Tm 0 Tc (128)Tj ET 0.75 w 75.875 511.375 m 75.875 511.375 l 75.875 512.203 76.547 512.875 77.375 512.875 c 78.203 512.875 78.875 512.203 78.875 511.375 c 78.875 510.547 78.203 509.875 77.375 509.875 c 76.547 509.875 75.875 510.547 75.875 511.375 c 77.125 495.125 m 77.125 495.125 l 77.125 495.918 77.769 496.562 78.562 496.562 c 79.356 496.562 80 495.918 80 495.125 c 80 494.331 79.356 493.687 78.562 493.687 c 77.769 493.687 77.125 494.331 77.125 495.125 c 79.375 486.75 m 79.375 486.75 l 79.375 487.578 80.047 488.25 80.875 488.25 c 81.703 488.25 82.375 487.578 82.375 486.75 c 82.375 485.922 81.703 485.25 80.875 485.25 c 80.047 485.25 79.375 485.922 79.375 486.75 c 84.25 476.375 m 84.25 476.375 l 84.25 477.168 84.894 477.812 85.687 477.812 c 86.481 477.812 87.125 477.168 87.125 476.375 c 87.125 475.581 86.481 474.937 85.687 474.937 c 84.894 474.937 84.25 475.581 84.25 476.375 c 93.75 475.875 m 93.75 475.875 l 93.75 476.703 94.422 477.375 95.25 477.375 c 96.078 477.375 96.75 476.703 96.75 475.875 c 96.75 475.047 96.078 474.375 95.25 474.375 c 94.422 474.375 93.75 475.047 93.75 475.875 c 113 476.125 m 113 476.125 l 113 476.918 113.644 477.562 114.437 477.562 c 115.231 477.562 115.875 476.918 115.875 476.125 c 115.875 475.331 115.231 474.687 114.437 474.687 c 113.644 474.687 113 475.331 113 476.125 c 151.25 476.125 m 151.25 476.125 l 151.25 476.918 151.894 477.562 152.687 477.562 c 153.481 477.562 154.125 476.918 154.125 476.125 c 154.125 475.331 153.481 474.687 152.687 474.687 c 151.894 474.687 151.25 475.331 151.25 476.125 c 227.75 476 m 227.75 476 l 227.75 476.793 228.394 477.437 229.187 477.437 c 229.981 477.437 230.625 476.793 230.625 476 c 230.625 475.206 229.981 474.562 229.187 474.562 c 228.394 474.562 227.75 475.206 227.75 476 c S 0.25 w [4 1.5 1 1.5 ]0 d 77.375 511.375 m 78.625 495.125 l 78.625 495.125 m 81 486.75 l 81 486.75 m 85.75 476.375 l 85.75 476.375 m 95.25 475.875 l 95.25 475.875 m 114.5 476.125 l 114.5 476.125 m 152.75 476.125 l 152.75 476.125 m 229.25 476 l S BT 8 0 0 8 84.75 481.75 Tm (256)Tj ET 0.75 w []0 d 77.375 526.125 m 77.375 523.125 l 77.375 523.125 m 77.375 524.625 l 77.375 524.625 m 78.875 524.625 l 78.875 524.625 m 75.875 524.625 l 78.625 518.125 m 78.625 515 l 78.625 515 m 78.625 516.5 l 78.625 516.5 m 80.125 516.5 l 80.125 516.5 m 77.125 516.5 l 81 500.25 m 81 497.25 l 81 497.25 m 81 498.75 l 81 498.75 m 82.5 498.75 l 82.5 498.75 m 79.5 498.75 l 85.75 490.875 m 85.75 487.75 l 85.75 487.75 m 85.75 489.375 l 85.75 489.375 m 87.25 489.375 l 87.25 489.375 m 84.25 489.375 l 95.25 477.5 m 95.25 474.375 l 95.25 474.375 m 95.25 475.875 l 95.25 475.875 m 96.875 475.875 l 96.875 475.875 m 93.75 475.875 l 114.5 477.5 m 114.5 474.5 l 114.5 474.5 m 114.5 476 l 114.5 476 m 116 476 l 116 476 m 112.875 476 l 152.75 477.625 m 152.75 474.625 l 152.75 474.625 m 152.75 476.125 l 152.75 476.125 m 154.25 476.125 l 154.25 476.125 m 151.25 476.125 l 229.25 477.625 m 229.25 474.625 l 229.25 474.625 m 229.25 476.125 l 229.25 476.125 m 230.75 476.125 l 230.75 476.125 m 227.75 476.125 l S 1.25 w 77.375 524.625 m 78.625 516.5 l 78.625 516.5 m 81 498.75 l 81 498.75 m 85.75 489.375 l 85.75 489.375 m 95.25 475.875 l 95.25 475.875 m 114.5 476 l 114.5 476 m 152.75 476.125 l 152.75 476.125 m 229.25 476.125 l S BT 8 0 0 8 86.75 491.875 Tm (512)Tj ET 0.75 w 78.875 534 m 75.875 531 l 75.875 531 m 77.375 532.5 l 77.375 532.5 m 75.875 534 l 75.875 534 m 78.875 531 l 80.125 532.375 m 77.125 529.25 l 77.125 529.25 m 78.625 530.75 l 78.625 530.75 m 77.125 532.375 l 77.125 532.375 m 80.125 529.25 l 82.5 525.5 m 79.5 522.5 l 79.5 522.5 m 81 524 l 81 524 m 79.5 525.5 l 79.5 525.5 m 82.5 522.5 l 87.25 505.5 m 84.25 502.5 l 84.25 502.5 m 85.75 504 l 85.75 504 m 84.25 505.5 l 84.25 505.5 m 87.25 502.5 l 96.875 494.25 m 93.75 491.25 l 93.75 491.25 m 95.25 492.75 l 95.25 492.75 m 93.75 494.25 l 93.75 494.25 m 96.875 491.25 l 116 477.5 m 112.875 474.5 l 112.875 474.5 m 114.5 476 l 114.5 476 m 112.875 477.5 l 112.875 477.5 m 116 474.5 l 154.25 477.5 m 151.25 474.375 l 151.25 474.375 m 152.75 475.875 l 152.75 475.875 m 151.25 477.5 l 151.25 477.5 m 154.25 474.375 l 230.75 477.5 m 227.75 474.5 l 227.75 474.5 m 229.25 476 l 229.25 476 m 227.75 477.5 l 227.75 477.5 m 230.75 474.5 l S 0.25 w [4 4.5 ]0 d 77.375 532.5 m 78.625 530.75 l 78.625 530.75 m 81 524 l 81 524 m 85.75 504 l 85.75 504 m 95.25 492.75 l 95.25 492.75 m 114.5 476 l 114.5 476 m 152.75 475.875 l 152.75 475.875 m 229.25 476 l S BT 8 0 0 8 86.75 509.875 Tm (1024)Tj ET 0.75 w []0 d 77.375 557.375 m 78.875 560.375 l 78.875 560.375 m 75.875 560.375 l 75.875 560.375 m 77.375 557.375 l 78.625 560.125 m 80.125 563.125 l 80.125 563.125 m 77.125 563.125 l 77.125 563.125 m 78.625 560.125 l 81 562.25 m 82.5 565.25 l 82.5 565.25 m 79.5 565.25 l 79.5 565.25 m 81 562.25 l 85.75 559.5 m 87.25 562.625 l 87.25 562.625 m 84.25 562.625 l 84.25 562.625 m 85.75 559.5 l 95.25 551.625 m 96.875 554.625 l 96.875 554.625 m 93.75 554.625 l 93.75 554.625 m 95.25 551.625 l 114.5 531.125 m 116 534.125 l 116 534.125 m 112.875 534.125 l 112.875 534.125 m 114.5 531.125 l 152.75 510 m 154.25 513 l 154.25 513 m 151.25 513 l 151.25 513 m 152.75 510 l 229.25 474.375 m 230.75 477.5 l 230.75 477.5 m 227.75 477.5 l 227.75 477.5 m 229.25 474.375 l 77.375 558.875 m 78.625 561.625 l 78.625 561.625 m 81 563.75 l 81 563.75 m 85.75 561.125 l 85.75 561.125 m 95.25 553.125 l 95.25 553.125 m 114.5 532.625 l 114.5 532.625 m 152.75 511.5 l 152.75 511.5 m 229.25 475.875 l S BT 8 0 0 8 205.625 488.625 Tm (4096)Tj ET 77.375 636.625 m 77.375 633.625 l 77.375 633.625 m 77.375 635.125 l 77.375 635.125 m 78.875 635.125 l 78.875 635.125 m 75.875 635.125 l 78.625 642.5 m 78.625 639.5 l 78.625 639.5 m 78.625 641 l 78.625 641 m 80.125 641 l 80.125 641 m 77.125 641 l 81 648.75 m 81 645.75 l 81 645.75 m 81 647.25 l 81 647.25 m 82.5 647.25 l 82.5 647.25 m 79.5 647.25 l 85.75 645.25 m 85.75 642.125 l 85.75 642.125 m 85.75 643.75 l 85.75 643.75 m 87.25 643.75 l 87.25 643.75 m 84.25 643.75 l 95.25 635.875 m 95.25 632.875 l 95.25 632.875 m 95.25 634.375 l 95.25 634.375 m 96.875 634.375 l 96.875 634.375 m 93.75 634.375 l 114.5 620.625 m 114.5 617.625 l 114.5 617.625 m 114.5 619.125 l 114.5 619.125 m 116 619.125 l 116 619.125 m 112.875 619.125 l 152.75 582 m 152.75 579 l 152.75 579 m 152.75 580.5 l 152.75 580.5 m 154.25 580.5 l 154.25 580.5 m 151.25 580.5 l 229.25 542.125 m 229.25 539.125 l 229.25 539.125 m 229.25 540.625 l 229.25 540.625 m 230.75 540.625 l 230.75 540.625 m 227.75 540.625 l 77.375 635.125 m 78.625 641 l 78.625 641 m 81 647.25 l 81 647.25 m 85.75 643.75 l 85.75 643.75 m 95.25 634.375 l 95.25 634.375 m 114.5 619.125 l 114.5 619.125 m 152.75 580.5 l 152.75 580.5 m 229.25 540.625 l S BT 8 0 0 8 217.625 550.25 Tm (8192)Tj ET 1.25 w 76.125 475.625 m 229.25 475.625 l 76.125 475.625 m 76.125 669.75 l 76.125 475.625 m 76.125 473.625 l S 0.25 w [1 1.5 ]0 d 76.125 475.625 m 76.125 669.75 l S BT 8 0 0 8 74.125 463.875 Tm (0)Tj ET 1.25 w []0 d 114.5 475.625 m 114.5 473.625 l S 0.25 w [1 1.5 ]0 d 114.5 475.625 m 114.5 669.75 l S BT 8 0 0 8 110.5 463.875 Tm (32)Tj ET 1.25 w []0 d 152.75 475.625 m 152.75 473.625 l S 0.25 w [1 1.5 ]0 d 152.75 475.625 m 152.75 669.75 l S BT 8 0 0 8 148.75 463.875 Tm (64)Tj ET 1.25 w []0 d 191 475.625 m 191 473.625 l S 0.25 w [1 1.5 ]0 d 191 475.625 m 191 669.75 l S BT 8 0 0 8 187 463.875 Tm (96)Tj ET 1.25 w []0 d 229.25 475.625 m 229.25 473.625 l S 0.25 w [1 1.5 ]0 d 229.25 475.625 m 229.25 669.75 l S BT 8 0 0 8 223.25 463.875 Tm (128)Tj ET 1.25 w []0 d 76.125 475.625 m 74.125 475.625 l S 0.25 w [1 1.5 ]0 d 76.125 475.625 m 229.25 475.625 l S BT 8 0 0 8 68.125 472.25 Tm (0)Tj ET 1.25 w []0 d 76.125 540.375 m 74.125 540.375 l S 0.25 w [1 1.5 ]0 d 76.125 540.375 m 229.25 540.375 l S BT 8 0 0 8 60.125 537 Tm (100)Tj ET 1.25 w []0 d 76.125 605 m 74.125 605 l S 0.25 w [1 1.5 ]0 d 76.125 605 m 229.25 605 l S BT 8 0 0 8 60.125 601.625 Tm (200)Tj ET 1.25 w []0 d 76.125 669.75 m 74.125 669.75 l S 0.25 w [1 1.5 ]0 d 76.125 669.75 m 229.25 669.75 l S BT 8 0 0 8 60.125 666.375 Tm (300)Tj 9.4844 -26.8594 TD [(Fill)-266.6(Factor)]TJ -10.4062 17.3906 TD (S)Tj 0.0625 -0.875 TD (e)Tj 0 -0.8906 TD (c)Tj -0.0313 -0.875 TD (o)Tj 0 -0.8906 TD (n)Tj 0 -0.875 TD (d)Tj 0.0625 -0.875 TD (s)Tj /TT2 1 Tf 0.0625 -14.5781 TD [(Figure)-355(5a:)]TJ /TT6 1 Tf 4.875 0 TD [(System)-367.7(Time)-342.8(for)-334(dictionary)-336.4(data)-334.5(set)-342.3(with)-347.2(1M)-345.2(of)-338.9(buffer)]TJ -4.875 -1.375 TD [(space)-310.5(and)-321.8(varying)-320.3(bucket)-318.8(sizes)-321.8(and)]TJ /TT8 1 Tf 14.6875 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-341.3(factors.)-310.5(Each)-314(line)-328.6(is)-333(labeled)]TJ -15.2437 -1.375 TD [(with)-253.4(its)-258.3(bucket)-240.7(size.)]TJ /T1 1 Tf 10 0 0 10 54 387.75 Tm -0.0012 Tc ()Tj /TT6 1 Tf 8 0 0 8 53.5 244.375 Tm 0 Tc (s)Tj -0.0625 0.875 TD (d)Tj T* (n)Tj 0 0.8906 TD (o)Tj 0.0313 0.875 TD (c)Tj 0 0.8906 TD (e)Tj -0.0625 0.875 TD (S)Tj 10.8438 -17.3906 TD [(Fill)-266.6(Factor)]TJ -9.5313 26.8594 TD (3200)Tj ET 83.25 365.75 m 229.25 365.75 l S 1.25 w []0 d 83.25 365.75 m 81.25 365.75 l S BT 8 0 0 8 63.25 313.875 Tm (2400)Tj ET 0.25 w [1 1.5 ]0 d 83.25 317.125 m 229.25 317.125 l S 1.25 w []0 d 83.25 317.125 m 81.25 317.125 l S BT 8 0 0 8 63.25 265.25 Tm (1600)Tj ET 0.25 w [1 1.5 ]0 d 83.25 268.75 m 229.25 268.75 l S 1.25 w []0 d 83.25 268.75 m 81.25 268.75 l S BT 8 0 0 8 67.25 216.75 Tm (800)Tj ET 0.25 w [1 1.5 ]0 d 83.25 220.125 m 229.25 220.125 l S 1.25 w []0 d 83.25 220.125 m 81.25 220.125 l S BT 8 0 0 8 75.25 168.25 Tm (0)Tj ET 0.25 w [1 1.5 ]0 d 83.25 171.625 m 229.25 171.625 l S 1.25 w []0 d 83.25 171.625 m 81.25 171.625 l S BT 8 0 0 8 223.25 159.875 Tm (128)Tj ET 0.25 w [1 1.5 ]0 d 229.25 171.625 m 229.25 365.75 l S 1.25 w []0 d 229.25 171.625 m 229.25 169.625 l S BT 8 0 0 8 188.75 159.875 Tm (96)Tj ET 0.25 w [1 1.5 ]0 d 192.75 171.625 m 192.75 365.75 l S 1.25 w []0 d 192.75 171.625 m 192.75 169.625 l S BT 8 0 0 8 152.25 159.875 Tm (64)Tj ET 0.25 w [1 1.5 ]0 d 156.25 171.625 m 156.25 365.75 l S 1.25 w []0 d 156.25 171.625 m 156.25 169.625 l S BT 8 0 0 8 115.75 159.875 Tm (32)Tj ET 0.25 w [1 1.5 ]0 d 119.75 171.625 m 119.75 365.75 l S 1.25 w []0 d 119.75 171.625 m 119.75 169.625 l S BT 8 0 0 8 81.25 159.875 Tm (0)Tj ET 0.25 w [1 1.5 ]0 d 83.25 171.625 m 83.25 365.75 l S 1.25 w []0 d 83.25 171.625 m 83.25 169.625 l 83.25 171.625 m 83.25 365.75 l 83.25 171.625 m 229.25 171.625 l S BT 8 0 0 8 217.625 198 Tm (8192)Tj ET 0.75 w 84.375 325.5 m 85.5 347 l 85.5 347 m 87.75 361.75 l 87.75 361.75 m 92.375 345.75 l 92.375 345.75 m 101.5 360.875 l 101.5 360.875 m 119.75 283 l 119.75 283 m 156.25 220.875 l 156.25 220.875 m 229.25 190.25 l 229.25 191.75 m 229.25 188.75 l 229.25 188.75 m 229.25 190.25 l 229.25 190.25 m 230.75 190.25 l 230.75 190.25 m 227.75 190.25 l 156.25 222.375 m 156.25 219.25 l 156.25 219.25 m 156.25 220.875 l 156.25 220.875 m 157.75 220.875 l 157.75 220.875 m 154.75 220.875 l 119.75 284.5 m 119.75 281.5 l 119.75 281.5 m 119.75 283 l 119.75 283 m 121.25 283 l 121.25 283 m 118.25 283 l 101.5 362.375 m 101.5 359.375 l 101.5 359.375 m 101.5 360.875 l 101.5 360.875 m 103 360.875 l 103 360.875 m 100 360.875 l 92.375 347.25 m 92.375 344.25 l 92.375 344.25 m 92.375 345.75 l 92.375 345.75 m 93.875 345.75 l 93.875 345.75 m 90.875 345.75 l 87.75 363.25 m 87.75 360.125 l 87.75 360.125 m 87.75 361.75 l 87.75 361.75 m 89.375 361.75 l 89.375 361.75 m 86.25 361.75 l 85.5 348.5 m 85.5 345.5 l 85.5 345.5 m 85.5 347 l 85.5 347 m 87 347 l 87 347 m 84 347 l 84.375 327 m 84.375 324 l 84.375 324 m 84.375 325.5 l 84.375 325.5 m 85.875 325.5 l 85.875 325.5 m 82.875 325.5 l S BT 8 0 0 8 204.625 178 Tm (4096)Tj ET 84.375 253.625 m 85.5 260.875 l 85.5 260.875 m 87.75 257.125 l 87.75 257.125 m 92.375 246 l 92.375 246 m 101.5 228 l 101.5 228 m 119.75 198.625 l 119.75 198.625 m 156.25 183.375 l 156.25 183.375 m 229.25 172.25 l 229.25 170.75 m 230.75 173.75 l 230.75 173.75 m 227.75 173.75 l 227.75 173.75 m 229.25 170.75 l 156.25 181.875 m 157.75 184.875 l 157.75 184.875 m 154.75 184.875 l 154.75 184.875 m 156.25 181.875 l 119.75 197.125 m 121.25 200.125 l 121.25 200.125 m 118.25 200.125 l 118.25 200.125 m 119.75 197.125 l 101.5 226.5 m 103 229.5 l 103 229.5 m 100 229.5 l 100 229.5 m 101.5 226.5 l 92.375 244.5 m 93.875 247.5 l 93.875 247.5 m 90.875 247.5 l 90.875 247.5 m 92.375 244.5 l 87.75 255.625 m 89.375 258.625 l 89.375 258.625 m 86.25 258.625 l 86.25 258.625 m 87.75 255.625 l 85.5 259.375 m 87 262.375 l 87 262.375 m 84 262.375 l 84 262.375 m 85.5 259.375 l 84.375 252.125 m 85.875 255.125 l 85.875 255.125 m 82.875 255.125 l 82.875 255.125 m 84.375 252.125 l S BT 8 0 0 8 91.75 209.25 Tm (1024)Tj ET 0.25 w [4 4.5 ]0 d 84.375 248 m 85.5 240.5 l 85.5 240.5 m 87.75 223.75 l 87.75 223.75 m 92.375 190.5 l 92.375 190.5 m 101.5 175.875 l 101.5 175.875 m 119.75 172.125 l 119.75 172.125 m 156.25 172.125 l 156.25 172.125 m 229.25 172.25 l S 0.75 w []0 d 230.75 173.75 m 227.75 170.75 l 227.75 170.75 m 229.25 172.25 l 229.25 172.25 m 227.75 173.75 l 227.75 173.75 m 230.75 170.75 l 157.75 173.75 m 154.75 170.625 l 154.75 170.625 m 156.25 172.125 l 156.25 172.125 m 154.75 173.75 l 154.75 173.75 m 157.75 170.625 l 121.25 173.625 m 118.25 170.625 l 118.25 170.625 m 119.75 172.125 l 119.75 172.125 m 118.25 173.625 l 118.25 173.625 m 121.25 170.625 l 103 177.375 m 100 174.375 l 100 174.375 m 101.5 175.875 l 101.5 175.875 m 100 177.375 l 100 177.375 m 103 174.375 l 93.875 192 m 90.875 189 l 90.875 189 m 92.375 190.5 l 92.375 190.5 m 90.875 192 l 90.875 192 m 93.875 189 l 89.375 225.25 m 86.25 222.125 l 86.25 222.125 m 87.75 223.75 l 87.75 223.75 m 86.25 225.25 l 86.25 225.25 m 89.375 222.125 l 87 242 m 84 239 l 84 239 m 85.5 240.5 l 85.5 240.5 m 84 242 l 84 242 m 87 239 l 85.875 249.625 m 82.875 246.5 l 82.875 246.5 m 84.375 248 l 84.375 248 m 82.875 249.625 l 82.875 249.625 m 85.875 246.5 l S BT 8 0 0 8 89.75 193 Tm (512)Tj ET 1.25 w 84.375 239.25 m 85.5 222.125 l 85.5 222.125 m 87.75 187.375 l 87.75 187.375 m 92.375 174.25 l 92.375 174.25 m 101.5 172 l 101.5 172 m 119.75 172.125 l 119.75 172.125 m 156.25 172.125 l 156.25 172.125 m 229.25 172.25 l S 0.75 w 229.25 173.75 m 229.25 170.75 l 229.25 170.75 m 229.25 172.25 l 229.25 172.25 m 230.75 172.25 l 230.75 172.25 m 227.75 172.25 l 156.25 173.75 m 156.25 170.625 l 156.25 170.625 m 156.25 172.125 l 156.25 172.125 m 157.75 172.125 l 157.75 172.125 m 154.75 172.125 l 119.75 173.625 m 119.75 170.625 l 119.75 170.625 m 119.75 172.125 l 119.75 172.125 m 121.25 172.125 l 121.25 172.125 m 118.25 172.125 l 101.5 173.5 m 101.5 170.5 l 101.5 170.5 m 101.5 172 l 101.5 172 m 103 172 l 103 172 m 100 172 l 92.375 175.75 m 92.375 172.75 l 92.375 172.75 m 92.375 174.25 l 92.375 174.25 m 93.875 174.25 l 93.875 174.25 m 90.875 174.25 l 87.75 189 m 87.75 185.875 l 87.75 185.875 m 87.75 187.375 l 87.75 187.375 m 89.375 187.375 l 89.375 187.375 m 86.25 187.375 l 85.5 223.625 m 85.5 220.625 l 85.5 220.625 m 85.5 222.125 l 85.5 222.125 m 87 222.125 l 87 222.125 m 84 222.125 l 84.375 240.75 m 84.375 237.625 l 84.375 237.625 m 84.375 239.25 l 84.375 239.25 m 85.875 239.25 l 85.875 239.25 m 82.875 239.25 l S BT 8 0 0 8 93.75 176.875 Tm (256)Tj ET 0.25 w [4 1.5 1 1.5 ]0 d 84.375 217.375 m 85.5 186.625 l 85.5 186.625 m 87.75 173.375 l 87.75 173.375 m 92.375 172.125 l 92.375 172.125 m 156.25 172.125 l 156.25 172.125 m 229.25 172.25 l S 0.75 w []0 d 227.75 172.25 m 227.75 172.25 l 227.75 173.043 228.394 173.687 229.187 173.687 c 229.981 173.687 230.625 173.043 230.625 172.25 c 230.625 171.456 229.981 170.812 229.187 170.812 c 228.394 170.812 227.75 171.456 227.75 172.25 c 154.75 172.125 m 154.75 172.125 l 154.75 172.918 155.394 173.562 156.187 173.562 c 156.981 173.562 157.625 172.918 157.625 172.125 c 157.625 171.331 156.981 170.687 156.187 170.687 c 155.394 170.687 154.75 171.331 154.75 172.125 c 118.25 172.125 m 118.25 172.125 l 118.25 172.918 118.894 173.562 119.687 173.562 c 120.481 173.562 121.125 172.918 121.125 172.125 c 121.125 171.331 120.481 170.687 119.687 170.687 c 118.894 170.687 118.25 171.331 118.25 172.125 c 100 172.125 m 100 172.125 l 100 172.918 100.644 173.562 101.437 173.562 c 102.231 173.562 102.875 172.918 102.875 172.125 c 102.875 171.331 102.231 170.687 101.437 170.687 c 100.644 170.687 100 171.331 100 172.125 c 90.875 172.125 m 90.875 172.125 l 90.875 172.918 91.519 173.562 92.312 173.562 c 93.106 173.562 93.75 172.918 93.75 172.125 c 93.75 171.331 93.106 170.687 92.312 170.687 c 91.519 170.687 90.875 171.331 90.875 172.125 c 86.375 173.375 m 86.375 173.375 l 86.375 174.169 87.019 174.812 87.812 174.812 c 88.606 174.812 89.25 174.169 89.25 173.375 c 89.25 172.581 88.606 171.938 87.812 171.938 c 87.019 171.938 86.375 172.581 86.375 173.375 c 84 186.625 m 84 186.625 l 84 187.453 84.672 188.125 85.5 188.125 c 86.328 188.125 87 187.453 87 186.625 c 87 185.797 86.328 185.125 85.5 185.125 c 84.672 185.125 84 185.797 84 186.625 c 82.875 217.375 m 82.875 217.375 l 82.875 218.203 83.547 218.875 84.375 218.875 c 85.203 218.875 85.875 218.203 85.875 217.375 c 85.875 216.547 85.203 215.875 84.375 215.875 c 83.547 215.875 82.875 216.547 82.875 217.375 c S BT 8 0 0 8 174.375 171.875 Tm (128)Tj ET 0.25 w 84.375 185.125 m 85.5 173.5 l 85.5 173.5 m 87.75 172.25 l 87.75 172.25 m 92.375 172.125 l 92.375 172.125 m 101.5 172.125 l 101.5 172.125 m 119.75 172.25 l 119.75 172.25 m 229.25 172.25 l S 0.75 w 229.25 173.75 m 227.75 170.75 l 227.75 170.75 m 230.75 170.75 l 230.75 170.75 m 229.25 173.75 l 156.25 173.75 m 154.75 170.75 l 154.75 170.75 m 157.75 170.75 l 157.75 170.75 m 156.25 173.75 l 119.75 173.75 m 118.25 170.75 l 118.25 170.75 m 121.25 170.75 l 121.25 170.75 m 119.75 173.75 l 101.5 173.75 m 100 170.625 l 100 170.625 m 103 170.625 l 103 170.625 m 101.5 173.75 l 92.375 173.625 m 90.875 170.625 l 90.875 170.625 m 93.875 170.625 l 93.875 170.625 m 92.375 173.625 l 87.75 173.75 m 86.25 170.75 l 86.25 170.75 m 89.375 170.75 l 89.375 170.75 m 87.75 173.75 l 85.5 175 m 84 172 l 84 172 m 87 172 l 87 172 m 85.5 175 l 84.375 186.625 m 82.875 183.625 l 82.875 183.625 m 85.875 183.625 l 85.875 183.625 m 84.375 186.625 l S BT /TT2 1 Tf 8 0 0 8 54 127.75 Tm [(Figure)-323.7(5b:)]TJ /TT6 1 Tf 4.875 0 TD [(Elapsed)-318.8(Time)-327.1(for)-318.4(dictionary)-320.8(data)-318.8(set)-326.7(with)-315.9(1M)-314(of)-307.6(buffer)]TJ -4.875 -1.375 TD [(space)-294.9(and)-306.2(varying)-304.7(bucket)-303.2(sizes)-306.2(and)]TJ /TT8 1 Tf 14.5938 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-310.1(factors.)-529.3(Each)-282.7(line)-297.4(is)-301.8(labeled)]TJ -15.1499 -1.375 TD [(with)-253.4(its)-258.3(bucket)-240.7(size.)]TJ 10 0 0 10 323.75 724.75 Tm [(If)-421.5(an)-406.2(approximation)-405.5(of)-404.5(the)-403.3(number)-407.8(of)-404.5(elements)]TJ -2.15 -1.1 TD [(ultimately)-382.8(to)-384.7(be)-393.7(stored)-393.7(in)-384.7(the)-390.8(hash)-379.5(table)-381.6(is)-370.5(known)-377.8(at)]TJ T* [(the)-603.3(time)-597.7(of)-604.5(creation,)-617.3(the)-603.3(hash)-592(package)-612.1(takes)-595.3(this)]TJ T* [(number)-320.3(as)-304.5(a)-306.2(parameter)-327.9(and)-306.2(uses)-302.8(it)-294.3(to)-297.2(hash)-304.5(entries)-309.5(into)]TJ T* [(the)-315.8(full)-311.3(sized)-320.3(table)-319.1(rather)-331(than)-315.8(growing)-317(the)-303.3(table)-306.6(from)]TJ T* [(a)-293.7(single)-286.3(bucket.)-547(If)-284(this)-267.7(number)-282.8(is)-270.5(not)-272.2(known,)-277.8(the)-278.3(hash)]TJ T* [(table)-731.6(starts)-726.7(with)-722.2(a)-731.1(single)-723.8(bucket)-734.5(and)-731.2(gracefully)]TJ T* [(expands)-335.6(as)-329.5(elements)-333.3(are)-341.8(added,)-337.3(although)-325.5(a)-331.2(slight)-302.3(per-)]TJ T* [(formance)-337.1(degradation)-329.8(may)-303.3(be)-306.2(noticed.)-556.6(Figure)-301.7(6)-300(illus-)]TJ T* [(trates)-422(the)-415.8(difference)-447.8(in)-409.7(performance)-447.8(between)-431(storing)]TJ T* [(keys)-292(in)-284.7(a)]TJ /TT8 1 Tf 3.925 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-284.7(when)-296.5(the)-278.3(ultimate)-273.1(size)-282.8(is)-270.5(known)-277.8(\(the)-282.8(left)]TJ -4.4812 -1.1 TD [(bars)-371.5(in)-359.7(each)-381(set\),)-368.7(compared)-382.6(to)-347.2(building)-341.5(the)]TJ /TT8 1 Tf 18.15 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-347.2(when)]TJ -18.7062 -1.1 TD [(the)-428.3(ultimate)-423.1(size)-432.8(is)-408(unknown)-415.3(\(the)-420.3(right)-411.3(bars)-421.5(in)-409.7(each)]TJ T* [(set\).)-693.7(Once)-452.6(the)]TJ /TT8 1 Tf 6.6125 0 TD ()Tj /TT6 1 Tf 0.5561 0 TD [(ll)-413.2(factor)-443.5(is)-420.5(suf)]TJ /TT8 1 Tf 6.0535 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ciently)-425.5(high)-422.2(for)-434(the)]TJ -13.7783 -1.1 TD [(page)-337.3(size)-332.8(\(8\),)-334(growing)-329.5(the)-328.3(table)-331.6(dynamically)-332.1(does)-329.5(lit-)]TJ T* [(tle)-250.5(to)-247.2(degrade)-272.9(performance.)]TJ /T1 1 Tf T* -0.0012 Tc ()Tj /TT6 1 Tf 9 0 0 9 301.625 387.25 Tm 0 Tc (s)Tj -0.0556 0.9028 TD (d)Tj T* (n)Tj T* (o)Tj 0.0278 0.8889 TD (c)Tj 0 0.9028 TD (e)Tj -0.0556 0.9028 TD (S)Tj 10.2222 -17.7778 TD [(Fill)-249.2(Factor)]TJ -9.6528 27.4583 TD (15)Tj ET 0.25 w [1 1.5 ]0 d 319.625 526.75 m 503.75 526.75 l S 1.25 w []0 d 319.625 526.75 m 317.25 526.75 l S BT 9 0 0 9 306 448.625 Tm (10)Tj ET 0.25 w [1 1.5 ]0 d 319.625 452.375 m 503.75 452.375 l S 1.25 w []0 d 319.625 452.375 m 317.25 452.375 l S BT 9 0 0 9 310.5 374.125 Tm (5)Tj ET 0.25 w [1 1.5 ]0 d 319.625 377.875 m 503.75 377.875 l S 1.25 w []0 d 319.625 377.875 m 317.25 377.875 l S BT 9 0 0 9 310.5 299.75 Tm (0)Tj ET 0.25 w [1 1.5 ]0 d 319.625 303.5 m 503.75 303.5 l S 1.25 w []0 d 319.625 303.5 m 317.25 303.5 l S BT 9 0 0 9 497 290.125 Tm (128)Tj ET 0.25 w [1 1.5 ]0 d 503.75 303.5 m 503.75 526.75 l S 1.25 w []0 d 503.75 303.5 m 503.75 301.125 l S BT 9 0 0 9 453.25 290.125 Tm (96)Tj ET 0.25 w [1 1.5 ]0 d 457.75 303.5 m 457.75 526.75 l S 1.25 w []0 d 457.75 303.5 m 457.75 301.125 l S BT 9 0 0 9 407.25 290.125 Tm (64)Tj ET 0.25 w [1 1.5 ]0 d 411.75 303.5 m 411.75 526.75 l S 1.25 w []0 d 411.75 303.5 m 411.75 301.125 l S BT 9 0 0 9 361.125 290.125 Tm (32)Tj ET 0.25 w [1 1.5 ]0 d 365.625 303.5 m 365.625 526.75 l S 1.25 w []0 d 365.625 303.5 m 365.625 301.125 l S BT 9 0 0 9 317.375 290.125 Tm (0)Tj ET 0.25 w [1 1.5 ]0 d 319.625 303.5 m 319.625 526.75 l S 1.25 w []0 d 319.625 303.5 m 319.625 301.125 l 319.625 303.5 m 319.625 526.75 l 319.625 303.5 m 503.75 303.5 l S BT 9 0 0 9 506.625 494.75 Tm (8192)Tj ET 0.75 w 321.125 507.375 m 322.5 507.375 l 322.5 507.375 m 325.375 501.375 l 325.375 501.375 m 331.125 522.25 l 331.125 522.25 m 342.625 517.875 l 342.625 517.875 m 365.625 516.375 l 365.625 516.375 m 411.75 498.5 l 411.75 498.5 m 503.75 498.5 l 503.75 500.25 m 503.75 496.75 l 503.75 496.75 m 503.75 498.5 l 503.75 498.5 m 505.5 498.5 l 505.5 498.5 m 502 498.5 l 411.75 500.25 m 411.75 496.75 l 411.75 496.75 m 411.75 498.5 l 411.75 498.5 m 413.375 498.5 l 413.375 498.5 m 410 498.5 l 365.625 518 m 365.625 514.625 l 365.625 514.625 m 365.625 516.375 l 365.625 516.375 m 367.375 516.375 l 367.375 516.375 m 363.875 516.375 l 342.625 519.5 m 342.625 516.125 l 342.625 516.125 m 342.625 517.875 l 342.625 517.875 m 344.375 517.875 l 344.375 517.875 m 340.875 517.875 l 331.125 524 m 331.125 520.5 l 331.125 520.5 m 331.125 522.25 l 331.125 522.25 m 332.875 522.25 l 332.875 522.25 m 329.375 522.25 l 325.375 503.125 m 325.375 499.75 l 325.375 499.75 m 325.375 501.375 l 325.375 501.375 m 327.125 501.375 l 327.125 501.375 m 323.625 501.375 l 322.5 509.125 m 322.5 505.625 l 322.5 505.625 m 322.5 507.375 l 322.5 507.375 m 324.25 507.375 l 324.25 507.375 m 320.75 507.375 l 321.125 509.125 m 321.125 505.625 l 321.125 505.625 m 321.125 507.375 l 321.125 507.375 m 322.75 507.375 l 322.75 507.375 m 319.375 507.375 l S BT 9 0 0 9 506.625 468.125 Tm (4096)Tj ET 321.125 498.5 m 322.5 499.875 l 322.5 499.875 m 325.375 511.875 l 325.375 511.875 m 331.125 503 l 331.125 503 m 342.625 494 l 342.625 494 m 365.625 465.75 l 365.625 465.75 m 411.75 459.75 l 411.75 459.75 m 503.75 467.25 l 503.75 465.5 m 505.5 469 l 505.5 469 m 502 469 l 502 469 m 503.75 465.5 l 411.75 458 m 413.375 461.5 l 413.375 461.5 m 410 461.5 l 410 461.5 m 411.75 458 l 365.625 464 m 367.375 467.5 l 367.375 467.5 m 363.875 467.5 l 363.875 467.5 m 365.625 464 l 342.625 492.25 m 344.375 495.75 l 344.375 495.75 m 340.875 495.75 l 340.875 495.75 m 342.625 492.25 l 331.125 501.25 m 332.875 504.625 l 332.875 504.625 m 329.375 504.625 l 329.375 504.625 m 331.125 501.25 l 325.375 510.125 m 327.125 513.625 l 327.125 513.625 m 323.625 513.625 l 323.625 513.625 m 325.375 510.125 l 322.5 498.25 m 324.25 501.625 l 324.25 501.625 m 320.75 501.625 l 320.75 501.625 m 322.5 498.25 l 321.125 496.75 m 322.75 500.25 l 322.75 500.25 m 319.375 500.25 l 319.375 500.25 m 321.125 496.75 l S BT 9 0 0 9 506.625 456.875 Tm (1024)Tj ET 0.25 w [4 4.5 ]0 d 321.125 504.5 m 322.5 498.5 l 322.5 498.5 m 325.375 486.5 l 325.375 486.5 m 331.125 474.625 l 331.125 474.625 m 342.625 440.375 l 342.625 440.375 m 365.625 415.125 l 365.625 415.125 m 411.75 434.5 l 411.75 434.5 m 503.75 458.25 l S 0.75 w []0 d 505.5 460 m 502 456.5 l 502 456.5 m 503.75 458.25 l 503.75 458.25 m 502 460 l 502 460 m 505.5 456.5 l 413.375 436.25 m 410 432.75 l 410 432.75 m 411.75 434.5 l 411.75 434.5 m 410 436.25 l 410 436.25 m 413.375 432.75 l 367.375 416.875 m 363.875 413.375 l 363.875 413.375 m 365.625 415.125 l 365.625 415.125 m 363.875 416.875 l 363.875 416.875 m 367.375 413.375 l 344.375 442.125 m 340.875 438.625 l 340.875 438.625 m 342.625 440.375 l 342.625 440.375 m 340.875 442.125 l 340.875 442.125 m 344.375 438.625 l 332.875 476.375 m 329.375 472.875 l 329.375 472.875 m 331.125 474.625 l 331.125 474.625 m 329.375 476.375 l 329.375 476.375 m 332.875 472.875 l 327.125 488.25 m 323.625 484.75 l 323.625 484.75 m 325.375 486.5 l 325.375 486.5 m 323.625 488.25 l 323.625 488.25 m 327.125 484.75 l 324.25 500.25 m 320.75 496.75 l 320.75 496.75 m 322.5 498.5 l 322.5 498.5 m 320.75 500.25 l 320.75 500.25 m 324.25 496.75 l 322.75 506.125 m 319.375 502.75 l 319.375 502.75 m 321.125 504.5 l 321.125 504.5 m 319.375 506.125 l 319.375 506.125 m 322.75 502.75 l S BT 9 0 0 9 506.625 435.625 Tm (512)Tj ET 1.25 w 321.125 495.5 m 322.5 498.5 l 322.5 498.5 m 325.375 447.875 l 325.375 447.875 m 331.125 437.5 l 331.125 437.5 m 342.625 409.125 l 342.625 409.125 m 365.625 418.125 l 365.625 418.125 m 411.75 433 l 411.75 433 m 503.75 446.375 l S 0.75 w 503.75 448.125 m 503.75 444.625 l 503.75 444.625 m 503.75 446.375 l 503.75 446.375 m 505.5 446.375 l 505.5 446.375 m 502 446.375 l 411.75 434.75 m 411.75 431.25 l 411.75 431.25 m 411.75 433 l 411.75 433 m 413.375 433 l 413.375 433 m 410 433 l 365.625 419.875 m 365.625 416.375 l 365.625 416.375 m 365.625 418.125 l 365.625 418.125 m 367.375 418.125 l 367.375 418.125 m 363.875 418.125 l 342.625 410.875 m 342.625 407.5 l 342.625 407.5 m 342.625 409.125 l 342.625 409.125 m 344.375 409.125 l 344.375 409.125 m 340.875 409.125 l 331.125 439.125 m 331.125 435.75 l 331.125 435.75 m 331.125 437.5 l 331.125 437.5 m 332.875 437.5 l 332.875 437.5 m 329.375 437.5 l 325.375 449.625 m 325.375 446.125 l 325.375 446.125 m 325.375 447.875 l 325.375 447.875 m 327.125 447.875 l 327.125 447.875 m 323.625 447.875 l 322.5 500.25 m 322.5 496.75 l 322.5 496.75 m 322.5 498.5 l 322.5 498.5 m 324.25 498.5 l 324.25 498.5 m 320.75 498.5 l 321.125 497.25 m 321.125 493.75 l 321.125 493.75 m 321.125 495.5 l 321.125 495.5 m 322.75 495.5 l 322.75 495.5 m 319.375 495.5 l S BT 9 0 0 9 506.625 442.625 Tm (256)Tj ET 0.25 w [4 1.5 1 1.5 ]0 d 321.125 485 m 322.5 449.375 l 322.5 449.375 m 325.375 437.5 l 325.375 437.5 m 331.125 406.125 l 331.125 406.125 m 342.625 413.625 l 342.625 413.625 m 365.625 424.125 l 365.625 424.125 m 411.75 437.5 l 411.75 437.5 m 503.75 446.375 l S 0.75 w []0 d 502 446.375 m 502 446.375 l 502 447.306 502.756 448.062 503.687 448.062 c 504.619 448.062 505.375 447.306 505.375 446.375 c 505.375 445.443 504.619 444.687 503.687 444.687 c 502.756 444.687 502 445.443 502 446.375 c 410 437.5 m 410 437.5 l 410 438.431 410.756 439.187 411.688 439.187 c 412.619 439.187 413.375 438.431 413.375 437.5 c 413.375 436.568 412.619 435.813 411.688 435.813 c 410.756 435.813 410 436.568 410 437.5 c 364 424.125 m 364 424.125 l 364 425.056 364.756 425.812 365.687 425.812 c 366.619 425.812 367.375 425.056 367.375 424.125 c 367.375 423.193 366.619 422.437 365.687 422.437 c 364.756 422.437 364 423.193 364 424.125 c 341 413.625 m 341 413.625 l 341 414.556 341.756 415.312 342.687 415.312 c 343.619 415.312 344.375 414.556 344.375 413.625 c 344.375 412.693 343.619 411.937 342.687 411.937 c 341.756 411.937 341 412.693 341 413.625 c 329.375 406.125 m 329.375 406.125 l 329.375 407.091 330.159 407.875 331.125 407.875 c 332.091 407.875 332.875 407.091 332.875 406.125 c 332.875 405.159 332.091 404.375 331.125 404.375 c 330.159 404.375 329.375 405.159 329.375 406.125 c 323.625 437.5 m 323.625 437.5 l 323.625 438.466 324.409 439.25 325.375 439.25 c 326.341 439.25 327.125 438.466 327.125 437.5 c 327.125 436.534 326.341 435.75 325.375 435.75 c 324.409 435.75 323.625 436.534 323.625 437.5 c 320.75 449.375 m 320.75 449.375 l 320.75 450.306 321.506 451.062 322.437 451.062 c 323.369 451.062 324.125 450.306 324.125 449.375 c 324.125 448.443 323.369 447.687 322.437 447.687 c 321.506 447.687 320.75 448.443 320.75 449.375 c 319.25 485 m 319.25 485 l 319.25 485.966 320.034 486.75 321 486.75 c 321.966 486.75 322.75 485.966 322.75 485 c 322.75 484.034 321.966 483.25 321 483.25 c 320.034 483.25 319.25 484.034 319.25 485 c S BT 9 0 0 9 506.625 449.375 Tm (128)Tj ET 0.25 w 321.125 450.875 m 322.5 425.5 l 322.5 425.5 m 325.375 409.125 l 325.375 409.125 m 331.125 416.625 l 331.125 416.625 m 342.625 431.5 l 342.625 431.5 m 365.625 439 l 365.625 439 m 411.75 449.375 l 411.75 449.375 m 503.75 450.875 l S 0.75 w 503.75 452.5 m 502 449.125 l 502 449.125 m 505.5 449.125 l 505.5 449.125 m 503.75 452.5 l 411.75 451.125 m 410 447.625 l 410 447.625 m 413.375 447.625 l 413.375 447.625 m 411.75 451.125 l 365.625 440.625 m 363.875 437.25 l 363.875 437.25 m 367.375 437.25 l 367.375 437.25 m 365.625 440.625 l 342.625 433.25 m 340.875 429.75 l 340.875 429.75 m 344.375 429.75 l 344.375 429.75 m 342.625 433.25 l 331.125 418.375 m 329.375 414.875 l 329.375 414.875 m 332.875 414.875 l 332.875 414.875 m 331.125 418.375 l 325.375 410.875 m 323.625 407.5 l 323.625 407.5 m 327.125 407.5 l 327.125 407.5 m 325.375 410.875 l 322.5 427.25 m 320.75 423.75 l 320.75 423.75 m 324.25 423.75 l 324.25 423.75 m 322.5 427.25 l 321.125 452.5 m 319.375 449.125 l 319.375 449.125 m 322.75 449.125 l 322.75 449.125 m 321.125 452.5 l S BT /TT2 1 Tf 8 0 0 8 302.25 256.25 Tm [(Figure)-448.7(5c:)]TJ /TT6 1 Tf 5 0 TD [(User)-439.9(Time)-452.1(for)-443.4(dictionary)-445.8(data)-443.8(set)-451.7(with)-456.5(1M)-454.6(of)-432.6(buffer)]TJ -5 -1.375 TD [(space)-294.9(and)-306.2(varying)-304.7(bucket)-303.2(sizes)-306.2(and)]TJ /TT8 1 Tf 14.5938 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-310.1(factors.)-529.3(Each)-282.7(line)-297.4(is)-301.8(labeled)]TJ -15.1499 -1.375 TD [(with)-253.4(its)-258.3(bucket)-240.7(size.)]TJ /T1 1 Tf 10 0 0 10 302.25 212.25 Tm -0.0012 Tc ()Tj /TT6 1 Tf 2.15 -2.525 TD 0 Tc [(Since)-353.3(no)-350(known)-352.8(hash)-354.5(function)-355(performs)-365.1(equally)]TJ -2.15 -1.1 TD [(well)-415.8(on)-412.5(all)-413(possible)-409.7(data,)-422(the)-415.8(user)-421.5(may)]TJ /TT8 1 Tf 16.85 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(nd)-406.3(that)-413(the)]TJ -17.4062 -1.1 TD [(built-in)-305.7(hash)-304.5(function)-305(does)-304.5(poorly)-301.7(on)-300(a)-306.2(particular)-318.9(data)]TJ T* [(set.)-264.2(In)-267(this)-242.7(case,)-266.8(a)-256.2(hash)-254.5(function,)-255(taking)-250.5(two)-250(arguments)]TJ T* [(\(a)-335.6(pointer)-330(to)-322.2(a)-331.2(byte)-328.3(string)-322.2(and)-331.2(a)-331.1(length\))-330(and)-318.7(returning)]TJ T* [(an)-293.7(unsigned)-289.2(long)-272.2(to)-272.2(be)-281.2(used)-279.5(as)-279.5(the)-278.3(hash)-279.5(value,)-284.5(may)-278.3(be)]TJ T* (speci)Tj /TT8 1 Tf 2.0547 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-357.8(at)-353.3(hash)-354.5(table)-356.6(creation)-367.3(time.)-597.7(When)-362.3(an)-343.7(exist-)]TJ -2.6108 -1.1 TD [(ing)-622.2(hash)-629.5(table)-631.6(is)-620.5(opened)-637.3(and)-631.2(a)-618.6(hash)-617(function)-617.5(is)]TJ T* (speci)Tj /TT8 1 Tf 2.0547 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed,)-370.3(the)-365.8(hash)-354.5(package)-374.6(will)-344.3(try)-351.7(to)-347.2(determine)-364.5(that)]TJ -2.6108 -1.1 TD [(the)-378.3(hash)-379.5(function)-380(supplied)-373.8(is)-370.5(the)-378.3(one)-381.1(with)-372.2(which)-381.1(the)]TJ T* [(table)-706.6(was)-707.3(created.)-963.8(There)-706(are)-704.3(a)-693.6(variety)-698.6(of)-692(hash)]TJ /TT2 1 Tf -24.825 -3 TD [(8)-31225(USENIX)]TJ /TT7 1 Tf 35.75 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)]TJ ET endstream endobj 52 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /T1 20 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 54 0 obj << /Length 30190 >> stream BT /TT2 1 Tf 10 0 0 10 90 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(Seltzer)-270.1(&)-254.5(Yigit)-25564.2(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)]TJ /TT6 1 Tf 0 -3.5 TD [(functions)-590.8(provided)-595.3(with)-584.7(the)-590.8(package.)-862.1(The)-582.8(default)]TJ 0 -1.1 TD [(function)-342.5(for)-346.5(the)-340.8(package)-362.1(is)-333(the)-328.3(one)-331.2(which)-331.2(offered)-350.8(the)]TJ T* [(best)-326.7(performance)-360.3(in)-322.2(terms)-328.3(of)-329.5(cycles)-339(executed)-346.8(per)-323.1(call)]TJ T* [(\(it)-448.8(did)-447.2(not)-447.2(produce)-466.8(the)-440.8(fewest)-452.6(collisions)-429(although)-438(it)]TJ T* [(was)-269.8(within)-256.8(a)-268.7(small)-246(percentage)-282.4(of)-254.5(the)-253.3(function)-255(that)-250.5(pro-)]TJ T* [(duced)-449.8(the)-440.8(fewest)-440.1(collisions\).)-671(Again,)-431.2(in)-422.2(time)-422.7(critical)]TJ T* [(applications,)-318(users)-319.8(are)-329.3(encouraged)-341.6(to)-309.7(experiment)-314.5(with)]TJ T* [(a)-343.7(variety)-336.1(of)-329.5(hash)-329.5(functions)-328.3(to)-322.2(achieve)-346.8(optimal)-319.8(perfor-)]TJ T* (mance.)Tj /T1 1 Tf T* -0.0012 Tc ()Tj /TT2 1 Tf 7 0 0 7 129.75 426.375 Tm 0 Tc [(Full)-259.5(size)-266.7(table)-264.2(\(left\))]TJ 9.0893 3.6964 TD [(Fill)-269.9(Factor)]TJ 12.875 1 TD (64)Tj -5.4286 0 TD (32)Tj -5.1786 0 TD (16)Tj -5.1786 0 TD (8)Tj -5.1964 0 TD (4)Tj ET 0 G 1 J 0 j 0.25 w 10 M [1 1.5 ]0 d 1 i 112.5 507 m 306 507 l 112.5 557.125 m 306 557.125 l 112.5 603.75 m 306 603.75 l 195.375 429.25 m 209.25 429.25 l S []0 d 112.5 429.25 m 126.25 429.25 l S BT 7 0 0 7 178.125 438.5 Tm (System)Tj -7.8929 0 TD (User)Tj ET 236.875 444.75 6.875 -6.875 re S q 167.75 444.75 m 174.625 444.75 l 174.625 437.875 l 167.75 437.875 l 167.75 444.75 l W* n q 0.96 0 0 6.84 167.76 437.22 cm /Im16 Do Q q 0.96 0 0 6.84 168.72 437.22 cm /Im16 Do Q q 0.96 0 0 6.84 169.68 437.22 cm /Im16 Do Q q 0.96 0 0 6.84 170.64 437.22 cm /Im16 Do Q q 0.96 0 0 6.84 171.6 437.22 cm /Im16 Do Q q 0.96 0 0 6.84 172.56 437.22 cm /Im16 Do Q q 0.96 0 0 6.84 173.52 437.22 cm /Im16 Do Q q 0.84 0 0 6.84 174.48 437.22 cm /Im17 Do Q Q 167.75 444.75 6.875 -6.875 re 112.5 444.75 6.875 -6.875 re S 1.25 w 285.375 515.625 m 297.375 515.625 l 249 515.625 m 261.125 515.625 l 212.75 515.625 m 224.875 515.625 l 176.375 510.5 m 188.5 510.5 l S q 285.375 515.625 12 -5.125 re W* n q 0.96 0 0 5.28 290.64 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 291.6 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 292.56 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 293.52 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 294.48 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 295.44 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 296.4 509.82 cm /Im18 Do Q q 0.72 0 0 5.28 297.36 509.82 cm /Im19 Do Q Q 0.25 w [1 1.5 ]0 d 285.375 515.625 m 297.375 515.625 l 297.375 510.5 l 285.375 510.5 l 285.375 515.625 l s q 249 515.625 m 261.125 515.625 l 261.125 510.5 l 249 510.5 l 249 515.625 l W* n q 0.96 0 0 5.28 259.92 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 260.88 509.82 cm /Im18 Do Q Q 249 515.625 m 261.125 515.625 l 261.125 510.5 l 249 510.5 l 249 515.625 l s q 212.75 515.625 m 224.875 515.625 l 224.875 510.5 l 212.75 510.5 l 212.75 515.625 l W* n q 0.96 0 0 5.28 213.84 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 214.8 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 215.76 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 216.72 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 217.68 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 218.64 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 219.6 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 220.56 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 221.52 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 222.48 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 223.44 509.82 cm /Im18 Do Q q 0.96 0 0 5.28 224.4 509.82 cm /Im18 Do Q Q 212.75 515.625 m 224.875 515.625 l 224.875 510.5 l 212.75 510.5 l 212.75 515.625 l s q 176.375 510.5 12.125 -5.25 re W* n q 0.96 0 0 5.76 183.12 504.54 cm /Im20 Do Q q 0.96 0 0 5.76 184.08 504.54 cm /Im20 Do Q q 0.96 0 0 5.76 185.04 504.54 cm /Im20 Do Q q 0.96 0 0 5.76 186 504.54 cm /Im20 Do Q q 0.96 0 0 5.76 186.96 504.54 cm /Im20 Do Q q 0.96 0 0 5.76 187.92 504.54 cm /Im20 Do Q Q 176.375 510.5 m 188.5 510.5 l 188.5 505.25 l 176.375 505.25 l 176.375 510.5 l s q 285.375 510.5 12 -45 re W* n q 0.96 0 0 15.36 290.64 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 291.6 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 292.56 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 293.52 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 294.48 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 295.44 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 296.4 494.9401 cm /Im1 Do Q q 0.72 0 0 15.36 297.36 494.9401 cm /Im5 Do Q q 0.96 0 0 15.36 290.64 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 291.6 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 292.56 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 293.52 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 294.48 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 295.44 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 296.4 479.58 cm /Im1 Do Q q 0.72 0 0 15.36 297.36 479.58 cm /Im5 Do Q q 0.96 0 0 15.36 290.64 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 291.6 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 292.56 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 293.52 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 294.48 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 295.44 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 296.4 464.22 cm /Im1 Do Q q 0.72 0 0 14.76 297.36 464.82 cm /Im22 Do Q Q 285.375 510.5 m 297.375 510.5 l 297.375 465.5 l 285.375 465.5 l 285.375 510.5 l s q 249 510.5 12.125 -45 re W* n q 0.96 0 0 15.36 259.92 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 260.88 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 259.92 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 260.88 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 259.92 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 260.88 464.22 cm /Im1 Do Q Q 249 510.5 m 261.125 510.5 l 261.125 465.5 l 249 465.5 l 249 510.5 l s q 212.75 510.5 12.125 -45 re W* n q 0.96 0 0 15.36 213.84 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 214.8 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 215.76 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 216.72 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 217.68 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 218.64 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 219.6 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 220.56 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 221.52 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 222.48 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 223.44 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 224.4 494.9401 cm /Im1 Do Q q 0.96 0 0 15.36 213.84 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 214.8 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 215.76 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 216.72 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 217.68 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 218.64 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 219.6 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 220.56 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 221.52 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 222.48 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 223.44 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 224.4 479.58 cm /Im1 Do Q q 0.96 0 0 15.36 213.84 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 214.8 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 215.76 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 216.72 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 217.68 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 218.64 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 219.6 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 220.56 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 221.52 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 222.48 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 223.44 464.22 cm /Im1 Do Q q 0.96 0 0 15.36 224.4 464.22 cm /Im1 Do Q Q 212.75 510.5 m 224.875 510.5 l 224.875 465.5 l 212.75 465.5 l 212.75 510.5 l s q 176.375 505.25 12.125 -39.75 re W* n q 0.96 0 0 15.36 183.12 489.1801 cm /Im1 Do Q q 0.96 0 0 15.36 184.08 489.1801 cm /Im1 Do Q q 0.96 0 0 15.36 185.04 489.1801 cm /Im1 Do Q q 0.96 0 0 15.36 186 489.1801 cm /Im1 Do Q q 0.96 0 0 15.36 186.96 489.1801 cm /Im1 Do Q q 0.96 0 0 15.36 187.92 489.1801 cm /Im1 Do Q q 0.96 0 0 15.36 183.12 473.82 cm /Im1 Do Q q 0.96 0 0 15.36 184.08 473.82 cm /Im1 Do Q q 0.96 0 0 15.36 185.04 473.82 cm /Im1 Do Q q 0.96 0 0 15.36 186 473.82 cm /Im1 Do Q q 0.96 0 0 15.36 186.96 473.82 cm /Im1 Do Q q 0.96 0 0 15.36 187.92 473.82 cm /Im1 Do Q q 0.96 0 0 9 183.12 464.82 cm /Im21 Do Q q 0.96 0 0 9 184.08 464.82 cm /Im21 Do Q q 0.96 0 0 9 185.04 464.82 cm /Im21 Do Q q 0.96 0 0 9 186 464.82 cm /Im21 Do Q q 0.96 0 0 9 186.96 464.82 cm /Im21 Do Q q 0.96 0 0 9 187.92 464.82 cm /Im21 Do Q Q 176.375 505.25 m 188.5 505.25 l 188.5 465.5 l 176.375 465.5 l 176.375 505.25 l s q 269.75 512.25 12.125 -1.75 re W* n q 0.96 0 0 2.4 275.28 509.82 cm /Im23 Do Q q 0.96 0 0 2.4 276.24 509.82 cm /Im23 Do Q q 0.96 0 0 2.4 277.2 509.82 cm /Im23 Do Q q 0.96 0 0 2.4 278.16 509.82 cm /Im23 Do Q q 0.96 0 0 2.4 279.12 509.82 cm /Im23 Do Q q 0.96 0 0 2.4 280.08 509.82 cm /Im23 Do Q q 0.96 0 0 2.4 281.04 509.82 cm /Im23 Do Q Q []0 d 269.75 512.25 12.125 -1.75 re S q 233.5 512.25 m 245.625 512.25 l 245.625 507 l 233.5 507 l 233.5 512.25 l W* n q 0.96 0 0 5.88 244.56 506.34 cm /Im25 Do Q q 0.72 0 0 5.88 245.52 506.34 cm /Im24 Do Q Q 233.5 512.25 12.125 -5.25 re S q 197.125 512.25 m 209.25 512.25 l 209.25 503.5 l 197.125 503.5 l 197.125 512.25 l W* n q 0.96 0 0 9.36 198.48 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 199.44 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 200.4 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 201.36 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 202.32 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 203.28 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 204.24 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 205.2 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 206.16 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 207.12 502.86 cm /Im26 Do Q q 0.96 0 0 9.36 208.08 502.86 cm /Im26 Do Q q 0.84 0 0 9.36 209.04 502.86 cm /Im27 Do Q Q 197.125 512.25 12.125 -8.75 re S q 160.875 507 12.125 -3.5 re W* n q 0.96 0 0 3.6 167.76 502.86 cm /Im28 Do Q q 0.96 0 0 3.6 168.72 502.86 cm /Im28 Do Q q 0.96 0 0 3.6 169.68 502.86 cm /Im28 Do Q q 0.96 0 0 3.6 170.64 502.86 cm /Im28 Do Q q 0.96 0 0 3.6 171.6 502.86 cm /Im28 Do Q q 0.96 0 0 3.6 172.56 502.86 cm /Im28 Do Q Q 160.875 507 12.125 -3.5 re S q 269.75 510.5 12.125 -3.5 re W* n q 0.96 0 0 3.96 275.28 506.3401 cm /Im29 Do Q q 0.96 0 0 3.96 276.24 506.3401 cm /Im29 Do Q q 0.96 0 0 3.96 277.2 506.3401 cm /Im29 Do Q q 0.96 0 0 3.96 278.16 506.3401 cm /Im29 Do Q q 0.96 0 0 3.96 279.12 506.3401 cm /Im29 Do Q q 0.96 0 0 3.96 280.08 506.3401 cm /Im29 Do Q q 0.96 0 0 3.96 281.04 506.3401 cm /Im29 Do Q Q 269.75 510.5 12.125 -3.5 re S q 233.5 507 12.125 -3.5 re W* n q 0.96 0 0 3.6 244.56 502.86 cm /Im31 Do Q q 0.72 0 0 3.6 245.52 502.86 cm /Im30 Do Q Q 233.5 507 12.125 -3.5 re S q 197.125 503.5 12.125 -3.375 re W* n q 0.96 0 0 3.12 198.48 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 199.44 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 200.4 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 201.36 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 202.32 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 203.28 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 204.24 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 205.2 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 206.16 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 207.12 499.5 cm /Im32 Do Q q 0.96 0 0 3.12 208.08 499.5 cm /Im32 Do Q q 0.84 0 0 3.12 209.04 499.5 cm /Im33 Do Q Q 197.125 503.5 12.125 -3.375 re S q 160.875 503.5 12.125 -6.875 re W* n q 0.96 0 0 6.6 167.76 496.02 cm /Im34 Do Q q 0.96 0 0 6.6 168.72 496.02 cm /Im34 Do Q q 0.96 0 0 6.6 169.68 496.02 cm /Im34 Do Q q 0.96 0 0 6.6 170.64 496.02 cm /Im34 Do Q q 0.96 0 0 6.6 171.6 496.02 cm /Im34 Do Q q 0.96 0 0 6.6 172.56 496.02 cm /Im34 Do Q Q 160.875 503.5 12.125 -6.875 re S q 269.75 507 12.125 -41.5 re W* n q 0.96 0 0 15.36 275.28 491.1 cm /Im1 Do Q q 0.96 0 0 15.36 276.24 491.1 cm /Im1 Do Q q 0.96 0 0 15.36 277.2 491.1 cm /Im1 Do Q q 0.96 0 0 15.36 278.16 491.1 cm /Im1 Do Q q 0.96 0 0 15.36 279.12 491.1 cm /Im1 Do Q q 0.96 0 0 15.36 280.08 491.1 cm /Im1 Do Q q 0.96 0 0 15.36 281.04 491.1 cm /Im1 Do Q q 0.96 0 0 15.36 275.28 475.7401 cm /Im1 Do Q q 0.96 0 0 15.36 276.24 475.7401 cm /Im1 Do Q q 0.96 0 0 15.36 277.2 475.7401 cm /Im1 Do Q q 0.96 0 0 15.36 278.16 475.7401 cm /Im1 Do Q q 0.96 0 0 15.36 279.12 475.7401 cm /Im1 Do Q q 0.96 0 0 15.36 280.08 475.7401 cm /Im1 Do Q q 0.96 0 0 15.36 281.04 475.7401 cm /Im1 Do Q q 0.96 0 0 10.92 275.28 464.82 cm /Im35 Do Q q 0.96 0 0 10.92 276.24 464.82 cm /Im35 Do Q q 0.96 0 0 10.92 277.2 464.82 cm /Im35 Do Q q 0.96 0 0 10.92 278.16 464.82 cm /Im35 Do Q q 0.96 0 0 10.92 279.12 464.82 cm /Im35 Do Q q 0.96 0 0 10.92 280.08 464.82 cm /Im35 Do Q q 0.96 0 0 10.92 281.04 464.82 cm /Im35 Do Q Q 269.75 507 12.125 -41.5 re S q 233.5 503.5 12.125 -38 re W* n q 0.96 0 0 15.36 244.56 487.26 cm /Im1 Do Q q 0.72 0 0 15.36 245.52 487.26 cm /Im5 Do Q q 0.96 0 0 15.36 244.56 471.9 cm /Im1 Do Q q 0.72 0 0 15.36 245.52 471.9 cm /Im5 Do Q q 0.96 0 0 7.08 244.56 464.82 cm /Im37 Do Q q 0.72 0 0 7.08 245.52 464.82 cm /Im36 Do Q Q 233.5 503.5 12.125 -38 re S q 197.125 500.125 12.125 -34.625 re W* n q 0.96 0 0 15.36 198.48 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 199.44 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 200.4 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 201.36 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 202.32 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 203.28 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 204.24 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 205.2 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 206.16 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 207.12 484.3801 cm /Im1 Do Q q 0.96 0 0 15.36 208.08 484.3801 cm /Im1 Do Q q 0.84 0 0 15.36 209.04 484.3801 cm /Im39 Do Q q 0.96 0 0 15.36 198.48 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 199.44 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 200.4 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 201.36 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 202.32 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 203.28 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 204.24 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 205.2 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 206.16 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 207.12 469.02 cm /Im1 Do Q q 0.96 0 0 15.36 208.08 469.02 cm /Im1 Do Q q 0.84 0 0 15.36 209.04 469.02 cm /Im39 Do Q q 0.96 0 0 4.2 198.48 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 199.44 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 200.4 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 201.36 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 202.32 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 203.28 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 204.24 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 205.2 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 206.16 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 207.12 464.82 cm /Im38 Do Q q 0.96 0 0 4.2 208.08 464.82 cm /Im38 Do Q q 0.84 0 0 4.2 209.04 464.82 cm /Im40 Do Q Q 197.125 500.125 12.125 -34.625 re S q 160.875 496.625 12.125 -31.125 re W* n q 0.96 0 0 15.36 167.76 480.54 cm /Im1 Do Q q 0.96 0 0 15.36 168.72 480.54 cm /Im1 Do Q q 0.96 0 0 15.36 169.68 480.54 cm /Im1 Do Q q 0.96 0 0 15.36 170.64 480.54 cm /Im1 Do Q q 0.96 0 0 15.36 171.6 480.54 cm /Im1 Do Q q 0.96 0 0 15.36 172.56 480.54 cm /Im1 Do Q q 0.96 0 0 15.36 167.76 465.1801 cm /Im1 Do Q q 0.96 0 0 15.36 168.72 465.1801 cm /Im1 Do Q q 0.96 0 0 15.36 169.68 465.1801 cm /Im1 Do Q q 0.96 0 0 15.36 170.64 465.1801 cm /Im1 Do Q q 0.96 0 0 15.36 171.6 465.1801 cm /Im1 Do Q q 0.96 0 0 15.36 172.56 465.1801 cm /Im1 Do Q Q 160.875 496.625 12.125 -31.125 re S q 140.125 533.75 m 152.25 533.75 l 153 532 l 140.875 532 l 140.125 533.75 l W* n q 0.96 0 0 2.04 152.4 531.3 cm /Im42 Do Q Q [1 1.5 ]0 d 140.125 533.75 m 152.25 533.75 l 153 532 l 140.875 532 l 140.125 533.75 l h 140.125 532 m 152.25 532 l 152.25 507.875 l 140.125 507.875 l 140.125 532 l h 140.125 507.875 m 152.25 507.875 l 152.25 465.5 l 140.125 465.5 l 140.125 507.875 l s []0 d 124.625 593.375 12 -6.875 re 124.625 586.5 12 -79.5 re 124.625 507 12 -41.5 re S BT 10 0 0 10 89.875 530.375 Tm (s)Tj -0.0875 0.7 TD (d)Tj 0 0.6875 TD (n)Tj 0.025 0.6875 TD (o)Tj 0.025 0.6875 TD (c)Tj 0 0.7 TD (e)Tj -0.05 0.6875 TD (S)Tj 1.15 -6.5625 TD (10)Tj 0 4.8375 TD (20)Tj 0 4.4875 TD (30)Tj ET 0.75 w 112.5 603.75 m 112.5 465.5 l 112.5 465.5 m 306 465.5 l S BT 7 0 0 7 247.25 438.5 Tm (Elapsed)Tj -4.9464 -1.7321 TD [(Dynamically)-272(grown)-242.1(table)-264.2(\(right\))]TJ 8 0 0 8 90 394.5 Tm [(Figure)-511.2(6:)]TJ /TT6 1 Tf 4.6875 0 TD [(The)-507.8(total)-519.5(regions)-509.3(indicate)-506.8(the)-497.1(difference)-463.4(between)-481(the)]TJ -4.6875 -1.375 TD [(elapsed)-298.3(time)-316.4(and)-306.2(the)-309.6(sum)-317.4(of)-307.6(the)-309.6(system)-315.9(and)-306.2(user)-287.1(time.)-550.8(The)-289.1(left)-292.5(bar)]TJ T* [(of)-385.7(each)-371.6(set)-389.2(depicts)-386.2(the)-387.7(timing)-404.3(of)-385.7(the)-387.7(test)-377(run)-370.1(when)-365.2(the)-372.1(number)-367.2(of)]TJ T* [(entries)-303.2(is)-317.4(known)-309.1(in)-315.9(advance.)-521.5(The)-289.1(right)-298.8(bars)-287.1(depict)-291(the)-293.9(timing)-310.5(when)]TJ T* (the)Tj /TT8 1 Tf 1.4688 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-253.4(is)-254.9(grown)-241.7(from)-243.7(a)-243.7(single)-252(bucket.)]TJ /T1 1 Tf 10 0 0 10 90 328.5 Tm -0.0012 Tc ()Tj /TT6 1 Tf 2.15 -2.525 TD 0 Tc [(Since)-765.8(this)-755.2(hashing)-764.2(package)-787.1(provides)-768.7(buffer)]TJ -2.15 -1.1 TD [(management,)-491.1(the)-465.8(amount)-463(of)-467(space)-479.3(allocated)-478.6(for)-471.5(the)]TJ T* [(buffer)-407.1(pool)-384.7(may)-390.8(be)-393.7(speci)]TJ /TT8 1 Tf 10.5172 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-395.3(by)-387.5(the)-390.8(user.)-634(Using)-373.3(the)]TJ -11.0733 -1.1 TD [(same)-320.3(data)-322(set)-314.2(and)-318.7(test)-298.8(procedure)-327.4(as)-304.5(used)-304.5(to)-297.2(derive)-314(the)]TJ T* [(graphs)-359(in)-347.2(Figures)-350(5a-c,)-366.8(Figure)-351.7(7)-350(shows)-337(the)-340.8(impact)-341.3(of)]TJ T* [(varying)-407.8(the)-390.8(size)-395.3(of)-392(the)-390.8(buffer)-407.1(pool.)-634.7(The)-395.3(bucket)-397(size)]TJ T* [(was)-357.3(set)-339.2(to)-334.7(256)-337.5(bytes)-339.2(and)-343.7(the)]TJ /TT8 1 Tf 12.1125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-325.7(factor)-356(was)-344.8(set)-339.2(to)-334.7(16.)]TJ -12.6686 -1.1 TD [(The)-307.8(buffer)-319.6(pool)-297.2(size)-295.3(was)-294.8(varied)-301.5(from)-293.7(0)-287.5(\(the)-295.3(minimum)]TJ T* [(number)-270.3(of)-267(pages)-260.6(required)-268.5(to)-247.2(be)-256.2(buffered\))-280.3(to)-247.2(1M.)-498.3(With)]TJ T* [(1M)-285.8(of)-292(buffer)-307.1(space,)-304.3(the)-290.8(package)-312.1(performed)-297.9(no)-275(I/O)-279.5(for)]TJ T* [(this)-442.7(data)-447(set.)-689.2(As)-438.7(Figure)-439.2(7)-437.5(illustrates,)-436.8(increasing)-453.1(the)]TJ T* [(buffer)-357.1(pool)-334.7(size)-345.3(can)-349.8(have)-349.8(a)-343.7(dramatic)-352(affect)-362.1(on)-325(result-)]TJ T* [(ing)-247.2(performance.)]TJ /TT4 1 Tf 8 0 0 8 158.625 174.375 Tm (7)Tj ET 90 122.875 m 198 122.875 l S BT 8 0 0 8 95 116 Tm (7)Tj /TT6 1 Tf 9 0 0 9 103.25 112.875 Tm [(Some)-472.2(allocators)-473.9(are)-473.7(extremely)-474.2(inef)]TJ /TT8 1 Tf 14.8325 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(cient)-459.7(at)-458.9(allocating)]TJ -16.8608 -1.1111 TD [(memory.)-709.1(If)-459(you)]TJ /TT8 1 Tf 7.375 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(nd)-457.7(that)-444.9(applications)-445.7(are)-446(running)-444.7(out)-444.4(of)]TJ -7.9312 -1.1111 TD [(memory)-625.8(before)-626.8(you)-611.1(think)-611(they)-611.7(should,)-610.8(try)-611.4(varying)-612(the)]TJ T* [(pagesize)-252.1(to)-249.9(get)-250.5(better)-251.4(utilization)-250.9(from)-250.6(the)-250.5(memory)-250.8(allocator.)]TJ ET 353.75 545.125 m 353.75 548.625 l 353.75 548.625 m 357.25 548.625 l 357.25 548.625 m 357.25 545.125 l 357.25 545.125 m 353.75 545.125 l 356.625 541.5 m 356.625 544.875 l 356.625 544.875 m 360.125 544.875 l 360.125 544.875 m 360.125 541.5 l 360.125 541.5 m 356.625 541.5 l 359.5 540 m 359.5 543.375 l 359.5 543.375 m 362.875 543.375 l 362.875 543.375 m 362.875 540 l 362.875 540 m 359.5 540 l 365.25 542.25 m 365.25 545.625 l 365.25 545.625 m 368.625 545.625 l 368.625 545.625 m 368.625 542.25 l 368.625 542.25 m 365.25 542.25 l 370.875 538.875 m 370.875 542.375 l 370.875 542.375 m 374.375 542.375 l 374.375 542.375 m 374.375 538.875 l 374.375 538.875 m 370.875 538.875 l 376.625 538.125 m 376.625 541.625 l 376.625 541.625 m 380.125 541.625 l 380.125 541.625 m 380.125 538.125 l 380.125 538.125 m 376.625 538.125 l 382.375 538.125 m 382.375 541.625 l 382.375 541.625 m 385.75 541.625 l 385.75 541.625 m 385.75 538.125 l 385.75 538.125 m 382.375 538.125 l 399.5 535.5 m 399.5 539 l 399.5 539 m 402.875 539 l 402.875 539 m 402.875 535.5 l 402.875 535.5 m 399.5 535.5 l 445.125 529.25 m 445.125 532.75 l 445.125 532.75 m 448.625 532.75 l 448.625 532.75 m 448.625 529.25 l 448.625 529.25 m 445.125 529.25 l 536.5 528.875 m 536.5 532.375 l 536.5 532.375 m 539.875 532.375 l 539.875 532.375 m 539.875 528.875 l 539.875 528.875 m 536.5 528.875 l S 0.25 w [1 1.5 ]0 d 355.5 546.875 m 358.375 543.125 l 358.375 543.125 m 361.25 541.625 l 361.25 541.625 m 366.875 543.875 l 366.875 543.875 m 372.625 540.625 l 372.625 540.625 m 378.375 539.875 l 378.375 539.875 m 384 539.875 l 384 539.875 m 401.125 537.25 l 401.125 537.25 m 446.875 531 l 446.875 531 m 538.125 530.625 l S BT 9 0 0 9 528.375 522.25 Tm (User)Tj ET 0.75 w []0 d 353.75 640.625 m 353.75 640.625 l 353.75 641.557 354.506 642.312 355.437 642.312 c 356.369 642.312 357.125 641.557 357.125 640.625 c 357.125 639.693 356.369 638.938 355.437 638.938 c 354.506 638.938 353.75 639.693 353.75 640.625 c 356.625 634.375 m 356.625 634.375 l 356.625 635.306 357.381 636.062 358.312 636.062 c 359.244 636.062 360 635.306 360 634.375 c 360 633.443 359.244 632.688 358.312 632.688 c 357.381 632.688 356.625 633.443 356.625 634.375 c 359.5 633.625 m 359.5 633.625 l 359.5 634.556 360.256 635.313 361.187 635.313 c 362.119 635.313 362.875 634.556 362.875 633.625 c 362.875 632.693 362.119 631.937 361.187 631.937 c 360.256 631.937 359.5 632.693 359.5 633.625 c 365.125 624.375 m 365.125 624.375 l 365.125 625.306 365.881 626.062 366.812 626.062 c 367.744 626.062 368.5 625.306 368.5 624.375 c 368.5 623.443 367.744 622.687 366.812 622.687 c 365.881 622.687 365.125 623.443 365.125 624.375 c 370.875 618.875 m 370.875 618.875 l 370.875 619.807 371.631 620.563 372.562 620.563 c 373.494 620.563 374.25 619.807 374.25 618.875 c 374.25 617.943 373.494 617.187 372.562 617.187 c 371.631 617.187 370.875 617.943 370.875 618.875 c 376.625 610.75 m 376.625 610.75 l 376.625 611.681 377.381 612.437 378.312 612.437 c 379.244 612.437 380 611.681 380 610.75 c 380 609.818 379.244 609.062 378.312 609.062 c 377.381 609.062 376.625 609.818 376.625 610.75 c 382.375 604.875 m 382.375 604.875 l 382.375 605.806 383.131 606.562 384.062 606.562 c 384.994 606.562 385.75 605.806 385.75 604.875 c 385.75 603.943 384.994 603.188 384.062 603.188 c 383.131 603.188 382.375 603.943 382.375 604.875 c 399.5 581.25 m 399.5 581.25 l 399.5 582.182 400.256 582.937 401.187 582.937 c 402.119 582.937 402.875 582.182 402.875 581.25 c 402.875 580.318 402.119 579.563 401.187 579.563 c 400.256 579.563 399.5 580.318 399.5 581.25 c 445.125 528.375 m 445.125 528.375 l 445.125 529.306 445.881 530.062 446.812 530.062 c 447.744 530.062 448.5 529.306 448.5 528.375 c 448.5 527.443 447.744 526.687 446.812 526.687 c 445.881 526.687 445.125 527.443 445.125 528.375 c 536.5 505.125 m 536.5 505.125 l 536.5 506.056 537.256 506.812 538.187 506.812 c 539.119 506.812 539.875 506.056 539.875 505.125 c 539.875 504.193 539.119 503.437 538.187 503.437 c 537.256 503.437 536.5 504.193 536.5 505.125 c S 0.25 w [4 1.5 1 1.5 ]0 d 355.5 640.625 m 358.375 634.375 l 358.375 634.375 m 361.25 633.625 l 361.25 633.625 m 366.875 624.375 l 366.875 624.375 m 372.625 618.875 l 372.625 618.875 m 378.375 610.75 l 378.375 610.75 m 384 604.875 l 384 604.875 m 401.125 581.25 l 401.125 581.25 m 446.875 528.375 l 446.875 528.375 m 538.125 505.125 l S BT 9 0 0 9 522.625 508.25 Tm (System)Tj ET 0.75 w []0 d 355.5 719.125 m 355.5 715.625 l 355.5 715.625 m 355.5 717.375 l 355.5 717.375 m 357.25 717.375 l 357.25 717.375 m 353.75 717.375 l 358.375 708 m 358.375 704.625 l 358.375 704.625 m 358.375 706.375 l 358.375 706.375 m 360.125 706.375 l 360.125 706.375 m 356.625 706.375 l 361.25 704.375 m 361.25 700.875 l 361.25 700.875 m 361.25 702.625 l 361.25 702.625 m 362.875 702.625 l 362.875 702.625 m 359.5 702.625 l 366.875 689.625 m 366.875 686.125 l 366.875 686.125 m 366.875 687.875 l 366.875 687.875 m 368.625 687.875 l 368.625 687.875 m 365.25 687.875 l 372.625 685.875 m 372.625 682.375 l 372.625 682.375 m 372.625 684.125 l 372.625 684.125 m 374.375 684.125 l 374.375 684.125 m 370.875 684.125 l 378.375 678.5 m 378.375 675.125 l 378.375 675.125 m 378.375 676.75 l 378.375 676.75 m 380.125 676.75 l 380.125 676.75 m 376.625 676.75 l 384 663.75 m 384 660.375 l 384 660.375 m 384 662 l 384 662 m 385.75 662 l 385.75 662 m 382.375 662 l 401.125 630.5 m 401.125 627.125 l 401.125 627.125 m 401.125 628.875 l 401.125 628.875 m 402.875 628.875 l 402.875 628.875 m 399.5 628.875 l 446.875 564.125 m 446.875 560.625 l 446.875 560.625 m 446.875 562.375 l 446.875 562.375 m 448.625 562.375 l 448.625 562.375 m 445.125 562.375 l 538.125 534.625 m 538.125 531.125 l 538.125 531.125 m 538.125 532.875 l 538.125 532.875 m 539.875 532.875 l 539.875 532.875 m 536.5 532.875 l S 1.25 w 355.5 717.375 m 358.375 706.375 l 358.375 706.375 m 361.25 702.625 l 361.25 702.625 m 366.875 687.875 l 366.875 687.875 m 372.625 684.125 l 372.625 684.125 m 378.375 676.75 l 378.375 676.75 m 384 662 l 384 662 m 401.125 628.875 l 401.125 628.875 m 446.875 562.375 l 446.875 562.375 m 538.125 532.875 l S BT 9 0 0 9 541 529.125 Tm (Total)Tj ET 355.5 503.25 m 538.125 503.25 l 355.5 503.25 m 355.5 724.75 l 355.5 503.25 m 355.5 501 l S 0.25 w [1 1.5 ]0 d 355.5 503.25 m 355.5 724.75 l S BT 9 0 0 9 353.25 490 Tm (0)Tj ET 1.25 w []0 d 401.125 503.25 m 401.125 501 l S 0.25 w [1 1.5 ]0 d 401.125 503.25 m 401.125 724.75 l S BT 9 0 0 9 394.375 490 Tm (256)Tj ET 1.25 w []0 d 446.875 503.25 m 446.875 501 l S 0.25 w [1 1.5 ]0 d 446.875 503.25 m 446.875 724.75 l S BT 9 0 0 9 440.125 490 Tm (512)Tj ET 1.25 w []0 d 492.5 503.25 m 492.5 501 l S 0.25 w [1 1.5 ]0 d 492.5 503.25 m 492.5 724.75 l S BT 9 0 0 9 485.75 490 Tm (768)Tj ET 1.25 w []0 d 538.125 503.25 m 538.125 501 l S 0.25 w [1 1.5 ]0 d 538.125 503.25 m 538.125 724.75 l S BT 9 0 0 9 529.125 490 Tm (1024)Tj ET 1.25 w []0 d 355.5 503.25 m 353.25 503.25 l S 0.25 w [1 1.5 ]0 d 355.5 503.25 m 538.125 503.25 l S BT 9 0 0 9 346.375 499.5 Tm (0)Tj ET 1.25 w []0 d 355.5 540.25 m 353.25 540.25 l 355.5 577.125 m 353.25 577.125 l S 0.25 w [1 1.5 ]0 d 355.5 577.125 m 538.125 577.125 l S BT 9 0 0 9 341.875 573.375 Tm (20)Tj ET 1.25 w []0 d 355.5 614.125 m 353.25 614.125 l 355.5 651 m 353.25 651 l S 0.25 w [1 1.5 ]0 d 355.5 651 m 538.125 651 l S BT 9 0 0 9 341.875 647.25 Tm (40)Tj ET 1.25 w []0 d 355.5 687.875 m 353.25 687.875 l 355.5 724.75 m 353.25 724.75 l S 0.25 w [1 1.5 ]0 d 355.5 724.75 m 538.125 724.75 l S BT 9 0 0 9 341.875 721 Tm (60)Tj 7 -27.2361 TD [(Buffer)-251.2(Pool)-249.4(Size)-250.5(\(in)-250.3(K\))]TJ -7.5556 17.6389 TD (S)Tj 0.0556 -0.9028 TD (e)Tj 0 -0.8889 TD (c)Tj -0.0278 -0.8889 TD (o)Tj 0 -0.9028 TD (n)Tj 0 -0.8889 TD (d)Tj 0.0556 -0.8889 TD (s)Tj /TT2 1 Tf 8 0 0 8 338.25 445.375 Tm [(Figure)-323.7(7:)]TJ /TT6 1 Tf 4.3125 0 TD [(User)-314.9(time)-332(is)-333(virtually)-330.6(insensitive)-316.4(to)-315.9(the)-309.6(amount)-313(of)-307.6(buffer)]TJ -4.3125 -1.375 TD [(pool)-503.4(available,)-484.9(however,)-463.4(both)-487.8(system)-487.8(time)-488.3(and)-478(elapsed)-470.2(time)-488.3(are)]TJ T* [(inversely)-303.2(proportional)-306.6(to)-315.9(the)-309.6(size)-304.7(of)-307.6(the)-293.9(buffer)-275.9(pool.)-550.3(Even)-289.1(for)-287.1(large)]TJ T* [(data)-287.6(sets)-296.9(where)-275.9(one)-274.9(expects)-267.1(few)-266.6(collisions,)-291.5(specifying)-272(a)-274.9(large)-267.1(buffer)]TJ T* [(pool)-253.4(dramatically)-236.8(improves)-247.1(performance.)]TJ /T1 1 Tf 10 0 0 10 338.25 379.375 Tm -0.0012 Tc ()Tj /TT2 1 Tf 5.8625 -3.025 TD 0 Tc [(Enhanced)-233.2(Functionality)]TJ /TT6 1 Tf -3.7125 -1.65 TD [(This)-322.2(hashing)-314.2(package)-337.1(provides)-318.7(a)-318.6(set)-314.2(of)-317(compati-)]TJ -2.15 -1.1 TD [(bility)-251.2(routines)-265.8(to)-259.7(implement)-260.6(the)]TJ /TT4 1 Tf 12.9125 0 TD (ndbm)Tj /TT6 1 Tf 2.475 0 TD [(interface.)-527.9(How-)]TJ -15.3875 -1.1 TD [(ever,)-366.8(when)-359(the)-340.8(native)-344.1(interface)-365.4(is)-333(used,)-342(the)-340.8(following)]TJ T* [(additional)-251(functionality)-252.6(is)-245.5(provided:)]TJ /T1 1 Tf 1.15 -1.65 TD ()Tj /TT6 1 Tf 1.85 0 TD [(Inserts)-471.5(never)-479.3(fail)-455(because)-473(too)-447.2(many)-453.3(keys)]TJ 0 -1.1 TD [(hash)-254.5(to)-247.2(the)-253.3(same)-257.8(value.)]TJ /T1 1 Tf -1.85 -1.1 TD ()Tj /TT6 1 Tf 1.85 0 TD [(Inserts)-346.5(never)-354.3(fail)-342.5(because)-347.9(key)-331.1(and/or)-332.8(asso-)]TJ 0 -1.1 TD [(ciated)-262.8(data)-259.5(is)-245.5(too)-247.2(large)]TJ /T1 1 Tf -1.85 -1.1 TD ()Tj /TT6 1 Tf 1.85 0 TD [(Hash)-257.3(functions)-253.3(may)-253.3(be)-256.2(user-speci)]TJ /TT8 1 Tf 13.5162 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (ed.)Tj /T1 1 Tf -15.9224 -1.1 TD ()Tj /TT6 1 Tf 1.85 0 TD [(Multiple)-580.7(pages)-598.1(may)-590.8(be)-593.7(cached)-612.1(in)-584.7(main)]TJ 0 -1.1 TD (memory.)Tj -3 -1.65 TD [(It)-576.7(also)-576.7(provides)-581.2(a)-581.2(set)-564.2(of)-567(compatibility)-555(routines)-565.8(to)]TJ 0 -1.1 TD [(implement)-485.6(the)]TJ /TT4 1 Tf 6.475 0 TD (hsearch)Tj /TT6 1 Tf 3.65 0 TD [(interface.)-752.9(Again,)-481.2(the)-478.3(native)]TJ -10.125 -1.1 TD [(interface)-277.9(offers)-268(enhanced)-274.6(functionality:)]TJ /T1 1 Tf 1.15 -1.65 TD ()Tj /TT6 1 Tf 1.85 0 TD [(Files)-242.7(may)-253.3(grow)-257.3(beyond)]TJ /TT4 1 Tf 9.675 0 TD (nelem)Tj /TT6 1 Tf 2.65 0 TD (elements.)Tj /T1 1 Tf -14.175 -1.1 TD ()Tj /TT6 1 Tf 1.85 0 TD [(Multiple)-318.2(hash)-329.5(tables)-317.5(may)-315.8(be)-318.7(accessed)-339.9(con-)]TJ 0 -1.1 TD (currently.)Tj /T1 1 Tf -1.85 -1.1 TD ()Tj /TT6 1 Tf 1.85 0 TD [(Hash)-294.8(tables)-292.5(may)-290.8(be)-293.7(stored)-293.7(and)-293.6(accessed)-302.4(on)]TJ 0 -1.1 TD (disk.)Tj /T1 1 Tf -1.85 -1.1 TD ()Tj /TT6 1 Tf 1.85 0 TD [(Hash)-557.3(functions)-553.3(may)-553.3(be)-556.2(user-speci)]TJ /TT8 1 Tf 14.7162 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-558.8(at)]TJ -15.2724 -1.1 TD (runtime.)Tj /TT2 1 Tf -27.825 -4.9125 TD (USENIX)Tj /TT7 1 Tf 4.025 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)-31223.3(9)]TJ ET endstream endobj 55 0 obj << /ProcSet [/PDF /Text /ImageB ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /T1 20 0 R >> /XObject << /Im1 32 0 R /Im5 36 0 R /Im16 56 0 R /Im17 57 0 R /Im18 58 0 R /Im19 59 0 R /Im20 60 0 R /Im21 61 0 R /Im22 62 0 R /Im23 63 0 R /Im24 64 0 R /Im25 65 0 R /Im26 66 0 R /Im27 67 0 R /Im28 68 0 R /Im29 69 0 R /Im30 70 0 R /Im31 71 0 R /Im32 72 0 R /Im33 73 0 R /Im34 74 0 R /Im35 75 0 R /Im36 76 0 R /Im37 77 0 R /Im38 78 0 R /Im39 79 0 R /Im40 80 0 R /Im42 81 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 83 0 obj << /Length 12813 >> stream BT /TT2 1 Tf 10 0 0 10 54 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)-25569.3(Seltzer)-270.1(&)-254.5(Yigit)]TJ 0.3375 -3.5 TD [(Relative)-264(Performance)-285.3(of)-254.5(the)-254.5(New)-261.8(Implementation)]TJ /TT6 1 Tf 1.8125 -1.65 TD [(The)-407.8(performance)-435.3(testing)-396(of)-404.5(the)-403.3(new)-409(package)-412.1(is)]TJ -2.15 -1.1 TD [(divided)-488(into)-481.8(two)-487.5(test)-486.3(suites.)-484.7(The)]TJ /TT8 1 Tf 14.45 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(rst)-481.3(suite)-486.3(of)-479.5(tests)]TJ -15.0062 -1.1 TD [(requires)-466.8(that)-438(the)-440.8(tables)-442.5(be)-443.7(read)-454.3(from)-443.6(and)-443.7(written)-442.5(to)]TJ T* [(disk.)-683(In)-442(these)-445.3(tests,)-434.7(the)-440.8(basis)-437.5(for)-434(comparison)-434.5(is)-420.5(the)]TJ T* [(4.3BSD-Reno)-310.8(version)-318.7(of)]TJ /TT4 1 Tf 10.35 0 TD (ndbm)Tj /TT6 1 Tf 2.225 0 TD [(.)-550(Based)-306.2(on)-300(the)-303.3(designs)]TJ -12.575 -1.1 TD (of)Tj /TT4 1 Tf 1.1125 0 TD (sdbm)Tj /TT6 1 Tf 2.3875 0 TD (and)Tj /TT4 1 Tf 1.725 0 TD (gdbm)Tj /TT6 1 Tf 2.225 0 TD [(,)-275(they)-278.3(are)-291.8(expected)-296.8(to)-272.2(perform)-291.8(simi-)]TJ -7.45 -1.1 TD [(larly)-330(to)]TJ /TT4 1 Tf 3.2625 0 TD (ndbm)Tj /TT6 1 Tf 2.225 0 TD [(,)-325(and)-331.2(we)-334(do)-325(not)-322.2(show)-326.2(their)-330(performance)]TJ -5.4875 -1.1 TD [(numbers.)-906.2(The)-657.8(second)-660.6(suite)-636.3(contains)-642.5(the)-640.8(memory)]TJ T* [(resident)-334.5(test)-323.8(which)-331.2(does)-317(not)-309.7(require)-331(that)-313(the)]TJ /TT8 1 Tf 18.2375 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(les)-308(ever)]TJ -18.7937 -1.1 TD [(be)-318.7(written)-305(to)-297.2(disk,)-295.5(only)-297.2(that)-300.5(hash)-304.5(tables)-305(may)-303.3(be)-306.2(mani-)]TJ T* [(pulated)-306.6(in)-297.2(main)-288(memory.)-542.5(In)-292(this)-280.2(test,)-286.3(we)-296.5(compare)-307.6(the)]TJ T* [(performance)-285.3(to)-247.2(that)-250.5(of)-254.5(the)]TJ /TT4 1 Tf 10.675 0 TD (hsearch)Tj /TT6 1 Tf 3.425 0 TD (routines.)Tj -11.95 -1.425 TD [(For)-560.8(both)-559.7(suites,)-559.7(two)-550(different)-570.1(databases)-568.5(were)]TJ -2.15 -1.1 TD [(used.)-717(The)]TJ /TT8 1 Tf 4.825 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(rst)-456.3(is)-458(the)-465.8(dictionary)-470.8(database)-482.6(described)]TJ -5.3812 -1.1 TD [(previously.)-578.3(The)-332.8(second)-335.6(was)-319.8(constructed)-328.1(from)-318.7(a)-318.6(pass-)]TJ T* (word)Tj /TT8 1 Tf 2.6875 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-622.2(with)-609.7(approximately)-624.1(300)-612.5(accounts.)-876.5(Two)]TJ -3.2437 -1.1 TD [(records)-407.1(were)-394.6(constructed)-390.6(for)-384(each)-393.5(account.)-640.6(The)]TJ /TT8 1 Tf 20.4 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (rst)Tj -20.9562 -1.1 TD [(used)-317(the)-315.8(logname)-319.1(as)-317(the)-315.8(key)-318.7(and)-318.7(the)-315.8(remainder)-334.3(of)-304.5(the)]TJ T* [(password)-422.7(entry)-407.8(for)-409(the)-403.3(data.)-659.5(The)-407.8(second)-410.6(was)-407.3(keyed)]TJ T* [(by)-362.5(uid)-359.7(and)-368.7(contained)-362.8(the)-353.3(entire)-361.1(password)-360.2(entry)-357.8(as)-354.5(its)]TJ T* (data)Tj /TT8 1 Tf 1.9625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(eld.)-534.7(The)-295.3(tests)-284.7(were)-307.1(all)-275.5(run)-279.5(on)-275(the)-278.3(HP)-271.7(9000)-275(with)]TJ -2.5187 -1.1 TD [(the)-553.3(same)-557.8(con)]TJ /TT8 1 Tf 5.8313 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(guration)-555(previously)-553.3(described.)-806(Each)]TJ -6.3875 -1.1 TD [(test)-411.3(was)-419.8(run)]TJ /TT8 1 Tf 5.525 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ve)-412.5(times)-396(and)-406.2(the)-403.3(timing)-388.7(results)-401.7(of)-404.5(the)]TJ -6.0812 -1.1 TD [(runs)-402.8(were)-419.6(averaged.)-679.1(The)-407.8(variance)-426.3(across)-413.5(the)-403.3(5)-387.5(runs)]TJ T* [(was)-432.3(approximately)-436.6(1%)-429.5(of)-429.5(the)-428.3(average)-441.6(yielding)-410.2(95%)]TJ T* (con)Tj /TT8 1 Tf 1.4438 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(dence)-268.5(intervals)-256.6(of)-254.5(approximately)-261.6(2%.)]TJ /TT2 1 Tf 5.3625 -1.925 TD [(Disk)-242.2(Based)-243.8(Tests)]TJ /TT6 1 Tf -5.2125 -1.65 TD [(In)-279.5(these)-282.8(tests,)-272.2(we)-284(use)-267(a)-268.7(bucket)-272(size)-270.3(of)-267(1024)-262.5(and)-268.7(a)]TJ /TT8 1 Tf -2.15 -1.1 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-238.2(factor)-268.5(of)-254.5(32.)]TJ /TT2 1 Tf -0.5562 -1.425 TD [(create)-279.1(test)]TJ /TT6 1 Tf 1.4375 -1.425 TD [(The)-395.3(keys)-392(are)-404.3(entered)-407.6(into)-369.3(the)-378.3(hash)-379.5(table,)-381.6(and)-381.2(the)]TJ /TT8 1 Tf 0 -1.1 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-247.2(is)]TJ /TT8 1 Tf 1.8813 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ushed)-248.3(to)-247.2(disk.)]TJ /TT2 1 Tf -4.4312 -1.425 TD [(read)-256.2(test)]TJ /TT6 1 Tf 1.4375 -1.425 TD [(A)-440.3(lookup)-434.7(is)-420.5(performed)-447.9(for)-434(each)-443.5(key)-431.2(in)-422.2(the)-428.3(hash)]TJ 0 -1.1 TD (table.)Tj /TT2 1 Tf -1.4375 -1.425 TD [(verify)-264(test)]TJ /TT6 1 Tf 1.4375 -1.425 TD [(A)-440.3(lookup)-434.7(is)-420.5(performed)-447.9(for)-434(each)-443.5(key)-431.2(in)-422.2(the)-428.3(hash)]TJ 0 -1.1 TD [(table,)-456.6(and)-456.2(the)-453.3(data)-459.5(returned)-468.5(is)-445.5(compared)-470.1(against)]TJ T* [(that)-250.5(originally)-249.3(stored)-256.2(in)-247.2(the)-253.3(hash)-254.5(table.)]TJ /TT2 1 Tf -1.4375 -1.425 TD [(sequential)-241(retrieve)]TJ /TT6 1 Tf 1.4375 -1.425 TD [(All)-309.7(keys)-317(are)-329.3(retrieved)-334.3(in)-297.2(sequential)-308.3(order)-315.1(from)-306.2(the)]TJ 0 -1.1 TD [(hash)-379.5(table.)-631.6(The)]TJ /TT4 1 Tf 6.975 0 TD (ndbm)Tj /TT6 1 Tf 2.6 0 TD [(interface)-402.9(allows)-364.2(sequential)]TJ -9.575 -1.1 TD [(retrieval)-431.4(of)-417(the)-415.8(keys)-417(from)-418.7(the)-403.3(database,)-420.1(but)-397.2(does)]TJ T* [(not)-647.2(return)-662.3(the)-640.8(data)-647(associated)-653.1(with)-634.7(each)-656(key.)]TJ T* [(Therefore,)-583.6(we)-559(compare)-570.1(the)-553.3(performance)-572.8(of)-542(the)]TJ T* [(new)-284(package)-299.6(to)-272.2(two)-275(different)-295.1(runs)-277.8(of)]TJ /TT4 1 Tf 15.2 0 TD (ndbm)Tj /TT6 1 Tf 2.225 0 TD [(.)-512.5(I)0(n)-267(the)]TJ /TT8 1 Tf -17.425 -1.1 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(rst)-318.8(case,)]TJ /TT4 1 Tf 3.6313 0 TD (ndbm)Tj /TT6 1 Tf 2.55 0 TD [(returns)-335.6(only)-322.2(the)-328.3(keys)-329.5(while)-315.8(in)-309.7(the)]TJ -6.7375 -1.1 TD (second,)Tj /TT4 1 Tf 3.45 0 TD (ndbm)Tj /TT6 1 Tf 2.6375 0 TD [(returns)-423.1(both)-409.7(the)-415.8(keys)-417(and)-406.2(the)-403.3(data)]TJ -6.0875 -1.1 TD [(\(requiring)-339(a)-331.2(second)-323.1(call)-319.1(to)-309.7(the)-315.8(library\).)-576.5(There)-331(is)-308(a)]TJ T* [(single)-323.8(run)-329.5(for)-334(the)-328.3(new)-321.5(library)-322(since)-320.3(it)-306.8(returns)-323.1(both)]TJ T* [(the)-253.3(key)-256.2(and)-256.2(the)-253.3(data.)]TJ /TT2 1 Tf 30.8375 60.95 TD [(In-Memory)-269.6(Test)]TJ /TT6 1 Tf -5.3 -1.65 TD [(This)-309.7(test)-298.8(uses)-302.8(a)-306.1(bucket)-309.5(size)-307.8(of)-304.5(256)-300(and)-306.2(a)]TJ /TT8 1 Tf 16.825 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ll)-288.2(fac-)]TJ -19.5312 -1.1 TD [(tor)-251.7(of)-254.5(8.)]TJ /TT2 1 Tf 0 -1.425 TD [(create/read)-282.4(test)]TJ /TT6 1 Tf 1.4375 -1.425 TD [(In)-342(this)-330.2(test,)-336.3(a)-331.2(hash)-329.5(table)-331.6(is)-320.5(created)-351.3(by)-325(inserting)-325.5(all)]TJ 0 -1.1 TD [(the)-365.8(key/data)-375.3(pairs.)-618.6(Then)-370.3(a)-368.7(keyed)-374.8(retrieval)-381.5(is)-345.5(per-)]TJ T* [(formed)-462.3(for)-459(each)-468.5(pair,)-445.3(and)-443.7(the)-440.8(hash)-442(table)-444.1(is)-433(des-)]TJ T* (troyed.)Tj /TT2 1 Tf 5.0625 -1.925 TD [(Performance)-285.3(Results)]TJ /TT6 1 Tf -4.35 -1.65 TD [(Figures)-450(8a)-456.2(and)-456.2(8b)-450(show)-451.2(the)-453.3(user)-459(time,)-435.2(system)]TJ -2.15 -1.1 TD [(time,)-347.7(and)-356.2(elapsed)-364(time)-347.7(for)-346.5(each)-356(test)-336.3(for)-346.5(both)-334.7(the)-340.8(new)]TJ T* [(implementation)-386.1(and)-393.7(the)-390.8(old)-384.7(implementation)-386.1(\()]TJ /TT4 1 Tf 18.775 0 TD (hsearch)Tj /TT6 1 Tf -18.775 -1.1 TD (or)Tj /TT4 1 Tf 1.375 0 TD (ndbm)Tj /TT6 1 Tf 2.225 0 TD [(,)-537.5(whichever)-560.4(is)-533(appropriate\))-551.3(as)-529.5(well)-528.3(as)-529.5(the)]TJ -3.6 -1.1 TD [(improvement.)-805.5(The)-557.8(improvement)-555.5(is)-545.5(expressed)-569.6(as)-554.5(a)]TJ T* [(percentage)-282.4(of)-254.5(the)-253.3(old)-247.2(running)-251.7(time:)]TJ /TT11 1 Tf 8 0 0 8 302.25 507.625 Tm -0.005 Tc [(%)-592.4(=)-592.4(100)-579.7(*)-592.4(\(old_time)]TJ 11.875 0 TD -0.0066 Tc [(-)-594(new_time\))]TJ 7.125 0 TD 0 Tc [(/)-587.4(old_time)]TJ /TT6 1 Tf 10 0 0 10 323.75 467 Tm [(In)-542(nearly)-551.5(all)-538(cases,)-540.1(the)-528.3(new)-534(routines)-528.3(perform)]TJ -2.15 -1.1 TD [(better)-348.6(than)-340.8(the)-340.8(old)-334.7(routines)-340.8(\(both)]TJ /TT4 1 Tf 13.8625 0 TD (hsearch)Tj /TT6 1 Tf 3.5 0 TD (and)Tj /TT4 1 Tf 1.775 0 TD (ndbm)Tj /TT6 1 Tf 2.225 0 TD (\).)Tj -21.3625 -1.1 TD [(Although)-434.7(the)]TJ /TT2 1 Tf 5.875 0 TD (create)Tj /TT6 1 Tf 3.075 0 TD [(tests)-434.7(exhibit)-422.7(superior)-435.6(user)-434(time)]TJ -8.95 -1.1 TD [(performance,)-335.3(the)-303.3(test)-298.8(time)-297.7(is)-295.5(dominated)-303.8(by)-287.5(the)-290.8(cost)-289.2(of)]TJ T* [(writing)-348.8(the)-353.3(actual)]TJ /TT8 1 Tf 7.5625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-347.2(to)-347.2(disk.)-595.5(For)-348.3(the)-353.3(large)-351.5(database)]TJ -8.1187 -1.1 TD [(\(the)-270.3(dictionary\),)-275.3(this)-255.2(completely)-269.6(overwhelmed)-270.1(the)-253.3(sys-)]TJ T* [(tem)-400.5(time.)-635.2(However,)-410(for)-396.5(the)-390.8(small)-383.5(data)-397(base,)-398.1(we)-396.5(see)]TJ T* [(that)-388(differences)-421.1(in)-384.7(both)-384.7(user)-396.5(and)-393.7(system)-372.2(time)-372.7(contri-)]TJ T* [(bute)-253.3(to)-247.2(the)-253.3(superior)-260.6(performance)-285.2(of)-254.5(the)-253.3(new)-259(package.)]TJ 2.15 -1.425 TD (The)Tj /TT2 1 Tf 2.175 0 TD (read)Tj /TT6 1 Tf 1.95 0 TD (,)Tj /TT2 1 Tf 0.8625 0 TD (verify)Tj /TT6 1 Tf 2.5125 0 TD [(,)-612.5(and)]TJ /TT2 1 Tf 2.925 0 TD (sequential)Tj /TT6 1 Tf 4.925 0 TD [(results)-601.7(are)]TJ -17.5 -1.1 TD [(deceptive)-418.9(for)-396.5(the)-390.8(small)-383.5(database)-407.6(since)-395.3(the)-390.8(entire)-398.6(test)]TJ T* [(ran)-385.6(in)-372.2(under)-385.6(a)-381.2(second.)-635.6(However,)-397.5(on)-362.5(the)-365.8(larger)-381(data-)]TJ T* [(base)-373.1(the)]TJ /TT2 1 Tf 3.725 0 TD (read)Tj /TT6 1 Tf 2.3 0 TD (and)Tj /TT2 1 Tf 1.8 0 TD (verify)Tj /TT6 1 Tf 2.8625 0 TD [(tests)-347.2(bene)]TJ /TT8 1 Tf 4.0127 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(t)-353.3(from)-356.2(the)-353.3(cach-)]TJ -15.2563 -1.1 TD [(ing)-322.2(of)-329.5(buckets)-332.8(in)-322.2(the)-328.3(new)-334(package)-337.1(to)-309.7(improve)-317.5(perfor-)]TJ T* [(mance)-490.6(by)-475(over)-485.6(80%.)-467(Since)-465.8(the)]TJ /TT8 1 Tf 13.7625 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD (rst)Tj /TT2 1 Tf 1.4563 0 TD (sequential)Tj /TT6 1 Tf 4.7875 0 TD (test)Tj -20.5625 -1.1 TD [(does)-417(not)-409.7(require)]TJ /TT4 1 Tf 7.2 0 TD (ndbm)Tj /TT6 1 Tf 2.6375 0 TD [(to)-397.2(return)-412.3(the)-403.3(data)-409.5(values,)-407.8(the)]TJ -9.8375 -1.1 TD [(user)-271.5(time)-247.7(is)-245.5(lower)-260.6(than)-253.3(for)-259(the)-253.3(new)-259(package.)-524.6(However)]TJ T* [(when)-271.5(we)-271.5(require)-281(both)-247.2(packages)-272.9(to)-247.2(return)-262.3(data,)-259.5(the)-253.3(new)]TJ T* [(package)-274.6(excels)-264(in)-247.2(all)-250.5(three)-264(timings.)]TJ 2.15 -1.425 TD [(The)-732.8(small)-708.5(database)-732.6(runs)-715.3(so)-710.8(quickly)-713(in)-709.7(the)]TJ -2.15 -1.1 TD [(memory-resident)-443.9(case)-441.8(that)-413(the)-415.8(results)-414.2(are)-429.3(uninterest-)]TJ T* [(ing.)-609.7(However,)-385(for)-371.5(the)-365.8(larger)-381(database)-382.6(the)-365.8(new)-359(pack-)]TJ T* [(age)-474.8(pays)-467(a)-468.7(small)-446(penalty)-456.6(in)-447.2(system)-447.2(time)-447.7(because)-473(it)]TJ T* [(limits)-446.7(its)-455.2(main)-450.5(memory)-455(utilization)-445.3(and)-456.2(swaps)-455.7(pages)]TJ T* [(out)-372.2(to)-372.2(temporary)-390.6(storage)-387.3(in)-372.2(the)]TJ /TT8 1 Tf 13.325 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-372.2(system)-372.2(while)-378.3(the)]TJ /TT4 1 Tf -13.8812 -1.1 TD (hsearch)Tj /TT6 1 Tf 3.5 0 TD [(package)-349.6(requires)-341.8(that)-325.5(the)-328.3(application)-319.6(allocate)]TJ -3.5 -1.1 TD [(enough)-481.1(space)-491.8(for)-484(all)-475.5(key/data)-475.3(pair.)-720.3(However,)-485(even)]TJ T* [(with)-497.2(the)-503.3(system)-497.2(time)-497.7(penalty,)-494.1(the)-490.8(resulting)-488(elapsed)]TJ T* [(time)-247.7(improves)-253.3(by)-250(over)-260.6(50%.)]TJ /TT2 1 Tf -24.825 -10.55 TD [(10)-30725(USENIX)]TJ /TT7 1 Tf 35.75 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)]TJ ET endstream endobj 84 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /TT11 15 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 86 0 obj << /Length 16106 >> stream BT /TT2 1 Tf 10 0 0 10 90 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(Seltzer)-270.1(&)-254.5(Yigit)-25564.2(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)]TJ /T1 1 Tf 2.35 -2.45 TD ()Tj 0.2375 0 TD ()Tj /TT4 1 Tf 5.65 -1.15 TD [(hash)-1523.3(ndbm)-1502.8(%change)]TJ /T1 1 Tf -5.8875 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.15 TD (CREATE)Tj /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-2071.5(6.4)-1837.5(12.2)-3275(48)]TJ 0.4 -1.1 TD [(sys)-1559.2(32.5)-1837.5(34.7)-3775(6)]TJ /TT2 1 Tf -1.8875 -1.1 TD (elapsed)Tj /T1 1 Tf 3.8 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 0.925 -2.3 TD (90.4)Tj /T1 1 Tf 2.4625 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.125 -2.3 TD (99.6)Tj /T1 1 Tf 2.65 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 2.875 -2.3 TD (9)Tj /T1 1 Tf -15.0625 0.05 TD ()Tj 0.2375 0 TD ()Tj -0.2375 -0.2 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.05 TD (READ)Tj /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-2071.5(3.4)-2337.5(6.1)-3275(44)]TJ 0.4 -1.1 TD [(sys)-2059.2(1.2)-1837.5(15.3)-3275(92)]TJ /TT2 1 Tf -1.8875 -1.1 TD (elapsed)Tj /T1 1 Tf 3.8 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.425 -2.3 TD (4.0)Tj /T1 1 Tf 1.9625 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.125 -2.3 TD (21.2)Tj /T1 1 Tf 2.65 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 2.375 -2.3 TD (81)Tj /T1 1 Tf -14.5625 0.05 TD ()Tj 0.2375 0 TD ()Tj -0.2375 -0.2 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.05 TD (VERIFY)Tj /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-2071.5(3.5)-2337.5(6.3)-3275(44)]TJ 0.4 -1.1 TD [(sys)-2059.2(1.2)-1837.5(15.3)-3275(92)]TJ /TT2 1 Tf -1.8875 -1.1 TD (elapsed)Tj /T1 1 Tf 3.8 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.425 -2.3 TD (4.0)Tj /T1 1 Tf 1.9625 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.125 -2.3 TD (21.2)Tj /T1 1 Tf 2.65 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 2.375 -2.3 TD (81)Tj /T1 1 Tf -14.5625 0.05 TD ()Tj 0.2375 0 TD ()Tj -0.2375 -0.2 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.05 TD (SEQUENTIAL)Tj /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-2071.5(2.7)-2337.5(1.9)-2937.5(-42)]TJ 0.4 -1.1 TD [(sys)-2059.2(0.7)-2337.5(3.9)-3275(82)]TJ /TT2 1 Tf -1.8875 -1.1 TD (elapsed)Tj /T1 1 Tf 3.8 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.425 -2.3 TD (3.0)Tj /T1 1 Tf 1.9625 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.625 -2.3 TD (5.0)Tj /T1 1 Tf 2.15 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 2.375 -2.3 TD (40)Tj /T1 1 Tf -14.5625 0.05 TD ()Tj 0.2375 0 TD ()Tj -0.2375 -0.2 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.05 TD [(SEQUENTIAL)-266.3(\(with)-251.7(data)-259.5(retrieval\))]TJ /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-2071.5(2.7)-2337.5(8.2)-3275(67)]TJ 0.4 -1.1 TD [(sys)-2059.2(0.7)-2337.5(4.3)-3275(84)]TJ /TT2 1 Tf -1.8875 -1.1 TD [(elapsed)-2058(3.0)-1837.5(12.0)-3275(75)]TJ /T1 1 Tf -1.225 -0.05 TD ()Tj 0.2375 0 TD ()Tj -0.35 -0.05 TD ()Tj 0 0.2 TD ()Tj 0 1 TD ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj 5.1375 -23.2 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj 3.3875 -2.4 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj 3.775 -2.4 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj 4.9375 -2.4 TD ()Tj 0 0.2 TD ()Tj 0 1 TD ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj -17.1625 -25.45 TD [()187.5()]TJ /TT4 1 Tf 5.1625 -1.15 TD [(hash)-1448.3(hsearch)-1434(%change)]TJ /T1 1 Tf -5.1625 -0.05 TD [()187.5()]TJ /TT6 1 Tf 0.5 -1.15 TD (CREATE/READ)Tj /T1 1 Tf -0.5 -0.05 TD [()187.5()]TJ /TT6 1 Tf 1.9875 -1.15 TD [(user)-1821.5(6.6)-2487.5(17.2)-3925(62)]TJ 0.4 -1.1 TD [(sys)-1809.2(1.1)-2987.5(0.3)-3087.5(-266)]TJ /TT2 1 Tf -1.8875 -1.1 TD [(elapsed)-1808(7.8)-2487.5(17.0)-3925(54)]TJ /T1 1 Tf -0.5 -0.05 TD [()187.5()]TJ -0.1125 -0.15 TD ()Tj 0 0.9 TD ()Tj 0 1 TD ()Tj T* ()Tj T* ()Tj T* ()Tj 4.4125 -4.7 TD ()Tj 0 0.3 TD ()Tj 0 1 TD ()Tj T* ()Tj 3.3875 -2.3 TD ()Tj 0 0.3 TD ()Tj 0 1 TD ()Tj T* ()Tj 4.575 -2.3 TD ()Tj 0 0.3 TD ()Tj 0 1 TD ()Tj T* ()Tj 4.9375 -2.5 TD ()Tj 0 0.9 TD ()Tj 0 1 TD ()Tj T* ()Tj T* ()Tj T* ()Tj /TT2 1 Tf -19.5125 -6.45 TD [(Figure)-255(8a:)]TJ /TT6 1 Tf 4.675 0 TD [(Timing)-243.2(results)-251.7(for)-259(the)-253.3(dictionary)-258.3(database.)]TJ /T1 1 Tf -4.675 -1.1 TD -0.0012 Tc ()Tj /TT2 1 Tf 8.5875 -3.025 TD 0 Tc (Conclusion)Tj /TT6 1 Tf -6.4375 -1.65 TD [(This)-359.7(paper)-379.3(has)-367(presented)-381(the)-365.8(design,)-364.2(implemen-)]TJ -2.15 -1.1 TD [(tation)-322.7(and)-331.2(performance)-360.3(of)-329.5(a)-331.2(new)-334(hashing)-326.7(package)-337.1(for)]TJ T* [(UNIX.)-663(The)-407.8(new)-409(package)-424.6(provides)-393.7(a)-393.7(superset)-398.1(of)-392(the)]TJ T* [(functionality)-377.6(of)-367(existing)-358.5(hashing)-364.2(packages)-385.5(and)-368.6(incor-)]TJ T* [(porates)-299.8(additional)-288.5(features)-310.4(such)-292(as)-279.5(large)-289(key)-281.2(handling,)]TJ T* [(user)-284(de)]TJ /TT8 1 Tf 2.8938 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ned)-281.2(hash)-267(functions,)-265.8(multiple)-254.5(hash)-267(tables,)-267.5(vari-)]TJ -3.45 -1.1 TD [(able)-509.5(sized)-507.8(pages,)-510.6(and)-506.2(linear)-511.1(hashing.)-751.7(In)-492(nearly)-501.5(all)]TJ T* [(cases,)-565.1(the)-553.3(new)-559(package)-574.6(provides)-556.2(improved)-542.5(perfor-)]TJ T* [(mance)-565.6(on)-550(the)-553.3(order)-565.1(of)-554.5(50-80%)-559(for)-559(the)-540.8(workloads)]TJ T* [(shown.)-513.7(Applications)-264.6(such)-267(as)-267(the)-253.3(loader,)-264(compiler,)-258.3(and)]TJ T* [(mail,)-485.2(which)-493.7(currently)-503.1(implement)-485.6(their)-480(own)-477.8(hashing)]TJ T* [(routines,)-428.3(should)-420.5(be)-431.2(modi)]TJ /TT8 1 Tf 10.4182 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(ed)-406.8(to)-409.7(use)-417(the)-415.8(generic)-432.6(rou-)]TJ -10.9743 -1.1 TD (tines.)Tj 2.15 -1.425 TD [(This)-659.7(hashing)-664.2(package)-674.6(is)-645.5(one)-656.1(access)-671.3(method)]TJ -2.15 -1.1 TD [(which)-468.7(is)-458(part)-470.3(of)-467(a)-468.7(generic)-482.6(database)-482.6(access)-471.3(package)]TJ T* [(being)-715.8(developed)-728.1(at)-715.8(the)-715.8(University)-715.8(of)-717(California,)]TJ T* [(Berkeley.)-753.1(It)-489.2(will)-481.8(include)-481.6(a)-481.2(btree)-489(access)-496.3(method)-475.5(as)]TJ T* [(well)-728.3(as)]TJ /TT8 1 Tf 4.0125 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(xed)-725(and)-731.2(variable)-742.3(length)-713(record)-733.8(access)]TJ -4.5687 -1.1 TD [(methods)-411.3(in)-409.7(addition)-410.2(to)-409.7(the)-415.8(hashed)-423.1(support)-400(presented)]TJ T* [(here.)-879.3(All)-609.7(of)-617(the)-603.3(access)-621.3(methods)-598.8(are)-616.8(based)-610.6(on)-600(a)]TJ T* [(key/data)-575.3(pair)-570.3(interface)-577.9(and)-556.2(appear)-572.9(identical)-557.1(to)-547.2(the)]TJ T* [(application)-569.6(layer,)-576.5(allowing)-550.5(application)-557.1(implementa-)]TJ T* [(tions)-380.2(to)-384.7(be)-393.7(largely)-398.6(independent)-400.3(of)-392(the)-390.8(database)-407.6(type.)]TJ T* [(The)-357.8(package)-374.6(is)-345.5(expected)-371.8(to)-347.2(be)-356.2(an)-356.2(integral)-358.3(part)-357.8(of)-342(the)]TJ 24.825 64.35 TD [(4.4BSD)-554.7(system,)-559.7(with)-547.2(various)-556.2(standard)-562.3(applications)]TJ 0 -1.1 TD [(such)-329.5(as)-329.5(more\(1\),)-341.8(sort\(1\))-334(and)-331.2(vi\(1\))-331.2(based)-335.6(on)-325(it.)-569.3(While)]TJ T* [(the)-365.8(current)-368.5(design)-351.7(does)-354.5(not)-347.2(support)-350(multi-user)-352.1(access)]TJ T* [(or)-392(transactions,)-398.6(they)-390.8(could)-390.8(be)-393.7(incorporated)-396.8(relatively)]TJ T* (easily.)Tj /T1 1 Tf 2.35 -0.6 TD ()Tj 0.2375 0 TD ()Tj /TT4 1 Tf 5.65 -1.15 TD [(hash)-1523.3(ndbm)-1502.8(%change)]TJ /T1 1 Tf -5.8875 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.15 TD (CREATE)Tj /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-1821.5(0.2)-2337.5(0.4)-3775(50)]TJ 0.4 -1.1 TD [(sys)-1809.2(0.1)-2337.5(1.0)-3775(90)]TJ /TT2 1 Tf -1.8875 -1.1 TD (elapsed)Tj /T1 1 Tf 3.8 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.175 -2.3 TD (0)Tj /T1 1 Tf 2.2125 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.375 -2.3 TD (3.2)Tj /T1 1 Tf 2.4 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 2.125 -2.3 TD (100)Tj /T1 1 Tf -14.3125 0.05 TD ()Tj 0.2375 0 TD ()Tj -0.2375 -0.2 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.05 TD (READ)Tj /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-1821.5(0.1)-2337.5(0.1)-4275(0)]TJ 0.4 -1.1 TD [(sys)-1809.2(0.1)-2337.5(0.4)-3775(75)]TJ /TT2 1 Tf -1.8875 -1.1 TD (elapsed)Tj /T1 1 Tf 3.8 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.175 -2.3 TD (0.0)Tj /T1 1 Tf 2.2125 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.375 -2.3 TD (0.0)Tj /T1 1 Tf 2.4 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 3.125 -2.3 TD (0)Tj /T1 1 Tf -15.3125 0.05 TD ()Tj 0.2375 0 TD ()Tj -0.2375 -0.2 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.05 TD (VERIFY)Tj /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-1821.5(0.1)-2337.5(0.2)-3775(50)]TJ 0.4 -1.1 TD [(sys)-1809.2(0.1)-2337.5(0.3)-3775(67)]TJ /TT2 1 Tf -1.8875 -1.1 TD (elapsed)Tj /T1 1 Tf 3.8 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.175 -2.3 TD (0.0)Tj /T1 1 Tf 2.2125 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.375 -2.3 TD (0.0)Tj /T1 1 Tf 2.4 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 3.125 -2.3 TD (0)Tj /T1 1 Tf -15.3125 0.05 TD ()Tj 0.2375 0 TD ()Tj -0.2375 -0.2 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.05 TD (SEQUENTIAL)Tj /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-1821.5(0.1)-2337.5(0.0)-2937.5(-100)]TJ 0.4 -1.1 TD [(sys)-1809.2(0.1)-2337.5(0.1)-4275(0)]TJ /TT2 1 Tf -1.8875 -1.1 TD (elapsed)Tj /T1 1 Tf 3.8 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.175 -2.3 TD (0.0)Tj /T1 1 Tf 2.2125 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 1.375 -2.3 TD (0.0)Tj /T1 1 Tf 2.4 -0.1 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj /TT2 1 Tf 3.125 -2.3 TD (0)Tj /T1 1 Tf -15.3125 0.05 TD ()Tj 0.2375 0 TD ()Tj -0.2375 -0.2 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 0.2625 -1.05 TD [(SEQUENTIAL)-266.3(\(with)-251.7(data)-259.5(retrieval\))]TJ /T1 1 Tf -0.5 -0.05 TD ()Tj 0.2375 0 TD ()Tj /TT6 1 Tf 2.475 -1.15 TD [(user)-1821.5(0.1)-2337.5(0.1)-4275(0)]TJ 0.4 -1.1 TD [(sys)-1809.2(0.1)-2337.5(0.1)-4275(0)]TJ /TT2 1 Tf -1.8875 -1.1 TD [(elapsed)-1808(0.0)-2337.5(0.0)-4275(0)]TJ /T1 1 Tf -1.225 -0.05 TD ()Tj 0.2375 0 TD ()Tj -0.35 -0.05 TD ()Tj 0 0.2 TD ()Tj 0 1 TD ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj 5.1375 -23.2 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj 3.3875 -2.4 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj 3.775 -2.4 TD ()Tj 0 0.4 TD ()Tj 0 1 TD ()Tj T* ()Tj 4.9375 -2.4 TD ()Tj 0 0.2 TD ()Tj 0 1 TD ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj T* ()Tj -17.1625 -25.45 TD [()187.5()]TJ /TT4 1 Tf 5.1625 -1.15 TD [(hash)-1448.3(hsearch)-1434(%change)]TJ /T1 1 Tf -5.1625 -0.05 TD [()187.5()]TJ /TT6 1 Tf 0.5 -1.15 TD (CREATE/READ)Tj /T1 1 Tf -0.5 -0.05 TD [()187.5()]TJ /TT6 1 Tf 1.9875 -1.15 TD [(user)-1821.5(0.3)-2737.5(0.4)-3750(25)]TJ 0.4 -1.1 TD [(sys)-1809.2(0.0)-2737.5(0.0)-4250(0)]TJ /TT2 1 Tf -1.8875 -1.1 TD [(elapsed)-1808(0.0)-2737.5(0.0)-4250(0)]TJ /T1 1 Tf -0.5 -0.05 TD [()187.5()]TJ -0.1125 -0.15 TD ()Tj 0 0.9 TD ()Tj 0 1 TD ()Tj T* ()Tj T* ()Tj T* ()Tj 4.4125 -4.7 TD ()Tj 0 0.3 TD ()Tj 0 1 TD ()Tj T* ()Tj 3.3875 -2.3 TD ()Tj 0 0.3 TD ()Tj 0 1 TD ()Tj T* ()Tj 4.575 -2.3 TD ()Tj 0 0.3 TD ()Tj 0 1 TD ()Tj T* ()Tj 4.9375 -2.5 TD ()Tj 0 0.9 TD ()Tj 0 1 TD ()Tj T* ()Tj T* ()Tj T* ()Tj /TT2 1 Tf -19.5125 -6.45 TD [(Figure)-255(8b:)]TJ /TT6 1 Tf 4.725 0 TD [(Timing)-243.2(results)-251.7(for)-259(the)-253.3(password)-260.2(database.)]TJ /T1 1 Tf -4.725 -1.1 TD -0.0012 Tc ()Tj /TT2 1 Tf 8.625 -3.025 TD 0 Tc (References)Tj /TT6 1 Tf -8.625 -1.65 TD [([ATT79])-790.1(AT&T,)-778.3(DBM\(3X\),)]TJ /TT4 1 Tf 13.3375 0 TD [(Unix)-768.7(Programmers)]TJ -11.1875 -1.1 TD [(Manual,)-589.2(Seventh)-603.1(Edition,)-580.7(Volume)-595.3(1)]TJ /TT6 1 Tf 15.5875 0 TD [(,)-587.5(January,)]TJ -15.5875 -1.1 TD (1979.)Tj -2.15 -2.2 TD [([ATT85])-402.6(AT&T,)-390.8(HSEARCH\(BA_LIB\),)]TJ /TT4 1 Tf 16.8375 0 TD [(Unix)-381.1(System)]TJ -14.6875 -1.1 TD [(Users)-258.5(Manual,)-251.7(System)-260.6(V.3)]TJ /TT6 1 Tf 10.9375 0 TD [(,)-250(pp.)-250(506-508,)-254.5(1985.)]TJ -13.0875 -2.2 TD [([BRE73])-376.7(Brent,)-378.3(Richard)-384.5(P.,)-368.8(Reducing)-376.5(the)-365.8(Retrieval)]TJ 2.15 -1.1 TD [(Time)-302.2(of)-304.5(Scatter)-311.1(Storage)-307.8(Techniques,)]TJ /TT4 1 Tf 15.85 0 TD (Commun-)Tj -15.85 -1.1 TD [(ications)-546(of)-547.2(the)-540.8(ACM)]TJ /TT6 1 Tf 8.9125 0 TD [(,)-537.5(Volume)-540.8(16,)-537.5(No.)-540.3(2,)-537.5(pp.)]TJ -8.9125 -1.1 TD [(105-109,)-254.5(February,)-265.1(1973.)]TJ -2.15 -2.2 TD [([BSD86])-751.2(NDBM\(3\),)]TJ /TT4 1 Tf 9.5375 0 TD [(4.3BSD)-742(Unix)-743.7(Programmers)]TJ -7.3875 -1.1 TD [(Manual)-351.7(Reference)-377.9(Guide)]TJ /TT6 1 Tf 10.2875 0 TD [(,)-350(University)-340.8(of)-342(Califor-)]TJ -10.2875 -1.1 TD [(nia,)-253.3(Berkeley,)-265.6(1986.)]TJ -2.15 -2.2 TD [([ENB88])-321.5(Enbody,)-314.2(R.)-308(J.,)-560.8(Du,)-315.3(H.)-315.3(C.,)-308(Dynamic)-331(Hash-)]TJ 2.15 -1.1 TD [(ing)-672.2(Schemes,)]TJ /TT4 1 Tf 6.8625 0 TD [(ACM)-426.7(Computing)-417.7(Surveys)]TJ /TT6 1 Tf 10.525 0 TD [(,)-412.5(Vol.)]TJ -17.3875 -1.1 TD [(20,)-250(No.)-252.8(2,)-250(pp.)-250(85-113,)-254.5(June)-254.5(1988.)]TJ /TT2 1 Tf -26.975 -3.2 TD (USENIX)Tj /TT7 1 Tf 4.025 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)-30723.3(11)]TJ ET endstream endobj 87 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R /T1 20 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 91 0 obj << /Length 3743 >> stream BT /TT2 1 Tf 10 0 0 10 54 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)-25569.3(Seltzer)-270.1(&)-254.5(Yigit)]TJ /TT6 1 Tf 0 -3.5 TD [([FAG79])-633.5(Ronald)-623.8(Fagin,)-609.7(Jurg)-615.3(Nievergelt,)-629.8(Nicholas)]TJ 2.15 -1.1 TD [(Pippenger,)-682.8(H.)-677.8(Raymond)-673.8(Strong,)-670.5(Extendible)]TJ T* [(Hashing)-379.5(--)-384(A)-377.8(Fast)-370.5(Access)-380.5(Method)-364.2(for)-371.5(Dynamic)]TJ T* (Files,)Tj /TT4 1 Tf 3.1375 0 TD [(ACM)-276.7(Transactions)-264.4(on)-262.5(Database)-267(Systems)]TJ /TT6 1 Tf 16.4125 0 TD (,)Tj -19.55 -1.1 TD [(Volume)-253.3(4,)-250(No.)-252.8(3.,)-250(September)-261.1(1979,)-250(pp)-250(315-34)]TJ -2.15 -2.2 TD [([KNU68],)-542.5(Knuth,)-525(D.E.,)]TJ /TT4 1 Tf 10.5125 0 TD [(The)-512.5(Art)-509.7(of)-509.7(Computer)-512.5(Pro-)]TJ -8.3625 -1.1 TD [(gramming)-476.2(Vol.)-473.8(3:)-479.5(Sorting)-467.7(and)-475(Searching)]TJ /TT6 1 Tf 17.4625 0 TD [(,)-462.5(sec-)]TJ -17.4625 -1.1 TD [(tions)-242.7(6.3-6.4,)-254.5(pp)-250(481-550.)]TJ -2.15 -2.2 TD [([LAR78])-271.5(Larson,)-273.1(Per-Ake,)-268(Dynamic)-268.5(Hashing,)]TJ /TT4 1 Tf 20.2 0 TD (BIT)Tj /TT6 1 Tf 1.5 0 TD (,)Tj -19.55 -1.1 TD [(Vol.)-250(18,)-250(1978,)-250(pp.)-250(184-201.)]TJ -2.15 -2.2 TD [([LAR88])-334(Larson,)-335.6(Per-Ake,)-343(Dynamic)-343.5(Hash)-332.3(Tables,)]TJ /TT4 1 Tf 2.15 -1.1 TD [(Communications)-459.7(of)-447.2(the)-453.3(ACM)]TJ /TT6 1 Tf 12.25 0 TD [(,)-450(Volume)-453.3(31,)-450(No.)]TJ -12.25 -1.1 TD [(4.,)-250(April)-251.7(1988,)-250(pp)-250(446-457.)]TJ -2.15 -2.2 TD [([LIT80])-516.8(Witold,)-497.7(Litwin,)-496(Linear)-524.6(Hashing:)-751.7(A)-490.3(New)]TJ 2.15 -1.1 TD [(Tool)-386.3(for)-396.5(File)-369.3(and)-381.2(Table)-386.1(Addressing,)]TJ /TT4 1 Tf 16.1125 0 TD (Proceed-)Tj -16.1125 -1.1 TD [(ings)-295.5(of)-297.2(the)-303.3(6th)-297.2(International)-285.2(Conference)-303.1(on)-287.5(Very)]TJ T* [(Large)-248.3(Databases)]TJ /TT6 1 Tf 6.8625 0 TD [(,)-250(1980.)]TJ -9.0125 -2.2 TD [([NEL90])-277.6(Nelson,)-267(Philip)-247.9(A.,)]TJ /TT4 1 Tf 11.3625 0 TD [(Gdbm)-268.2(1.4)-262.5(source)-259(distribu-)]TJ -9.2125 -1.1 TD [(tion)-244.3(and)-250(README)]TJ /TT6 1 Tf 7.5625 0 TD [(,)-250(August)-248.3(1990.)]TJ -9.7125 -2.2 TD [([THOM90])-489.6(Ken)-471.5(Thompson,)-459.7(private)-473.6(communication,)]TJ 2.15 -1.1 TD [(Nov.)-252.8(1990.)]TJ -2.15 -2.2 TD [([TOR87])-809(Torek,)-812.3(C.,)-783(Re:)-1045.3(dbm.a)-1040.8(and)-1043.6(ndbm.a)]TJ 2.15 -1.1 TD (archives,)Tj /TT4 1 Tf 4.525 0 TD [(USENET)-245.5(newsgroup)-248.3(comp.unix)]TJ /TT6 1 Tf 12.95 0 TD (1987.)Tj -19.625 -2.2 TD [([TOR88])-434(Torek,)-437.3(C.,)-420.5(Re:)-670.3(questions)-409.7(regarding)-431(data-)]TJ 2.15 -1.1 TD [(bases)-609(created)-613.8(with)-584.7(dbm)-584.7(and)-593.7(ndbm)-584.7(routines)]TJ /TT4 1 Tf T* [(USENET)-495.5(newsgroup)-498.3(comp.unix.questions)]TJ /TT6 1 Tf 17.225 0 TD [(,)-487.5(June)]TJ -17.225 -1.1 TD (1988.)Tj -2.15 -2.2 TD [([WAL84])-319.6(Wales,)-314(R.,)-295.5(Discussion)-307.3(of)-304.5("dbm")-305.8(data)-309.5(base)]TJ 2.15 -1.1 TD (system,)Tj /TT4 1 Tf 4.6125 0 TD [(USENET)-908(newsgroup)-898.3(unix.wizards)]TJ /TT6 1 Tf 14.9375 0 TD (,)Tj -19.55 -1.1 TD [(January,)-265.1(1984.)]TJ -2.15 -2.2 TD [([YIG89])-544.1(Ozan)-540.1(S.)-518.8(Yigit,)-506.8(How)-527.1(to)-509.7(Roll)-502.3(Your)-519.8(Own)]TJ 2.15 -1.1 TD (Dbm/Ndbm,)Tj /TT4 1 Tf 6.0375 0 TD [(unpublished)-323.8(manuscript)]TJ /TT6 1 Tf 9.7125 0 TD [(,)-325(Toronto,)]TJ -15.75 -1.1 TD [(July,)-245.5(1989)]TJ /TT2 1 Tf -2.15 -21.575 TD [(12)-30725(USENIX)]TJ /TT7 1 Tf 35.75 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)]TJ ET endstream endobj 92 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 94 0 obj << /Length 3808 >> stream BT /TT2 1 Tf 10 0 0 10 90 759.75 Tm 0 g /GS1 gs 0 Tc 0 Tw [(Seltzer)-270.1(&)-254.5(Yigit)-25564.2(A)-252.8(New)-261.8(Hashing)-230.4(Package)-257.8(for)-260.6(UNIX)]TJ /TT6 1 Tf 0 -3.5 TD [(Margo)-334(I.)-329.5(Seltzer)-336.1(is)-320.5(a)-331.2(Ph.D.)-321.7(student)-311.3(in)-309.7(the)-315.8(Department)]TJ 0 -1.1 TD [(of)-454.5(Electrical)-469.4(Engineering)-462.8(and)-456.2(Computer)-438(Sciences)-451.5(at)]TJ T* [(the)-403.3(University)-403.3(of)-392(California,)-395.8(Berkeley.)-653.1(Her)-401(research)]TJ T* [(interests)-380(include)]TJ /TT8 1 Tf 7.0375 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-372.2(systems,)-370.5(databases,)-393.5(and)-368.6(transac-)]TJ -7.5937 -1.1 TD [(tion)-644.3(processing)-660.6(systems.)-895.5(She)-637.5(spent)-639.2(several)-656(years)]TJ T* [(working)-492(at)-490.8(startup)-490.8(companies)-498.6(designing)-486.3(and)-493.7(imple-)]TJ T* (menting)Tj /TT8 1 Tf 4.1 0 TD ()Tj /TT6 1 Tf 0.5562 0 TD [(le)-822.2(systems)-820.5(and)-818.7(transaction)-825.3(processing)]TJ -4.6562 -1.1 TD [(software)-382.1(and)-356.2(designing)-348.8(microprocessors.)-621.3(Ms.)-346.7(Seltzer)]TJ T* [(received)-826.3(her)-798.1(AB)-785.8(in)-784.7(Applied)-790.8(Mathematics)-797.5(from)]TJ T* 0.0013 Tc [(Harvard/Radcliffe)-248.2(College)-250.9(in)-245.9(1983.)]TJ 0 -1.425 TD 0 Tc [(In)-292(her)-298.1(spare)-302.6(time,)-272.7(Margo)-284(can)-287.3(usually)-273.8(be)-281.2(found)-279.5(prepar-)]TJ 0 -1.1 TD [(ing)-572.2(massive)-565.8(quantities)-561.8(of)-567(food)-567(for)-571.5(hungry)-567(hoards,)]TJ T* [(studying)-330.2(Japanese,)-358.8(or)-342(playing)-338(soccer)-346.3(with)-322.2(an)-331.2(exciting)]TJ T* [(Bay)-789.2(Area)-807.1(Womens)-799.8(Soccer)-791.8(team,)-781.6(the)-778.3(Berkeley)]TJ T* (Bruisers.)Tj 0 -1.425 TD [(Ozan)-327.6(\()]TJ /TT2 1 Tf 2.775 0 TD (Oz)Tj /TT6 1 Tf 1.225 0 TD [(\))-317(Yigit)-306.8(is)-295.5(currently)-315.6(a)-306.2(software)-319.6(engineer)-320.1(with)]TJ -4 -1.1 TD [(the)-853.3(Communications)-829.5(Research)-860.5(and)-843.6(Development)]TJ T* [(group,)-267(Computing)-249.5(Services,)-274.8(York)-257.3(University.)-503.3(His)-248.3(for-)]TJ T* [(mative)-366.3(years)-377.6(were)-382.1(also)-364.2(spent)-364.2(at)-365.8(York,)-369.8(where)-369.6(he)-356.1(held)]TJ T* [(system)-534.7(programmer)-557.6(and)-531.2(administrator)-530.5(positions)-513.2(for)]TJ T* [(various)-493.7(mixtures)-488(of)-492(of)-492(UNIX)-488(systems)-470.5(starting)-475.5(with)]TJ T* [(Berkeley)-278.1(4.1)-250(in)-247.2(1982,)-250(while)-253.3(at)-253.3(the)-253.3(same)-257.8(time)-247.7(obtaining)]TJ T* [(a)-256.2(degree)-273(in)-247.2(Computer)-250.5(Science.)]TJ 0 -1.425 TD [(In)-329.5(his)-308(copious)-314.2(free)-333.8(time,)-310.2(Oz)-321.5(enjoys)-314.2(working)-317(on)-312.5(what-)]TJ 0 -1.1 TD [(ever)-404.3(software)-394.6(looks)-370.5(interesting,)-378.8(which)-381.2(often)-382.8(includes)]TJ T* [(language)-440.6(interpreters,)-446.8(preprocessors,)-452(and)-431.2(lately,)-428.8(pro-)]TJ T* [(gram)-257.8(generators)-272.9(and)-256.2(expert)-264(systems.)]TJ 0 -1.425 TD [(Oz)-284(has)-267(authored)-276.5(several)-281(public-domain)-268(software)-282.1(tools,)]TJ 0 -1.1 TD [(including)-585.2(an)-581.2(nroff-like)-593.5(text)-575.5(formatter)]TJ /TT4 1 Tf 16.7 0 TD (proff)Tj /TT6 1 Tf 2.5125 0 TD [(that)-575.5(is)]TJ -19.2125 -1.1 TD [(apparently)-317.3(still)-287(used)-304.5(in)-297.2(some)-301.7(basement)-298.6(PCs.)-275.2(His)-285.8(latest)]TJ T* [(obsessions)-1009.2(include)-1019.1(the)-1015.8(incredible)-1014.5(programming)]TJ T* [(language)-265.6(Scheme,)-259.5(and)-256.2(Chinese)-253.3(Brush)-248.3(painting.)]TJ /TT2 1 Tf 0 -32.375 TD (USENIX)Tj /TT7 1 Tf 4.025 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)-30723.3(13)]TJ ET endstream endobj 95 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT4 5 0 R /TT6 6 0 R /TT7 7 0 R /TT8 8 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 97 0 obj << /Length 224 >> stream BT /TT2 1 Tf 10 0 0 10 54 47 Tm 0 g /GS1 gs 0 Tc 0 Tw [(14)-30725(USENIX)]TJ /TT7 1 Tf 35.75 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Winter)-257.8(91)]TJ /TT7 1 Tf 4.9 0 TD <003c>Tj /TT2 1 Tf 0.8 0 TD [(Dallas,)-245.5(TX)]TJ ET endstream endobj 98 0 obj << /ProcSet [/PDF /Text ] /Font << /TT2 4 0 R /TT7 7 0 R >> /ExtGState << /GS1 9 0 R >> >> endobj 32 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 128 /BitsPerComponent 1 /ImageMask true /Length 129 >> stream ߿߿߿߿߿߿߿߿߿߿߿߿߿߿߿߿ endstream endobj 33 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 14 /BitsPerComponent 1 /ImageMask true /Length 15 >> stream ߿߿ endstream endobj 34 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 11 /BitsPerComponent 1 /ImageMask true /Length 12 >> stream ߿ endstream endobj 36 0 obj << /Type /XObject /Subtype /Image /Width 6 /Height 128 /BitsPerComponent 1 /ImageMask true /Length 129 >> stream ߿߿߿߿߿߿߿߿߿߿߿߿߿߿߿߿ endstream endobj 35 0 obj << /Type /XObject /Subtype /Image /Width 6 /Height 14 /BitsPerComponent 1 /ImageMask true /Length 15 >> stream ߿߿ endstream endobj 40 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 83 /BitsPerComponent 1 /ImageMask true /Length 84 >> stream  endstream endobj 41 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 128 /BitsPerComponent 1 /ImageMask true /Length 129 >> stream  endstream endobj 42 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 25 /BitsPerComponent 1 /ImageMask true /Length 26 >> stream  endstream endobj 43 0 obj << /Type /XObject /Subtype /Image /Width 5 /Height 128 /BitsPerComponent 1 /ImageMask true /Length 129 >> stream  endstream endobj 44 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 25 /BitsPerComponent 1 /ImageMask true /Length 26 >> stream ߿߿߿ endstream endobj 45 0 obj << /Type /XObject /Subtype /Image /Width 5 /Height 25 /BitsPerComponent 1 /ImageMask true /Length 26 >> stream  endstream endobj 46 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 83 /BitsPerComponent 1 /ImageMask true /Length 84 >> stream  endstream endobj 48 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 128 /BitsPerComponent 1 /ImageMask true /Length 129 >> stream  endstream endobj 47 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 34 /BitsPerComponent 1 /ImageMask true /Length 35 >> stream  endstream endobj 49 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 42 /BitsPerComponent 1 /ImageMask true /Length 43 >> stream  endstream endobj 56 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 57 /BitsPerComponent 1 /ImageMask true /Length 58 >> stream  endstream endobj 57 0 obj << /Type /XObject /Subtype /Image /Width 7 /Height 57 /BitsPerComponent 1 /ImageMask true /Length 58 >> stream  endstream endobj 58 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 44 /BitsPerComponent 1 /ImageMask true /Length 45 >> stream  endstream endobj 59 0 obj << /Type /XObject /Subtype /Image /Width 6 /Height 44 /BitsPerComponent 1 /ImageMask true /Length 45 >> stream  endstream endobj 60 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 48 /BitsPerComponent 1 /ImageMask true /Length 49 >> stream  endstream endobj 61 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 75 /BitsPerComponent 1 /ImageMask true /Length 76 >> stream ߿߿߿߿߿߿߿߿߿ endstream endobj 62 0 obj << /Type /XObject /Subtype /Image /Width 6 /Height 123 /BitsPerComponent 1 /ImageMask true /Length 124 >> stream ߿߿߿߿߿߿߿߿߿߿߿߿߿߿߿ endstream endobj 63 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 20 /BitsPerComponent 1 /ImageMask true /Length 21 >> stream ffffffffff endstream endobj 65 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 49 /BitsPerComponent 1 /ImageMask true /Length 50 >> stream ffffffffffffffffffffffff endstream endobj 64 0 obj << /Type /XObject /Subtype /Image /Width 6 /Height 49 /BitsPerComponent 1 /ImageMask true /Length 50 >> stream gggggggggggggggggggggggg endstream endobj 66 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 78 /BitsPerComponent 1 /ImageMask true /Length 79 >> stream fffffffffffffffffffffffffffffffffffffff endstream endobj 67 0 obj << /Type /XObject /Subtype /Image /Width 7 /Height 78 /BitsPerComponent 1 /ImageMask true /Length 79 >> stream ggggggggggggggggggggggggggggggggggggggg endstream endobj 68 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 30 /BitsPerComponent 1 /ImageMask true /Length 31 >> stream fffffffffffffff endstream endobj 69 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 33 /BitsPerComponent 1 /ImageMask true /Length 34 >> stream  endstream endobj 71 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 30 /BitsPerComponent 1 /ImageMask true /Length 31 >> stream  endstream endobj 70 0 obj << /Type /XObject /Subtype /Image /Width 6 /Height 30 /BitsPerComponent 1 /ImageMask true /Length 31 >> stream  endstream endobj 72 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 26 /BitsPerComponent 1 /ImageMask true /Length 27 >> stream  endstream endobj 73 0 obj << /Type /XObject /Subtype /Image /Width 7 /Height 26 /BitsPerComponent 1 /ImageMask true /Length 27 >> stream  endstream endobj 74 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 55 /BitsPerComponent 1 /ImageMask true /Length 56 >> stream  endstream endobj 75 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 91 /BitsPerComponent 1 /ImageMask true /Length 92 >> stream ߿߿߿߿߿߿߿߿߿߿߿ endstream endobj 77 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 59 /BitsPerComponent 1 /ImageMask true /Length 60 >> stream ߿߿߿߿߿߿߿ endstream endobj 76 0 obj << /Type /XObject /Subtype /Image /Width 6 /Height 59 /BitsPerComponent 1 /ImageMask true /Length 60 >> stream ߿߿߿߿߿߿߿ endstream endobj 78 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 35 /BitsPerComponent 1 /ImageMask true /Length 36 >> stream ߿߿߿߿ endstream endobj 79 0 obj << /Type /XObject /Subtype /Image /Width 7 /Height 128 /BitsPerComponent 1 /ImageMask true /Length 129 >> stream ߿߿߿߿߿߿߿߿߿߿߿߿߿߿߿߿ endstream endobj 80 0 obj << /Type /XObject /Subtype /Image /Width 7 /Height 35 /BitsPerComponent 1 /ImageMask true /Length 36 >> stream ߿߿߿߿ endstream endobj 81 0 obj << /Type /XObject /Subtype /Image /Width 8 /Height 17 /BitsPerComponent 1 /ImageMask true /Length 18 >> stream ffffffff endstream endobj 9 0 obj << /Type /ExtGState /SA false /SM 0.02 /OP false /op false /OPM 1 /BG2 /Default /UCR2 /Default /HT /Default /TR2 /Default >> endobj 99 0 obj << /Type /FontDescriptor /Ascent 701 /CapHeight 0 /Descent -298 /Flags 4 /FontBBox [-167 -299 1063 827] /FontName /KEECMG+Symbol /ItalicAngle 0 /StemV 0 /FontFile2 100 0 R >> endobj 100 0 obj << /Filter /FlateDecode /Length 2682 /Length1 5232 >> stream Hte~ws,1ƶpNK84& k2cp`^Ȧ"EɃ ɌXd(;fD-3""=o^j#򒹗 b}Jtt"dt46c vSF39lGWP fYiy^6۬Ak:,z@_'Pm %F{+"@{L:bn*Ĩ`"j6yG#(7{#!z0 ,t1sث~˜1 }ʁ lO+h`u\XUe.Y0 N}DUЃV1lAfa(󼂰X` I܊7votzq3/' pЎLf&e w$'8*Wtlz?7Q/-5|%8qb9aY؟-㎻V,Kn\{w%suOԷ4׮;7n˯y z#sӻ}:[FcGr0)~VpKW0tࡢ7Mn"ʓNYNj΢ EB:=O~vӻS߇iۄ7|$Na&ZL3g4e=eLR/RQ(U^Sڕsk`Y%Xj7c3+ndjk ,RcW@oaw S]; 3VaA&=&;r1'NO'($hV<N A#Q2PF},eGYFA0 XNg1s``,LdlpX/HDcsp 9wk @ie 4O;/?3hM<&=2g1Je{Qqdr~N\.ܺ)wt5(Ǥdlqo܏)._S`3#)mNXcLyXu:3c :Ŭ۞|'#f=a1/3J IuWIJd;iPqg9RIf~j{wvrV}6ݒ~UR 7,bx=|չOʼ_#ҌOxM-ZIOሄxV|O<#+OOO)-C.uU1z,t",$ /N|]|M< {^pZ urγ_KŽx#Eq+ywğ'zJgd;.g sKoNҏq%;>PzOfIWoFڅ8b{bZ,7d.bIqMjQ܀kK\4<9<SuO~{bѩhk[p5y)~C=Vaq|Hy-PvE.ޯ=Kosns"yvVzZN|߭U#}[ic2ҦHv28j%]+>ˈZ~Y w]}ƹSsD\U/wcX ly,ۢDѬݏj[3͚X|ImŹqxX+~Qoʚy"Z8]8M>EY?+No+L?'Si7qZX׋cb[[9K+b,~)H PeRp tB//^ |ö$OȆ{?LlCŬ}`8XcRE'Lgv2q!G X:d0K7bF2t6gEݮ/b?<1E jg=-O=&W?!zJe'%c&h7像g{(bւ> endobj 102 0 obj << /Type /FontDescriptor /Ascent 750 /CapHeight 653 /Descent -250 /Flags 98 /FontBBox [-169 -217 1010 883] /FontName /Times-Italic /ItalicAngle -15 /StemV 76 /XHeight 441 /StemH 76 >> endobj 103 0 obj << /Type /FontDescriptor /Ascent 750 /CapHeight 662 /Descent -250 /Flags 34 /FontBBox [-168 -218 1000 898] /FontName /Times-Roman /ItalicAngle 0 /StemV 84 /XHeight 450 /StemH 84 >> endobj 104 0 obj << /Type /FontDescriptor /Ascent 750 /CapHeight 662 /Descent -250 /Flags 34 /FontBBox [-168 -218 1000 898] /FontName /Times-Roman /ItalicAngle 0 /StemV 84 /XHeight 450 /StemH 84 >> endobj 105 0 obj << /Type /FontDescriptor /Ascent 701 /CapHeight 0 /Descent -298 /Flags 32 /FontBBox [-167 -299 1063 827] /FontName /KEEDCL+Symbol /ItalicAngle 0 /StemV 0 /FontFile2 106 0 R >> endobj 106 0 obj << /Filter /FlateDecode /Length 2798 /Length1 5652 >> stream HtU|'Ls0ֶpNKƜ44& k1cw 7T)DE#dD,3b$YQ8|{zrf͇akTw9}̀1gU>~}]lA~9}ٝDj}tnch[Z@u#hw4̩]X pA6Б]WѾ+Ѿ}߾(l"o"7ivmVEV{s\X{G4ss̯m3dm@m) хs5O)хMѥ/0i)UZ>_/a4Va,58b[2 i7Y`zjDE Zea:t{Il:2l dyUvQmF2ļGȤ!F) &;хM;A9&YhfqLn^%Y/(_=W9A7{X3181wRo/ \EX5g.vZ0l;=AsxAf, [+vŶ==uƏY(sX` )܆6otxq3/'*qІ f&e5w$;8JW4t益ND]paK0Ɯ ͮ4qq]+%#tWdn͒WZ6@S4v'R\~H3T5sU9{o-~” H$T]. = <*gL(Kv;afS:n'…t˻2\;SZ߇zig4auM3a'ZR>y:aUU^i@))cz12RJLJ]UmhaӜp^{zlt-R[X:]q&UXgObuCDyz~%gGPۄ+ W9LǓgkwxA  $NQ?aN=(zNRzY,{ ~lDf yq|0珢naO )qL~#qb3ic#sq6 RQZ6#sr}pM3?-A&%c(}[xL~Lq י|]Iiuc מlKbc8F)bݶ91cIyWJOq{$%qLs{=I$۔,LB7Sܻ͵)2;wK׸KTd7huӵ2H$v4rEғnD8"!ϊgSœ?ŷߴοJ?Kg9?G??ķߋ߉#_W^PZujγ_+KK(qG_ω]OŝOgcy=g%^cU 0Z3|%ѷ]'GIn;ǎOi~!|Y۪~v)t]9ˍ%كXLSm7Wp=FTG=o#gjpO,:a^vw-|\'7o~]\1W+OŃӦӯ*>\xsW{ĕɳ7r[~WmdUVfd9q@K /Wp=}.bIqյ[ w]}ƹSsD\U/wcX ly,ۢDѤݏj[JMX|YmĹq%FX-Uwo5CUzqyq8U;U)}xX!~V,,'~FOL7oNj㴚oLj׋Rk!-dP,:tsDA-ҭpnJ' EAX 8Ͻ\;Atr<~*axIJS2< Y=c'+>uS2TVN7L j8e0r kN͞> za_Wb5Z5=(h ~{ZjLn7S*6m-Z~ϗO7Ћ] ֮4P^*Onշ9 v5yqx'he.X}= endstream endobj 107 0 obj << /Type /FontDescriptor /Ascent 753 /CapHeight 562 /Descent -246 /Flags 35 /FontBBox [-28 -250 628 805] /FontName /Courier /ItalicAngle 0 /StemV 51 /XHeight 426 /StemH 51 >> endobj 108 0 obj << /Type /FontDescriptor /Ascent 750 /CapHeight 653 /Descent -250 /Flags 98 /FontBBox [-169 -217 1010 883] /FontName /Times-Italic /ItalicAngle -15 /StemV 76 /XHeight 441 /StemH 76 >> endobj 109 0 obj << /Type /FontDescriptor /Ascent 750 /CapHeight 676 /Descent -250 /Flags 262178 /FontBBox [-168 -218 1000 935] /FontName /Times-Bold /ItalicAngle 0 /StemV 133 /XHeight 461 /StemH 139 >> endobj 110 0 obj << /Type /FontDescriptor /Ascent 753 /CapHeight 562 /Descent -246 /Flags 35 /FontBBox [-28 -250 628 805] /FontName /Courier /ItalicAngle 0 /StemV 51 /XHeight 426 /StemH 51 >> endobj 111 0 obj << /ProcSet [/PDF ] >> endobj 20 0 obj << /Name /T1 /Type /Font /Subtype /Type3 /Resources 111 0 R /FontBBox [-26 -26 90 90] /FontMatrix [0.01 0 0 0.01 0 0] /FirstChar 0 /LastChar 3 /Encoding 112 0 R /CharProcs 113 0 R /Widths [50 35 50 0 ] >> endobj 112 0 obj << /Type /Encoding /Differences [0/ru /bu /ul /br ] >> endobj 113 0 obj << /ru 114 0 R /bu 115 0 R /ul 116 0 R /br 117 0 R >> endobj 114 0 obj << /Length 65 >> stream 50 0 -26 -26 90 90 d1 0 J 2 j 4 w 10 M []0 d 1 i 0 0 m 50 0 l S endstream endobj 115 0 obj << /Length 133 >> stream 35 0 -26 -26 90 90 d1 1 i 40 25 m 40 36.04 31.04 45 20 45 c 8.96 45 0 36.04 0 25 c 0 13.96 8.96 5 20 5 c 31.04 5 40 13.96 40 25 c f endstream endobj 116 0 obj << /Length 69 >> stream 50 0 -26 -26 90 90 d1 0 J 2 j 4 w 10 M []0 d 1 i 0 -14 m 50 -14 l S endstream endobj 117 0 obj << /Length 66 >> stream 0 0 -26 -26 90 90 d1 0 J 2 j 4 w 10 M []0 d 1 i 0 84 m 0 -16 l S endstream endobj 4 0 obj << /Type /Font /Subtype /TrueType /FirstChar 38 /LastChar 146 /Widths [833 0 333 333 0 0 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 0 0 0 0 0 0 722 667 722 722 667 611 0 778 389 0 0 667 944 722 778 611 0 722 556 667 722 0 1000 722 722 0 0 0 0 0 0 0 500 556 444 556 444 333 500 556 278 0 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 ] /Encoding /WinAnsiEncoding /BaseFont /Times-Bold /FontDescriptor 101 0 R >> endobj 5 0 obj << /Type /Font /Subtype /TrueType /FirstChar 37 /LastChar 146 /Widths [833 0 0 333 333 500 0 250 333 250 278 0 500 500 500 500 500 500 500 0 0 333 0 0 0 0 0 0 611 611 667 722 611 0 722 0 333 0 0 556 833 667 0 611 0 611 500 556 722 611 0 0 0 0 0 0 0 0 0 0 500 500 444 500 444 278 500 500 278 0 0 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 ] /Encoding /WinAnsiEncoding /BaseFont /Times-Italic /FontDescriptor 102 0 R >> endobj 6 0 obj << /Type /Font /Subtype /TrueType /FirstChar 34 /LastChar 146 /Widths [408 0 0 833 778 0 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 0 0 0 0 0 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 0 333 0 333 0 500 0 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 333 ] /Encoding /WinAnsiEncoding /BaseFont /Times-Roman /FontDescriptor 103 0 R >> endobj 7 0 obj << /Type /Font /Subtype /Type0 /BaseFont /KEECMG+Symbol /Encoding /Identity-H /DescendantFonts [ 118 0 R ] /ToUnicode 119 0 R >> endobj 118 0 obj << /Type /Font /Subtype /CIDFontType2 /BaseFont /KEECMG+Symbol /FontDescriptor 99 0 R /CIDSystemInfo<< /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> /DW 1000 /W [ 60 [548] ] >> endobj 8 0 obj << /Type /Font /Subtype /TrueType /FirstChar 222 /LastChar 223 /Widths [556 556 ] /Encoding /MacRomanEncoding /BaseFont /Times-Roman /FontDescriptor 104 0 R >> endobj 14 0 obj << /Type /Font /Subtype /TrueType /FirstChar 43 /LastChar 43 /Widths [549 ] /Encoding /WinAnsiEncoding /BaseFont /KEEDCL+Symbol /FontDescriptor 105 0 R >> endobj 15 0 obj << /Type /Font /Subtype /TrueType /FirstChar 35 /LastChar 125 /Widths [600 0 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 0 0 600 0 0 600 600 600 600 600 600 0 600 600 600 600 600 600 600 0 600 0 600 600 0 600 600 600 0 600 0 600 600 600 600 0 0 0 600 600 600 0 600 0 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 0 600 ] /Encoding /WinAnsiEncoding /BaseFont /Courier /FontDescriptor 107 0 R >> endobj 16 0 obj << /Type /Font /Subtype /TrueType /FirstChar 222 /LastChar 222 /Widths [500 ] /Encoding /MacRomanEncoding /BaseFont /Times-Italic /FontDescriptor 108 0 R >> endobj 27 0 obj << /Type /Font /Subtype /TrueType /FirstChar 223 /LastChar 223 /Widths [556 ] /Encoding /MacRomanEncoding /BaseFont /Times-Bold /FontDescriptor 109 0 R >> endobj 31 0 obj << /Type /Font /Subtype /TrueType /FirstChar 222 /LastChar 222 /Widths [600 ] /Encoding /MacRomanEncoding /BaseFont /Courier /FontDescriptor 110 0 R >> endobj 119 0 obj << /Filter /FlateDecode /Length 217 >> stream HTPN0 A iKnp=%u"7$Q{ly12.~ep 3qJ6 ߖsG# < S-)!/+!H*h[8 yp3,?p*}k{KYӄTճidm4ߚűTZwdWk endstream endobj 1 0 obj << /Type /Page /Parent 10 0 R /Resources 3 0 R /Contents 2 0 R >> endobj 11 0 obj << /Type /Page /Parent 10 0 R /Resources 13 0 R /Contents 12 0 R >> endobj 17 0 obj << /Type /Page /Parent 10 0 R /Resources 19 0 R /Contents 18 0 R >> endobj 21 0 obj << /Type /Page /Parent 10 0 R /Resources 23 0 R /Contents 22 0 R >> endobj 24 0 obj << /Type /Page /Parent 10 0 R /Resources 26 0 R /Contents 25 0 R >> endobj 28 0 obj << /Type /Page /Parent 10 0 R /Resources 30 0 R /Contents 29 0 R >> endobj 37 0 obj << /Type /Page /Parent 10 0 R /Resources 39 0 R /Contents 38 0 R >> endobj 50 0 obj << /Type /Page /Parent 10 0 R /Resources 52 0 R /Contents 51 0 R >> endobj 53 0 obj << /Type /Page /Parent 10 0 R /Resources 55 0 R /Contents 54 0 R >> endobj 82 0 obj << /Type /Page /Parent 10 0 R /Resources 84 0 R /Contents 83 0 R >> endobj 85 0 obj << /Type /Page /Parent 89 0 R /Resources 87 0 R /Contents 86 0 R >> endobj 90 0 obj << /Type /Page /Parent 89 0 R /Resources 92 0 R /Contents 91 0 R >> endobj 93 0 obj << /Type /Page /Parent 89 0 R /Resources 95 0 R /Contents 94 0 R >> endobj 96 0 obj << /Type /Page /Parent 89 0 R /Resources 98 0 R /Contents 97 0 R >> endobj 120 0 obj << /S /D >> endobj 121 0 obj << /Nums [0 120 0 R ] >> endobj 10 0 obj << /Type /Pages /Kids [1 0 R 11 0 R 17 0 R 21 0 R 24 0 R 28 0 R 37 0 R 50 0 R 53 0 R 82 0 R] /Count 10 /Parent 88 0 R >> endobj 89 0 obj << /Type /Pages /Kids [85 0 R 90 0 R 93 0 R 96 0 R] /Count 4 /Parent 88 0 R >> endobj 88 0 obj << /Type /Pages /Kids [10 0 R 89 0 R ] /Count 14 /MediaBox [0 0 612 792] >> endobj 122 0 obj << /CreationDate (D:20090603124148-07'00') /ModDate (D:20090603124148-07'00') /Producer (Apple pstopdf) >> endobj 123 0 obj << /Type /Catalog /Pages 88 0 R /PageLabels 121 0 R >> endobj xref 0 124 0000000000 65535 f 0000257882 00000 n 0000000016 00000 n 0000011627 00000 n 0000254315 00000 n 0000254832 00000 n 0000255338 00000 n 0000255894 00000 n 0000256242 00000 n 0000245599 00000 n 0000259126 00000 n 0000257963 00000 n 0000011766 00000 n 0000027572 00000 n 0000256417 00000 n 0000256588 00000 n 0000257079 00000 n 0000258047 00000 n 0000027750 00000 n 0000044279 00000 n 0000253409 00000 n 0000258131 00000 n 0000044443 00000 n 0000058283 00000 n 0000258215 00000 n 0000058436 00000 n 0000073879 00000 n 0000257252 00000 n 0000258299 00000 n 0000074045 00000 n 0000101313 00000 n 0000257423 00000 n 0000237514 00000 n 0000237783 00000 n 0000237936 00000 n 0000238355 00000 n 0000238086 00000 n 0000258383 00000 n 0000101586 00000 n 0000134085 00000 n 0000238508 00000 n 0000238730 00000 n 0000238999 00000 n 0000239163 00000 n 0000239432 00000 n 0000239596 00000 n 0000239760 00000 n 0000240251 00000 n 0000239982 00000 n 0000240424 00000 n 0000258467 00000 n 0000134423 00000 n 0000168954 00000 n 0000258551 00000 n 0000169094 00000 n 0000199338 00000 n 0000240605 00000 n 0000240801 00000 n 0000240997 00000 n 0000241180 00000 n 0000241363 00000 n 0000241550 00000 n 0000241764 00000 n 0000242028 00000 n 0000242375 00000 n 0000242187 00000 n 0000242563 00000 n 0000242780 00000 n 0000242997 00000 n 0000243166 00000 n 0000243507 00000 n 0000243338 00000 n 0000243676 00000 n 0000243841 00000 n 0000244006 00000 n 0000244200 00000 n 0000244628 00000 n 0000244430 00000 n 0000244826 00000 n 0000245000 00000 n 0000245269 00000 n 0000245443 00000 n 0000258635 00000 n 0000199874 00000 n 0000212741 00000 n 0000258719 00000 n 0000212894 00000 n 0000229054 00000 n 0000259358 00000 n 0000259263 00000 n 0000258803 00000 n 0000229205 00000 n 0000233001 00000 n 0000258887 00000 n 0000233130 00000 n 0000236991 00000 n 0000258971 00000 n 0000237131 00000 n 0000237407 00000 n 0000245739 00000 n 0000245930 00000 n 0000248701 00000 n 0000248904 00000 n 0000249105 00000 n 0000249303 00000 n 0000249501 00000 n 0000249694 00000 n 0000252581 00000 n 0000252773 00000 n 0000252974 00000 n 0000253177 00000 n 0000253369 00000 n 0000253630 00000 n 0000253702 00000 n 0000253773 00000 n 0000253890 00000 n 0000254076 00000 n 0000254197 00000 n 0000256038 00000 n 0000257591 00000 n 0000259055 00000 n 0000259084 00000 n 0000259450 00000 n 0000259574 00000 n trailer << /Size 124 /Root 123 0 R /Info 122 0 R /ID [<362860fa0498cd30ce5a2581d0ca3a5f><362860fa0498cd30ce5a2581d0ca3a5f>] >> startxref 259646 %%EOF