Sindbad~EG File Manager

Current Path : /usr/local/share/doc/db18/programmer_reference/
Upload File :
Current File : /usr/local/share/doc/db18/programmer_reference/libtp_usenix.pdf

%PDF-1.3
%����
2 0 obj
<<
/Length 9988
>>
stream
BT
/TT2 1 Tf
14 0 0 14 150.625 641.25 Tm
0 g
/GS1 gs
0.0001 Tc
0 Tw
[(LIBTP:)-487.3(Portable,)-254(Modular)-246.3(Transactions)-256.2(for)-258.8(UNIX)]TJ
/TT4 1 Tf
11 0 0 11 457.625 646.75 Tm
0 Tc
(1)Tj
/TT6 1 Tf
12 0 0 12 272.75 617.25 Tm
[(Margo)-246.6(Seltzer)]TJ
-0.1146 -1 TD
[(Michael)-265.3(Olson)]TJ
-3.8646 -1 TD
[(University)-261.6(of)-253.4(California,)-259.6(Berkeley)]TJ
/TT2 1 Tf
4.9687 -3 TD
(Abstract)Tj
/TT4 1 Tf
10 0 0 10 94.375 541.875 Tm
[(Transactions)-428.1(provide)-407.8(a)-406.2(useful)-406.2(programming)-406.6(paradigm)-411.1(for)-409(maintaining)-398.1(logical)-403.8(consistency,)-409.5(arbitrating)-410(con-)]TJ
-2.5 -1.125 TD
[(current)-331(access,)-333.8(and)-318.7(managing)-306.6(recovery.)-577.4(In)-304.5(traditional)-302.6(UNIX)-313(systems,)-295.5(the)-303.3(only)-297.2(easy)-310.6(way)-309(of)-304.5(using)-295.5(transactions)-311.1(is)-295.5(to)]TJ
T*
[(purchase)-458.8(a)-443.7(database)-445.1(system.)-672.2(Such)-425(systems)-420.5(are)-441.8(often)-432.8(slow,)-423.3(costly,)-423.8(and)-431.2(may)-428.3(not)-422.2(provide)-432.8(the)-428.3(exact)-440.6(functionality)]TJ
T*
[(desired.)-524.8(This)-259.7(paper)-266.8(presents)-260.6(the)-253.3(design,)-251.7(implementation,)-248.6(and)-256.2(performance)-285.3(of)-254.5(LIBTP,)-247.2(a)-256.1(simple,)-246(non-proprietary)-274.6(tran-)]TJ
T*
[(saction)-342.5(library)-347(using)-320.5(the)-328.3(4.4BSD)-317.2(database)-345.1(access)-346.3(routines)-328.3(\()]TJ
/TT2 1 Tf
24.3125 0 TD
(db)Tj
/TT4 1 Tf
1.1 0 TD
[(\(3\)\).)-588.5(On)-327.8(a)-331.2(conventional)-335(transaction)-337.8(processing)-335.6(style)]TJ
-25.4125 -1.125 TD
[(benchmark,)-357.6(its)-330.2(performance)-372.8(is)-333(approximately)-349.1(85%)-342(that)-338(of)-342(the)-328.3(database)-345.1(access)-346.3(routines)-328.3(without)-319.3(transaction)-337.8(protec-)]TJ
T*
[(tion,)-319.3(200%)-329.5(that)-325.5(of)-329.5(using)]TJ
/TT2 1 Tf
10.2625 0 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-334(to)-309.7(commit)-307.3(modi)]TJ
/TT7 1 Tf
8.0057 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cations)-305.7(to)-309.7(disk,)-308(and)-318.6(125%)-317(that)-313(of)-317(a)-318.7(commercial)-330.3(relational)-324.1(data-)]TJ
-21.0493 -1.125 TD
[(base)-260.6(system.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(1.)-500(Introduction)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(Transactions)-278.1(are)-279.3(used)-267(in)-259.7(database)-282.6(systems)-258(to)-259.7(enable)-278.1(concurrent)-274.6(users)-257.3(to)-247.2(apply)-253.3(multi-operation)-254.3(updates)-257.8(without)]TJ
-2.5 -1.125 TD
[(violating)-294.8(the)-303.3(integrity)-299.3(of)-304.5(the)-303.3(database.)-320.1(They)-307.8(provide)-295.3(the)-290.8(properties)-301.5(of)-292(atomicity,)-285.6(consistency,)-297(isolation,)-280.7(and)-293.7(durabil-)]TJ
T*
[(ity.)-519.3(By)-270.5(atomicity,)-273.1(we)-284(mean)-284.5(that)-275.5(the)-278.3(set)-276.7(of)-279.5(updates)-270.3(comprising)-263(a)-268.7(transaction)-275.3(must)-255.2(be)-268.7(applied)-269.1(as)-267(a)-268.7(single)-261.3(unit;)-504(that)-263(is,)]TJ
T*
[(they)-265.8(must)-255.2(either)-273.6(all)-263(be)-268.7(applied)-269.1(to)-259.7(the)-265.8(database)-282.6(or)-267(all)-263(be)-268.6(absent.)-520.3(Consistency)-261.3(requires)-279.3(that)-263(a)-268.7(transaction)-275.3(take)-272(the)-265.8(data-)]TJ
T*
[(base)-348.1(from)-343.7(one)-343.7(logically)-338.5(consistent)-325.5(state)-330(to)-322.2(another.)-589(The)-332.8(property)-337.3(of)-329.5(isolation)-318.2(requires)-341.8(that)-325.5(concurrent)-349.6(transactions)]TJ
T*
[(yield)-438(results)-439.2(which)-443.7(are)-441.8(indistinguishable)-417(from)-431.2(the)-428.3(results)-426.7(which)-431.2(would)-425(be)-431.2(obtained)-431.6(by)-425(running)-426.7(the)-428.3(transactions)]TJ
T*
[(sequentially.)-505.5(Finally,)-241.5(durability)-249.3(requires)-266.8(that)-250.5(once)-262.3(transactions)-261.1(have)-262.3(been)-262.3(committed,)-248.1(their)-255(results)-251.7(must)-242.7(be)-256.1(preserved)]TJ
T*
[(across)-263.5(system)-247.2(failures)-264([TPCB90].)]TJ
2.5 -1.5375 TD
[(Although)-284.7(these)-295.3(properties)-301.5(are)-304.3(most)-280.2(frequently)-303.1(discussed)-292(in)-284.7(the)-290.8(context)-294.1(of)-292(databases,)-306(they)-278.3(are)-291.8(useful)-281.2(program-)]TJ
-2.5 -1.125 TD
[(ming)-381.8(paradigms)-384.5(for)-384(more)-382.8(general)-395.1(purpose)-384(applications.)-630.5(There)-393.5(are)-391.8(several)-393.5(different)-395.1(situations)-366.5(where)-394.6(transactions)]TJ
T*
[(can)-262.3(be)-256.2(used)-254.5(to)-247.2(replace)-276.3(current)-268.5(ad-hoc)-266.8(mechanisms.)]TJ
2.5 -1.5375 TD
[(One)-271.5(situation)-255.7(is)-258(when)-271.5(multiple)]TJ
/TT7 1 Tf
12.5875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les)-258(or)-267(parts)-268.7(of)]TJ
/TT7 1 Tf
5.7813 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les)-245.5(need)-262.3(to)-247.2(be)-256.2(updated)-259.5(in)-247.2(an)-256.2(atomic)-253.8(fashion.)-506.2(For)-248.3(example,)-262.8(the)]TJ
-21.9811 -1.125 TD
[(traditional)-290.1(UNIX)]TJ
/TT7 1 Tf
7.2 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-284.7(system)-284.7(uses)-277.8(ordering)-287.3(constraints)-280(to)-272.2(achieve)-296.8(recoverability)-297.3(in)-272.2(the)-278.3(face)-298(of)-279.5(crashes.)-544.6(When)-287.3(a)-281.2(new)]TJ
/TT7 1 Tf
-7.7562 -1.125 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-259.7(is)-258(created,)-288.8(its)-255.2(inode)-265.8(is)-258(written)-255(to)-247.2(disk)-245.5(before)-271.3(the)-253.3(new)]TJ
/TT7 1 Tf
22.1938 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-247.2(is)-245.5(added)-262.3(to)-247.2(the)-253.3(directory)-265.6(structure.)-514(This)-247.2(guarantees)-274.6(that,)]TJ
-23.3062 -1.125 TD
[(if)-289.2(the)-290.8(system)-284.7(crashes)-307.1(between)-306(the)-290.8(two)-287.5(I/O�s,)-294.8(the)-290.8(directory)-303.1(does)]TJ
25.8125 0 TD
[(not)-272.2(contain)-281.6(a)]TJ
5.5 0 TD
0.0039 Tc
[(reference)-270(to)-268.3(an)]TJ
6.3125 0 TD
0 Tc
[(invalid)-272.7(inode.)-528.3(In)-279.5(actu-)]TJ
-37.625 -1.125 TD
[(ality,)-297.7(the)-303.3(desired)-312.3(effect)-312.1(is)-283(that)-288(these)-295.3(two)-287.5(updates)-295.3(have)-299.8(the)-290.8(transactional)-303.6(property)-299.8(of)-292(atomicity)-285.6(\(either)-303.1(both)-284.7(writes)-293.7(are)]TJ
T*
[(visible)-271(or)-279.5(neither)-286.1(is\).)-525(Rather)-272(than)-265.8(building)-254(special)-273.6(purpose)-271.5(recovery)-289.9(mechanisms)-269.1(into)-256.8(the)]TJ
/TT7 1 Tf
36.1875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-259.7(system)-259.7(or)-267(related)-279.8(tools)]TJ
-36.7437 -1.125 TD
(\()Tj
/TT6 1 Tf
0.3375 0 TD
(e.g.)Tj
/TT2 1 Tf
1.8 0 TD
(fsck)Tj
/TT4 1 Tf
1.725 0 TD
[(\(8\)\),)-363.5(one)-356.2(could)-353.3(use)-354.5(general)-370.1(purpose)-346.5(transaction)-350.3(recovery)-364.9(protocols)-340.8(after)-356(system)-334.7(failure.)-603.1(Any)-340.3(application)]TJ
-3.8625 -1.125 TD
[(that)-375.5(needs)-385.6(to)-372.2(keep)-387.3(multiple,)-367(related)]TJ
/TT7 1 Tf
15.025 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les)-370.5(\(or)-384(directories\))-396.8(consistent)-375.5(should)-358(do)-362.5(so)-360.8(using)-358(transactions.)-623.6(Source)-373.1(code)]TJ
-15.5812 -1.125 TD
[(control)-292.5(systems,)-283(such)-292(as)-292(RCS)-272.4(and)-293.6(SCCS,)-266.2(should)-283(use)-292(transaction)-300.3(semantics)-294.1(to)-284.7(allow)-290.8(the)-290.8(��checking)-312.1(in��)-293.7(of)-279.5(groups)-277.8(of)]TJ
T*
(related)Tj
/TT7 1 Tf
3.075 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
0.0005 Tc
[(les.)-582.5(In)-341.5(this)-329.7(way,)-346(if)-326.2(the)-327.8(��check-in��)-323.5(fails,)-327.8(the)-327.8(transaction)-337.3(may)-327.8(be)-330.7(aborted,)-338.5(backing)-334(out)-321.7(the)-327.8(partial)-332.8(��check-)]TJ
-3.6312 -1.125 TD
0 Tc
[(in��)-256.2(leaving)-256.6(the)-253.3(source)-265.1(repository)-257.8(in)-247.2(a)-256.2(consistent)-250.5(state.)]TJ
2.5 -1.5375 TD
[(A)-365.3(second)-373.1(situation)-355.7(where)-382.1(transactions)-373.6(can)-374.8(be)-368.7(used)-367(to)-359.7(replace)-388.8(current)-381(ad-hoc)-379.3(mechanisms)-369.1(is)-345.5(in)-347.2(applications)]TJ
-2.5 -1.125 TD
[(where)-319.6(concurrent)-324.6(updates)-307.8(to)-297.2(a)-306.2(shared)]TJ
/TT7 1 Tf
15.475 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-297.2(are)-316.8(desired,)-312.3(but)-297.2(there)-314(is)-295.5(logical)-303.8(consistency)-297(of)-292(the)-290.8(data)-297(which)-293.7(needs)-298.1(to)-284.7(be)]TJ
-16.0312 -1.125 TD
[(preserved.)-525.8(For)-248.3(example,)-262.8(when)-259(the)-253.3(password)]TJ
/TT7 1 Tf
18.1375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-247.2(is)-245.5(updated,)]TJ
/TT7 1 Tf
5.5563 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-247.2(locking)-250.5(is)-245.5(used)-254.5(to)-247.2(disallow)-248.8(concurrent)-274.6(access.)-521.3(Tran-)]TJ
-24.8062 -1.125 TD
[(saction)-280(semantics)-281.6(on)-275(the)-278.3(password)]TJ
/TT7 1 Tf
14.175 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les)-270.5(would)-275(allow)-278.3(concurrent)-299.6(updates,)-282.8(while)-278.3(preserving)-279.3(the)-265.8(logical)-266.3(consistency)-272(of)]TJ
-14.7311 -1.125 TD
[(the)-353.3(password)-360.2(database.)-620.1(Similarly,)-340.3(UNIX)-350.5(utilities)-325(which)-343.6(rewrite)]TJ
/TT7 1 Tf
26.4875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les)-333(face)-360.4(a)-343.7(potential)-338.5(race)-360.5(condition)-335.2(between)-356(their)]TJ
-27.0436 -1.125 TD
[(rewriting)-284.5(a)]TJ
/TT7 1 Tf
4.675 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-272.2(and)-281.2(another)-276.5(process)-276(reading)-276.5(the)]TJ
/TT7 1 Tf
14.0313 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le.)-509.7(For)-260.8(example,)-275.3(the)-265.8(compiler)-270.8(\(more)-274.8(precisely,)-278.1(the)-265.8(assembler\))-281(may)]TJ
/T1 1 Tf
8 0 0 8 69.375 99.375 Tm
()Tj
/TT4 1 Tf
5 0 0 5 90.875 89.625 Tm
(1)Tj
8 0 0 8 95.375 86.5 Tm
[(To)-248.5(appear)-226.1(in)-253.4(the)]TJ
/TT6 1 Tf
6.75 0 TD
[(Proceedings)-235.8(of)-253.4(the)-247.1(1992)-250(Winter)-247.1(Usenix)]TJ
/TT4 1 Tf
15.7188 0 TD
[(,)-250(San)-250(Francisco,)-237.3(CA,)-251.5(January)-233.9(1992.)]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
/T1 8 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
12 0 obj
<<
/Length 11505
>>
stream
BT
/TT4 1 Tf
10 0 0 10 69.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(have)-387.3(to)-372.2(rewrite)-393.5(a)]TJ
/TT7 1 Tf
7.4625 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-359.7(to)-359.7(which)-368.7(it)-356.8(has)-367(write)-370.3(permission)-361.3(in)-359.7(a)-368.7(directory)-378.1(to)-359.7(which)-368.7(it)-356.8(does)-367(not)-359.7(have)-374.8(write)-370.3(permission.)]TJ
-8.0187 -1.125 TD
[(While)-356.6(the)-340.8(��.o��)]TJ
/TT7 1 Tf
6.8 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-334.7(is)-333(being)-340.8(written,)-342.5(another)-351.5(utility)-323.3(such)-342(as)]TJ
/TT2 1 Tf
17.4563 0 TD
(nm)Tj
/TT4 1 Tf
1.3875 0 TD
[(\(1\))-346.5(or)]TJ
/TT2 1 Tf
2.6875 0 TD
(ar)Tj
/TT4 1 Tf
0.95 0 TD
[(\(1\))-346.5(may)-340.8(read)-354.3(the)]TJ
/TT7 1 Tf
7.2125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-334.7(and)-343.7(produce)-354.3(invalid)]TJ
-37.6062 -1.125 TD
[(results)-326.7(since)-332.8(the)]TJ
/TT7 1 Tf
6.875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-322.2(has)-329.5(not)-322.2(been)-337.3(completely)-332.1(written.)-580(Currently,)-330(some)-326.7(utilities)-312.5(use)-329.5(special)-336.1(purpose)-321.5(code)-324.8(to)-309.7(handle)]TJ
-7.4312 -1.125 TD
[(such)-254.5(cases)-265.1(while)-253.3(others)-256.2(ignore)-257.8(the)-253.3(problem)-255(and)-256.2(force)-271.3(users)-257.3(to)-247.2(live)-250.5(with)-247.2(the)-253.3(consequences.)]TJ
2.5 -1.5375 TD
[(In)-292(this)-280.2(paper,)-304.3(we)-296.5(present)-299.8(a)-281.2(simple)-271(library)-284.5(which)-281.2(provides)-281.2(transaction)-287.8(semantics)-281.6(\(atomicity,)-277.6(consistency,)-284.5(isola-)]TJ
-2.5 -1.125 TD
[(tion,)-256.8(and)-268.7(durability\).)-266.3(The)-270.3(4.4BSD)-254.7(database)-282.6(access)-271.3(methods)-248.8(have)-262.3(been)-262.3(modi)]TJ
/TT7 1 Tf
30.3307 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-244.3(to)-247.2(use)-254.5(this)-242.7(library,)-259.5(optionally)-244.8(provid-)]TJ
-30.8868 -1.125 TD
[(ing)-309.7(shared)-327.6(buffer)-332.1(management)-328.6(between)-331(applications,)-305.5(locking,)-300.5(and)-306.1(transaction)-312.8(semantics.)-556.6(Any)-302.8(UNIX)-313(program)-312.3(may)]TJ
T*
[(transaction)-300.3(protect)-298.6(its)-280.2(data)-284.5(by)-275(requesting)-284.5(transaction)-287.8(protection)-283.3(with)-272.2(the)]TJ
/TT2 1 Tf
29.225 0 TD
(db)Tj
/TT4 1 Tf
1.1 0 TD
[(\(3\))-284(library)-284.5(or)-279.5(by)-275(adding)-278.3(appropriate)-296.8(calls)]TJ
-30.325 -1.125 TD
[(to)-359.7(the)-365.8(transaction)-375.3(manager,)-382.6(buffer)-382.1(manager,)-382.6(lock)-365.8(manager,)-382.6(and)-368.7(log)-359.7(manager.)-632.6(The)-370.3(library)-359.5(routines)-353.3(may)-353.3(be)-356.2(linked)]TJ
T*
[(into)-356.8(the)-353.3(host)-345.5(application)-357.1(and)-356.2(called)-362.8(by)-350(subroutine)-353.3(interface,)-377.9(or)-354.5(they)-353.3(may)-353.3(reside)-362.3(in)-347.2(a)-356.1(separate)-374.6(server)-369.6(process.)-613.5(The)]TJ
T*
[(server)-269.6(architecture)-281.3(provides)-256.2(for)-259(network)-260.6(access)-271.3(and)-256.1(better)-261.1(protection)-258.3(mechanisms.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(2.)-500(Related)-260.6(Work)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(There)-731(has)-717(been)-724.8(much)-715.8(discussion)-708(in)-709.7(recent)-732.6(years)-715.1(about)-703.3(new)-709(transaction)-712.8(models)-698.8(and)-706.2(architectures)]TJ
-2.5 -1.125 TD
0.0009 Tc
[([SPEC88][NODI90][CHEN91][MOHA91].)-545.7(Much)-303.6(of)-291.1(this)-279.3(work)-293.9(focuses)-300.1(on)]TJ
30.6 0 TD
0 Tc
[(new)-296.5(ways)-294.8(to)-284.7(model)-288(transactions)-298.6(and)-293.7(the)]TJ
-30.6 -1.125 TD
[(interactions)-310(between)-318.5(them,)-300.5(while)-303.3(the)-290.8(work)-294.8(presented)-306(here)-304.3(focuses)-301(on)-287.5(the)-290.8(implementation)-286.1(and)-293.7(performance)-322.8(of)-292(tradi-)]TJ
T*
[(tional)-247.7(transaction)-262.8(techniques)-261.1(\(write-ahead)-285.3(logging)-244.3(and)-256.2(two-phase)-265.1(locking\))-255(on)-250(a)-256.2(standard)-262.3(operating)-261.1(system)-247.2(\(UNIX\).)]TJ
2.5 -1.5375 TD
[(Such)-400(traditional)-402.6(operating)-411.1(systems)-395.5(are)-416.8(often)-407.8(criticized)-417.8(for)-409(their)-405(inability)-392(to)-384.7(perform)-404.3(transaction)-400.3(processing)]TJ
-2.5 -1.125 TD
[(adequately.)-618.9([STON81])-360.2(cites)-355(three)-364(main)-350.5(areas)-371.3(of)-354.5(inadequate)-368.9(support:)-347.2(buffer)-369.6(management,)-366.1(the)]TJ
/TT7 1 Tf
38.7875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-347.2(system,)-347.2(and)-343.7(the)]TJ
-39.3437 -1.125 TD
[(process)-351(structure.)-851.5(These)-349.8(arguments)-347(are)-354.3(summarized)-350.3(in)-334.7(table)-331.6(one.)-581.2(Fortunately,)-327.1(much)-328.3(has)-329.5(changed)-343.5(since)-332.8(1981.)-575(In)]TJ
T*
[(the)-378.3(area)-398(of)-379.5(buffer)-394.6(management,)-391.1(most)-367.7(UNIX)-388(systems)-370.5(provide)-382.8(the)-378.3(ability)-369.8(to)-372.2(memory)-380(map)]TJ
/TT7 1 Tf
37.125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les,)-370.5(thus)-358(obviating)-360.2(the)]TJ
-37.6812 -1.125 TD
[(need)-349.8(for)-346.5(a)-343.7(copy)-343.7(between)-356(kernel)-351.5(and)-331.2(user)-334(space.)-591.8(If)-334(a)-331.2(database)-345.1(system)-322.2(is)-320.5(going)-322.2(to)-322.2(use)-329.5(the)]TJ
/TT7 1 Tf
36.7625 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-322.2(system)-322.2(buffer)-344.6(cache,)]TJ
-37.3186 -1.125 TD
[(then)-328.3(a)-331.2(system)-322.2(call)-331.6(is)-320.5(required.)-593.5(However,)-335(if)-314.2(buffering)-329.3(is)-308(provided)-320.3(at)-315.8(user)-321.5(level)-319.1(using)-308(shared)-327.6(memory,)-317.5(as)-317(in)-309.7(LIBTP,)]TJ
T*
[(buffer)-319.6(management)-316.1(is)-295.5(only)-284.7(as)-292(slow)-285.8(as)-292(access)-308.8(to)-284.7(shared)-302.6(memory)-292.5(and)-293.6(any)-293.7(replacement)-314.3(algorithm)-286.8(may)-290.8(be)-293.7(used.)-292(Since)]TJ
T*
[(multiple)-342(processes)-368(can)-362.3(access)-371.3(the)-353.3(shared)-365.1(data,)-359.5(prefetching)-371.8(may)-353.3(be)-356.2(accomplished)-364.5(by)-350(separate)-374.6(processes)-355.5(or)-342(threads)]TJ
T*
[(whose)-282.3(sole)-264.2(purpose)-271.5(is)-258(to)-259.7(prefetch)-287.1(pages)-273.1(and)-268.7(wait)-265.8(on)-262.5(them.)-513(There)-281(is)-258(still)-249.5(no)-262.5(way)-271.5(to)-259.7(enforce)-289.9(write)-270.3(ordering)-274.8(other)-270.3(than)]TJ
T*
[(keeping)-259.5(pages)-260.6(in)-247.2(user)-259(memory)-255(and)-256.2(using)-245.5(the)]TJ
/TT2 1 Tf
18.0875 0 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(3\))-259(system)-247.2(call)-256.6(to)-247.2(perform)-266.8(synchronous)-257.3(writes.)]TJ
-17.8125 -1.5375 TD
[(In)-292(the)-290.8(area)-310.4(of)]TJ
/TT7 1 Tf
5.7375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-284.7(systems,)-283(the)-290.8(fast)]TJ
/TT7 1 Tf
7.9563 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-284.7(system)-284.7(\(FFS\))-278([MCKU84])-296(allows)-289.2(allocation)-294.6(in)-284.7(units)-267.7(up)-275(to)-272.2(64KBytes)-275(as)]TJ
-17.3062 -1.125 TD
[(opposed)-304.5(to)-297.2(the)-303.3(4KByte)-301.7(and)-293.7(8KByte)]TJ
/TT7 1 Tf
14.7875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gures)-290.3(quoted)-290.8(in)-284.7([STON81].)-547.7(The)-295.3(measurements)-304.8(in)-284.7(this)-280.2(paper)-304.3(were)-307.1(taken)-297(from)]TJ
-15.3437 -1.125 TD
[(an)-306.2(8KByte)-301.7(FFS,)-281.5(but)-297.2(as)-292(LIBTP)-284.7(runs)-290.3(exclusively)-295.8(in)-284.7(user)-296.5(space,)-304.3(there)-301.5(is)-283(nothing)-281.8(to)-284.7(prevent)-301.5(it)-281.8(from)-293.7(being)-290.8(run)-292(on)-287.5(other)]TJ
T*
[(UNIX)-263(compatible)]TJ
/TT7 1 Tf
7.4625 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-247.2(systems)-245.5(\(e.g.)-260.6(log-structured)-265.6([ROSE91],)-252.8(extent-based,)-271.8(or)-254.5(multi-block)-246.5([SELT91]\).)]TJ
-5.5187 -1.5375 TD
[(Finally,)-341.5(with)-347.2(regard)-371.3(to)-347.2(the)-340.8(process)-351(structure,)-351.5(neither)-348.6(context)-344.1(switch)-339.2(time)-335.2(nor)-342(scheduling)-342.5(around)-348.1(semaphores)]TJ
-2.5 -1.125 TD
[(seems)-431.2(to)-422.2(affect)-449.6(the)-428.3(system)-422.2(performance.)-710.3(However,)-447.5(the)-428.3(implementation)-411.1(of)-417(semaphores)-429.3(can)-424.8(impact)-416.3(performance)]TJ
T*
[(tremendously.)-506.6(This)-247.2(is)-245.5(discussed)-254.5(in)-247.2(more)-257.8(detail)-253.8(in)-247.2(section)-255(4.3.)]TJ
2.5 -1.5375 TD
[(The)-357.8(Tuxedo)-357.8(system)-347.2(from)-356.2(AT&T)-353.3(is)-333(a)-343.7(transaction)-350.3(manager)-357.6(which)-343.7(coordinates)-353.1(distributed)-335.2(transaction)-350.3(commit)]TJ
-2.5 -1.125 TD
[(from)-343.7(a)-343.7(variety)-348.6(of)-342(different)-357.6(local)-344.1(transaction)-350.3(managers.)-606(At)-337.5(this)-317.7(time,)-322.7(LIBTP)-322.2(does)-329.5(not)-322.2(have)-337.3(its)-317.7(own)-327.8(mechanism)-333.3(for)]TJ
T*
[(distributed)-560.2(commit)-557.3(processing,)-573.1(but)-559.7(could)-565.8(be)-568.7(used)-567(as)-567(a)-568.7(local)-569.1(transaction)-575.3(agent)-559.5(by)-550(systems)-545.5(such)-554.5(as)-554.5(Tuxedo)]TJ
T*
([ANDR89].)Tj
/T1 1 Tf
3.85 -2.8625 TD
()Tj
0.0875 0 TD
()Tj
/TT4 1 Tf
0.4125 -1.125 TD
[(Buffer)-265.1(Management)]TJ
/T1 1 Tf
9.6125 0 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(Data)-262.3(must)-242.7(be)-256.2(copied)-259.5(between)-268.5(kernel)-264(space)-266.8(and)-256.2(user)-259(space.)]TJ
/T1 1 Tf
-0.6 -1.125 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(Buffer)-265.1(pool)-247.2(access)-271.3(is)-245.5(too)-247.2(slow.)]TJ
/T1 1 Tf
-0.6 -1.125 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(There)-268.5(is)-245.5(no)-250(way)-259(to)-247.2(request)-262.3(prefetch.)]TJ
/T1 1 Tf
-0.6 -1.125 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(Replacement)-267.8(is)-245.5(usually)-248.8(LRU)-250(which)-256.2(may)-253.3(be)-256.2(suboptimal)-243.2(for)-259(databases.)]TJ
/T1 1 Tf
-0.6 -1.125 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(There)-268.5(is)-245.5(no)-250(way)-259(to)-247.2(guarantee)-276.3(write)-257.8(ordering.)]TJ
/T1 1 Tf
-10.7125 -0.125 TD
()Tj
0.0875 0 TD
()Tj
/TT4 1 Tf
0.4125 -1.125 TD
[(File)-244.3(System)]TJ
/T1 1 Tf
9.6125 0 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(Allocation)-253.8(is)-245.5(done)-256.2(in)-247.2(small)-246(blocks)-251.7(\(usually)-253.3(4K)-252.8(or)-254.5(8K\).)]TJ
/T1 1 Tf
-0.6 -1.125 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(Logical)-258.3(organization)-264.5(of)]TJ
/TT7 1 Tf
9.6625 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les)-245.5(is)-245.5(redundantly)-261.1(expressed.)]TJ
/T1 1 Tf
-20.9312 -0.125 TD
()Tj
0.0875 0 TD
()Tj
/TT4 1 Tf
0.4125 -1.125 TD
[(Process)-257.3(Structure)]TJ
/T1 1 Tf
9.6125 0 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(Context)-246(switching)-248.8(and)-256.2(message)-262.3(passing)-250(are)-266.8(too)-247.2(slow.)]TJ
/T1 1 Tf
-0.6 -1.125 TD
()Tj
/TT4 1 Tf
0.6 0 TD
[(A)-252.8(process)-263.5(may)-253.3(be)-256.2(descheduled)-270.1(while)-253.3(holding)-244.3(a)-256.2(semaphore.)]TJ
/T1 1 Tf
-10.7125 -0.125 TD
()Tj
0.0875 0 TD
()Tj
-0.0875 0 TD
()Tj
0 0.5 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
39.0875 -9.5 TD
()Tj
0 0.5 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
/TT2 1 Tf
-35.425 -12.1625 TD
[(Table)-242.7(One:)-251.7(Shortcomings)-248.3(of)-254.5(UNIX)-256.8(transaction)-254.5(support)-240.5(cited)-257.8(in)-241([STON81].)]TJ
ET
endstream
endobj
13 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT7 7 0 R
/T1 8 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
15 0 obj
<<
/Length 12803
>>
stream
BT
/TT4 1 Tf
10 0 0 10 94.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(The)-270.3(transaction)-275.3(architecture)-293.8(presented)-281(in)-259.7([YOUN91])-282.8(is)-258(very)-273.1(similar)-260.2(to)-259.7(that)-263(implemented)-266.8(in)-259.7(the)-265.8(LIBTP.)-509.7(While)]TJ
-2.5 -1.125 TD
[([YOUN91])-345.3(presents)-335.6(a)-331.2(model)-325.5(for)-334(providing)-323.8(transaction)-337.8(services,)-329.3(this)-305.2(paper)-329.3(focuses)-326(on)-312.5(the)-315.8(implementation)-311.1(and)-318.6(per-)]TJ
T*
[(formance)-299.6(of)-279.5(a)-281.2(particular)-293.9(system.)-522.2(In)-279.5(addition,)-260.2(we)-271.5(provide)-270.3(detailed)-272.5(comparisons)-270.3(with)-259.7(alternative)-280.3(solutions:)-247.9(traditional)]TJ
T*
[(UNIX)-263(services)-266.8(and)-256.2(commercial)-267.8(database)-270.1(management)-266.1(systems.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(3.)-500(Architecture)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(The)-332.8(library)-334.5(is)-308(designed)-320.3(to)-309.7(provide)-320.3(well)-315.8(de)]TJ
/TT7 1 Tf
17.1813 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ned)-318.7(interfaces)-338.8(to)-309.7(the)-315.8(services)-329.3(required)-331(for)-321.5(transaction)-325.3(processing.)]TJ
-20.2375 -1.125 TD
[(These)-387.3(services)-391.8(are)-391.8(recovery,)-402.4(concurrency)-408.6(control,)-380(and)-381.2(the)-378.3(management)-391.1(of)-379.5(shared)-390.1(data.)-634.5(First)-366(we)-384(will)-369.3(discuss)-360.8(the)]TJ
T*
[(design)-389.2(tradeoffs)-408.8(in)-384.7(the)-390.8(selection)-395.8(of)-392(recovery,)-414.9(concurrency)-421.1(control,)-380(and)-381.2(buffer)-394.6(management)-391.1(implementations,)-372(and)]TJ
T*
[(then)-253.3(we)-259(will)-244.3(present)-262.3(the)-253.3(overall)-261.1(library)-259.5(architecture)-281.2(and)-256.2(module)-250.5(descriptions.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(3.1.)-500(Design)-248.3(Tradeoffs)]TJ
T*
[(3.1.1.)-500(Crash)-251.2(Recovery)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(The)-370.3(recovery)-389.9(protocol)-367.5(is)-358(responsible)-370.3(for)-371.5(providing)-361.3(the)-365.8(transaction)-375.3(semantics)-369.1(discussed)-367(earlier.)-634.3(There)-381(are)-366.8(a)]TJ
-2.5 -1.125 TD
[(wide)-356.2(range)-366.8(of)-354.5(recovery)-377.4(protocols)-353.3(available)-366.1([HAER83],)-361.8(but)-347.2(we)-359(can)-349.8(crudely)-351.5(divide)-338(them)-338(into)-331.8(two)-337.5(main)-338(categories.)]TJ
T*
(The)Tj
/TT7 1 Tf
1.8875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(rst)-318.8(category)-345.1(records)-344.6(all)-325.5(modi)]TJ
/TT7 1 Tf
11.7745 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cations)-318.2(to)-322.2(the)-328.3(database)-345.1(in)-322.2(a)-318.6(separate)]TJ
/TT7 1 Tf
15.0632 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le,)-309.7(and)-318.6(uses)-315.3(this)]TJ
/TT7 1 Tf
6.8313 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-309.7(\(log\))-318.7(to)-309.7(back)-324.8(out)-309.7(or)]TJ
-37.7812 -1.125 TD
[(reapply)-376.5(these)-370.3(modi)]TJ
/TT7 1 Tf
7.8557 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cations)-355.7(if)-364.2(a)-368.7(transaction)-375.3(aborts)-368.7(or)-367(the)-365.8(system)-359.7(crashes.)-632.1(We)-374.8(call)-369.1(this)-355.2(set)-364.2(the)]TJ
/TT2 1 Tf
30.7382 0 TD
[(logging)-338.2(protocols)]TJ
/TT4 1 Tf
7.4 0 TD
(.)Tj
-46.55 -1.125 TD
[(The)-295.3(second)-298.1(category)-307.6(avoids)-289.2(the)-290.8(use)-292(of)-292(a)-293.7(log)-284.7(by)-287.5(carefully)-309.3(controlling)-286.8(when)-296.5(data)-297(are)-304.3(written)-292.5(to)-284.7(disk.)-533(We)-299.8(call)-294.1(this)-267.7(set)]TJ
T*
(the)Tj
/TT2 1 Tf
1.475 0 TD
[(non-logging)-230.4(protocols)]TJ
/TT4 1 Tf
9.2375 0 TD
(.)Tj
-8.2125 -1.5375 TD
[(Non-logging)-264.2(protocols)-265.8(hold)-247.2(dirty)-248.8(buffers)-268(in)-247.2(main)-250.5(memory)-255(or)-254.5(temporary)]TJ
/TT7 1 Tf
28.95 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les)-245.5(until)-241.5(commit)-244.8(and)-256.2(then)-253.3(force)-271.3(these)]TJ
-32.0061 -1.125 TD
[(pages)-398.1(to)-384.7(disk)-383(at)-390.8(transaction)-400.3(commit.)-632.3(While)-394.1(we)-396.5(can)-399.8(use)-392(temporary)]TJ
/TT7 1 Tf
28.15 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les)-383(to)-384.7(hold)-384.7(dirty)-373.8(pages)-385.6(that)-375.5(may)-378.3(need)-387.3(to)-372.2(be)]TJ
-28.7062 -1.125 TD
[(evicted)-300.3(from)-281.2(memory)-280(during)-276.7(a)-281.2(long-running)-278.3(transaction,)-287.8(the)-278.3(only)-272.2(user-level)-295.1(mechanism)-283.3(to)-272.2(force)-296.3(pages)-285.6(to)-272.2(disk)-270.5(is)-270.5(the)]TJ
/TT2 1 Tf
T*
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-296.5(system)-284.7(call.)-544.1(Unfortunately,)]TJ
/TT2 1 Tf
12.925 0 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-296.5(is)-283(an)-293.7(expensive)-301.5(system)-284.7(call)-294.1(in)-284.7(that)-288(it)-281.8(forces)-307.1(all)-288(pages)-298.1(of)-292(a)]TJ
/TT7 1 Tf
24.9125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-272.2(to)-272.2(disk,)]TJ
-42.8437 -1.125 TD
[(and)-256.2(transactions)-261.1(that)-250.5(manage)-265.6(more)-257.8(than)-253.3(one)]TJ
/TT7 1 Tf
17.85 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-247.2(must)-242.7(issue)-250(one)-256.1(call)-256.6(per)]TJ
/TT7 1 Tf
10.3438 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(le.)Tj
-26.8062 -1.5375 TD
[(In)-392(addition,)]TJ
/TT2 1 Tf
5.1375 0 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-396.5(provides)-393.7(no)-387.5(way)-384(to)-372.2(control)-380(the)-378.3(order)-390.1(in)-372.2(which)-381.2(dirty)-373.8(pages)-385.6(are)-391.8(written)-380(to)-372.2(disk.)-620.5(Since)]TJ
-9.8625 -1.125 TD
[(non-logging)-373.8(protocols)-378.3(must)-367.7(sometimes)-372.7(order)-390.1(writes)-381.1(carefully)-396.8([SULL92],)-384(they)-378.3(are)-391.8(dif)]TJ
/TT7 1 Tf
35.2233 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cult)-371(to)-372.2(implement)-360.6(on)-362.5(Unix)]TJ
-35.7795 -1.125 TD
[(systems.)-495.5(As)-251.2(a)-256.2(result,)-253.3(we)-259(have)-262.3(chosen)-260.6(to)-247.2(implement)-248.1(a)-256.2(logging)-244.3(protocol.)]TJ
2.5 -1.5375 TD
[(Logging)-298.8(protocols)-303.3(may)-303.3(be)-306.2(categorized)-329.6(based)-310.6(on)-300(how)-302.8(information)-303.8(is)-295.5(logged)-303.3(\(physically)-294.1(or)-292(logically\))-293(and)-293.7(how)]TJ
-2.5 -1.125 TD
[(much)-428.3(is)-420.5(logged)-428.3(\(before)-450.8(images,)-430(after)-443.5(images)-430(or)-429.5(both\).)-676.7(In)]TJ
/TT2 1 Tf
24.8375 0 TD
[(physical)-411.5(logging)]TJ
/TT4 1 Tf
7.0125 0 TD
[(,)-425(images)-417.5(of)-417(complete)-422.5(physical)-417.5(units)]TJ
-31.85 -1.125 TD
[(\(pages)-277.6(or)-267(buffers\))-285(are)-279.3(recorded,)-289.9(while)-265.8(in)]TJ
/TT2 1 Tf
16.5 0 TD
[(logical)-260.2(logging)]TJ
/TT4 1 Tf
6.4 0 TD
[(a)-268.7(description)-256.6(of)-254.5(the)-253.3(operation)-261.1(is)-245.5(recorded.)-527.4(Therefore,)-283.6(while)]TJ
-22.9 -1.125 TD
[(we)-334(may)-328.3(record)-346.3(entire)-336.1(pages)-335.6(in)-322.2(a)-331.2(physical)-330(log,)-322.2(we)-334(need)-337.3(only)-322.2(record)-333.8(the)-315.8(records)-332.1(being)-315.8(modi)]TJ
/TT7 1 Tf
37.1807 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-306.8(in)-309.7(a)-318.7(logical)-316.3(log.)-559.7(In)]TJ
-37.7368 -1.125 TD
[(fact,)-289(physical)-267.5(logging)-256.8(can)-274.8(be)-268.7(thought)-256.8(of)-267(as)-267(a)-268.7(special)-273.6(case)]TJ
23.1 0 TD
[(of)-267(logical)-266.3(logging,)-256.8(since)]TJ
9.975 0 TD
0.0021 Tc
[(the)-263.7(��records��)-258.9(that)-260.9(we)]TJ
9.2625 0 TD
0 Tc
[(log)-259.7(in)-259.7(logi-)]TJ
-42.3375 -1.125 TD
[(cal)-309.5(logging)-294.3(might)-291.5(be)-306.2(physical)-305(pages.)-560.6(Since)-303.3(logical)-303.8(logging)-294.3(is)-295.5(both)-284.7(more)-295.3(space-ef)]TJ
/TT7 1 Tf
33.0306 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cient)-319.9(and)-293.7(more)-295.3(general,)-307.6(we)-296.5(have)]TJ
-33.5867 -1.125 TD
[(chosen)-260.6(it)-244.3(for)-259(our)-254.5(logging)-244.3(protocol.)]TJ
2.5 -1.5375 TD
(In)Tj
/TT2 1 Tf
1.1 0 TD
[(before-image)-291.6(logging)]TJ
/TT4 1 Tf
9 0 TD
[(,)-262.5(w)0(e)-271.5(log)-259.7(a)-268.7(copy)-268.7(of)-267(the)-265.8(data)-272(before)-283.8(the)-265.8(update,)-272(while)-265.8(in)]TJ
/TT2 1 Tf
21.975 0 TD
[(after-image)-283.6(logging)]TJ
/TT4 1 Tf
8.325 0 TD
[(,)-250(w)0(e)-259(log)-247.2(a)]TJ
-42.9 -1.125 TD
[(copy)-368.7(of)-367(the)-365.8(data)-372(after)-381(the)-353.3(update.)-609.5(If)-359(we)-359(log)-347.2(only)-347.2(before-images,)-380.8(then)-353.3(there)-364(is)-345.5(suf)]TJ
/TT7 1 Tf
33.7722 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cient)-353.3(information)-353.8(in)-347.2(the)-353.3(log)-347.2(to)]TJ
-34.3283 -1.125 TD
[(allow)-353.3(us)-348.3(to)]TJ
/TT2 1 Tf
4.9375 0 TD
(undo)Tj
/TT4 1 Tf
2.5 0 TD
[(the)-353.3(transaction)-362.8(\(go)-354.5(back)-362.3(to)-347.2(the)-353.3(state)-342.5(represented)-366.6(by)-337.5(the)-340.8(before-image\).)-624.4(However,)-610(if)-339.2(the)-340.8(system)]TJ
-7.4375 -1.125 TD
[(crashes)-294.6(and)-281.2(a)-281.2(committed)-273.1(transaction�s)-290.6(changes)-291.8(have)-287.3(not)-272.2(reached)-304.1(the)-278.3(disk,)-270.5(we)-271.5(have)-274.8(no)-262.5(means)-270.3(to)]TJ
/TT2 1 Tf
38.7 0 TD
(redo)Tj
/TT4 1 Tf
2.2125 0 TD
[(the)-265.8(transaction)]TJ
-40.9125 -1.125 TD
[(\(reapply)-343.5(the)-328.3(updates\).)-587.3(Therefore,)-358.6(logging)-319.3(only)-322.2(before-images)-355.8(necessitates)-342.3(forcing)-337.3(dirty)-323.8(pages)-335.6(at)-328.3(commit)-319.8(time.)-572.7(As)]TJ
T*
[(mentioned)-253.8(above,)-262.3(forcing)-262.3(pages)-260.6(at)-253.3(commit)-244.8(is)-245.5(considered)-268.5(too)-247.2(costly.)]TJ
2.5 -1.5375 TD
[(If)-321.5(we)-321.5(log)-309.7(only)-309.7(after-images,)-340.4(then)-315.8(there)-326.5(is)-308(suf)]TJ
/TT7 1 Tf
18.2972 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cient)-315.8(information)-316.3(in)-309.7(the)-315.8(log)-309.7(to)-309.7(allow)-315.8(us)-310.8(to)-309.7(redo)-323.1(the)-303.3(transaction)]TJ
-21.3533 -1.125 TD
[(\(go)-317(forward)-335(to)-309.7(the)-315.8(state)-305(represented)-329.1(by)-300(the)-303.3(after-image\),)-334.1(but)-297.2(we)-309(do)-300(not)-297.2(have)-312.3(the)-303.3(information)-303.8(required)-318.5(to)-297.2(undo)-300(tran-)]TJ
T*
[(sactions)-403.3(which)-406.2(aborted)-414(after)-418.5(dirty)-398.8(pages)-410.6(were)-419.6(written)-405(to)-397.2(disk.)-633(Therefore,)-421.1(logging)-381.8(only)-384.7(after-images)-415.4(necessitates)]TJ
T*
[(holding)-244.3(all)-250.5(dirty)-248.8(buffers)-268(in)-247.2(main)-250.5(memory)-255(until)-241.5(commit)-244.8(or)-254.5(writing)-248.8(them)-250.5(to)-247.2(a)-256.2(temporary)]TJ
/TT7 1 Tf
34.6 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(le.)Tj
-32.6562 -1.5375 TD
[(Since)-290.8(neither)-298.6(constraint)-294.1(\(forcing)-304.3(pages)-298.1(on)-287.5(commit)-282.3(or)-292(buffering)-304.3(pages)-285.6(until)-266.5(commit\))-274.3(was)-282.3(feasible,)-290.6(we)-284(chose)-285.6(to)]TJ
-2.5 -1.125 TD
[(log)-322.2(both)-322.2(before)-346.3(and)-331.2(after)-343.5(images.)-330(The)-332.8(only)-322.2(remaining)-333.3(consideration)-337.8(is)-320.5(when)-334(changes)-329.3(get)-315.8(written)-317.5(to)-309.7(disk.)-558(Changes)]TJ
T*
[(affect)-337.1(both)-309.7(data)-322(pages)-323.1(and)-306.2(the)-303.3(log.)-547.2(If)-309(the)-303.3(changed)-318.5(data)-309.5(page)-312.3(is)-295.5(written)-305(before)-321.3(the)-303.3(log)-297.2(page,)-312.3(and)-306.2(the)-303.3(system)-297.2(crashes)]TJ
T*
[(before)-346.3(the)-328.3(log)-322.2(page)-337.3(is)-320.5(written,)-330(the)-328.3(log)-309.7(will)-306.8(contain)-319.1(insuf)]TJ
/TT7 1 Tf
22.9375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cient)-313(information)-316.3(to)-309.7(undo)-312.5(the)-315.8(change.)-581(This)-309.7(violates)-314.6(tran-)]TJ
-23.4936 -1.125 TD
[(saction)-267.5(semantics,)-269.1(since)-270.3(some)-264.2(changed)-281(data)-272(pages)-273.1(may)-265.8(not)-259.7(have)-262.3(been)-262.3(written,)-255(and)-256.1(the)-253.3(database)-270.1(cannot)-259.5(be)-256.2(restored)-266.8(to)]TJ
T*
[(its)-242.7(pre-transaction)-277.9(state.)]TJ
2.5 -1.5375 TD
[(The)-432.8(log)-422.2(record)-446.3(describing)-434.5(an)-431.2(update)-434.5(must)-417.7(be)-431.2(written)-430(to)-422.2(stable)-430(storage)-437.3(before)-433.8(the)-415.8(modi)]TJ
/TT7 1 Tf
36.7307 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-406.8(page.)-674.8(This)-409.7(is)]TJ
/TT2 1 Tf
-39.7868 -1.125 TD
[(write-ahead)-352.6(logging)]TJ
/TT4 1 Tf
8.5625 0 TD
[(.)-587.5(I)0(f)-346.5(log)-334.7(records)-357.1(are)-354.3(safely)-349.8(written)-342.5(to)-334.7(disk,)-333(data)-347(pages)-348.1(may)-340.8(be)-343.7(written)-342.5(at)-340.8(any)-343.7(time)-335.2(afterwards.)]TJ
-8.5625 -1.125 TD
[(This)-297.2(means)-307.8(that)-300.5(the)-303.3(only)]TJ
/TT7 1 Tf
10.3375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-297.2(that)-300.5(ever)-316.8(needs)-310.6(to)-297.2(be)-306.2(forced)-321.3(to)-297.2(disk)-295.5(is)-295.5(the)-303.3(log.)-547.2(Since)-303.3(the)-303.3(log)-284.7(is)-283(append-only,)-301.5(modi)]TJ
/TT7 1 Tf
34.412 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(ed)Tj
ET
endstream
endobj
16 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT7 7 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
18 0 obj
<<
/Length 11123
>>
stream
BT
/TT4 1 Tf
10 0 0 10 69.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(pages)-285.6(always)-285.6(appear)-297.9(at)-278.3(the)-278.3(end)-281.2(and)-281.2(may)-278.3(be)-281.2(written)-267.5(to)-259.7(disk)-258(ef)]TJ
/TT7 1 Tf
24.6019 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ciently)-270.8(in)-259.7(any)]TJ
/TT7 1 Tf
5.742 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-259.7(system)-259.7(that)-263(favors)-276(sequential)-270.8(order-)]TJ
-31.4562 -1.125 TD
[(ing)-247.2(\()]TJ
/TT6 1 Tf
1.8625 0 TD
(e.g.)Tj
/TT4 1 Tf
1.45 0 TD
[(,)-250(FFS,)-231.5(log-structured)]TJ
/TT7 1 Tf
8.525 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-247.2(system,)-247.2(or)-254.5(an)-256.2(extent-based)-271.8(system\).)]TJ
/TT2 1 Tf
-12.3937 -2.325 TD
[(3.1.2.)-500(Concurrency)-265.1(Control)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(The)-482.8(concurrency)-508.6(control)-480(protocol)-467.5(is)-458(responsible)-470.3(for)-471.5(maintaining)-460.6(consistency)-472(in)-459.7(the)-465.8(presence)-489.9(of)-467(multiple)]TJ
-2.5 -1.125 TD
[(accesses.)-638.3(There)-381(are)-379.3(several)-381(alternative)-380.3(solutions)-338.2(such)-354.5(as)-354.5(locking,)-350.5(optimistic)-337.5(concurrency)-383.6(control)-355([KUNG81],)-370.3(and)]TJ
T*
[(timestamp)-296.5(ordering)-312.3([BERN80].)-554.5(Since)-303.3(optimistic)-287.5(methods)-298.8(and)-306.2(timestamp)-296.5(ordering)-312.3(are)-304.3(generally)-304.8(more)-295.3(complex)-294.1(and)]TJ
T*
[(restrict)-336.1(concurrency)-358.6(without)-319.3(eliminating)-320.3(starvation)-331.6(or)-329.5(deadlocks,)-339(we)-334(chose)-323.1(two-phase)-327.6(locking)-313(\(2PL\).)-567(Strict)-308.5(2PL)-308(is)]TJ
T*
[(suboptimal)-305.7(for)-321.5(certain)-317.3(data)-309.5(structures)-312.3(such)-304.5(as)-304.5(B-trees)-312.3(because)-323(it)-294.3(can)-312.3(limit)-285.8(concurrency,)-333.6(so)-298.3(we)-309(use)-304.5(a)-306.2(special)-311.1(locking)]TJ
T*
[(protocol)-255(based)-260.6(on)-250(one)-256.2(described)-268.5(in)-247.2([LEHM81].)]TJ
2.5 -1.5375 TD
[(The)-270.3(B-tree)-276.5(locking)-263(protocol)-267.5(we)-271.5(implemented)-266.8(releases)-285.4(locks)-251.7(at)-253.3(internal)-258.3(nodes)-254.5(in)-247.2(the)-253.3(tree)-264(as)-254.5(it)-244.3(descends.)-515.1(A)-252.8(lock)]TJ
-2.5 -1.125 TD
[(on)-287.5(an)-293.7(internal)-295.8(page)-299.8(is)-283(always)-298.1(released)-299.6(before)-296.3(a)-281.2(lock)-278.3(on)-275(its)-267.7(child)-275.5(is)-270.5(obtained)-281.6(\(that)-280(is,)-270.5(locks)-276.7(are)-291.8(not)]TJ
/TT2 1 Tf
39.4125 0 TD
(coupled)Tj
/TT4 1 Tf
3.6 0 TD
([BAY77])Tj
-43.0125 -1.125 TD
[(during)-276.7(descent\).)-543.5(When)-287.3(a)-281.2(leaf)-289(\(or)-284(internal\))-287.8(page)-287.3(is)-270.5(split,)-264.8(a)-281.2(write)-282.8(lock)-278.3(is)-270.5(acquired)-295.1(on)-275(the)-278.3(parent)-289(before)-296.3(the)-278.3(lock)-265.8(on)-262.5(the)]TJ
T*
[(just-split)-249.5(page)-274.8(is)-258(released)-287.1(\(locks)-268.7(are)]TJ
/TT2 1 Tf
14.6125 0 TD
(coupled)Tj
/TT4 1 Tf
3.5875 0 TD
[(during)-264.2(ascent\).)-531(Write)-273.6(locks)-264.2(on)-262.5(internal)-270.8(pages)-273.1(are)-279.3(released)-274.6(immediately)]TJ
-18.2 -1.125 TD
[(after)-268.5(the)-253.3(page)-262.3(is)-245.5(updated,)-259.5(but)-247.2(locks)-251.7(on)-250(leaf)-264(pages)-260.6(are)-266.8(held)-253.3(until)-241.5(the)-253.3(end)-256.2(of)-254.5(the)-253.3(transaction.)]TJ
2.5 -1.5375 TD
[(Since)-390.8(locks)-389.2(are)-404.3(released)-412.1(during)-376.7(descent,)-389(the)-378.3(structure)-389(of)-379.5(the)-378.3(tree)-389(may)-378.3(change)-393.5(above)-387.3(a)-381.2(node)-381.1(being)-378.3(used)-379.5(by)]TJ
-2.5 -1.125 TD
[(some)-351.7(process.)-613.5(If)-359(that)-350.5(process)-363.5(must)-342.7(later)-361.1(ascend)-366.8(the)-353.3(tree)-351.5(because)-360.5(of)-342(a)-343.7(page)-349.8(split,)-327.3(any)-343.7(such)-342(change)-356(must)-330.2(not)-334.7(cause)]TJ
T*
[(confusion.)-593.7(We)-349.8(use)-342(the)-340.8(technique)-350.3(described)-356(in)-334.7([LEHM81])-351(which)-343.7(exploits)-321(the)-328.3(ordering)-337.3(of)-329.5(data)-334.5(on)-325(a)-331.2(B-tree)-339(page)-337.3(to)]TJ
T*
[(guarantee)-276.3(that)-250.5(no)-250(process)-263.5(ever)-266.8(gets)-251.7(lost)-242.7(as)-254.5(a)-256.2(result)-253.3(of)-254.5(internal)-258.3(page)-262.3(updates)-257.8(made)-259.5(by)-250(other)-257.8(processes.)]TJ
2.5 -1.5375 TD
[(If)-346.5(a)-343.7(transaction)-350.3(that)-338(updates)-345.3(a)-343.7(B-tree)-351.5(aborts,)-343.7(the)-340.8(user-visible)-347(changes)-354.3(to)-322.2(the)-328.3(tree)-339(must)-317.7(be)-331.2(rolled)-330(back.)-587.3(How-)]TJ
-2.5 -1.125 TD
[(ever,)-279.3(changes)-279.3(to)-247.2(the)-253.3(internal)-258.3(nodes)-254.5(of)-254.5(the)-253.3(tree)-264(need)-262.3(not)-247.2(be)-256.2(rolled)-255(back,)-262.3(since)-257.8(these)-257.8(pages)-260.6(contain)-256.6(no)-250(user-visible)-259.5(data.)]TJ
T*
[(When)-312.3(rolling)-296(back)-312.3(a)-306.2(transaction,)-312.8(we)-309(roll)-298.8(back)-312.3(all)-300.5(leaf)-314(page)-312.3(updates,)-307.8(but)-297.2(no)-300(internal)-295.8(insertions)-286.3(or)-292(page)-299.8(splits.)-525.7(In)-292(the)]TJ
T*
[(worst)-327.8(case,)-341.8(this)-317.7(will)-319.3(leave)-340.6(a)-331.2(leaf)-339(page)-337.3(less)-325(than)-328.3(half)-332.8(full.)-573.8(This)-322.2(may)-328.3(cause)-341.8(poor)-329.5(space)-341.8(utilization,)-320.3(but)-322.2(does)-329.5(not)-322.2(lose)]TJ
T*
[(user)-259(data.)]TJ
2.5 -1.5375 TD
[(Holding)-259.7(locks)-264.2(on)-262.5(leaf)-276.5(pages)-273.1(until)-254(transaction)-275.3(commit)-257.3(guarantees)-287.1(that)-263(no)-262.5(other)-270.3(process)-276(can)-274.8(insert)-253.3(or)-254.5(delete)-262.8(data)]TJ
-2.5 -1.125 TD
[(that)-450.5(has)-454.5(been)-462.3(touched)-459.5(by)-450(this)-430.2(process.)-701(Rolling)-424.5(back)-449.8(insertions)-436.3(and)-443.6(deletions)-439.6(on)-437.5(leaf)-451.5(pages)-448.1(guarantees)-462.1(that)-438(no)]TJ
T*
[(aborted)-301.5(updates)-295.3(are)-304.3(ever)-304.3(visible)-283.5(to)-284.7(other)-295.3(transactions.)-548.6(Leaving)-298.6(page)-299.8(splits)-275.7(intact)-291.3(permits)-288(us)-285.8(to)-284.7(release)-299.6(internal)-283.3(write)]TJ
T*
[(locks)-251.7(early.)-514(Thus)-250(transaction)-262.8(semantics)-256.6(are)-266.8(preserved,)-275.8(and)-256.1(locks)-251.7(are)-266.8(held)-253.3(for)-259(shorter)-260.6(periods.)]TJ
2.5 -1.5375 TD
[(The)-270.3(extra)-276.5(complexity)-263.5(introduced)-273.6(by)-262.5(this)-255.2(locking)-263(protocol)-267.5(appears)-283.8(substantial,)-260.2(but)-259.7(it)-256.8(is)-245.5(important)-249.3(for)-259(multi-user)]TJ
-2.5 -1.125 TD
[(execution.)-800.3(The)-545.3(bene)]TJ
/TT7 1 Tf
8.9252 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ts)-539.2(of)-542(non-two-phase)-557.1(locking)-538(on)-537.5(B-trees)-549.8(are)-554.3(well)-540.8(established)-544.1(in)-534.7(the)-540.8(database)-557.6(literature)]TJ
-9.4813 -1.125 TD
[([BAY77],)-272.7([LEHM81].)-513.5(If)-259(a)-256.2(process)-263.5(held)-253.3(locks)-251.7(until)-241.5(it)-244.3(committed,)-248.1(then)-253.3(a)-256.1(long-running)-253.3(update)-259.5(could)-253.3(lock)-253.3(out)-247.2(all)-250.5(other)]TJ
T*
[(transactions)-373.6(by)-362.5(preventing)-373.6(any)-368.7(other)-370.3(process)-376(from)-356.2(locking)-350.5(the)-353.3(root)-351.7(page)-362.3(of)-354.5(the)-353.3(tree.)-614(The)-357.8(B-tree)-364(locking)-350.5(protocol)]TJ
T*
[(described)-281(above)-262.3(guarantees)-274.6(that)-250.5(locks)-251.7(on)-250(internal)-258.3(pages)-260.6(are)-266.8(held)-253.3(for)-259(extremely)-264.5(short)-250(periods,)-256.1(thereby)-264(increasing)-265.6(con-)]TJ
T*
(currency.)Tj
/TT2 1 Tf
0 -2.325 TD
[(3.1.3.)-500(Management)-265.1(of)-254.5(Shared)-243.8(Data)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(Database)-335.5(systems)-308(permit)-314.6(many)-315.8(users)-319.8(to)-309.7(examine)-325.3(and)-318.7(update)-322(the)-303.3(same)-307.8(data)-309.5(concurrently.)-571.8(In)-304.5(order)-315.1(to)-297.2(provide)]TJ
-2.5 -1.125 TD
[(this)-392.7(concurrent)-424.6(access)-421.3(and)-406.2(enforce)-427.4(the)-403.3(write-ahead)-430.8(logging)-394.3(protocol)-405(described)-418.5(in)-397.2(section)-405(3.1.1,)-387.5(we)-396.5(use)-392(a)-393.7(shared)]TJ
T*
[(memory)-330(buffer)-344.6(manager.)-595.1(Not)-312.5(only)-309.7(does)-317(this)-305.2(provide)-320.3(the)-315.8(guarantees)-337.1(we)-321.5(require,)-331(but)-309.7(a)-318.6(user-level)-332.6(buffer)-332.1(manager)-332.6(is)]TJ
T*
[(frequently)-403.1(faster)-404.3(than)-390.8(using)-370.5(the)]TJ
/TT7 1 Tf
13.3875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-372.2(system)-372.2(buffer)-394.6(cache.)-649.6(Reads)-381.2(or)-379.5(writes)-381.1(involving)-366.5(the)]TJ
/TT7 1 Tf
22.9188 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-372.2(system)-372.2(buffer)-394.6(cache)]TJ
-37.4187 -1.125 TD
[(often)-332.8(require)-343.5(copying)-328.3(data)-334.5(between)-343.5(user)-334(and)-331.2(kernel)-326.5(space)-329.3(while)-315.8(a)-318.6(user-level)-332.6(buffer)-332.1(manager)-332.6(can)-324.8(return)-324.8(pointers)-315.8(to)]TJ
T*
[(data)-259.5(pages)-260.6(directly.)-508.3(Additionally,)-244.8(if)-251.7(more)-257.8(than)-253.3(one)-256.1(process)-263.5(uses)-252.8(the)-253.3(same)-257.8(page,)-262.3(then)-253.3(fewer)-274.1(copies)-257.8(may)-253.3(be)-256.1(required.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(3.2.)-500(Module)-247.2(Architecture)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(The)-420.3(preceding)-420.1(sections)-403.3(described)-418.5(modules)-398.8(for)-409(managing)-406.6(the)-403.3(transaction)-412.8(log,)-397.2(locks,)-401.7(and)-406.2(a)-406.2(cache)-424.6(of)-404.5(shared)]TJ
-2.5 -1.125 TD
[(buffers.)-568(In)-304.5(addition,)-297.7(we)-309(need)-312.3(to)-297.2(provide)-307.8(functionality)-302.6(for)-309(transaction)]TJ
/TT6 1 Tf
28.3 0 TD
(begin)Tj
/TT4 1 Tf
2.225 0 TD
(,)Tj
/TT6 1 Tf
0.5375 0 TD
(commit)Tj
/TT4 1 Tf
2.95 0 TD
[(,)-287.5(and)]TJ
/TT6 1 Tf
2.275 0 TD
(abort)Tj
/TT4 1 Tf
2.45 0 TD
[(processing,)-298.1(necessi-)]TJ
-38.7375 -1.125 TD
[(tating)-397.7(a)-406.2(transaction)-412.8(manager.)-670.1(In)-404.5(order)-415.1(to)-397.2(arbitrate)-418.9(concurrent)-424.6(access)-421.3(to)-397.2(locks)-389.2(and)-393.7(buffers,)-405.5(we)-396.5(include)-394.1(a)-393.7(process)]TJ
T*
[(management)-391.1(module)-363(which)-368.7(manages)-376.5(a)-368.7(collection)-369.6(of)-367(semaphores)-379.3(used)-367(to)-359.7(block)-365.8(and)-368.7(release)-387.1(processes.)-630.5(Finally,)-354(in)]TJ
T*
[(order)-352.6(to)-334.7(provide)-345.3(a)-343.7(simple,)-333.5(standard)-349.8(interface)-365.4(we)-346.5(have)-349.8(modi)]TJ
/TT7 1 Tf
24.4182 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-331.8(the)-340.8(database)-357.6(access)-358.8(routines)-340.8(\()]TJ
/TT2 1 Tf
13.4507 0 TD
(db)Tj
/TT4 1 Tf
1.1 0 TD
[(\(3\)\).)-588.5(For)-323.3(the)-328.3(pur-)]TJ
-39.525 -1.125 TD
[(poses)-315.3(of)-317(this)-305.2(paper)-329.3(we)-321.5(call)-306.6(the)-303.3(modi)]TJ
/TT7 1 Tf
14.8057 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-294.3(package)-324.6(the)]TJ
/TT2 1 Tf
6.3632 0 TD
[(Record)-315.1(Manager)]TJ
/TT4 1 Tf
7.325 0 TD
[(.)-550(Figure)-301.7(one)-306.2(shows)-299.5(the)-303.3(main)-300.5(interfaces)-326.3(and)]TJ
-29.05 -1.125 TD
[(architecture)-281.2(of)-254.5(LIBTP.)]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
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
21 0 obj
<<
/Length 9635
>>
stream
BT
/TT4 1 Tf
11 0 0 11 231.375 602 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(log_commit)Tj
10.375 -6.3295 TD
(buf_unpin)Tj
0 1.0227 TD
(buf_get)Tj
9.875 6.5795 TD
(buf_unpin)Tj
0 1.0114 TD
(buf_pin)Tj
T*
(buf_get)Tj
/TT2 1 Tf
17 0 0 17 145.375 672 Tm
0.0004 Tc
[(Txn)-239.7(Manager)-4577.8(Record)-257.4(Manager)]TJ
ET
0 G
1 J 0 j 0.25 w 10 M []0 d
1 i 
295.375 701.25 m
295.375 656.875 l
295.375 656.875 m
473.625 656.875 l
473.625 656.875 m
473.625 701.25 l
473.625 701.25 m
295.375 701.25 l
406.875 590 m
406.875 523.125 l
406.875 523.125 m
473.625 523.125 l
473.625 523.125 m
473.625 590 l
473.625 590 m
406.875 590 l
273.125 590 m
273.125 523.125 l
273.125 523.125 m
340 523.125 l
340 523.125 m
340 590 l
340 590 m
273.125 590 l
139.5 590 m
139.5 523.125 l
139.5 523.125 m
206.25 523.125 l
206.25 523.125 m
206.25 590 l
206.25 590 m
139.5 590 l
139.5 701.25 m
139.5 656.875 l
139.5 656.875 m
250.875 656.875 l
250.875 656.875 m
250.875 701.25 l
250.875 701.25 m
139.5 701.25 l
S
BT
/TT4 1 Tf
11 0 0 11 275.875 629.875 Tm
0 Tc
(lock)Tj
4.0568 -1.0114 TD
(log)Tj
-19.3068 0 TD
(unlock_all)Tj
11.2045 -2.5341 TD
(log_unroll)Tj
ET
206.25 478.5 m
206.25 456.25 l
206.25 456.25 m
406.875 456.25 l
406.875 456.25 m
406.875 478.5 l
406.875 478.5 m
206.25 478.5 l
161.75 590 m
164.125 593.75 l
164.125 593.75 m
161.75 592.375 l
161.75 592.375 m
159.25 593.75 l
159.25 593.75 m
161.75 590 l
161.75 590 m
161.75 656.875 l
289.875 478.5 m
287.125 482.25 l
287.125 482.25 m
287.625 479.375 l
287.625 479.375 m
285.375 477.625 l
285.375 477.625 m
289.875 478.5 l
289.875 478.5 m
172.875 523.125 l
S
BT
11 0 0 11 409.625 485.125 Tm
(sleep_on)Tj
ET
175.625 590 m
180.125 589.5 l
180.125 589.5 m
177.875 591.125 l
177.875 591.125 m
178 593.875 l
178 593.875 m
175.625 590 l
175.625 590 m
309.375 656.875 l
328.875 478.5 m
333.375 477.75 l
333.375 477.75 m
331.125 479.5 l
331.125 479.5 m
331.5 482.25 l
331.5 482.25 m
328.875 478.5 l
328.875 478.5 m
440.25 523.125 l
S
BT
11 0 0 11 178.25 485.125 Tm
(sleep_on)Tj
ET
406.875 556.5 m
403 559 l
403 559 m
404.375 556.5 l
404.375 556.5 m
403 554.125 l
403 554.125 m
406.875 556.5 l
406.875 556.5 m
340 556.5 l
S
BT
11 0 0 11 194.25 496.25 Tm
[(wake)-17469.7(wake)]TJ
ET
273.125 556.5 m
269.25 559 l
269.25 559 m
270.75 556.5 l
270.75 556.5 m
269.25 554.125 l
269.25 554.125 m
273.125 556.5 l
273.125 556.5 m
228.625 556.5 l
228.625 556.5 m
228.625 656.875 l
S
BT
/TT2 1 Tf
17 0 0 17 154.5 560.625 Tm
(Lock)Tj
-0.8676 -1.3162 TD
0.0007 Tc
(Manager)Tj
8.9779 1.3162 TD
0 Tc
(Log)Tj
-1.1176 -1.3162 TD
0.0007 Tc
(Manager)Tj
8.4265 1.3162 TD
0 Tc
(Buffer)Tj
-0.5588 -1.3162 TD
0.0007 Tc
(Manager)Tj
ET
440.25 590 m
442.75 593.75 l
442.75 593.75 m
440.25 592.375 l
440.25 592.375 m
437.75 593.75 l
437.75 593.75 m
440.25 590 l
440.25 590 m
440.25 656.875 l
S
BT
17 0 0 17 243.75 460.25 Tm
0.0003 Tc
[(Process)-264.3(Manager)]TJ
ET
317.75 590 m
320.125 593.75 l
320.125 593.75 m
317.75 592.375 l
317.75 592.375 m
315.25 593.75 l
315.25 593.75 m
317.75 590 l
317.75 590 m
317.75 656.875 l
S
BT
/TT4 1 Tf
11 0 0 11 275.875 621.5 Tm
0 Tc
(unlock)Tj
ET
306.5 478.5 m
309 482.375 l
309 482.375 m
306.5 481 l
306.5 481 m
304.125 482.375 l
304.125 482.375 m
306.5 478.5 l
306.5 478.5 m
306.5 523.125 l
S
BT
11 0 0 11 312.125 501.75 Tm
(sleep_on)Tj
0 1.0114 TD
(wake)Tj
/TT2 1 Tf
10 0 0 10 223.75 438.25 Tm
[(Figure)-255(1:)-504.5(Library)-248.8(module)-245.5(interfaces.)]TJ
/T1 1 Tf
-15.4375 -2.25 TD
[()200()]TJ
/TT2 1 Tf
0 -3.45 TD
[(3.2.1.)-500(The)-245.5(Log)-245.5(Manager)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
(The)Tj
/TT2 1 Tf
1.9 0 TD
[(Log)-333(Manager)]TJ
/TT4 1 Tf
6.2375 0 TD
[(enforces)-363.3(the)-340.8(write-ahead)-368.3(logging)-331.8(protocol.)-592.5(Its)-325(primitive)-321.5(operations)-334.5(are)]TJ
/TT6 1 Tf
29.3375 0 TD
(log)Tj
/TT4 1 Tf
1.275 0 TD
(,)Tj
/TT6 1 Tf
0.575 0 TD
(log_commit)Tj
/TT4 1 Tf
4.725 0 TD
(,)Tj
/TT6 1 Tf
-46.55 -1.125 TD
(log_read)Tj
/TT4 1 Tf
3.6125 0 TD
(,)Tj
/TT6 1 Tf
0.5625 0 TD
(log_roll)Tj
/TT4 1 Tf
3.525 0 TD
(and)Tj
/TT6 1 Tf
1.7625 0 TD
(log_unroll)Tj
/TT4 1 Tf
4.2125 0 TD
[(.)-562.5(The)]TJ
/TT6 1 Tf
2.6875 0 TD
(log)Tj
/TT4 1 Tf
1.5875 0 TD
[(call)-319.1(performs)-327.6(a)-318.7(buffered)-338.3(write)-320.3(of)-317(the)-315.8(speci)]TJ
/TT7 1 Tf
17.3047 0 TD
(�)Tj
/TT4 1 Tf
0.5561 0 TD
[(ed)-307.8(log)-297.2(record)-321.3(and)-306.2(returns)-310.6(a)]TJ
-35.8108 -1.125 TD
[(unique)-453.3(log)-447.2(sequence)-473(number)-457.8(\(LSN\).)-707.3(This)-434.7(LSN)-435.8(may)-440.8(then)-440.8(be)-443.6(used)-442(to)-434.7(retrieve)-459.3(a)-443.6(record)-458.8(from)-443.6(the)-440.8(log)-434.7(using)-433(the)]TJ
/TT6 1 Tf
T*
(log_read)Tj
/TT4 1 Tf
3.875 0 TD
[(call.)-519.1(The)]TJ
/TT6 1 Tf
4.0375 0 TD
(log)Tj
/TT4 1 Tf
1.5375 0 TD
[(interface)-290.4(knows)-263.7(very)-273.1(little)-254.5(about)-265.8(the)-265.8(internal)-270.8(format)-259.5(of)-254.5(the)-253.3(log)-247.2(records)-269.6(it)-244.3(receives.)-524.6(Rather,)-259.5(all)]TJ
-9.45 -1.125 TD
[(log)-297.2(records)-319.6(are)]TJ
6.375 0 TD
0.0042 Tc
[(referenced)-294.7(by)-295.8(a)]TJ
6.6125 0 TD
0 Tc
[(header)-322.9(structure,)-314(a)-306.2(log)-297.2(record)-321.3(type,)-303.3(and)-306.1(a)-306.2(character)-336.9(buffer)-319.6(containing)-303.8(the)-303.3(data)-297(to)-284.7(be)]TJ
-12.9875 -1.125 TD
[(logged.)-515.8(The)-270.3(log)-259.7(record)-283.8(type)-265.8(is)-258(used)-267(to)-259.7(call)-269.1(the)-265.8(appropriate)-284.3(redo)-273.1(and)-268.7(undo)-262.5(routines)-253.3(during)]TJ
/TT6 1 Tf
36.1375 0 TD
(abort)Tj
/TT4 1 Tf
2.4125 0 TD
(and)Tj
/TT6 1 Tf
1.7 0 TD
(commit)Tj
/TT4 1 Tf
3.2 0 TD
(process-)Tj
-43.45 -1.125 TD
[(ing.)-547.2(While)-306.6(we)-309(have)-312.3(used)-304.5(the)]TJ
/TT2 1 Tf
12.1625 0 TD
[(Log)-283(Manager)]TJ
/TT4 1 Tf
6.1375 0 TD
[(to)-284.7(provide)-295.3(before)-308.8(and)-293.7(after)-306(image)-294.1(logging,)-281.8(it)-281.8(may)-290.8(also)-289.2(be)-293.7(used)-292(for)-296.5(any)]TJ
-18.3 -1.125 TD
[(of)-254.5(the)-253.3(logging)-244.3(algorithms)-247.7(discussed.)]TJ
2.5 -1.5375 TD
(The)Tj
/TT6 1 Tf
1.875 0 TD
(log_commit)Tj
/TT4 1 Tf
5.0375 0 TD
[(operation)-323.6(behaves)-329.3(exactly)-325.3(like)-313(the)]TJ
/TT6 1 Tf
14.2125 0 TD
(log)Tj
/TT4 1 Tf
1.5875 0 TD
[(operation)-323.6(but)-297.2(guarantees)-324.6(that)-300.5(the)-303.3(log)-297.2(has)-304.5(been)-312.3(forced)]TJ
-25.2125 -1.125 TD
[(to)-322.2(disk)-320.5(before)-346.3(returning.)-584.5(A)-327.8(discussion)-320.5(of)-329.5(our)-329.5(commit)-319.8(strategy)-334.5(appears)-333.8(in)-309.7(the)-315.8(implementation)-311.1(section)-317.5(\(section)-322(4.2\).)]TJ
/TT6 1 Tf
T*
(Log_unroll)Tj
/TT4 1 Tf
4.75 0 TD
[(reads)-277.6(log)-259.7(records)-282.1(from)-268.7(the)-265.8(log,)-259.7(following)-261.3(backward)-275.8(transaction)-262.8(pointers)-253.3(and)-256.2(calling)-253.8(the)-253.3(appropriate)-271.8(undo)]TJ
-4.75 -1.125 TD
[(routines)-328.3(to)-322.2(implement)-323.1(transaction)-337.8(abort.)-582.8(In)-329.5(a)-331.2(similar)-322.7(manner,)]TJ
/TT6 1 Tf
25.4875 0 TD
(log_roll)Tj
/TT4 1 Tf
3.5375 0 TD
[(reads)-340.1(log)-322.2(records)-344.6(sequentially)-330.5(forward,)-347.5(cal-)]TJ
-29.025 -1.125 TD
[(ling)-244.3(the)-253.3(appropriate)-271.8(redo)-260.6(routines)-253.3(to)-247.2(recover)-277.4(committed)-248.1(transactions)-261.1(after)-268.5(a)-256.2(system)-247.2(crash.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(3.2.2.)-500(The)-245.5(Buffer)-260.6(Manager)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
(The)Tj
/TT2 1 Tf
1.9625 0 TD
[(Buffer)-410.6(Manager)]TJ
/TT4 1 Tf
7.4875 0 TD
[(uses)-402.8(a)-406.2(pool)-397.2(of)-404.5(shared)-415.1(memory)-405(to)-397.2(provide)-407.8(a)-406.2(least-recently-used)-435.7(\(LRU\))-396.5(block)-390.8(cache.)]TJ
-11.95 -1.125 TD
[(Although)-359.7(the)-365.8(current)-381(library)-372(provides)-368.7(an)-368.7(LRU)-362.5(cache,)-387.1(it)-356.8(would)-362.5(be)-368.7(simple)-358.5(to)-359.7(add)-356.2(alternate)-370.6(replacement)-376.8(policies)-352.1(as)]TJ
T*
[(suggested)-406.2(by)-400([CHOU85])-413(or)-404.5(to)-397.2(provide)-407.8(multiple)-392(buffer)-419.6(pools)-395.5(with)-397.2(different)-407.6(policies.)-639.6(Transactions)-403.1(request)-399.8(pages)]TJ
T*
[(from)-318.7(the)-315.8(buffer)-332.1(manager)-332.6(and)-318.7(keep)-324.8(them)]TJ
/TT2 1 Tf
16.6375 0 TD
(pinned)Tj
/TT4 1 Tf
3.2375 0 TD
[(to)-309.7(ensure)-315.1(that)-300.5(they)-303.3(are)-316.8(not)-297.2(written)-305(to)-297.2(disk)-295.5(while)-303.3(they)-303.3(are)-316.8(in)-297.2(a)-306.2(logi-)]TJ
-19.875 -1.125 TD
[(cally)-269.1(inconsistent)-260.2(state.)-517.5(When)-274.8(page)-274.8(replacement)-289.3(is)-258(necessary,)-288.3(the)]TJ
/TT2 1 Tf
26.675 0 TD
[(Buffer)-260.6(Manager)]TJ
/TT7 1 Tf
7.1875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(nds)-242.2(an)-256.1(unpinned)-253.3(page)-262.3(and)-256.2(then)]TJ
-34.4186 -1.125 TD
[(checks)-266.8(with)-247.2(the)]TJ
/TT2 1 Tf
6.4875 0 TD
[(Log)-245.5(Manager)]TJ
/TT4 1 Tf
6.0625 0 TD
[(to)-247.2(ensure)-265.1(that)-250.5(the)-253.3(write-ahead)-280.8(protocol)-255(is)-245.5(enforced.)]TJ
/TT2 1 Tf
-12.55 -2.325 TD
[(3.2.3.)-500(The)-245.5(Lock)-245.5(Manager)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
(The)Tj
/TT2 1 Tf
1.825 0 TD
[(Lock)-258(Manager)]TJ
/TT4 1 Tf
6.5875 0 TD
[(supports)-260.8(general)-282.6(purpose)-271.5(locking)-263(\(single)-265.8(writer,)-274.8(multiple)-254.5(readers\))-280.3(which)-256.1(is)-245.5(currently)-265.6(used)]TJ
-10.9125 -1.125 TD
[(to)-259.7(provide)-270.3(two-phase)-265.1(locking)-250.5(and)-256.2(high)-247.2(concurrency)-283.6(B-tree)-264(locking.)-500.5(However,)-272.5(the)-253.3(general)-270.1(purpose)-259(nature)-264(of)-254.5(the)-253.3(lock)]TJ
ET
endstream
endobj
22 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
/TT7 7 0 R
/T1 8 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
24 0 obj
<<
/Length 13298
>>
stream
BT
/TT4 1 Tf
10 0 0 10 69.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(manager)-332.6(provides)-318.7(the)-315.8(ability)-307.3(to)-309.7(support)-312.5(a)-318.7(variety)-323.6(of)-317(locking)-313(protocols.)-553.3(Currently,)-305(all)-300.5(locks)-301.7(are)-316.8(issued)-300(at)-303.3(the)-303.3(granu-)]TJ
0 -1.125 TD
[(larity)-289.6(of)-292(a)-293.7(page)-299.8(\(the)-295.3(size)-295.3(of)-292(a)-293.7(buffer)-307.1(in)-284.7(the)-290.8(buffer)-294.6(pool\))-276.7(which)-281.2(is)-270.5(identi)]TJ
/TT7 1 Tf
28.4023 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-272.7(by)-275(two)-275(4-byte)-282.8(integers)-284.5(\(a)]TJ
/TT7 1 Tf
11.6165 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-272.2(id)-272.2(and)-281.2(page)]TJ
-41.1311 -1.125 TD
[(number\).)-649.8(This)-384.7(provides)-393.7(the)-390.8(necessary)-413.3(information)-378.8(to)-372.2(extend)-384.5(the)]TJ
/TT2 1 Tf
27.1 0 TD
[(Lock)-370.5(Manager)]TJ
/TT4 1 Tf
6.8125 0 TD
[(to)-372.2(perform)-391.8(hierarchical)-406.3(locking)]TJ
-33.9125 -1.125 TD
[([GRAY76].)-588(The)-332.8(current)-343.5(implementation)-323.6(does)-329.5(not)-322.2(support)-325(locks)-326.7(at)-315.8(other)-320.3(granularities)-327(and)-318.7(does)-317(not)-309.7(promote)-317.5(locks;)]TJ
T*
[(these)-257.8(are)-266.8(obvious)-245.5(future)-262.3(additions)-246(to)-247.2(the)-253.3(system.)]TJ
2.5 -1.5375 TD
[(If)-284(an)-281.2(incoming)-272.7(lock)-278.3(request)-287.3(cannot)-284.5(be)-281.2(granted,)-289(the)-278.3(requesting)-284.5(process)-288.5(is)-270.5(queued)-287.3(for)-271.5(the)-265.8(lock)-265.8(and)-268.7(descheduled.)]TJ
-2.5 -1.125 TD
[(When)-287.3(a)-281.2(lock)-278.3(is)-270.5(released,)-299.6(the)-278.3(wait)-265.8(queue)-274.8(is)-258(traversed)-285.4(and)-268.7(any)-268.7(newly)-268.7(compatible)-269.6(locks)-264.2(are)-279.3(granted.)-526.5(Locks)-268.7(are)-279.3(located)]TJ
T*
[(via)-340.8(a)]TJ
/TT7 1 Tf
2.35 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-334.7(and)-343.7(page)-349.8(hash)-342(table)-344.1(and)-343.7(are)-354.3(chained)-353.1(both)-334.7(by)-337.5(object)-331.6(and)-331.2(by)-325(transaction,)-337.8(facilitating)-331(rapid)-332.8(traversal)-345.1(of)-329.5(the)]TJ
-2.9062 -1.125 TD
[(lock)-253.3(table)-256.6(during)-251.7(transaction)-262.8(commit)-244.8(and)-256.1(abort.)]TJ
2.5 -1.5375 TD
[(The)-345.3(primary)-347(interfaces)-363.8(to)-334.7(the)-340.8(lock)-340.8(manager)-357.6(are)]TJ
/TT6 1 Tf
19.775 0 TD
(lock)Tj
/TT4 1 Tf
1.675 0 TD
(,)Tj
/TT6 1 Tf
0.5875 0 TD
(unlock)Tj
/TT4 1 Tf
2.675 0 TD
[(,)-337.5(and)]TJ
/TT6 1 Tf
2.375 0 TD
(lock_unlock_all)Tj
/TT4 1 Tf
6.4 0 TD
(.)Tj
/TT6 1 Tf
0.825 0 TD
(Lock)Tj
/TT4 1 Tf
2.275 0 TD
[(obtains)-323.8(a)-331.2(new)-334(lock)]TJ
-39.0875 -1.125 TD
[(for)-396.5(a)-393.7(speci)]TJ
/TT7 1 Tf
4.4547 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(c)-395.3(object.)-644.1(There)-406(are)-391.8(also)-376.7(two)-375(variants)-384.5(of)-379.5(the)]TJ
/TT6 1 Tf
18.7517 0 TD
(lock)Tj
/TT4 1 Tf
2.05 0 TD
(request,)Tj
/TT6 1 Tf
3.525 0 TD
(lock_upgrade)Tj
/TT4 1 Tf
5.8875 0 TD
(and)Tj
/TT6 1 Tf
1.825 0 TD
(lock_downgrade)Tj
/TT4 1 Tf
6.675 0 TD
[(,)-375(which)]TJ
-43.725 -1.125 TD
[(allow)-278.3(the)-278.3(caller)-292.3(to)-272.2(atomically)-266.8(trade)-276.5(a)-268.7(lock)-265.8(of)-267(one)-268.7(type)-265.8(for)-271.5(a)-268.7(lock)-265.8(of)-267(another.)]TJ
/TT6 1 Tf
30.8375 0 TD
(Unlock)Tj
/TT4 1 Tf
3.1625 0 TD
[(releases)-285.4(a)-268.7(speci)]TJ
/TT7 1 Tf
6.2172 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(c)-270.3(mode)-265.8(of)-267(lock)]TJ
-40.7733 -1.125 TD
[(on)-250(a)-256.2(speci)]TJ
/TT7 1 Tf
4.0047 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(c)-257.8(object.)]TJ
/TT6 1 Tf
3.9017 0 TD
(Lock_unlock_all)Tj
/TT4 1 Tf
6.925 0 TD
[(releases)-272.9(all)-250.5(the)-253.3(locks)-251.7(associated)-265.6(with)-247.2(a)-256.2(speci)]TJ
/TT7 1 Tf
17.6797 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(c)-257.8(transaction.)]TJ
/TT2 1 Tf
-33.6233 -2.325 TD
[(3.2.4.)-500(The)-245.5(Process)-266.8(Manager)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
(The)Tj
/TT2 1 Tf
1.8125 0 TD
[(Process)-266.8(Manager)]TJ
/TT4 1 Tf
7.6375 0 TD
[(acts)-257.8(as)-254.5(a)-256.2(user-level)-270.1(scheduler)-268.5(to)-247.2(make)-259.5(processes)-268(wait)-253.3(on)-250(unavailable)-266.1(locks)-251.7(and)-256.2(pending)]TJ
-11.95 -1.125 TD
[(buffer)-344.6(cache)-349.6(I/O.)-579.5(For)-310.8(each)-331(process,)-326(a)-318.7(semaphore)-331(is)-308(maintained)-319.6(upon)-312.5(which)-318.6(that)-313(process)-326(waits)-314.2(when)-321.5(it)-306.8(needs)-323.1(to)-309.7(be)]TJ
T*
[(descheduled.)-545.1(When)-287.3(a)-281.2(process)-288.5(needs)-285.6(to)-272.2(be)-281.2(run,)-267(its)-255.2(semaphore)-281(is)-258(cleared,)-288.8(and)-268.7(the)-265.8(operating)-273.6(system)-259.7(reschedules)-285.4(it.)-256.8(No)]TJ
T*
[(sophisticated)-366.3(scheduling)-367.5(algorithm)-361.8(is)-345.5(applied;)-353.8(if)-351.7(the)-353.3(lock)-353.3(for)-359(which)-356.2(a)-356.2(process)-363.5(was)-357.3(waiting)-350.5(becomes)-364(available,)-366.1(the)]TJ
T*
[(process)-363.5(is)-345.5(made)-359.5(runnable.)-614(It)-351.7(would)-350(have)-362.3(been)-362.3(possible)-347.2(to)-347.2(change)-368.5(the)-353.3(kernel�s)-366.8(process)-363.5(scheduler)-368.5(to)-347.2(interact)-364.5(more)]TJ
T*
(ef)Tj
/TT7 1 Tf
0.7769 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ciently)-258.3(with)-247.2(the)-253.3(lock)-253.3(manager,)-270.1(but)-247.2(doing)-247.2(so)-248.3(would)-250(have)-262.3(compromised)-256.6(our)-254.5(commitment)-245.3(to)-247.2(a)-256.2(user-level)-270.1(package.)]TJ
/TT2 1 Tf
-1.333 -2.325 TD
[(3.2.5.)-500(The)-245.5(Transaction)-245.5(Manager)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
(The)Tj
/TT2 1 Tf
1.825 0 TD
[(Transaction)-258(Manager)]TJ
/TT4 1 Tf
9.5875 0 TD
[(provides)-268.7(the)-265.8(standard)-274.8(interface)-290.4(of)]TJ
/TT6 1 Tf
13.75 0 TD
(txn_begin)Tj
/TT4 1 Tf
3.95 0 TD
(,)Tj
/TT6 1 Tf
0.5125 0 TD
(txn_commit)Tj
/TT4 1 Tf
4.675 0 TD
[(,)-262.5(and)]TJ
/TT6 1 Tf
2.2125 0 TD
(txn_abort)Tj
/TT4 1 Tf
3.8875 0 TD
[(.)-500(I)0(t)-251.7(keeps)]TJ
-42.9 -1.125 TD
[(track)-339(of)-329.5(all)-325.5(active)-337.8(transactions,)-336.1(assigns)-323.3(unique)-328.3(transaction)-337.8(identi)]TJ
/TT7 1 Tf
26.1773 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ers,)-325.5(and)-318.7(directs)-322(the)-315.8(abort)-320.3(and)-318.7(commit)-307.3(processing.)]TJ
-26.7335 -1.125 TD
[(When)-324.8(a)]TJ
/TT6 1 Tf
3.475 0 TD
(txn_begin)Tj
/TT4 1 Tf
4.2625 0 TD
[(is)-308(issued,)-312.5(the)]TJ
/TT2 1 Tf
5.575 0 TD
[(Transaction)-308(Manager)]TJ
/TT4 1 Tf
9.6875 0 TD
[(assigns)-310.8(the)-303.3(next)-303.3(available)-316.1(transaction)-312.8(identi)]TJ
/TT7 1 Tf
17.6523 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(er,)-302.2(allocates)-314.5(a)]TJ
-41.2085 -1.125 TD
[(per-process)-303.6(transaction)-287.8(structure)-289(in)-272.2(shared)-290.1(memory,)-267.5(increments)-275.3(the)-265.8(count)-265.8(of)-267(active)-275.3(transactions,)-273.6(and)-268.7(returns)-273.1(the)-265.8(new)]TJ
T*
[(transaction)-387.8(identi)]TJ
/TT7 1 Tf
7.0523 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(er)-377.1(to)-372.2(the)-378.3(calling)-378.8(process.)-626(The)-370.3(in-memory)-369.1(transaction)-375.3(structure)-376.5(contains)-367.5(a)-368.7(pointer)-367.5(into)-356.8(the)-365.8(lock)]TJ
-7.6085 -1.125 TD
[(table)-294.1(for)-296.5(locks)-289.2(held)-290.8(by)-287.5(this)-280.2(transaction,)-300.3(the)-290.8(last)-286.3(log)-284.7(sequence)-310.4(number,)-295.3(a)-293.7(transaction)-300.3(state)-292.5(\()]TJ
/TT6 1 Tf
36.275 0 TD
(idle)Tj
/TT4 1 Tf
1.4995 0 TD
(,)Tj
/TT6 1 Tf
0.538 0 TD
(running)Tj
/TT4 1 Tf
3.1625 0 TD
(,)Tj
/TT6 1 Tf
0.525 0 TD
(aborting)Tj
/TT4 1 Tf
3.4375 0 TD
0.275 Tc
[(,o)275(r)]TJ
/TT6 1 Tf
-45.4375 -1.125 TD
0 Tc
(committing\))Tj
/TT4 1 Tf
4.8375 0 TD
[(,)-250(a)0(n)-256.2(error)-269.6(code,)-262.3(and)-256.1(a)-256.2(semaphore)-268.5(identi)]TJ
/TT7 1 Tf
15.5898 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(er.)Tj
-18.4835 -1.5375 TD
[(At)-300(commit,)-294.8(the)]TJ
/TT2 1 Tf
6.425 0 TD
[(Transaction)-295.5(Manager)]TJ
/TT4 1 Tf
9.6625 0 TD
(calls)Tj
/TT6 1 Tf
2.1375 0 TD
(log_commit)Tj
/TT4 1 Tf
5.025 0 TD
[(to)-284.7(record)-308.8(the)-290.8(end)-293.7(of)-292(transaction)-300.3(and)-293.7(to)]TJ
/TT7 1 Tf
15.7875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ush)-279.7(the)-290.8(log.)]TJ
-42.0937 -1.125 TD
[(Then)-295.3(it)-281.8(directs)-297(the)]TJ
/TT2 1 Tf
7.6625 0 TD
[(Lock)-283(Manager)]TJ
/TT4 1 Tf
6.6375 0 TD
[(to)-284.7(release)-312.1(all)-288(locks)-276.7(associated)-290.6(with)-272.2(the)-278.3(given)-278.3(transaction.)-537.8(If)-284(a)-281.2(transaction)-287.8(aborts,)]TJ
-14.3 -1.125 TD
(the)Tj
/TT2 1 Tf
1.5625 0 TD
[(Transaction)-333(Manager)]TJ
/TT4 1 Tf
9.7375 0 TD
[(calls)-342.5(on)]TJ
/TT6 1 Tf
3.5 0 TD
(log_unroll)Tj
/TT4 1 Tf
4.5375 0 TD
[(to)-322.2(read)-341.8(the)-328.3(transaction�s)-340.6(log)-322.2(records)-344.6(and)-331.2(undo)-325(any)-331.2(modi)]TJ
/TT7 1 Tf
22.9807 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cations)-318.2(to)]TJ
-42.8743 -1.125 TD
[(the)-253.3(database.)-520.1(As)-251.2(in)-247.2(the)-253.3(commit)-244.8(case,)-266.8(it)-244.3(then)-253.3(calls)]TJ
/TT6 1 Tf
19.95 0 TD
(lock_unlock_all)Tj
/TT4 1 Tf
6.65 0 TD
[(to)-247.2(release)-274.6(the)-253.3(transaction�s)-265.6(locks.)]TJ
/TT2 1 Tf
-26.6 -2.325 TD
[(3.2.6.)-500(The)-245.5(Record)-265.1(Manager)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
(The)Tj
/TT2 1 Tf
2.05 0 TD
[(Record)-502.6(Manager)]TJ
/TT4 1 Tf
8 0 TD
[(supports)-485.8(the)-490.8(abstraction)-500.3(of)-492(reading)-501.5(and)-493.7(writing)-486.3(records)-507.1(to)-484.7(a)-493.7(database.)-507.6(We)-499.8(have)]TJ
-12.55 -1.125 TD
(modi)Tj
/TT7 1 Tf
2.0557 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-269.3(the)-278.3(the)-278.3(database)-282.6(access)-283.8(routines)]TJ
/TT2 1 Tf
14.2632 0 TD
(db)Tj
/TT4 1 Tf
1.1 0 TD
[(\(3\))-271.5([BSD91])-263.7(to)-259.7(call)-269.1(the)-265.8(log,)-259.7(lock,)-265.8(and)-268.6(buffer)-282.1(managers.)-531(In)-267(order)-277.6(to)-259.7(pro-)]TJ
-17.975 -1.125 TD
[(vide)-315.8(functionality)-315.1(to)-309.7(perform)-329.3(undo)-312.5(and)-318.7(redo,)-323.1(the)]TJ
/TT2 1 Tf
20.0625 0 TD
[(Record)-315.1(Manager)]TJ
/TT4 1 Tf
7.625 0 TD
(de)Tj
/TT7 1 Tf
0.9438 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(nes)-304.5(a)-306.1(collection)-307.1(of)-304.5(log)-297.2(record)-321.3(types)-301.7(and)-306.2(the)]TJ
-29.1875 -1.125 TD
[(associated)-453.1(undo)-437.5(and)-443.7(redo)-448.1(routines.)-690.8(The)]TJ
/TT2 1 Tf
17.275 0 TD
[(Log)-433(Manager)]TJ
/TT4 1 Tf
6.4375 0 TD
[(performs)-452.6(a)-443.6(table)-444.1(lookup)-434.7(on)-437.5(the)-428.3(record)-446.3(type)-428.3(to)-422.2(call)-431.6(the)]TJ
-23.7125 -1.125 TD
[(appropriate)-396.8(routines.)-878.3(For)-373.3(example,)-387.8(the)-378.3(B-tree)-389(access)-383.8(method)-363(requires)-379.3(two)-362.5(log)-359.7(record)-383.8(types:)-361.3(insert)-365.8(and)-368.7(delete.)-375.3(A)]TJ
T*
[(replace)-276.3(operation)-261.1(is)-245.5(implemented)-254.3(as)-254.5(a)-256.2(delete)-262.8(followed)-257.8(by)-250(an)-256.2(insert)-253.3(and)-256.2(is)-245.5(logged)-253.3(accordingly.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(3.3.)-500(Application)-236.5(Architectures)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(The)-345.3(structure)-351.5(of)-342(LIBTP)-334.7(allows)-339.2(application)-344.6(designers)-348.1(to)-334.7(trade)-351.5(off)-346.5(performance)-372.8(and)-331.2(protection.)-583.3(Since)-328.3(a)-331.2(large)]TJ
-2.5 -1.125 TD
[(portion)-298.8(of)-304.5(LIBTP�s)-300(functionality)-302.6(is)-295.5(provided)-307.8(by)-300(managing)-306.6(structures)-312.3(in)-284.7(shared)-302.6(memory,)-292.5(its)-280.2(structures)-299.8(are)-304.3(subject)-292.5(to)]TJ
T*
[(corruption)-472(by)-462.5(applications)-468(when)-471.5(the)-465.8(library)-472(is)-458(linked)-463(directly)-470.8(with)-459.7(the)-465.8(application.)-719.6(For)-460.8(this)-455.2(reason,)-477.6(LIBTP)-459.7(is)]TJ
T*
[(designed)-307.8(to)-297.2(allow)-303.3(compilation)-298.1(into)-294.3(a)-306.2(separate)-312.1(server)-307.1(process)-301(which)-293.7(may)-290.8(be)-293.7(accessed)-314.9(via)-290.8(a)-293.6(socket)-295.3(interface.)-815.4(In)-292(this)]TJ
T*
[(way)-296.5(LIBTP�s)-287.5(data)-297(structures)-299.8(are)-304.3(protected)-304.8(from)-293.7(application)-294.6(code,)-299.8(but)-284.7(communication)-279.3(overhead)-297.9(is)-270.5(increased.)-549.6(When)]TJ
T*
[(applications)-418(are)-429.3(trusted,)-403.3(LIBTP)-397.2(may)-403.3(be)-406.2(compiled)-403.8(directly)-408.3(into)-394.3(the)-403.3(application)-407.1(providing)-398.8(improved)-405(performance.)]TJ
T*
[(Figures)-250(two)-250(and)-256.2(three)-264(show)-251.2(the)-253.3(two)-250(alternate)-270.6(application)-257.1(architectures.)]TJ
2.5 -1.5375 TD
[(There)-281(are)-279.3(potentially)-260.6(two)-262.5(modes)-264.2(in)-259.7(which)-268.7(one)-268.7(might)-254(use)-267(LIBTP)-259.7(in)-259.7(a)-256.2(server)-269.6(based)-260.6(architecture.)-531.3(In)-254.5(the)]TJ
/TT7 1 Tf
41.025 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(rst,)-243.8(the)]TJ
-44.0811 -1.125 TD
[(server)-344.6(would)-325(provide)-332.8(the)-328.3(capability)-332.1(to)-322.2(respond)-334(to)-322.2(requests)-335.6(to)-322.2(each)-331(of)-317(the)-315.8(low)-312.5(level)-319.1(modules)-311.3(\(lock,)-320.3(log,)-309.7(buffer,)-332.1(and)]TJ
T*
[(transaction)-475.3(managers\).)-735.5(Unfortunately,)-478.1(the)-465.8(performance)-497.8(of)-467(such)-467(a)-468.7(system)-459.7(is)-458(likely)-460.2(to)-459.7(be)-468.7(blindingly)-438.7(slow)-448.3(since)]TJ
ET
endstream
endobj
25 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
27 0 obj
<<
/Length 10936
>>
stream
0 G
1 J 0 j 0.25 w 10 M []0 d
/GS1 gs
1 i 
233 651.375 m
234.875 654.625 l
234.875 654.625 m
233 653.375 l
233 653.375 m
231.25 654.625 l
231.25 654.625 m
233 651.375 l
233 651.375 m
233 684.625 l
164.375 651.375 m
166.25 654.625 l
166.25 654.625 m
164.375 653.375 l
164.375 653.375 m
162.625 654.625 l
162.625 654.625 m
164.375 651.375 l
164.375 651.375 m
164.375 684.625 l
S
0.75 w 
141.625 651.375 m
141.625 551.625 l
141.625 551.625 m
258 551.625 l
258 551.625 m
258 651.375 l
258 651.375 m
141.625 651.375 l
S
0.25 w 
158.25 634.875 m
158.25 618.25 l
158.25 618.25 m
241.375 618.25 l
241.375 618.25 m
241.375 634.875 l
241.375 634.875 m
158.25 634.875 l
S
BT
/TT2 1 Tf
8 0 0 8 189.125 623.125 Tm
0 g
0 Tc
0 Tw
(driver)Tj
-0.1719 -4.1562 TD
(LIBTP)Tj
ET
158.25 618.25 m
158.25 568.25 l
158.25 568.25 m
241.375 568.25 l
241.375 568.25 m
241.375 618.25 l
241.375 618.25 m
158.25 618.25 l
S
0.75 w 
141.625 701.25 m
141.625 684.625 l
141.625 684.625 m
258 684.625 l
258 684.625 m
258 701.25 l
258 701.25 m
141.625 701.25 l
S
BT
/TT4 1 Tf
8 0 0 8 128.625 654.75 Tm
(txn_abort)Tj
-1.0156 1.2969 TD
(txn_commit)Tj
0.8438 1.2969 TD
(txn_begin)Tj
13.9375 -1.2969 TD
(db_ops)Tj
/TT2 1 Tf
-9.4062 3.0469 TD
[(Application)-264.6(Program)]TJ
1.4063 -6.2187 TD
[(Server)-231(Process)]TJ
/TT4 1 Tf
-0.125 3.625 TD
[(socket)-242.2(interface)]TJ
ET
0.25 w 
231 671.125 m
228.125 672.875 l
228.125 672.875 m
229.125 671.125 l
229.125 671.125 m
228.125 669.25 l
228.125 669.25 m
231 671.125 l
231 671.125 m
224.75 671.125 l
165.5 671.125 m
168.375 669.25 l
168.375 669.25 m
167.25 671.125 l
167.25 671.125 m
168.375 672.875 l
168.375 672.875 m
165.5 671.125 l
165.5 671.125 m
171.75 671.125 l
S
0.75 w 
357.75 684.625 m
357.75 551.625 l
357.75 551.625 m
474.25 551.625 l
474.25 551.625 m
474.25 684.625 l
474.25 684.625 m
357.75 684.625 l
S
0.25 w 
397.25 618.25 m
400.25 619.75 l
400.25 619.75 m
398.125 619.75 l
398.125 619.75 m
397.125 621.625 l
397.125 621.625 m
397.25 618.25 l
397.25 618.25 m
416 651.375 l
436.75 618.25 m
436.75 621.625 l
436.75 621.625 m
435.75 619.75 l
435.75 619.75 m
433.75 619.625 l
433.75 619.625 m
436.75 618.25 l
436.75 618.25 m
416 651.375 l
S
BT
/TT2 1 Tf
8 0 0 8 404 589.875 Tm
(LIBTP)Tj
ET
374.375 618.25 m
374.375 568.25 l
374.375 568.25 m
457.625 568.25 l
457.625 568.25 m
457.625 618.25 l
457.625 618.25 m
374.375 618.25 l
374.375 668 m
374.375 651.375 l
374.375 651.375 m
457.625 651.375 l
457.625 651.375 m
457.625 668 l
457.625 668 m
374.375 668 l
S
BT
8 0 0 8 396 656.25 Tm
(Application)Tj
/TT4 1 Tf
-3.5781 -1.7969 TD
(txn_begin)Tj
-0.8438 -1.2969 TD
(txn_commit)Tj
1.0156 -1.3125 TD
(txn_abort)Tj
8.0469 1.3125 TD
(db_ops)Tj
/TT2 1 Tf
-4.8437 8.0937 TD
[(Single)-263.2(Process)]TJ
-36.625 -20.8437 TD
[(Figure)-480(2:)-479.5(Server)-465.3(Architecture.)]TJ
/TT4 1 Tf
14.3125 0 TD
[(In)-479.5(this)-477(con)]TJ
/TT7 1 Tf
4.6782 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(guration,)Tj
-19.5469 -1.4062 TD
[(the)-418.9(library)-412.6(is)-426.8(loaded)-412.6(into)-428.7(a)-415.5(server)-400.9(process)-407.2(which)-415.5(is)-411.1(ac-)]TJ
T*
[(cessed)-233.9(via)-247.1(a)-243.7(socket)-242.2(interface.)]TJ
/TT2 1 Tf
27.375 2.8125 TD
[(Figure)-917.5(3:)-901.4(Single)-919.4(Process)-888.7(Architecture.)]TJ
/TT4 1 Tf
19.9375 0 TD
[(In)-901.4(this)]TJ
-19.9375 -1.4062 TD
(con)Tj
/TT7 1 Tf
1.4439 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(guration,)-433.1(the)-418.9(library)-412.6(routines)-418.9(are)-404.3(loaded)-412.6(as)-417(part)-414.1(of)]TJ
-2 -1.4063 TD
[(the)-247.1(application)-244.6(and)-243.7(accessed)-221.2(via)-247.1(a)-243.6(subroutine)-247.1(interface.)]TJ
/T1 1 Tf
10 0 0 10 69.375 491.625 Tm
[()200()]TJ
/TT4 1 Tf
0 -3.45 TD
[(modifying)-258.5(a)-268.7(piece)-278.1(of)-267(data)-272(would)-262.5(require)-281(three)-264(or)-254.5(possibly)-241(four)-259(separate)-274.6(communications:)-249.8(one)-256.2(to)-247.2(lock)-253.3(the)-253.3(data,)-259.5(one)-256.2(to)]TJ
0 -1.125 TD
[(obtain)-325.5(the)-328.3(data,)-334.5(one)-331.2(to)-322.2(log)-322.2(the)-328.3(modi)]TJ
/TT7 1 Tf
14.7057 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cation,)-319.8(and)-331.2(possibly)-316(one)-331.2(to)-322.2(transmit)-322.7(the)-328.3(modi)]TJ
/TT7 1 Tf
18.5188 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-319.3(data.)-334.5(Figure)-314.2(four)-321.5(shows)-312(the)]TJ
-34.3368 -1.125 TD
[(relative)-389.5(performance)-410.3(for)-384(retrieving)-375.3(a)-368.7(single)-361.3(record)-383.8(using)-358(the)-365.8(record)-383.8(level)-369.1(call)-369.1(versus)-369.8(using)-358(the)-365.8(lower)-373.1(level)-369.1(buffer)]TJ
T*
[(management)-291.1(and)-281.2(locking)-275.5(calls.)-780(The)-282.8(2:1)-272.2(ratio)-280(observed)-277.6(in)-259.7(the)-265.8(single)-261.3(process)-276(case)-279.3(re)]TJ
/TT7 1 Tf
33.8769 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ects)-274.8(the)-265.8(additional)-263.5(overhead)-285.4(of)]TJ
-34.433 -1.125 TD
[(parsing)-356.2(eight)-338(commands)-342.5(rather)-356(than)-340.8(one)-343.7(while)-340.8(the)-340.8(3:1)-334.7(ratio)-342.5(observed)-352.6(in)-334.7(the)-340.8(client/server)-358.1(architecture)-368.8(re)]TJ
/TT7 1 Tf
42.5644 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ects)-349.8(both)]TJ
-43.1205 -1.125 TD
[(the)-328.3(parsing)-331.2(and)-331.2(the)-328.3(communication)-329.3(overheard.)-589.9(Although)-309.7(there)-326.5(may)-315.8(be)-318.6(applications)-318(which)-318.6(could)-315.8(tolerate)-327(such)-317(per-)]TJ
T*
[(formance,)-337.1(it)-306.8(seems)-318.7(far)-327.6(more)-320.3(feasible)-328.1(to)-309.7(support)-312.5(a)-318.7(higher)-320.3(level)-306.6(interface,)-327.9(such)-304.5(as)-304.5(that)-300.5(provided)-307.8(by)-300(a)-306.2(query)-310.6(language)]TJ
T*
(\()Tj
/TT6 1 Tf
0.3375 0 TD
(e.g.)Tj
/TT4 1 Tf
1.7 0 TD
[(SQL)-248.3([SQL86]\).)]TJ
0.4625 -1.5375 TD
[(Although)-297.2(LIBTP)-297.2(does)-304.5(not)-297.2(have)-312.3(an)-306.2(SQL)-298.3(parser,)-319.6(we)-296.5(have)-299.8(built)-279(a)-293.6(server)-307.1(application)-294.6(using)-283(the)-290.8(toolkit)-276.2(command)]TJ
-2.5 -1.125 TD
[(language)-478.1(\(TCL\))-470.3([OUST90].)-722.7(The)-470.3(server)-482.1(supports)-460.8(a)-468.7(command)-469.1(line)-463(interface)-490.4(similar)-460.2(to)-459.7(the)-465.8(subroutine)-453.3(interface)]TJ
T*
(de)Tj
/TT7 1 Tf
0.9438 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ned)-256.2(in)]TJ
/TT2 1 Tf
2.725 0 TD
(db)Tj
/TT4 1 Tf
1.1 0 TD
[(\(3\).)-509(Since)-253.3(it)-244.3(is)-245.5(based)-260.6(on)-250(TCL,)-248.8(it)-244.3(provides)-256.2(control)-255(structures)-262.3(as)-254.5(well.)]TJ
/TT2 1 Tf
-5.325 -2.325 TD
[(4.)-500(Implementation)]TJ
T*
[(4.1.)-500(Locking)-236.5(and)-237.7(Deadlock)-250(Detection)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(LIBTP)-372.2(uses)-377.8(two-phase)-390.1(locking)-375.5(for)-384(user)-384(data.)-634.5(Strictly)-368.2(speaking,)-382.8(the)-365.8(two)-362.5(phases)-371.5(in)-359.7(two-phase)-377.6(locking)-363(are)-379.3(a)]TJ
/TT2 1 Tf
-2.5 -1.125 TD
(grow)Tj
/TT4 1 Tf
2.5125 0 TD
[(phase,)-348.1(during)-326.7(which)-331.2(locks)-326.7(are)-341.8(acquired,)-345.1(and)-331.2(a)]TJ
/TT2 1 Tf
19.175 0 TD
(shrink)Tj
/TT4 1 Tf
3.0875 0 TD
[(phase,)-335.6(during)-326.7(which)-331.2(locks)-326.7(are)-341.8(released.)-599.6(No)-327.8(lock)-328.3(may)]TJ
-24.775 -1.125 TD
[(ever)-341.8(be)-331.2(acquired)-332.6(during)-314.2(the)-315.8(shrink)-312.5(phase.)-573.1(The)-320.3(grow)-319.8(phase)-323.1(lasts)-309.7(until)-304(the)]TJ
/TT7 1 Tf
30.1 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(rst)-306.3(release,)-337.1(which)-318.7(marks)-318.7(the)-315.8(start)-315.8(of)-317(the)]TJ
-30.6562 -1.125 TD
[(shrink)-312.5(phase.)-573.1(In)-317(practice,)-335.9(the)-315.8(grow)-319.8(phase)-323.1(lasts)-309.7(for)-321.5(the)-315.8(duration)-317.5(of)-317(a)-318.7(transaction)-325.3(in)-309.7(LIBTP)-309.7(and)-318.7(in)-309.7(commercial)-330.3(data-)]TJ
T*
[(base)-298.1(systems.)-533(The)-282.8(shrink)-275(phase)-285.6(takes)-282.8(place)-290.6(during)-276.7(transaction)-287.8(commit)-269.8(or)-279.5(abort.)-532.8(This)-272.2(means)-282.8(that)-275.5(locks)-276.7(are)-291.8(acquired)]TJ
T*
[(on)-250(demand)-259.5(during)-251.7(the)-253.3(lifetime)-252.6(of)-254.5(a)-256.2(transaction,)-262.8(and)-256.2(held)-253.3(until)-241.5(commit)-244.8(time,)-247.7(at)-253.3(which)-256.1(point)-244.3(all)-250.5(locks)-251.7(are)-266.8(released.)]TJ
2.5 -1.5375 TD
[(If)-296.5(multiple)-279.5(transactions)-298.6(are)-304.3(active)-300.3(concurrently,)-309.3(deadlocks)-301.5(can)-299.8(occur)-304.3(and)-293.7(must)-280.2(be)-293.7(detected)-306.4(and)-293.7(resolved.)-537.3(The)]TJ
-2.5 -1.125 TD
[(lock)-278.3(table)-281.6(can)-287.3(be)-281.2(thought)-269.3(of)-279.5(as)-279.5(a)-281.2(representation)-298.4(of)-279.5(a)-281.1(directed)-292.3(graph.)-535.6(The)-282.8(nodes)-279.5(in)-259.7(the)-265.8(graph)-273.1(are)-279.3(transactions.)-523.6(Edges)]TJ
T*
[(represent)-372.9(the)]TJ
/TT2 1 Tf
5.6125 0 TD
(waits-for)Tj
/TT4 1 Tf
4.2 0 TD
[(relation)-358.3(between)-368.5(transactions;)-358.3(if)-351.7(transaction)]TJ
/TT6 1 Tf
18.2375 0 TD
(A)Tj
/TT4 1 Tf
0.9625 0 TD
[(is)-345.5(waiting)-350.5(for)-359(a)-356.1(lock)-353.3(held)-353.3(by)-350(transaction)]TJ
/TT6 1 Tf
16.925 0 TD
(B)Tj
/TT4 1 Tf
0.6125 0 TD
(,)Tj
-46.55 -1.125 TD
[(then)-290.8(a)-293.7(directed)-304.8(edge)-299.8(exists)-284.7(from)]TJ
/TT6 1 Tf
13.2625 0 TD
(A)Tj
/TT4 1 Tf
0.8875 0 TD
(to)Tj
/TT6 1 Tf
1.05 0 TD
(B)Tj
/TT4 1 Tf
0.8875 0 TD
[(in)-272.2(the)-278.3(graph.)-535.6(A)-277.8(deadlock)-290.6(exists)-272.2(if)-276.7(a)-281.2(cycle)-290.6(appears)-296.3(in)-272.2(the)-278.3(graph.)-535.6(By)-270.5(conven-)]TJ
-16.0875 -1.125 TD
[(tion,)-244.3(no)-250(transaction)-262.8(ever)-266.8(waits)-251.7(for)-259(a)-256.2(lock)-253.3(it)-244.3(already)-270.1(holds,)-245.5(so)-248.3(re)]TJ
/TT7 1 Tf
24.9894 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(exive)-264(edges)-260.6(are)-266.8(impossible.)]TJ
-23.0455 -1.5375 TD
[(A)-290.3(distinguished)-279(process)-301(monitors)-281.8(the)-290.8(lock)-290.8(table,)-294.1(searching)-306(for)-296.5(cycles.)-539(The)-282.8(frequency)-302.4(with)-272.2(which)-281.2(this)-267.7(process)]TJ
-2.5 -1.125 TD
[(runs)-290.3(is)-283(user-settable;)-306.4(for)-296.5(the)-290.8(multi-user)-289.6(tests)-284.7(discussed)-292(in)-284.7(section)-292.5(5.1.2,)-287.5(it)-281.8(has)-292(been)-299.8(set)-289.2(to)-284.7(wake)-302.6(up)-287.5(every)-291.8(second,)-285.6(but)]TJ
T*
[(more)-282.8(sophisticated)-278.8(schedules)-287.3(are)-279.3(certainly)-277(possible.)-509.7(When)-274.8(a)-268.7(cycle)-278.1(is)-258(detected,)-281.4(one)-268.7(of)-267(the)-265.8(transactions)-273.6(in)-259.7(the)-265.8(cycle)-278.1(is)]TJ
T*
[(nominated)-303.8(and)-306.2(aborted.)-564(When)-312.3(the)-303.3(transaction)-312.8(aborts,)-293.7(it)-281.8(rolls)-284.7(back)-299.8(its)-280.2(changes)-304.3(and)-293.7(releases)-310.4(its)-280.2(locks,)-289.2(thereby)-301.5(break-)]TJ
T*
[(ing)-247.2(the)-253.3(cycle)-265.6(in)-247.2(the)-253.3(graph.)]TJ
ET
endstream
endobj
28 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
/TT7 7 0 R
/T1 8 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
30 0 obj
<<
/Length 18886
>>
stream
0 G
1 J 0 j 0.25 w 10 M [1 1.5 ]0 d
/GS1 gs
1 i 
233.25 683.875 m
400.5 683.875 l
233.25 663.125 m
400.5 663.125 l
233.25 642.125 m
400.5 642.125 l
233.25 621.25 m
400.5 621.25 l
233.25 600.375 m
400.5 600.375 l
233.25 579.375 m
400.5 579.375 l
S
1.25 w []0 d
233.25 558.5 m
400.5 558.5 l
S
q
372.625 595.125 13.875 -36.625 re
W* n
0 g
q
0.96 0 0 15.36 372.24 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 373.2 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 374.16 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 375.12 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 376.08 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 377.04 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378.96 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 379.92 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 380.88 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 381.84 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 382.8 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 383.76 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 384.72 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 385.68 579.42 cm
/Im1 Do
Q
q
0.96 0 0 15.36 372.24 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 373.2 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 374.16 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 375.12 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 376.08 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 377.04 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378.96 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 379.92 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 380.88 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 381.84 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 382.8 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 383.76 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 384.72 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 385.68 564.0601 cm
/Im1 Do
Q
q
0.96 0 0 6.24 372.24 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 373.2 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 374.16 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 375.12 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 376.08 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 377.04 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 378 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 378.96 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 379.92 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 380.88 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 381.84 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 382.8 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 383.76 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 384.72 557.8201 cm
/Im3 Do
Q
q
0.96 0 0 6.24 385.68 557.8201 cm
/Im3 Do
Q
Q
0.25 w 
372.625 595.125 13.875 -36.625 re
S
q
330.75 673.375 14 -114.875 re
W* n
0 g
q
0.96 0 0 15.36 330 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330.96 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 331.92 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 332.88 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 333.84 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 334.8 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 335.76 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 336.72 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 337.68 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 338.64 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 339.6 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 340.56 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 341.52 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 342.48 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 343.44 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 344.4 657.1801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330.96 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 331.92 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 332.88 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 333.84 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 334.8 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 335.76 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 336.72 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 337.68 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 338.64 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 339.6 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 340.56 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 341.52 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 342.48 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 343.44 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 344.4 641.8201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330.96 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 331.92 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 332.88 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 333.84 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 334.8 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 335.76 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 336.72 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 337.68 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 338.64 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 339.6 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 340.56 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 341.52 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 342.48 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 343.44 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 344.4 626.4601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330.96 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 331.92 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 332.88 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 333.84 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 334.8 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 335.76 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 336.72 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 337.68 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 338.64 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 339.6 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 340.56 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 341.52 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 342.48 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 343.44 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 344.4 611.1 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330.96 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 331.92 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 332.88 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 333.84 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 334.8 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 335.76 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 336.72 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 337.68 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 338.64 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 339.6 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 340.56 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 341.52 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 342.48 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 343.44 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 344.4 595.7401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330.96 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 331.92 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 332.88 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 333.84 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 334.8 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 335.76 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 336.72 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 337.68 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 338.64 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 339.6 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 340.56 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 341.52 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 342.48 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 343.44 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 344.4 580.3801 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 330.96 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 331.92 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 332.88 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 333.84 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 334.8 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 335.76 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 336.72 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 337.68 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 338.64 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 339.6 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 340.56 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 341.52 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 342.48 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 343.44 565.02 cm
/Im4 Do
Q
q
0.96 0 0 15.36 344.4 565.02 cm
/Im4 Do
Q
q
0.96 0 0 7.2 330 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 330.96 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 331.92 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 332.88 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 333.84 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 334.8 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 335.76 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 336.72 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 337.68 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 338.64 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 339.6 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 340.56 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 341.52 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 342.48 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 343.44 557.82 cm
/Im5 Do
Q
q
0.96 0 0 7.2 344.4 557.82 cm
/Im5 Do
Q
Q
330.75 673.375 14 -114.875 re
S
q
289 579.375 13.875 -20.875 re
W* n
0 g
q
0.96 0 0 15.36 290.64 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 291.6 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 292.56 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 293.52 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 294.48 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 295.44 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 296.4 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 297.36 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 298.32 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 299.28 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 300.24 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 301.2 563.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 302.16 563.1 cm
/Im2 Do
Q
q
0.96 0 0 5.28 290.64 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 291.6 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 292.56 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 293.52 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 294.48 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 295.44 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 296.4 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 297.36 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 298.32 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 299.28 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 300.24 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 301.2 557.82 cm
/Im6 Do
Q
q
0.96 0 0 5.28 302.16 557.82 cm
/Im6 Do
Q
Q
289 579.375 13.875 -20.875 re
S
q
247.125 603 14 -44.5 re
W* n
0 g
q
0.96 0 0 15.36 259.92 587.1 cm
/Im8 Do
Q
q
0.96 0 0 15.36 260.88 587.1 cm
/Im8 Do
Q
q
0.96 0 0 15.36 259.92 571.7401 cm
/Im8 Do
Q
q
0.96 0 0 15.36 260.88 571.7401 cm
/Im8 Do
Q
q
0.96 0 0 15.36 259.92 556.3801 cm
/Im8 Do
Q
q
0.96 0 0 15.36 260.88 556.3801 cm
/Im8 Do
Q
Q
247.125 603 14 -44.5 re
S
BT
/TT2 1 Tf
10 0 0 10 330 536.125 Tm
0 g
0 Tc
0 Tw
(Client/Server)Tj
-8.5375 0 TD
[(Single)-238.2(Process)]TJ
7 0 0 7 369.625 547.375 Tm
(record)Tj
-6.9107 0 TD
(component)Tj
-5.0179 0 TD
(record)Tj
-7.125 0 TD
(components)Tj
-2.8036 4.1607 TD
(.1)Tj
0 3 TD
(.2)Tj
0 2.9821 TD
(.3)Tj
T*
(.4)Tj
T*
(.5)Tj
0 2.9643 TD
(.6)Tj
-2.5536 2.9107 TD
[(Elapsed)-252.7(Time)]TJ
0.4107 -1 TD
[(\(in)-261.6(seconds\))]TJ
8 0 0 8 69.375 510.125 Tm
[(Figure)-308.1(4:)-307.6(Comparison)-315.4(of)-307.6(High)-325.7(and)-325.2(Low)-314(Level)-308.1(Interfaces.)]TJ
/TT4 1 Tf
25.2969 0 TD
[(Elapsed)-287.6(time)-300.8(in)-300.3(seconds)-287.1(to)-300.3(perform)-279.3(a)-290.5(single)-298.8(record)-274.4(retrieval)-278.3(from)-290.5(a)-290.5(command)-291(line)]TJ
-25.2969 -1.4063 TD
[(\(rather)-397.9(than)-418.9(a)-415.5(procedural)-380.9(interface\))-373(is)-411.1(shown)-404.3(on)-406.2(the)-403.3(y)-406.2(axis.)-654.8(The)-398.4(��component��)-380.9(numbers)-399.9(re)]TJ
/TT7 1 Tf
38.1987 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ect)-392.1(the)-403.3(timings)-421.4(when)-396.5(the)-403.3(record)-383.8(is)-411.1(retrieved)-384.3(by)]TJ
-38.7549 -1.4063 TD
[(separate)-318.4(calls)-339.4(to)-347.2(the)-340.8(lock)-340.8(manager)-323.2(and)-337.4(buffer)-322.8(manager)-323.2(while)-340.8(the)-325.2(��record��)-286.1(timings)-343.3(were)-307.1(obtained)-322.3(by)-328.1(using)-333(a)-321.8(single)-330.1(call)-322.3(to)-331.5(the)-325.2(record)-305.7(manager.)]TJ
T*
[(The)-304.7(2:1)-315.9(ratio)-308.1(observed)-296.4(for)-302.7(the)-309.6(single)-314.5(process)-297.8(case)-294.9(is)-301.8(a)-290.5(r)0(e)]TJ
/TT7 1 Tf
22.9956 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ection)-286.1(of)-292(the)-293.9(parsing)-290.5(overhead)-272.9(for)-287.1(executing)-284.7(eight)-297.4(separate)-271.5(commands)-292.5(rather)-277.8(than)-293.9(one.)]TJ
-23.5518 -1.4063 TD
[(The)-289.1(additional)-297.9(factor)-277.8(of)-292(one)-290.5(re)]TJ
/TT7 1 Tf
12.3862 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ected)-276.4(in)-300.3(the)-293.9(3:1)-300.3(ratio)-292.5(for)-271.5(the)-278.3(client/server)-261.2(architecture)-500(is)-286.1(due)-274.9(to)-284.7(the)-278.3(communication)-279.3(overhead.)-507.3(The)-273.4(true)-273.4(ratios)-278.3(are)]TJ
-12.9424 -1.4063 TD
[(actually)-272.5(worse)-268.1(since)-273.4(the)-278.3(component)-275.4(timings)-296.4(do)-281.2(not)-269(re)]TJ
/TT7 1 Tf
21.5425 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ect)-251.5(the)-262.7(search)-243.2(times)-271(within)-272.5(each)-246.6(page)-252.9(or)-260.7(the)-262.7(time)-269.5(required)-246.6(to)-269(transmit)-269.5(the)-262.7(page)-252.9(between)-246.6(the)]TJ
-22.0986 -1.4062 TD
[(two)-250(processes.)]TJ
/T1 1 Tf
10 0 0 10 69.375 431.375 Tm
[()200()]TJ
/TT2 1 Tf
0 -3.45 TD
[(4.2.)-500(Group)-241(Commit)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(Since)-328.3(the)-328.3(log)-322.2(must)-317.7(be)]TJ
/TT7 1 Tf
9.2375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ushed)-323.3(to)-322.2(disk)-308(at)-315.8(commit)-307.3(time,)-310.2(disk)-308(bandwidth)-315.8(fundamentally)-324.1(limits)-296.7(the)-315.8(rate)-326.5(at)-315.8(which)]TJ
-12.2937 -1.125 TD
[(transactions)-273.6(complete.)-522.5(Since)-265.8(most)-242.7(transactions)-261.1(write)-257.8(only)-247.2(a)-256.1(few)-263.5(small)-246(records)-269.6(to)-247.2(the)-253.3(log,)-247.2(the)-253.3(last)-248.8(page)-262.3(of)-254.5(the)-253.3(log)-247.2(will)]TJ
T*
(be)Tj
/TT7 1 Tf
1.2875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ushed)-335.8(once)-349.8(by)-337.5(every)-354.3(transaction)-350.3(which)-343.7(writes)-343.6(to)-334.7(it.)-581.8(In)-342(the)-340.8(naive)-347(implementation,)-336.1(these)]TJ
/TT7 1 Tf
36.1313 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ushes)-321.7(would)-325(happen)]TJ
-38.5312 -1.125 TD
(serially.)Tj
2.5 -1.5375 TD
[(LIBTP)-384.7(uses)]TJ
/TT2 1 Tf
5.275 0 TD
[(group)-381.3(commit)]TJ
/TT4 1 Tf
6.5625 0 TD
[([DEWI84])-411.6(in)-384.7(order)-402.6(to)-384.7(amortize)-389.5(the)-378.3(cost)-376.7(of)-379.5(one)-381.2(synchronous)-382.3(disk)-370.5(write)-382.8(across)]TJ
-14.3375 -1.125 TD
[(multiple)-367(transactions.)-636.1(Group)-382.3(commit)-357.3(provides)-368.7(a)-368.7(way)-371.5(for)-371.5(a)-368.6(group)-367(of)-367(transactions)-373.6(to)-359.7(commit)-357.3(simultaneously.)-607.3(The)]TJ
/TT7 1 Tf
T*
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(rst)-368.8(several)-393.5(transactions)-386.1(to)-372.2(commit)-357.3(write)-370.3(their)-367.5(changes)-379.3(to)-359.7(the)-365.8(in-memory)-369.1(log)-359.7(page,)-374.8(then)-365.8(sleep)-370.3(on)-362.5(a)-368.7(distinguished)]TJ
-0.5562 -1.125 TD
[(semaphore.)-556(Later,)-303.1(a)-293.7(committing)-276.7(transaction)]TJ
/TT7 1 Tf
18.1125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ushes)-284.2(the)-290.8(page)-299.8(to)-284.7(disk,)-270.5(and)-281.2(wakes)-288.5(up)-275(all)-275.5(its)-267.7(sleeping)-280(peers.)-540.1(The)-282.8(point)]TJ
-18.6687 -1.125 TD
[(at)-278.3(which)-281.2(changes)-291.8(are)-291.8(actually)-285(written)-280(is)-270.5(determined)-289.5(by)-275(three)-289(thresholds.)-526.7(The)]TJ
/TT7 1 Tf
31.325 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(rst)-268.8(is)-258(the)]TJ
/TT6 1 Tf
3.6813 0 TD
[(group)-260.8(threshold)]TJ
/TT4 1 Tf
6.6875 0 TD
[(and)-268.7(de)]TJ
/TT7 1 Tf
2.6564 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(nes)Tj
-45.4625 -1.125 TD
[(the)-265.8(minimum)-248.3(number)-270.3(of)-267(transactions)-273.6(which)-256.2(must)-242.7(be)-256.2(active)-262.8(in)-247.2(the)-253.3(system)-247.2(before)-271.3(transactions)-261.1(are)-266.8(forced)-271.3(to)-247.2(participate)]TJ
T*
[(in)-359.7(a)-368.7(group)-367(commit.)-607.3(The)-370.3(second)-373.1(is)-358(the)]TJ
/TT6 1 Tf
16.25 0 TD
[(wait)-352.3(threshold)]TJ
/TT4 1 Tf
6.2125 0 TD
[(which)-368.7(is)-345.5(expressed)-369.6(as)-354.5(the)-353.3(percentage)-382.4(of)-354.5(active)-362.8(transactions)]TJ
-22.4625 -1.125 TD
[(waiting)-388(to)-384.7(be)-393.7(committed.)-635.6(The)-395.3(last)-386.3(is)-383(the)]TJ
/TT6 1 Tf
17.4375 0 TD
[(logdelay)-394.1(threshold)]TJ
/TT4 1 Tf
8 0 TD
[(which)-381.2(indicates)-383.3(how)-377.8(much)-378.3(un)]TJ
/TT7 1 Tf
12.4625 0 TD
(�)Tj
/TT4 1 Tf
0.5561 0 TD
[(ushed)-373.3(log)-372.2(should)-370.5(be)]TJ
-38.4561 -1.125 TD
[(allowed)-259.5(to)-247.2(accumulate)-272.3(before)-271.3(a)-256.2(waiting)-250.5(transaction�s)-515.6(commit)-244.8(record)-271.3(is)]TJ
/TT7 1 Tf
28.7125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(ushed.)Tj
-26.7687 -1.5375 TD
[(Group)-269.8(commit)-257.3(can)-274.8(substantially)-244.8(improve)-255(performance)-285.3(for)-259(high-concurrency)-285.3(environments.)-506.6(If)-259(only)-247.2(a)-256.2(few)-263.5(tran-)]TJ
-2.5 -1.125 TD
[(sactions)-290.8(are)-291.8(running,)-276.7(it)-269.3(is)-270.5(unlikely)-272.7(to)-272.2(improve)-280(things)-267.7(at)-278.3(all.)-525.5(The)-282.8(crossover)-293(point)-269.3(is)-270.5(the)-278.3(point)-269.3(at)-278.3(which)-281.2(the)-278.3(transaction)]TJ
T*
[(commit)-294.8(rate)-314(is)-295.5(limited)-292(by)-300(the)-303.3(bandwidth)-303.3(of)-304.5(the)-303.3(device)-315.6(on)-300(which)-306.2(the)-303.3(log)-297.2(resides.)-560.6(If)-309(processes)-318(are)-316.8(trying)-298.8(to)]TJ
/TT7 1 Tf
43.35 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ush)-279.7(the)]TJ
-43.9062 -1.125 TD
[(log)-247.2(faster)-266.8(than)-253.3(the)-253.3(log)-247.2(disk)-245.5(can)-262.3(accept)-271.8(data,)-259.5(then)-253.3(group)-254.5(commit)-244.8(will)-244.3(increase)-274.6(the)-253.3(commit)-244.8(rate.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(4.3.)-500(Kernel)-256.6(Intervention)-254.5(for)-260.6(Synchronization)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(Since)-265.8(LIBTP)-259.7(uses)-265.3(data)-272(in)-259.7(shared)-277.6(memory)-267.5(\()]TJ
/TT6 1 Tf
17.3125 0 TD
(e.g.)Tj
/TT4 1 Tf
1.7125 0 TD
[(the)-253.3(lock)-253.3(table)-256.6(and)-256.1(buffer)-269.6(pool\))-251.7(it)-244.3(must)-242.7(be)-256.1(possible)-247.2(for)-259(a)-256.1(process)]TJ
-21.525 -1.125 TD
[(to)-284.7(acquire)-307.6(exclusive)-298.6(access)-296.3(to)-272.2(shared)-290.1(data)-284.5(in)-272.2(order)-290.1(to)-272.2(prevent)-289(corruption.)-534.5(In)-279.5(addition,)-272.7(the)-278.3(process)-288.5(manager)-295.1(must)-267.7(put)]TJ
T*
[(processes)-305.5(to)-284.7(sleep)-295.3(when)-296.5(the)-290.8(lock)-290.8(or)-292(buffer)-307.1(they)-290.8(request)-299.8(is)-283(in)-284.7(use)-292(by)-287.5(some)-289.2(other)-295.3(process.)-538.5(In)-279.5(the)-278.3(LIBTP)-272.2(implementa-)]TJ
0 -1.325 TD
[(tion)-319.3(under)-335.6(Ultrix)-323.8(4.0)]TJ
7 0 0 7 153.875 122.875 Tm
(2)Tj
10 0 0 10 157.375 118.875 Tm
[(,)-325(w)0(e)-321.5(use)-317(System)-305.2(V)-315.3(semaphores)-329.3(to)-309.7(provide)-320.3(this)-305.2(synchronization.)-575.3(Semaphores)-324.8(implemented)-316.8(in)]TJ
-8.8 -1.125 TD
[(this)-380.2(fashion)-393.7(turn)-389.2(out)-384.7(to)-384.7(be)-393.7(an)-393.7(expensive)-401.5(choice)-403.1(for)-384(synchronization,)-387.8(because)-397.9(each)-393.5(access)-396.3(traps)-381.2(to)-372.2(the)-378.3(kernel)-389(and)]TJ
/T1 1 Tf
8 0 0 8 69.375 98.625 Tm
()Tj
/TT4 1 Tf
5 0 0 5 90.875 88.875 Tm
(2)Tj
8 0 0 8 95.375 85.75 Tm
[(Ultrix)-252(and)-243.7(DEC)-250(are)-232.4(trademarks)-229.5(of)-245.1(Digital)-253.9(Equipment)-252.4(Corporation.)]TJ
ET
endstream
endobj
31 0 obj
<<
/ProcSet [/PDF /Text /ImageB ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
/TT7 7 0 R
/T1 8 0 R
>>
/XObject <<
/Im1 32 0 R
/Im2 33 0 R
/Im3 34 0 R
/Im4 35 0 R
/Im5 36 0 R
/Im6 37 0 R
/Im8 38 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
40 0 obj
<<
/Length 22873
>>
stream
BT
/TT4 1 Tf
10 0 0 10 69.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(executes)-270.1(atomically)-254.3(there.)]TJ
2.5 -1.5375 TD
[(On)-315.3(architectures)-342.1(that)-313(support)-312.5(atomic)-316.3(test-and-set,)-328.1(a)-318.6(much)-315.8(better)-323.6(choice)-328.1(would)-312.5(be)-318.6(to)-309.7(attempt)-313.5(to)-309.7(obtain)-313(a)-306.2(spin-)]TJ
-2.5 -1.125 TD
[(lock)-265.8(with)-259.7(a)-268.7(test-and-set,)-278.1(and)-268.7(issue)-262.5(a)-268.7(system)-259.7(call)-269.1(only)-259.7(if)-264.2(the)-265.8(spinlock)-261.3(is)-258(unavailable.)-528.6(Since)-253.3(virtually)-249.3(all)-250.5(semaphores)-266.8(in)]TJ
T*
[(LIBTP)-297.2(are)-316.8(uncontested)-298.6(and)-293.7(are)-304.3(held)-290.8(for)-296.5(very)-298.1(short)-287.5(periods)-293.7(of)-292(time,)-285.2(this)-280.2(would)-287.5(improve)-292.5(performance.)-572.8(For)-285.8(example,)]TJ
T*
[(processes)-293(must)-267.7(acquire)-295.1(exclusive)-286.1(access)-296.3(to)-272.2(buffer)-294.6(pool)-272.2(metadata)-291.1(in)-272.2(order)-290.1(to)]TJ
/TT7 1 Tf
30.725 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(nd)-268.8(and)-281.2(pin)-272.2(a)-281.2(buffer)-294.6(in)-259.7(shared)-277.6(memory.)]TJ
-31.2812 -1.125 TD
[(This)-297.2(semaphore)-318.5(is)-295.5(requested)-318.5(most)-292.7(frequently)-303.1(in)-284.7(LIBTP.)-534.7(However,)-310(once)-299.8(it)-281.8(is)-283(acquired,)-307.6(only)-284.7(a)-293.7(few)-301(instructions)-283.5(must)]TJ
T*
[(be)-318.7(executed)-321.8(before)-321.3(it)-294.3(is)-295.5(released.)-574.6(On)-302.8(one)-306.2(architecture)-331.2(for)-309(which)-306.2(we)-309(were)-319.6(able)-309.5(to)-297.2(gather)-314(detailed)-310(pro)]TJ
/TT7 1 Tf
40.883 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ling)-292.7(informa-)]TJ
-41.4392 -1.125 TD
[(tion,)-369.3(the)-378.3(cost)-364.2(of)-367(the)-365.8(semaphore)-381(calls)-367.5(accounted)-384.3(for)-371.5(25%)-367(of)-367(the)-365.8(total)-360.2(time)-360.2(spent)-364.2(updating)-363(the)-365.8(metadata.)-628.6(This)-359.7(was)]TJ
T*
[(fairly)-259.5(consistent)-250.5(across)-263.5(most)-242.7(of)-254.5(the)-253.3(critical)-261.6(sections.)]TJ
2.5 -1.5375 TD
[(In)-329.5(an)-331.2(attempt)-326(to)-322.2(quantify)-330(the)-315.8(overhead)-335.4(of)-317(kernel)-326.5(synchronization,)-325.3(we)-321.5(ran)-323.1(tests)-309.7(on)-312.5(a)-318.6(version)-318.7(of)-317(4.3BSD-Reno)]TJ
-2.5 -1.125 TD
[(which)-443.7(had)-443.7(been)-437.3(modi)]TJ
/TT7 1 Tf
9.1557 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-419.3(to)-422.2(support)-425(binary)-432.8(semaphore)-443.5(facilities)-432.1(similar)-422.7(to)-422.2(those)-426.7(described)-443.5(in)-422.2([POSIX91].)-681.8(The)]TJ
-9.7118 -1.125 TD
[(hardware)-342.8(platform)-319.1(consisted)-315.8(of)-304.5(an)-306.2(HP300)-296.7(\(33MHz)-311.8(MC68030\))-298.3(workstation)-303.3(with)-297.2(16MBytes)-295.5(of)-304.5(main)-300.5(memory,)-305(and)-306.2(a)]TJ
T*
[(600MByte)-284.7(HP7959)-284.2(SCSI)-275.2(disk)-283(\(17)-292(ms)-283(average)-316.6(seek)-285.6(time\).)-527.1(We)-287.3(ran)-285.6(three)-289(sets)-275(of)-279.5(comparisons)-282.8(which)-281.2(are)-291.8(summarized)]TJ
T*
(in)Tj
/TT7 1 Tf
1.125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(gure)Tj
/TT7 1 Tf
2.1313 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ve.)-350(In)-354.5(each)-368.5(comparison)-359.5(we)-359(ran)-360.6(two)-350(tests,)-347.2(one)-356.2(using)-345.5(hardware)-380.3(spinlocks)-347.2(and)-343.7(the)-340.8(other)-345.3(using)-333(kernel)-351.5(call)]TJ
-4.3687 -1.125 TD
[(synchronization.)-612.8(Since)-353.3(the)-353.3(test)-348.8(was)-344.8(run)-342(single-user,)-349.8(none)-343.7(of)-342(the)-340.8(the)-340.8(locks)-339.2(were)-357.1(contested.)-598.6(In)-342(the)]TJ
/TT7 1 Tf
40.4 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(rst)-331.3(two)-337.5(sets)-337.5(of)]TJ
-40.9562 -1.125 TD
[(tests,)-322.2(we)-334(ran)-335.6(the)-328.3(full)-323.8(transaction)-337.8(processing)-335.6(benchmark)-345.1(described)-343.5(in)-322.2(section)-330(5.1.)-562.5(In)-317(one)-318.6(case)-329.3(we)-321.5(ran)-323.1(with)-309.7(both)-309.7(the)]TJ
T*
[(database)-295.1(and)-281.2(log)-272.2(on)-275(the)-278.3(same)-282.8(disk)-270.5(\(1)-279.5(Disk\))-277.8(and)-281.2(in)-272.2(the)-278.3(second,)-285.6(we)-284(ran)-285.6(with)-272.2(the)-278.3(database)-295.1(and)-281.2(log)-259.7(on)-262.5(separate)-287.1(disks)-256.3(\(2)]TJ
T*
[(Disk\).)-590.3(In)-342(the)-340.8(last)-336.3(test,)-336.3(we)-346.5(wanted)-349.8(to)-334.7(create)-363.8(a)-343.7(CPU)-329.7(bound)-337.5(environment,)-345.8(so)-335.8(we)-334(used)-329.5(a)-331.1(database)-345.1(small)-321(enough)-331.2(to)]TJ
/TT7 1 Tf
45.975 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(t)Tj
-46.5312 -1.125 TD
[(completely)-382.1(in)-372.2(the)-378.3(cache)-399.6(and)-381.2(issued)-375(read-only)-393.5(transactions.)-623.6(The)-370.3(results)-364.2(in)]TJ
/TT7 1 Tf
30.8625 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(gure)Tj
/TT7 1 Tf
2.1438 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ve)-362.5(express)-376(the)-365.8(kernel)-376.5(call)-369.1(syn-)]TJ
-34.1187 -1.125 TD
[(chronization)-314.5(performance)-335.3(as)-304.5(a)-306.2(percentage)-332.4(of)-304.5(the)-303.3(spinlock)-298.8(performance.)-585.3(For)-298.3(example,)-312.8(in)-297.2(the)-303.3(1)-300(disk)-295.5(case,)-316.8(the)-290.8(kernel)]TJ
T*
[(call)-331.6(implementation)-323.6(achieved)-346.8(4.4)-312.5(TPS)-301.9(\(transactions)-328.1(per)-323.1(second\))-327.6(while)-315.8(the)-315.8(semaphore)-331(implementation)-311.1(achieved)-334.3(4.6)]TJ
T*
[(TPS,)-276.9(and)-293.7(the)-290.8(relative)-302(performance)-322.8(of)-292(the)-290.8(kernel)-289(synchronization)-287.8(is)-270.5(96%)-279.5(that)-275.5(of)-279.5(the)-278.3(spinlock)-273.8(\(100)-279.5(*)-275(4.4)-275(/)-272.2(4.6\).)-279.5(There)]TJ
T*
[(are)-266.8(two)-250(striking)-244.3(observations)-257.8(from)-256.2(these)-257.8(results:)]TJ
/T1 1 Tf
1 -1.5375 TD
()Tj
/TT4 1 Tf
1.5 0 TD
[(even)-262.3(when)-259(the)-253.3(system)-247.2(is)-245.5(disk)-245.5(bound,)-250(the)-253.3(CPU)-242.2(cost)-251.7(of)-254.5(synchronization)-262.8(is)-245.5(noticeable,)-266.1(and)]TJ
/T1 1 Tf
-1.5 -1.5375 TD
()Tj
/TT4 1 Tf
1.5 0 TD
[(when)-259(we)-259(are)-266.8(CPU)-242.2(bound,)-250(the)-253.3(difference)-285.3(is)-245.5(dramatic)-264.5(\(67%\).)]TJ
/TT2 1 Tf
-2.5 -2.325 TD
[(4.4.)-500(Transaction)-245.5(Protected)-279.1(Access)-268(Methods)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(The)-295.3(B-tree)-301.5(and)]TJ
/TT7 1 Tf
6.3875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(xed)-287.5(length)-275.5(recno)-291.8(\(record)-300.8(number\))-287.3(access)-296.3(methods)-273.8(have)-287.3(been)-287.3(modi)]TJ
/TT7 1 Tf
26.7995 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-269.3(to)-272.2(provide)-282.8(transaction)]TJ
-36.7993 -1.125 TD
[(protection.)-520.8(Whereas)-289.9(the)-265.8(previously)-265.8(published)-261.3(interface)-290.4(to)-259.7(the)-265.8(access)-283.8(routines)-265.8(had)-268.7(separate)-287.1(open)-268.7(calls)-267.5(for)-259(each)-268.5(of)-254.5(the)]TJ
/T1 1 Tf
0 -2.325 TD
[()200()]TJ
ET
q
1 i 
372.25 209.25 14.375 -46.75 re
W* n
q
0.96 0 0 15.36 372.24 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 373.2 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 374.16 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 375.12 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 376.08 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 377.04 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378.96 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 379.92 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 380.88 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 381.84 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 382.8 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 383.76 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 384.72 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 385.68 194.46 cm
/Im1 Do
Q
q
0.96 0 0 15.36 372.24 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 373.2 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 374.16 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 375.12 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 376.08 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 377.04 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378.96 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 379.92 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 380.88 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 381.84 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 382.8 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 383.76 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 384.72 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 385.68 179.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 372.24 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 373.2 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 374.16 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 375.12 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 376.08 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 377.04 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 378.96 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 379.92 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 380.88 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 381.84 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 382.8 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 383.76 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 384.72 163.74 cm
/Im1 Do
Q
q
0.96 0 0 15.36 385.68 163.74 cm
/Im1 Do
Q
q
0.96 0 0 1.92 372.24 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 373.2 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 374.16 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 375.12 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 376.08 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 377.04 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 378 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 378.96 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 379.92 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 380.88 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 381.84 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 382.8 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 383.76 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 384.72 161.82 cm
/Im9 Do
Q
q
0.96 0 0 1.92 385.68 161.82 cm
/Im9 Do
Q
Q
0 G
1 J 0 j 0.25 w 10 M []0 d
1 i 
372.25 209.25 14.375 -46.75 re
S
q
314.75 297 14.375 -134.5 re
W* n
q
0.96 0 0 15.36 314.64 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 315.6 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 316.56 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 317.52 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 318.48 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 319.44 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 320.4 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 321.36 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 322.32 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 323.28 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 324.24 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 325.2 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 326.16 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 327.12 281.82 cm
/Im2 Do
Q
q
0.96 0 0 15.36 328.08 281.82 cm
/Im2 Do
Q
q
0.72 0 0 15.36 329.04 281.82 cm
/Im7 Do
Q
q
0.96 0 0 15.36 314.64 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 315.6 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 316.56 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 317.52 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 318.48 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 319.44 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 320.4 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 321.36 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 322.32 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 323.28 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 324.24 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 325.2 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 326.16 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 327.12 266.46 cm
/Im2 Do
Q
q
0.96 0 0 15.36 328.08 266.46 cm
/Im2 Do
Q
q
0.72 0 0 15.36 329.04 266.46 cm
/Im7 Do
Q
q
0.96 0 0 15.36 314.64 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 315.6 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 316.56 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 317.52 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 318.48 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 319.44 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 320.4 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 321.36 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 322.32 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 323.28 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 324.24 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 325.2 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 326.16 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 327.12 251.1 cm
/Im2 Do
Q
q
0.96 0 0 15.36 328.08 251.1 cm
/Im2 Do
Q
q
0.72 0 0 15.36 329.04 251.1 cm
/Im7 Do
Q
q
0.96 0 0 15.36 314.64 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 315.6 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 316.56 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 317.52 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 318.48 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 319.44 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 320.4 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 321.36 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 322.32 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 323.28 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 324.24 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 325.2 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 326.16 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 327.12 235.74 cm
/Im2 Do
Q
q
0.96 0 0 15.36 328.08 235.74 cm
/Im2 Do
Q
q
0.72 0 0 15.36 329.04 235.74 cm
/Im7 Do
Q
q
0.96 0 0 15.36 314.64 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 315.6 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 316.56 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 317.52 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 318.48 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 319.44 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 320.4 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 321.36 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 322.32 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 323.28 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 324.24 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 325.2 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 326.16 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 327.12 220.38 cm
/Im2 Do
Q
q
0.96 0 0 15.36 328.08 220.38 cm
/Im2 Do
Q
q
0.72 0 0 15.36 329.04 220.38 cm
/Im7 Do
Q
q
0.96 0 0 15.36 314.64 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 315.6 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 316.56 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 317.52 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 318.48 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 319.44 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 320.4 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 321.36 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 322.32 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 323.28 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 324.24 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 325.2 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 326.16 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 327.12 205.02 cm
/Im2 Do
Q
q
0.96 0 0 15.36 328.08 205.02 cm
/Im2 Do
Q
q
0.72 0 0 15.36 329.04 205.02 cm
/Im7 Do
Q
q
0.96 0 0 15.36 314.64 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 315.6 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 316.56 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 317.52 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 318.48 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 319.44 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 320.4 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 321.36 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 322.32 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 323.28 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 324.24 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 325.2 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 326.16 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 327.12 189.66 cm
/Im2 Do
Q
q
0.96 0 0 15.36 328.08 189.66 cm
/Im2 Do
Q
q
0.72 0 0 15.36 329.04 189.66 cm
/Im7 Do
Q
q
0.96 0 0 15.36 314.64 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 315.6 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 316.56 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 317.52 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 318.48 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 319.44 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 320.4 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 321.36 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 322.32 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 323.28 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 324.24 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 325.2 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 326.16 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 327.12 174.3 cm
/Im2 Do
Q
q
0.96 0 0 15.36 328.08 174.3 cm
/Im2 Do
Q
q
0.72 0 0 15.36 329.04 174.3 cm
/Im7 Do
Q
q
0.96 0 0 12.48 314.64 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 315.6 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 316.56 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 317.52 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 318.48 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 319.44 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 320.4 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 321.36 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 322.32 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 323.28 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 324.24 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 325.2 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 326.16 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 327.12 161.82 cm
/Im10 Do
Q
q
0.96 0 0 12.48 328.08 161.82 cm
/Im10 Do
Q
q
0.72 0 0 12.48 329.04 161.82 cm
/Im11 Do
Q
Q
314.75 297 14.375 -134.5 re
S
q
257.375 298.75 14.375 -136.25 re
W* n
q
0.96 0 0 15.36 259.92 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 283.7401 cm
/Im12 Do
Q
q
0.96 0 0 15.36 259.92 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 268.38 cm
/Im12 Do
Q
q
0.96 0 0 15.36 259.92 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 253.02 cm
/Im12 Do
Q
q
0.96 0 0 15.36 259.92 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 237.66 cm
/Im12 Do
Q
q
0.96 0 0 15.36 259.92 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 222.3 cm
/Im12 Do
Q
q
0.96 0 0 15.36 259.92 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 206.94 cm
/Im12 Do
Q
q
0.96 0 0 15.36 259.92 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 191.58 cm
/Im12 Do
Q
q
0.96 0 0 15.36 259.92 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 176.22 cm
/Im12 Do
Q
q
0.96 0 0 15.36 259.92 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 260.88 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 261.84 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 262.8 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 263.76 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 264.72 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 265.68 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 266.64 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 267.6 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 268.56 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 269.52 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 270.48 160.86 cm
/Im12 Do
Q
q
0.96 0 0 15.36 271.44 160.86 cm
/Im12 Do
Q
Q
257.375 298.75 14.375 -136.25 re
S
BT
/TT2 1 Tf
7 0 0 7 364 149.375 Tm
(Read-only)Tj
-26.5357 24.5357 TD
[(of)-256.3(Spinlock)-258(Throughput)]TJ
0.9643 1.0179 TD
[(Throughput)-239.7(as)-253.7(a)-250(%)]TJ
11 0 0 11 208.75 186.625 Tm
(20)Tj
0 2.6023 TD
(40)Tj
0 2.6136 TD
(60)Tj
0 2.6023 TD
(80)Tj
-0.25 2.6136 TD
(100)Tj
7 0 0 7 255.125 149.375 Tm
[(1)-250(Disk)-5322.5(2)-250(Disks)]TJ
ET
1.25 w 
228.625 162.5 m
415.375 162.5 l
S
0.25 w [1 1.5 ]0 d
228.625 191.25 m
415.375 191.25 l
228.625 219.875 m
415.375 219.875 l
228.625 248.625 m
415.375 248.625 l
228.625 277.25 m
415.375 277.25 l
228.625 306 m
415.375 306 l
S
BT
8 0 0 8 69.375 122 Tm
[(Figure)-261.2(5:)-260.7(Kernel)-259.8(Overhead)-262.7(for)-254.4(System)-257.3(Call)-269(Synchronization.)]TJ
/TT4 1 Tf
26.5469 0 TD
[(The)-257.8(performance)-229(of)-260.7(the)-262.7(kernel)-251.5(call)-259.8(synchronization)-253.4(is)-270.5(expressed)-244.6(as)-245.1(a)-243.7(percentage)]TJ
-26.5469 -1.4063 TD
[(of)-260.7(the)-262.7(spinlock)-267.6(synchronization)-253.4(performance.)-479(In)-260.7(disk)-270.5(bound)-265.6(cases)-249.5(\(1)-260.7(Disk)-267.1(and)-259.3(2)-265.6(Disks\),)-263.7(we)-255.9(see)-254.4(that)-266.1(4-6%)-255.9(of)-260.7(the)-262.7(performance)-229(is)-270.5(lost)-258.3(due)-243.7(to)-253.4(kernel)]TJ
T*
[(calls)-245.6(while)-247.1(in)-253.4(the)-247.1(CPU)-257.8(bound)-250(case,)-232.4(we)-240.2(have)-237.3(lost)-258.3(67%)-245.1(of)-245.1(the)-247.1(performance)-213.4(due)-243.7(to)-253.4(kernel)-235.8(calls.)]TJ
ET
endstream
endobj
41 0 obj
<<
/ProcSet [/PDF /Text /ImageB ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT7 7 0 R
/T1 8 0 R
>>
/XObject <<
/Im1 32 0 R
/Im2 33 0 R
/Im7 42 0 R
/Im9 43 0 R
/Im10 44 0 R
/Im11 45 0 R
/Im12 46 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
48 0 obj
<<
/Length 9326
>>
stream
BT
/TT4 1 Tf
10 0 0 10 69.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(access)-271.3(methods,)-248.8(we)-259(now)-252.8(have)-262.3(an)-256.2(integrated)-264.5(open)-256.1(call)-256.6(with)-247.2(the)-253.3(following)-248.8(calling)-253.8(conventions:)]TJ
/TT9 1 Tf
2 -1.5375 TD
[(DB)-599.8(*dbopen)-599.3(\(const)-599.4(char)-599.6(*file,)-599.4(int)-599.7(flags,)-599.4(int)-599.7(mode,)-599.5(DBTYPE)-599.4(type,)]TJ
7.2 -1.125 TD
[(int)-599.7(dbflags,)-599.2(const)-599.5(void)-599.6(*openinfo\))]TJ
/TT4 1 Tf
-9.2 -1.5375 TD
(where)Tj
/TT10 1 Tf
2.7375 0 TD
(�)Tj
/TT6 1 Tf
0.5 0 TD
(le)Tj
/TT4 1 Tf
1 0 TD
[(is)-270.5(the)-278.3(name)-284.5(of)-279.5(the)]TJ
/TT7 1 Tf
7.5 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-272.2(being)-278.3(opened,)]TJ
/TT10 1 Tf
6.9188 0 TD
(�)Tj
/TT6 1 Tf
0.5 0 TD
(ags)Tj
/TT4 1 Tf
1.6625 0 TD
(and)Tj
/TT6 1 Tf
1.7125 0 TD
(mode)Tj
/TT4 1 Tf
2.4375 0 TD
[(are)-279.3(the)-265.8(standard)-274.8(arguments)-272(to)]TJ
/TT2 1 Tf
12.125 0 TD
(open)Tj
/TT4 1 Tf
2.05 0 TD
(\(2\),)Tj
/TT6 1 Tf
1.6875 0 TD
(type)Tj
/TT4 1 Tf
1.9375 0 TD
[(is)-258(one)-268.7(of)]TJ
-43.325 -1.125 TD
[(the)-340.8(access)-358.8(method)-338(types,)]TJ
/TT6 1 Tf
10.5125 0 TD
(db)Tj
/TT10 1 Tf
1 0 TD
(�)Tj
/TT6 1 Tf
0.5 0 TD
(ags)Tj
/TT4 1 Tf
1.725 0 TD
[(indicates)-345.8(the)-340.8(mode)-340.8(of)-342(the)-340.8(buffer)-357.1(pool)-322.2(and)-331.2(transaction)-337.8(protection,)-333.3(and)]TJ
/TT6 1 Tf
28.575 0 TD
(openinfo)Tj
/TT4 1 Tf
3.825 0 TD
(is)Tj
-46.1375 -1.125 TD
[(the)-353.3(access)-371.3(method)-350.5(speci)]TJ
/TT7 1 Tf
9.9047 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(c)-357.8(information.)-603.8(Currently,)-355(the)-353.3(possible)-347.2(values)-357.8(for)]TJ
/TT6 1 Tf
20.4517 0 TD
(db)Tj
/TT10 1 Tf
1 0 TD
(�)Tj
/TT6 1 Tf
0.5 0 TD
(ags)Tj
/TT4 1 Tf
1.7375 0 TD
[(are)-366.8(DB_SHARED)-335.4(and)-343.7(DB_TP)]TJ
-34.15 -1.125 TD
[(indicating)-251(that)-250.5(buffers)-268(should)-245.5(be)-256.2(kept)-253.3(in)-247.2(a)-256.2(shared)-265.1(buffer)-269.6(pool)-247.2(and)-256.1(that)-250.5(the)]TJ
/TT7 1 Tf
29.45 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-247.2(should)-245.5(be)-256.2(transaction)-262.8(protected.)]TJ
-27.5061 -1.5375 TD
[(The)-257.8(modi)]TJ
/TT7 1 Tf
3.8682 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cations)-243.2(required)-268.5(to)-247.2(add)-256.2(transaction)-262.8(protection)-258.3(to)-247.2(an)-256.2(access)-271.3(method)-250.5(are)-266.8(quite)-250.5(simple)-246(and)-256.2(localized.)]TJ
-4.9243 -1.5375 TD
[(1.)-250(Replace)]TJ
/TT7 1 Tf
4.4875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(le)Tj
/TT6 1 Tf
0.9688 0 TD
(open)Tj
/TT4 1 Tf
2.2 0 TD
(with)Tj
/TT6 1 Tf
2.025 0 TD
(buf_open)Tj
/TT4 1 Tf
3.725 0 TD
(.)Tj
-13.9625 -1.125 TD
[(2.)-250(Replace)]TJ
/TT7 1 Tf
4.4875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(le)Tj
/TT6 1 Tf
0.9688 0 TD
(read)Tj
/TT4 1 Tf
2.0875 0 TD
(and)Tj
/TT6 1 Tf
1.7 0 TD
(write)Tj
/TT4 1 Tf
2.3 0 TD
[(calls)-255(with)-247.2(buffer)-269.6(manager)-270.1(calls)-255(\()]TJ
/TT6 1 Tf
12.9625 0 TD
(buf_get)Tj
/TT4 1 Tf
2.9995 0 TD
(,)Tj
/TT6 1 Tf
0.5005 0 TD
(buf_unpin)Tj
/TT4 1 Tf
4.05 0 TD
(\).)Tj
-32.6125 -1.125 TD
[(3.)-250(Precede)-272.9(buffer)-269.6(manager)-270.1(calls)-255(with)-247.2(an)-256.2(appropriate)-271.8(\(read)-271.3(or)-254.5(write\))-262.3(lock)-253.3(call.)]TJ
T*
[(4.)-250(Before)-266.8(updates,)-257.8(issue)-250(a)-256.2(logging)-244.3(operation.)]TJ
T*
[(5.)-250(After)-265.1(data)-259.5(have)-262.3(been)-262.3(accessed,)-277.4(release)-274.6(the)-253.3(buffer)-269.6(manager)-270.1(pin.)]TJ
T*
[(6.)-250(Provide)-251.7(undo/redo)-257.8(code)-262.3(for)-259(each)-268.5(type)-253.3(of)-254.5(log)-247.2(record)-271.3(de)]TJ
/TT7 1 Tf
22.7063 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(ned.)Tj
-25.2625 -1.7375 TD
[(The)-282.8(following)-273.8(code)-287.3(fragments)-289(show)-276.2(how)-277.8(to)-272.2(transaction)-287.8(protect)-286.1(several)-293.5(updates)-282.8(to)-259.7(a)-268.7(B-tree.)]TJ
7 0 0 7 435.5 537.125 Tm
(3)Tj
10 0 0 10 441.625 533.125 Tm
[(In)-267(the)-265.8(unprotected)-279.8(case,)]TJ
-37.225 -1.125 TD
[(an)-268.7(open)-268.7(call)-269.1(is)-258(followed)-270.3(by)-262.5(a)-268.7(read)-279.3(call)-269.1(to)-259.7(obtain)-263(the)-265.8(meta-data)-283.1(for)-271.5(the)-265.8(B-tree.)-526.5(Instead,)-274.8(we)-271.5(issue)-262.5(an)-268.7(open)-268.7(to)-259.7(the)-253.3(buffer)]TJ
T*
[(manager)-270.1(to)-247.2(obtain)-250.5(a)]TJ
/TT7 1 Tf
8.1875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-247.2(id)-247.2(and)-256.2(a)-256.2(buffer)-269.6(request)-262.3(to)-247.2(obtain)-250.5(the)-253.3(meta-data)-270.6(as)-254.5(shown)-251.2(below.)]TJ
/TT9 1 Tf
-6.7437 -1.5375 TD
[(char)-599.6(*path;)]TJ
0 -1.125 TD
[(int)-599.7(fid,)-599.6(flags,)-599.4(len,)-599.6(mode;)]TJ
0 -2.25 TD
[(/*)-599.8(Obtain)-599.4(a)-599.9(file)-599.6(id)-599.8(with)-599.6(which)-599.5(to)-599.8(access)-599.4(the)-599.7(buffer)-599.4(pool)-599.6(*/)]TJ
0 -1.125 TD
[(fid)-599.7(=)-599.9(buf_open\(path,)-598.6(flags,)-599.4(mode\);)]TJ
0 -2.25 TD
[(/*)-599.8(Read)-599.6(the)-599.7(meta)-599.6(data)-599.6(\(page)-599.5(0\))-599.8(for)-599.7(the)-599.7(B-tree)-599.4(*/)]TJ
0 -1.125 TD
[(if)-599.8(\(tp_lock\(fid,)-598.7(0,)-599.8(READ_LOCK\)\))]TJ
3.6 -1.125 TD
[(return)-599.4(error;)]TJ
-3.6 -1.125 TD
[(meta_data_ptr)-598.7(=)-599.9(buf_get\(fid,)-598.8(0,)-599.8(BF_PIN,)-599.3(&len\);)]TJ
/TT4 1 Tf
-2 -1.5375 TD
[(The)-432.8(BF_PIN)-415.5(argument)-423.6(to)]TJ
/TT6 1 Tf
11.125 0 TD
(buf_get)Tj
/TT4 1 Tf
3.4125 0 TD
[(indicates)-420.8(that)-413(we)-421.5(wish)-410.8(to)-409.7(leave)-428.1(this)-405.2(page)-424.8(pinned)-415.8(in)-409.7(memory)-417.5(so)-410.8(that)-413(it)-406.8(is)-408(not)]TJ
-14.5375 -1.125 TD
[(swapped)-338.5(out)-322.2(while)-328.3(we)-334(are)-341.8(accessing)-331(it.)-556.8(The)-320.3(last)-311.3(argument)-323.6(to)]TJ
/TT6 1 Tf
25.3375 0 TD
(buf_get)Tj
/TT4 1 Tf
3.3125 0 TD
[(returns)-323.1(the)-315.8(number)-320.3(of)-317(bytes)-314.2(on)-312.5(the)-315.8(page)-324.8(that)]TJ
-28.65 -1.125 TD
[(were)-269.6(valid)-250.5(so)-248.3(that)-250.5(the)-253.3(access)-271.3(method)-250.5(may)-253.3(initialize)-251.5(the)-253.3(page)-262.3(if)-251.7(necessary.)]TJ
2.5 -1.5375 TD
[(Next,)-306.2(consider)-312.3(inserting)-300.5(a)-306.2(record)-321.3(on)-300(a)-306.2(particular)-318.9(page)-312.3(of)-304.5(a)-306.2(B-tree.)-551.5(In)-292(the)-290.8(unprotected)-304.8(case,)-304.3(we)-296.5(read)-304.3(the)-290.8(page,)]TJ
-2.5 -1.125 TD
(call)Tj
/TT6 1 Tf
1.725 0 TD
(_bt_insertat)Tj
/TT4 1 Tf
4.825 0 TD
[(,)-275(and)-268.7(write)-270.3(the)-265.8(page.)-524.8(Instead,)-274.8(we)-271.5(lock)-265.8(the)-265.8(page,)-274.8(request)-274.8(the)-265.8(buffer,)-282.1(log)-259.7(the)-265.8(change,)-281(modify)-261.3(the)-265.8(page,)]TJ
-6.55 -1.125 TD
[(and)-256.2(release)-274.6(the)-253.3(buffer.)]TJ
/TT9 1 Tf
2 -1.5375 TD
[(int)-599.7(fid,)-599.6(len,)-599.6(pageno;)-1799.3(/*)-599.8(Identifies)-599(the)-599.7(buffer)-599.4(*/)]TJ
0 -1.125 TD
[(int)-599.7(index;)-8399.4(/*)-599.8(Location)-599.2(at)-599.8(which)-599.5(to)-599.8(insert)-599.4(the)-599.7(new)-599.7(pair)-599.6(*/)]TJ
T*
[(DBT)-599.7(*keyp,)-599.4(*datap;)-3599.3(/*)-599.8(Key/Data)-599.2(pair)-599.6(to)-599.8(be)-599.8(inserted)-599.2(*/)]TJ
T*
[(DATUM)-599.5(*d;)-8999.7(/*)-599.8(Key/data)-599.2(structure)-599.1(to)-599.8(insert)-599.4(*/)]TJ
0 -2.25 TD
[(/*)-599.8(Lock)-599.6(and)-599.7(request)-599.3(the)-599.7(buffer)-599.4(*/)]TJ
0 -1.125 TD
[(if)-599.8(\(tp_lock\(fid,)-598.7(pageno,)-599.3(WRITE_LOCK\)\))]TJ
3.6 -1.125 TD
[(return)-599.4(error;)]TJ
-3.6 -1.125 TD
[(buffer_ptr)-599(=)-599.9(buf_get\(fid,)-598.8(pageno,)-599.3(BF_PIN,)-599.3(&len\);)]TJ
0 -2.25 TD
[(/*)-599.8(Log)-599.7(and)-599.7(perform)-599.3(the)-599.7(update)-599.4(*/)]TJ
0 -1.125 TD
[(log_insdel\(BTREE_INSERT,)-597.7(fid,)-599.6(pageno,)-599.3(keyp,)-599.5(datap\);)]TJ
T*
[(_bt_insertat\(buffer_ptr,)-597.7(d,)-599.8(index\);)]TJ
T*
(buf_unpin\(buffer_ptr\);)Tj
/TT4 1 Tf
-2 -1.5375 TD
[(Succinctly,)-366.3(the)-353.3(algorithm)-349.3(for)-359(turning)-348.8(unprotected)-367.3(code)-362.3(into)-344.3(protected)-367.3(code)-362.3(is)-345.5(to)-347.2(replace)-376.3(read)-366.8(operations)-359.5(with)]TJ
/TT6 1 Tf
45.125 0 TD
(lock)Tj
/TT4 1 Tf
-45.125 -1.125 TD
(and)Tj
/TT6 1 Tf
1.7 0 TD
(buf_get)Tj
/TT4 1 Tf
3.25 0 TD
[(operations)-259.5(and)-256.2(write)-257.8(operations)-259.5(with)]TJ
/TT6 1 Tf
14.8875 0 TD
(log)Tj
/TT4 1 Tf
1.525 0 TD
(and)Tj
/TT6 1 Tf
1.7 0 TD
(buf_unpin)Tj
/TT4 1 Tf
4.3 0 TD
(operations.)Tj
/T1 1 Tf
8 0 0 8 69.375 109.75 Tm
()Tj
/TT4 1 Tf
5 0 0 5 90.875 100 Tm
(3)Tj
8 0 0 8 95.75 96.875 Tm
[(The)-289.1(following)-298.8(code)-284.2(fragments)-282.7(are)-279.3(examples,)-286.1(but)-300.3(do)-281.3(not)-284.7(de)]TJ
/TT7 1 Tf
23.6626 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ne)-274.9(the)]TJ
/TT7 1 Tf
2.7187 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(nal)-284.7(interface.)-502.9(The)]TJ
/TT7 1 Tf
7.5845 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(nal)-284.7(interface)-252.9(will)-288.1(be)-274.9(determined)-267.6(after)-262.2(LIBTP)-284.7(has)]TJ
-38.9312 -1.125 TD
[(been)-237.3(fully)-252(integrated)-236.3(with)-253.4(the)-247.1(most)-258.3(recent)]TJ
/TT2 1 Tf
16.875 0 TD
(db)Tj
/TT4 1 Tf
1.125 0 TD
[(\(3\))-240.2(release)-224.6(from)-243.7(the)-247.1(Computer)-250.5(Systems)-259.8(Research)-226.1(Group)-241.7(at)-247.1(University)-247.1(of)-245.1(California,)-242.7(Berkeley.)]TJ
ET
endstream
endobj
49 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
/TT7 7 0 R
/TT9 50 0 R
/TT10 51 0 R
/T1 8 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
53 0 obj
<<
/Length 11086
>>
stream
BT
/TT2 1 Tf
10 0 0 10 69.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(5.)-500(Performance)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(In)-292(this)-280.2(section,)-292.5(we)-296.5(present)-299.8(the)-290.8(results)-289.2(of)-279.5(two)-275(very)-285.6(different)-295.1(benchmarks.)-293.5(The)]TJ
/TT7 1 Tf
31.1875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(rst)-268.8(is)-270.5(an)-281.2(online)-275.5(transaction)-287.8(pro-)]TJ
-34.2437 -1.125 TD
[(cessing)-418.7(benchmark,)-432.6(similar)-410.2(to)-409.7(the)-415.8(standard)-424.8(TPCB,)-399(but)-409.7(has)-417(been)-424.8(adapted)-428.1(to)-409.7(run)-417(in)-409.7(a)-418.7(desktop)-414.2(environment.)-670.8(The)]TJ
T*
[(second)-260.6(emulates)-258.3(a)-256.2(computer-aided)-275.1(design)-251.7(environment)-258.3(and)-256.1(provides)-256.2(more)-257.8(complex)-256.6(query)-260.6(processing.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(5.1.)-500(Transaction)-245.5(Processing)-257.8(Benchmark)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(For)-260.8(this)-255.2(section,)-267.5(all)-263(performance)-297.8(numbers)-268.7(shown)-251.2(except)-265.6(for)-259(the)-253.3(commercial)-267.8(database)-270.1(system)-247.2(were)-269.6(obtained)-256.6(on)]TJ
-2.5 -1.125 TD
[(a)-293.7(DECstation)-271(5000/200)-272.2(with)-272.2(32MBytes)-270.5(of)-279.5(memory)-280(running)-276.7(Ultrix)-273.8(V4.0,)-277.8(accessing)-293.5(a)-281.2(DEC)-275(RZ57)-272.2(1GByte)-276.7(disk)-270.5(drive.)]TJ
T*
[(The)-507.8(commercial)-517.8(relational)-511.6(database)-520.1(system)-497.2(tests)-484.7(were)-507.1(run)-492(on)-487.5(a)-493.7(comparable)-510.9(machine,)-500.3(a)-493.7(Sparcstation)-494.1(1+)-486(with)]TJ
T*
[(32MBytes)-333(memory)-342.5(and)-343.7(a)-343.7(1GByte)-339.2(external)-342.3(disk)-320.5(drive.)-582.8(The)-332.8(database,)-345.1(binaries)-334.5(and)-331.2(log)-322.2(resided)-337.3(on)-325(the)-328.3(same)-332.8(device.)]TJ
T*
[(Reported)-259.5(times)-246(are)-266.8(the)-253.3(means)-257.8(of)]TJ
/TT7 1 Tf
13.2 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ve)-250(tests)-247.2(and)-256.2(have)-262.3(standard)-262.3(deviations)-252.1(within)-244.3(two)-250(percent)-270.1(of)-254.5(the)-253.3(mean.)]TJ
-11.2561 -1.5375 TD
[(The)-320.3(test)-311.3(database)-332.6(was)-319.8(con)]TJ
/TT7 1 Tf
10.6688 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gured)-323.1(according)-332.6(to)-309.7(the)-315.8(TPCB)-299(scaling)-317.5(rules)-318.6(for)-321.5(a)-318.7(1)0(0)-312.5(transaction)-325.3(per)-323.1(second)-323.1(\(TPS\))]TJ
-13.725 -1.125 TD
[(system)-497.2(with)-497.2(1,000,000)-500(account)-515.6(records,)-519.6(100)-500(teller)-508.3(records,)-507.1(and)-493.7(10)-487.5(branch)-504.3(records.)-757.1(Where)-510.4(TPS)-476.9(numbers)-493.7(are)]TJ
T*
[(reported,)-293.5(we)-284(are)-291.8(running)-276.7(a)-281.2(modi)]TJ
/TT7 1 Tf
13.0057 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-269.3(version)-281.2(of)-279.5(the)-265.8(industry)-259.7(standard)-274.8(transaction)-275.3(processing)-273.1(benchmark,)-282.6(TPCB.)-499(The)]TJ
-13.5618 -1.125 TD
[(TPCB)-311.5(benchmark)-345.1(simulates)-322.7(a)-331.2(withdrawal)-339(performed)-347.9(by)-325(a)-331.2(hypothetical)-332.1(teller)-333.3(at)-328.3(a)-331.2(hypothetical)-332.1(bank.)-581.2(The)-320.3(database)]TJ
T*
[(consists)-283(of)-292(relations)-294.1(\()]TJ
/TT7 1 Tf
8.6455 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(les\))-292(for)-296.5(accounts,)-301.5(branches,)-308.8(tellers,)-294.1(and)-293.6(history.)-534.7(For)-285.8(each)-306(transaction,)-300.3(the)-290.8(account,)-290.6(teller,)-283.3(and)]TJ
-9.2017 -1.125 TD
[(branch)-279.3(balances)-282.6(must)-255.2(be)-268.7(updated)-272(to)-259.7(re)]TJ
/TT7 1 Tf
15.3894 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ect)-276.5(the)-265.8(withdrawal)-276.5(and)-268.7(a)-256.2(history)-247.2(record)-271.3(is)-245.5(written)-255(which)-256.1(contains)-255(the)-253.3(account)]TJ
-15.9455 -1.125 TD
[(id,)-247.2(branch)-266.8(id,)-247.2(teller)-258.3(id,)-247.2(and)-256.2(the)-253.3(amount)-250.5(of)-254.5(the)-253.3(withdrawal)-264([TPCB90].)]TJ
2.5 -1.5375 TD
[(Our)-432.3(implementation)-423.6(of)-429.5(the)-428.3(benchmark)-445.1(differs)-427.6(from)-418.7(the)-415.8(speci)]TJ
/TT7 1 Tf
25.5797 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cation)-420.8(in)-409.7(several)-431(aspects.)-674.8(The)-420.3(speci)]TJ
/TT7 1 Tf
15.1563 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(cation)Tj
-44.3483 -1.125 TD
[(requires)-341.8(that)-313(the)-315.8(database)-332.6(keep)-324.8(redundant)-326.5(logs)-308(on)-312.5(different)-332.6(devices,)-326.5(but)-309.7(we)-321.5(use)-317(a)-318.7(single)-311.3(log.)-559.7(Furthermore,)-326.5(all)-313(tests)]TJ
T*
[(were)-294.6(run)-279.5(on)-275(a)-281.2(single,)-273.8(centralized)-301.8(system)-272.2(so)-273.3(there)-289(is)-270.5(no)-275(notion)-256.8(of)-267(remote)-273.6(accesses.)-538.3(Finally,)-254(we)-271.5(calculated)-284.8(throughput)]TJ
T*
[(by)-337.5(dividing)-329(the)-340.8(total)-335.2(elapsed)-351.5(time)-335.2(by)-337.5(the)-340.8(number)-345.3(of)-342(transactions)-348.6(processed)-357.1(rather)-356(than)-340.8(by)-337.5(computing)-335.2(the)-328.3(response)]TJ
T*
[(time)-247.7(for)-259(each)-268.5(transaction.)]TJ
2.5 -1.5375 TD
[(The)-407.8(performance)-435.3(comparisons)-407.8(focus)-396.5(on)-387.5(traditional)-390.1(Unix)-387.5(techniques)-398.6(\(unprotected,)-409.3(using)]TJ
/TT11 1 Tf
36.6875 0 TD
(�)Tj
/TT2 1 Tf
0.5562 0 TD
(ock)Tj
/TT4 1 Tf
1.4938 0 TD
[(\(2\))-396.5(and)-393.7(using)]TJ
/TT2 1 Tf
-41.2375 -1.125 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\)\))-388.5(and)-381.2(a)-381.2(commercial)-380.3(relational)-374.1(database)-382.6(system.)-609.7(Well-behaved)-392.1(applications)-368(using)]TJ
/TT11 1 Tf
34.975 0 TD
(�)Tj
/TT2 1 Tf
0.5562 0 TD
(ock)Tj
/TT4 1 Tf
1.4938 0 TD
[(\(2\))-371.5(are)-379.3(guaranteed)]TJ
-39.25 -1.125 TD
[(that)-363(concurrent)-387.1(processes�)-385(updates)-370.3(do)-362.5(not)-359.7(interact)-377(with)-359.7(one)-368.7(another,)-376.5(but)-359.7(no)-350(guarantees)-374.6(about)-353.3(atomicity)-348.1(are)-366.8(made.)]TJ
T*
[(That)-367.5(is,)-358(if)-364.2(the)-365.8(system)-359.7(crashes)-382.1(in)-359.7(mid-transaction,)-374.1(only)-359.7(parts)-368.7(of)-354.5(that)-350.5(transaction)-362.8(will)-344.3(be)-356.2(re)]TJ
/TT7 1 Tf
36.7519 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ected)-370.1(in)]TJ
3.6045 0 TD
0.0031 Tc
[(the)-350.2(after-crash)]TJ
-40.9125 -1.125 TD
0 Tc
[(state)-292.5(of)-292(the)-290.8(database.)-557.6(The)-295.3(use)-292(of)]TJ
/TT2 1 Tf
13.6 0 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-284(at)-278.3(transaction)-287.8(commit)-269.8(time)-272.7(provides)-281.2(guarantees)-299.6(of)-279.5(durability)-274.3(after)-293.5(system)]TJ
-15.825 -1.125 TD
[(failure.)-515.6(However,)-272.5(there)-264(is)-245.5(no)-250(mechanism)-258.3(to)-247.2(perform)-266.8(transaction)-262.8(abort.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(5.1.1.)-500(Single-User)-256.2(Tests)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(These)-399.8(tests)-384.7(compare)-407.6(LIBTP)-384.7(in)-372.2(a)-381.2(variety)-386.1(of)-379.5(con)]TJ
/TT7 1 Tf
19.7563 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gurations)-378.3(to)-372.2(traditional)-377.6(UNIX)-388(solutions)-363.2(and)-381.2(a)-381.2(commercial)]TJ
-22.8125 -1.125 TD
[(relational)-336.6(database)-345.1(system)-322.2(\(RDBMS\).)-320(To)-326.7(demonstrate)-337.8(the)-328.3(server)-344.6(architecture)-356.2(we)-334(built)-316.5(a)-331.2(front)-331.2(end)-318.7(test)-311.3(process)-326(that)]TJ
T*
[(uses)-490.3(TCL)-486.3([OUST90])-497.7(to)-484.7(parse)-502.6(database)-507.6(access)-508.8(commands)-492.5(and)-493.6(call)-481.6(the)-478.3(database)-495.1(access)-496.3(routines.)-728.3(In)-479.5(one)-481.2(case)]TJ
T*
[(\(SERVER\),)-262.5(frontend)-274.8(and)-268.7(backend)-281(processes)-280.5(were)-269.6(created)-276.3(which)-256.2(communicated)-263.3(via)-253.3(an)-256.2(IP)-248.3(socket.)-507.8(In)-254.5(the)-253.3(second)-260.6(case)]TJ
T*
[(\(TCL\),)-282.8(a)-281.2(single)-273.8(process)-288.5(read)-291.8(queries)-287.3(from)-281.2(standard)-287.3(input,)-269.3(parsed)-277.6(them,)-263(and)-268.7(called)-275.3(the)-265.8(database)-282.6(access)-283.8(routines.)-515.8(The)]TJ
T*
[(performance)-347.8(difference)-335.3(between)-318.5(the)-303.3(TCL)-298.8(and)-306.2(SERVER)-291(tests)-297.2(quanti)]TJ
/TT7 1 Tf
27.5995 0 TD
(�)Tj
/TT4 1 Tf
0.5561 0 TD
[(es)-298.8(the)-303.3(communication)-304.3(overhead)-322.9(of)-304.5(the)-303.3(socket.)]TJ
-28.1557 -1.125 TD
[(The)-657.8(RDBMS)-636(implementation)-648.6(used)-654.5(embedded)-665.6(SQL)-648.3(in)-647.2(C)-645.5(with)-647.2(stored)-656.2(database)-670.1(procedures.)-913.3(Therefore,)-671.1(its)]TJ
T*
(con)Tj
/TT7 1 Tf
1.4438 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(guration)-267.5(is)-245.5(a)-256.2(hybrid)-251.7(of)-254.5(the)-253.3(single)-248.8(process)-263.5(architecture)-281.3(and)-256.2(the)-253.3(server)-269.6(architecture.)-531.3(The)-257.8(graph)-260.6(in)]TJ
/TT7 1 Tf
38.3 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gure)-254.5(six)-245.5(shows)]TJ
-40.8561 -1.125 TD
[(a)-256.2(comparison)-259.5(of)-254.5(the)-253.3(following)-248.8(six)-245.5(con)]TJ
/TT7 1 Tf
15.1813 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(gurations:)Tj
-8.6 -1.95 TD
[(LIBTP)-2547.2(Uses)-255.7(the)-253.3(LIBTP)-247.2(library)-259.5(in)-247.2(a)-256.2(single)-248.8(application.)]TJ
0 -1.125 TD
[(TCL)-3436.3(Uses)-255.7(the)-253.3(LIBTP)-247.2(library)-259.5(in)-247.2(a)-256.2(single)-248.8(application,)-257.1(requires)-266.8(query)-260.6(parsing.)]TJ
T*
[(SERVER)-1491(Uses)-255.7(the)-253.3(LIBTP)-247.2(library)-259.5(in)-247.2(a)-256.2(server)-269.6(con)]TJ
/TT7 1 Tf
20.8313 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(guration,)-255(requires)-266.8(query)-260.6(parsing.)]TJ
-21.3875 -1.125 TD
[(NOTP)-2713.7(Uses)-255.7(no)-250(locking,)-250.5(logging,)-244.3(or)-254.5(concurrency)-283.6(control.)]TJ
T*
[(FLOCK)-2046.7(Uses)]TJ
/TT11 1 Tf
7.525 0 TD
(�)Tj
/TT2 1 Tf
0.5562 0 TD
(ock)Tj
/TT4 1 Tf
1.4938 0 TD
[(\(2\))-259(for)-259(concurrency)-283.6(control)-255(and)-256.2(nothing)-244.3(for)-259(durability.)]TJ
-9.575 -1.125 TD
[(FSYNC)-2101.4(Uses)]TJ
/TT2 1 Tf
7.525 0 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-259(for)-259(durability)-249.3(and)-256.1(nothing)-244.3(for)-259(concurrency)-283.6(control.)]TJ
-9.75 -1.125 TD
[(RDBMS)-1823.5(Uses)-255.7(a)-256.2(commercial)-267.8(relational)-261.6(database)-270.1(system.)]TJ
-4.6375 -2.3625 TD
[(The)-282.8(results)-276.7(show)-276.2(that)-275.5(LIBTP,)-272.2(both)-272.2(in)-272.2(the)-278.3(procedural)-299.6(and)-281.2(parsed)-290.1(environments,)-281.6(is)-270.5(competitive)-279.3(with)-272.2(a)-281.2(commer-)]TJ
-2.5 -1.125 TD
[(cial)-269.1(system)-259.7(\(comparing)-278.1(LIBTP,)-259.7(TCL,)-261.3(and)-256.2(RDBMS\).)-240.5(Compared)-259.5(to)-247.2(existing)-246(UNIX)-263(solutions,)-238.2(LIBTP)-247.2(is)-245.5(approximately)]TJ
T*
[(15%)-454.5(slower)-459(than)-453.3(using)]TJ
/TT11 1 Tf
10.2 0 TD
(�)Tj
/TT2 1 Tf
0.5562 0 TD
(ock)Tj
/TT4 1 Tf
1.4938 0 TD
[(\(2\))-459(or)-454.5(no)-450(protection)-458.3(but)-447.2(over)-460.6(80%)-454.5(better)-461.1(than)-440.8(using)]TJ
/TT2 1 Tf
22.625 0 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-446.5(\(comparing)-453.1(LIBTP,)]TJ
-37.1 -1.125 TD
[(FLOCK,)-246.7(NOTP,)-251.2(and)-256.2(FSYNC\).)]TJ
ET
endstream
endobj
54 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT7 7 0 R
/TT11 55 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
59 0 obj
<<
/Length 33254
>>
stream
BT
/TT2 1 Tf
8 0 0 8 437.5 519 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(RDBMS)Tj
ET
q
1 i 
444.125 531.375 15.375 91.75 re
W* n
q
0.96 0 0 15.36 443.28 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 444.24 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 445.2 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 446.16 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 447.12 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 448.08 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 449.04 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450.96 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 451.92 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 452.88 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 453.84 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 454.8 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 455.76 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 456.72 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 457.68 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 458.64 607.2601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 443.28 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 444.24 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 445.2 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 446.16 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 447.12 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 448.08 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 449.04 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450.96 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 451.92 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 452.88 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 453.84 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 454.8 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 455.76 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 456.72 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 457.68 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 458.64 591.9 cm
/Im14 Do
Q
q
0.96 0 0 15.36 443.28 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 444.24 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 445.2 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 446.16 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 447.12 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 448.08 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 449.04 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450.96 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 451.92 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 452.88 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 453.84 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 454.8 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 455.76 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 456.72 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 457.68 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 458.64 576.54 cm
/Im14 Do
Q
q
0.96 0 0 15.36 443.28 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 444.24 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 445.2 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 446.16 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 447.12 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 448.08 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 449.04 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450.96 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 451.92 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 452.88 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 453.84 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 454.8 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 455.76 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 456.72 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 457.68 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 458.64 561.1801 cm
/Im14 Do
Q
q
0.96 0 0 15.36 443.28 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 444.24 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 445.2 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 446.16 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 447.12 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 448.08 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 449.04 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450.96 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 451.92 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 452.88 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 453.84 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 454.8 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 455.76 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 456.72 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 457.68 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 458.64 545.8201 cm
/Im14 Do
Q
q
0.96 0 0 15.36 443.28 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 444.24 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 445.2 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 446.16 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 447.12 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 448.08 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 449.04 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 450.96 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 451.92 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 452.88 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 453.84 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 454.8 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 455.76 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 456.72 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 457.68 530.4601 cm
/Im14 Do
Q
q
0.96 0 0 15.36 458.64 530.4601 cm
/Im14 Do
Q
Q
0 G
1 J 0 j 0.25 w 10 M []0 d
1 i 
444.125 531.375 15.375 91.75 re
S
BT
8 0 0 8 252.25 519 Tm
(SERVER)Tj
ET
215 646 m
215 531.375 l
215 531.375 m
230.25 531.375 l
230.25 531.375 m
230.25 646 l
230.25 646 m
215 646 l
S
BT
8 0 0 8 214.375 519 Tm
(TCL)Tj
ET
q
260.875 600.25 15.25 -68.875 re
W* n
q
0.96 0 0 61.44 275.28 538.14 cm
/Im13 Do
Q
q
0.96 0 0 7.44 275.28 530.7 cm
/Im15 Do
Q
Q
260.875 600.25 15.25 -68.875 re
S
q
398.375 600.25 m
413.625 600.25 l
413.625 531.375 l
398.375 531.375 l
398.375 600.25 l
W* n
q
0.96 0 0 15.36 398.16 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 399.12 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 400.08 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 401.04 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 402 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 402.96 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 403.92 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 404.88 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 405.84 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 406.8 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 407.76 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 408.72 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 409.68 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 410.64 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 411.6 584.22 cm
/Im8 Do
Q
q
0.96 0 0 15.36 412.56 584.22 cm
/Im8 Do
Q
q
0.72 0 0 15.36 413.52 584.22 cm
/Im16 Do
Q
q
0.96 0 0 15.36 398.16 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 399.12 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 400.08 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 401.04 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 402 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 402.96 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 403.92 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 404.88 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 405.84 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 406.8 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 407.76 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 408.72 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 409.68 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 410.64 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 411.6 568.86 cm
/Im8 Do
Q
q
0.96 0 0 15.36 412.56 568.86 cm
/Im8 Do
Q
q
0.72 0 0 15.36 413.52 568.86 cm
/Im16 Do
Q
q
0.96 0 0 15.36 398.16 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 399.12 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 400.08 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 401.04 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 402 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 402.96 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 403.92 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 404.88 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 405.84 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 406.8 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 407.76 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 408.72 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 409.68 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 410.64 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 411.6 553.5001 cm
/Im8 Do
Q
q
0.96 0 0 15.36 412.56 553.5001 cm
/Im8 Do
Q
q
0.72 0 0 15.36 413.52 553.5001 cm
/Im16 Do
Q
q
0.96 0 0 15.36 398.16 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 399.12 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 400.08 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 401.04 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 402 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 402.96 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 403.92 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 404.88 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 405.84 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 406.8 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 407.76 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 408.72 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 409.68 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 410.64 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 411.6 538.14 cm
/Im8 Do
Q
q
0.96 0 0 15.36 412.56 538.14 cm
/Im8 Do
Q
q
0.72 0 0 15.36 413.52 538.14 cm
/Im16 Do
Q
q
0.96 0 0 7.44 398.16 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 399.12 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 400.08 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 401.04 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 402 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 402.96 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 403.92 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 404.88 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 405.84 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 406.8 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 407.76 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 408.72 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 409.68 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 410.64 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 411.6 530.7 cm
/Im18 Do
Q
q
0.96 0 0 7.44 412.56 530.7 cm
/Im18 Do
Q
q
0.72 0 0 7.44 413.52 530.7 cm
/Im19 Do
Q
Q
398.375 600.25 15.25 -68.875 re
S
BT
8 0 0 8 392.75 519 Tm
(FSYNC)Tj
-11.2031 0 TD
(NOTP)Tj
ET
q
306.625 672.625 15.375 -141.25 re
W* n
q
0.96 0 0 15.36 306 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 657.1801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 641.8201 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 626.4601 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 611.1 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 595.7401 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 580.3801 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 565.02 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 549.66 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 306.96 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 307.92 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 308.88 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 309.84 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 310.8 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 311.76 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 312.72 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 313.68 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 314.64 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 315.6 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 316.56 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 317.52 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 318.48 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 319.44 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 320.4 534.3 cm
/Im1 Do
Q
q
0.96 0 0 15.36 321.36 534.3 cm
/Im1 Do
Q
q
0.96 0 0 3.6 306 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 306.96 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 307.92 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 308.88 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 309.84 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 310.8 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 311.76 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 312.72 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 313.68 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 314.64 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 315.6 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 316.56 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 317.52 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 318.48 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 319.44 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 320.4 530.7001 cm
/Im20 Do
Q
q
0.96 0 0 3.6 321.36 530.7001 cm
/Im20 Do
Q
Q
306.625 672.625 15.375 -141.25 re
S
q
352.5 667 15.25 -135.625 re
W* n
q
0.96 0 0 15.36 352.08 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 353.04 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354.96 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 355.92 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 356.88 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 357.84 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 358.8 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 359.76 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 360.72 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 361.68 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 362.64 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 363.6 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 364.56 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 365.52 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 366.48 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 367.44 651.42 cm
/Im4 Do
Q
q
0.96 0 0 15.36 352.08 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 353.04 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354.96 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 355.92 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 356.88 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 357.84 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 358.8 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 359.76 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 360.72 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 361.68 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 362.64 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 363.6 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 364.56 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 365.52 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 366.48 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 367.44 636.0601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 352.08 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 353.04 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354.96 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 355.92 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 356.88 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 357.84 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 358.8 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 359.76 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 360.72 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 361.68 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 362.64 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 363.6 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 364.56 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 365.52 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 366.48 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 367.44 620.7001 cm
/Im4 Do
Q
q
0.96 0 0 15.36 352.08 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 353.04 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354.96 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 355.92 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 356.88 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 357.84 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 358.8 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 359.76 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 360.72 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 361.68 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 362.64 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 363.6 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 364.56 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 365.52 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 366.48 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 367.44 605.3401 cm
/Im4 Do
Q
q
0.96 0 0 15.36 352.08 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 353.04 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354.96 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 355.92 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 356.88 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 357.84 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 358.8 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 359.76 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 360.72 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 361.68 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 362.64 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 363.6 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 364.56 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 365.52 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 366.48 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 367.44 589.98 cm
/Im4 Do
Q
q
0.96 0 0 15.36 352.08 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 353.04 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354.96 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 355.92 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 356.88 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 357.84 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 358.8 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 359.76 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 360.72 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 361.68 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 362.64 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 363.6 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 364.56 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 365.52 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 366.48 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 367.44 574.6201 cm
/Im4 Do
Q
q
0.96 0 0 15.36 352.08 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 353.04 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354.96 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 355.92 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 356.88 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 357.84 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 358.8 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 359.76 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 360.72 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 361.68 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 362.64 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 363.6 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 364.56 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 365.52 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 366.48 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 367.44 559.2601 cm
/Im4 Do
Q
q
0.96 0 0 15.36 352.08 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 353.04 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 354.96 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 355.92 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 356.88 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 357.84 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 358.8 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 359.76 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 360.72 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 361.68 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 362.64 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 363.6 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 364.56 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 365.52 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 366.48 543.9 cm
/Im4 Do
Q
q
0.96 0 0 15.36 367.44 543.9 cm
/Im4 Do
Q
q
0.96 0 0 13.2 352.08 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 353.04 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 354 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 354.96 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 355.92 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 356.88 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 357.84 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 358.8 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 359.76 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 360.72 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 361.68 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 362.64 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 363.6 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 364.56 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 365.52 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 366.48 530.7 cm
/Im21 Do
Q
q
0.96 0 0 13.2 367.44 530.7 cm
/Im21 Do
Q
Q
352.5 667 15.25 -135.625 re
S
1.25 w 
153.875 531.375 m
474.75 531.375 l
S
0.25 w [1 1.5 ]0 d
153.875 562 m
474.75 562 l
153.875 592.5 m
474.75 592.5 l
153.875 623.125 m
474.75 623.125 l
153.875 653.5 m
474.75 653.5 l
153.875 684.125 m
474.75 684.125 l
S
BT
11 0 0 11 135.875 557.375 Tm
(2)Tj
0 2.7727 TD
(4)Tj
0 2.7841 TD
(6)Tj
0 2.7614 TD
(8)Tj
-0.25 2.7841 TD
(10)Tj
-0.4205 1.5568 TD
(TPS)Tj
ET
q
169.125 648.125 15.375 -116.75 re
W* n
q
0.96 0 0 15.36 183.12 632.22 cm
/Im2 Do
Q
q
0.96 0 0 15.36 184.08 632.22 cm
/Im2 Do
Q
q
0.96 0 0 15.36 183.12 616.86 cm
/Im2 Do
Q
q
0.96 0 0 15.36 184.08 616.86 cm
/Im2 Do
Q
q
0.96 0 0 15.36 183.12 601.5001 cm
/Im2 Do
Q
q
0.96 0 0 15.36 184.08 601.5001 cm
/Im2 Do
Q
q
0.96 0 0 15.36 183.12 586.14 cm
/Im2 Do
Q
q
0.96 0 0 15.36 184.08 586.14 cm
/Im2 Do
Q
q
0.96 0 0 15.36 183.12 570.78 cm
/Im2 Do
Q
q
0.96 0 0 15.36 184.08 570.78 cm
/Im2 Do
Q
q
0.96 0 0 15.36 183.12 555.42 cm
/Im2 Do
Q
q
0.96 0 0 15.36 184.08 555.42 cm
/Im2 Do
Q
q
0.96 0 0 15.36 183.12 540.0601 cm
/Im2 Do
Q
q
0.96 0 0 15.36 184.08 540.0601 cm
/Im2 Do
Q
q
0.96 0 0 9.36 183.12 530.7001 cm
/Im22 Do
Q
q
0.96 0 0 9.36 184.08 530.7001 cm
/Im22 Do
Q
Q
[]0 d
169.125 648.125 15.375 -116.75 re
S
BT
8 0 0 8 164.75 519 Tm
[(LIBTP)-19639.6(FLOCK)]TJ
10 0 0 10 199.625 492.125 Tm
[(Figure)-255(6:)-254.5(Single-User)-256.1(Performance)-285.3(Comparison.)]TJ
/T1 1 Tf
-13.025 -2.25 TD
[()200()]TJ
/TT2 1 Tf
0 -3.45 TD
[(5.1.2.)-500(Multi-User)-266.8(Tests)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(While)-306.6(the)-303.3(single-user)-312.3(tests)-297.2(form)-306.2(a)-293.6(basis)-287.5(for)-296.5(comparing)-298.6(LIBTP)-284.7(to)-284.7(other)-295.3(systems,)-283(our)-292(goal)-290.8(in)-284.7(multi-user)-289.6(testing)]TJ
-2.5 -1.125 TD
[(was)-432.3(to)-422.2(analyze)-434.3(its)-405.2(scalability.)-415.1(To)-414.2(this)-405.2(end,)-418.6(we)-421.5(have)-424.8(run)-417(the)-415.8(benchmark)-432.6(in)-409.7(three)-426.5(modes,)-414.2(the)-415.8(normal)-417.5(disk)-408(bound)]TJ
T*
(con)Tj
/TT7 1 Tf
1.4438 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(guration)-355(\()]TJ
/TT7 1 Tf
4.0205 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gure)-359(seven\),)-365.1(a)-343.7(CPU)-329.7(bound)-337.5(con)]TJ
/TT7 1 Tf
12.7047 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(guration)-342.5(\()]TJ
/TT7 1 Tf
4.008 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gure)-346.5(eight,)-338(READ-ONLY\),)-359.5(and)-343.7(lock)-340.8(contention)-341.3(bound)]TJ
-24.4017 -1.125 TD
(\()Tj
/TT7 1 Tf
0.333 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gure)-346.5(eight,)-338(NO_FSYNC\).)-586.5(Since)-340.8(the)-340.8(normal)-342.5(con)]TJ
/TT7 1 Tf
19.7922 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(guration)-342.5(is)-333(completely)-344.6(disk)-333(bound)-337.5(\(each)-360.4(transaction)-337.8(requires)-341.8(a)]TJ
-21.2375 -1.325 TD
[(random)-295.3(read,)-304.3(a)-293.7(random)-295.3(write,)-295.3(and)-293.7(a)-293.7(sequential)-295.8(write)]TJ
7 0 0 7 281.375 376.75 Tm
(4)Tj
10 0 0 10 284.875 372.75 Tm
[(\))-292(w)0(e)-296.5(expect)-303.1(to)-284.7(see)-298.1(little)-279.5(performance)-322.8(improvement)-293(as)-279.5(the)-278.3(mul-)]TJ
-21.55 -1.125 TD
[(tiprogramming)-363.5(level)-369.1(increases.)-635.4(In)-367(fact,)]TJ
/TT7 1 Tf
16.55 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gure)-367(seven)-373.1(reveals)-381(that)-363(we)-371.5(are)-379.3(able)-372(to)-359.7(overlap)-364(CPU)-342.2(and)-356.2(disk)-345.5(utilization)]TJ
-17.1062 -1.125 TD
[(slightly)-374.5(producing)-395.3(approximately)-386.6(a)-381.2(10%)-379.5(performance)-410.3(improvement)-380.5(with)-372.2(two)-375(processes.)-643(After)-390.1(that)-375.5(point,)-369.3(perfor-)]TJ
T*
[(mance)-265.6(drops)-252.8(off,)-259(and)-256.2(at)-253.3(a)-256.2(multi-programming)-249.8(level)-256.6(of)-254.5(4,)-250(we)-259(are)-266.8(performing)-264(worse)-261.8(than)-253.3(in)-247.2(the)-253.3(single)-248.8(process)-263.5(case.)]TJ
2.5 -1.5375 TD
[(Similar)-380.7(behavior)-401.5(was)-394.8(reported)-393.5(on)-375(the)-378.3(commercial)-392.8(relational)-386.6(database)-395.1(system)-372.2(using)-370.5(the)-378.3(same)-382.8(con)]TJ
/TT7 1 Tf
40.1563 0 TD
(�)Tj
/TT4 1 Tf
0.5561 0 TD
(guration.)Tj
-43.2125 -1.125 TD
[(The)-345.3(important)-336.8(conclusion)-342.5(to)-334.7(draw)-351(from)-343.7(this)-330.2(is)-333(that)-338(you)-337.5(cannot)-347(attain)-341.3(good)-337.5(multi-user)-339.6(scaling)-342.5(on)-337.5(a)-343.7(badly)-340.8(balanced)]TJ
T*
[(system.)-522.2(If)-284(multi-user)-277.2(performance)-310.3(on)-275(applications)-268(of)-267(this)-255.2(sort)-262.5(is)-258(important,)-261.8(one)-268.7(must)-255.2(have)-274.8(a)-268.7(separate)-287.1(logging)-256.8(device)]TJ
T*
[(and)-331.2(horizontally)-330.5(partition)-324.3(the)-328.3(database)-345.1(to)-309.7(allow)-315.8(a)-318.6(suf)]TJ
/TT7 1 Tf
21.5972 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ciently)-313(high)-309.7(degree)-335.5(of)-317(multiprogramming)-307.8(that)-313(group)-317(commit)]TJ
-22.1533 -1.125 TD
[(can)-262.3(amortize)-264.5(the)-253.3(cost)-251.7(of)-254.5(log)]TJ
/TT7 1 Tf
11.3625 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(ushing.)Tj
-9.4187 -1.5375 TD
[(By)-283(using)-283(a)-293.7(very)-298.1(small)-283.5(database)-307.6(\(one)-298.1(that)-288(can)-299.8(be)-293.7(entirely)-295.8(cached)-312.1(in)-272.2(main)-275.5(memory\))-284.5(and)-281.2(read-only)-293.5(transactions,)]TJ
-2.5 -1.125 TD
[(we)-271.5(generated)-288.8(a)-268.7(CPU)-242.2(bound)-250(environment.)-508.3(By)-245.5(using)-245.5(the)-253.3(same)-257.8(small)-246(database,)-270.1(the)-253.3(complete)-260(TPCB)-236.5(transaction,)-262.8(and)-256.1(no)]TJ
/TT2 1 Tf
T*
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-446.5(on)-437.5(the)-440.8(log)-434.7(at)-440.8(commit,)-432.3(we)-446.5(created)-463.8(a)-443.7(lock)-440.8(contention)-428.8(bound)-425(environment.)-683.3(The)-432.8(small)-421(database)-445.1(used)-429.5(an)]TJ
-2.225 -1.125 TD
(account)Tj
/TT7 1 Tf
3.4125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-284.7(containing)-291.3(only)-284.7(1000)-287.5(records)-307.1(rather)-306(than)-290.8(the)-290.8(full)-286.3(1,000,000)-275(records)-294.6(and)-281.2(ran)-285.6(enough)-281.2(transactions)-286.1(to)-272.2(read)]TJ
-3.9687 -1.125 TD
[(the)-303.3(entire)-298.6(database)-307.6(into)-281.8(the)-290.8(buffer)-307.1(pool)-284.7(\(2000\))-296.5(before)-308.8(beginning)-288(measurements.)-304.8(The)-295.3(read-only)-306(transaction)-300.3(consisted)]TJ
T*
[(of)-304.5(three)-314(database)-320.1(reads)-315.1(\(from)-310.6(the)-303.3(1000)-300(record)-321.3(account)]TJ
/TT7 1 Tf
22.35 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le,)-297.2(the)-303.3(100)-287.5(record)-308.8(teller)]TJ
/TT7 1 Tf
9.7938 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le,)-284.7(and)-293.7(the)-290.8(10)-287.5(record)-308.8(branch)]TJ
/TT7 1 Tf
11.6814 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(le\).)Tj
-45.4937 -1.125 TD
[(Since)-328.3(no)-325(data)-334.5(were)-344.6(modi)]TJ
/TT7 1 Tf
10.2182 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-319.3(and)-331.2(no)-325(history)-322.2(records)-344.6(were)-344.6(written,)-330(no)-325(log)-309.7(records)-332.1(were)-332.1(written.)-567.5(For)-310.8(the)-315.8(contention)]TJ
-10.7743 -1.125 TD
[(bound)-312.5(con)]TJ
/TT7 1 Tf
4.2563 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(guration,)-317.5(we)-321.5(used)-317(the)-315.8(normal)-317.5(TPCB)-299(transaction)-325.3(\(against)-322(the)-303.3(small)-296(database\))-324.6(and)-306.1(disabled)-305(the)-303.3(log)]TJ
/TT7 1 Tf
39.8 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(ush.)Tj
-45.1686 -1.125 TD
[(Figure)-251.7(eight)-250.5(shows)-249.5(both)-247.2(of)-254.5(these)-257.8(results.)]TJ
2.5 -1.5375 TD
[(The)-282.8(read-only)-281(test)-261.3(indicates)-270.8(that)-263(we)-271.5(barely)-276.5(scale)-276.5(at)-265.8(all)-263(in)-259.7(the)-265.8(CPU)-254.7(bound)-262.5(case.)-529.3(The)-270.3(explanation)-272.5(for)-271.5(that)-263(is)-258(that)]TJ
-2.5 -1.125 TD
[(even)-362.3(with)-347.2(a)-356.2(single)-348.8(process,)-363.5(we)-359(are)-366.8(able)-359.5(to)-347.2(drive)-357.8(the)-353.3(CPU)-342.2(utilization)-345.3(to)-347.2(96%.)-604.5(As)-351.2(a)-343.7(result,)-340.8(that)-338(gives)-339.2(us)-335.8(very)-348.1(little)]TJ
T*
[(room)-364.2(for)-371.5(improvement,)-368(and)-368.7(it)-356.8(takes)-370.3(a)-368.7(multiprogramming)-357.8(level)-369.1(of)-367(four)-371.5(to)-359.7(approach)-385.4(100%)-367(CPU)-354.7(saturation.)-619.1(In)-354.5(the)]TJ
T*
[(case)-316.8(where)-319.6(we)-309(do)-300(perform)-316.8(writes,)-306.2(we)-309(are)-316.8(interested)-312.8(in)-297.2(detecting)-310(when)-309(lock)-303.3(contention)-303.8(becomes)-301.5(a)-293.7(dominant)-285.2(perfor-)]TJ
T*
[(mance)-290.6(factor.)-543.5(Contention)-268.2(will)-269.3(cause)-291.8(two)-275(phenomena;)-287.8(we)-284(will)-269.3(see)-285.6(transactions)-286.1(queueing)-284.5(behind)-278.3(frequently)-290.6(accessed)]TJ
T*
[(data,)-284.5(and)-281.2(we)-284(will)-269.3(see)-285.6(transaction)-275.3(abort)-270.3(rates)-274.8(increasing)-278.1(due)-268.7(to)-259.7(deadlock.)-528.1(Given)-268.7(that)-263(the)-265.8(branch)]TJ
/TT7 1 Tf
38.4 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-259.7(contains)-267.5(only)-259.7(ten)]TJ
/T1 1 Tf
8 0 0 8 69.375 92.625 Tm
()Tj
/TT4 1 Tf
5 0 0 5 90.875 82.875 Tm
(4)Tj
8 0 0 8 95.375 79.75 Tm
[(Although)-253.4(the)-247.1(log)-253.4(is)-254.9(written)-245.6(sequentially,)-246.1(we)-240.2(do)-250(not)-253.4(get)-247.1(the)-247.1(bene)]TJ
/TT7 1 Tf
25.3721 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(t)-247.1(o)0(f)-245.1(sequentiality)-249.5(since)-242.2(the)-247.1(log)-253.4(and)-243.7(database)-229.5(reside)-237.3(on)-250(the)-247.1(same)-242.2(disk.)]TJ
ET
endstream
endobj
60 0 obj
<<
/ProcSet [/PDF /Text /ImageB ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT7 7 0 R
/T1 8 0 R
>>
/XObject <<
/Im1 32 0 R
/Im2 33 0 R
/Im4 35 0 R
/Im8 38 0 R
/Im13 61 0 R
/Im14 62 0 R
/Im15 63 0 R
/Im16 64 0 R
/Im18 65 0 R
/Im19 66 0 R
/Im20 67 0 R
/Im21 68 0 R
/Im22 69 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
71 0 obj
<<
/Length 16965
>>
stream
0 G
1 J 0 j 0.25 w 10 M []0 d
/GS1 gs
1 i 
398.375 535.625 m
398.375 533.375 l
398.375 533.375 m
398.375 534.5 l
398.375 534.5 m
399.5 534.5 l
399.5 534.5 m
397.25 534.5 l
410.75 538.5 m
410.75 536.375 l
410.75 536.375 m
410.75 537.5 l
410.75 537.5 m
411.875 537.5 l
411.875 537.5 m
409.625 537.5 l
423 551.25 m
423 549 l
423 549 m
423 550.125 l
423 550.125 m
424.125 550.125 l
424.125 550.125 m
421.875 550.125 l
435.375 553.25 m
435.375 551 l
435.375 551 m
435.375 552.125 l
435.375 552.125 m
436.5 552.125 l
436.5 552.125 m
434.25 552.125 l
447.625 553.25 m
447.625 551 l
447.625 551 m
447.625 552.125 l
447.625 552.125 m
448.75 552.125 l
448.75 552.125 m
446.5 552.125 l
460 563 m
460 560.75 l
460 560.75 m
460 561.875 l
460 561.875 m
461.125 561.875 l
461.125 561.875 m
458.875 561.875 l
472.25 553.375 m
472.25 551.125 l
472.25 551.125 m
472.25 552.25 l
472.25 552.25 m
473.375 552.25 l
473.375 552.25 m
471.125 552.25 l
484.625 556.625 m
484.625 554.375 l
484.625 554.375 m
484.625 555.5 l
484.625 555.5 m
485.75 555.5 l
485.75 555.5 m
483.5 555.5 l
496.875 582.125 m
496.875 580 l
496.875 580 m
496.875 581 l
496.875 581 m
498 581 l
498 581 m
495.75 581 l
509.25 606.125 m
509.25 604 l
509.25 604 m
509.25 605 l
509.25 605 m
510.375 605 l
510.375 605 m
508.125 605 l
S
1.25 w 
398.375 534.5 m
410.75 537.5 l
410.75 537.5 m
423 550.125 l
423 550.125 m
435.375 552.125 l
435.375 552.125 m
447.625 552.125 l
447.625 552.125 m
460 561.875 l
460 561.875 m
472.25 552.25 l
472.25 552.25 m
484.625 555.5 l
484.625 555.5 m
496.875 581 l
496.875 581 m
509.25 605 l
S
BT
/TT2 1 Tf
6 0 0 6 511 602.5 Tm
0 g
0 Tc
0 Tw
(SMALL)Tj
ET
0.75 w 
398.375 535.625 m
398.375 533.375 l
398.375 533.375 m
398.375 534.5 l
398.375 534.5 m
399.5 534.5 l
399.5 534.5 m
397.25 534.5 l
410.75 535.625 m
410.75 533.375 l
410.75 533.375 m
410.75 534.5 l
410.75 534.5 m
411.875 534.5 l
411.875 534.5 m
409.625 534.5 l
423 536.875 m
423 534.625 l
423 534.625 m
423 535.75 l
423 535.75 m
424.125 535.75 l
424.125 535.75 m
421.875 535.75 l
435.375 543.25 m
435.375 541 l
435.375 541 m
435.375 542.125 l
435.375 542.125 m
436.5 542.125 l
436.5 542.125 m
434.25 542.125 l
447.625 561.625 m
447.625 559.5 l
447.625 559.5 m
447.625 560.5 l
447.625 560.5 m
448.75 560.5 l
448.75 560.5 m
446.5 560.5 l
460 594.75 m
460 592.5 l
460 592.5 m
460 593.625 l
460 593.625 m
461.125 593.625 l
461.125 593.625 m
458.875 593.625 l
472.25 605 m
472.25 602.75 l
472.25 602.75 m
472.25 603.875 l
472.25 603.875 m
473.375 603.875 l
473.375 603.875 m
471.125 603.875 l
484.625 613.25 m
484.625 611 l
484.625 611 m
484.625 612.125 l
484.625 612.125 m
485.75 612.125 l
485.75 612.125 m
483.5 612.125 l
496.875 633.375 m
496.875 631.125 l
496.875 631.125 m
496.875 632.25 l
496.875 632.25 m
498 632.25 l
498 632.25 m
495.75 632.25 l
509.25 658.25 m
509.25 656 l
509.25 656 m
509.25 657.125 l
509.25 657.125 m
510.375 657.125 l
510.375 657.125 m
508.125 657.125 l
S
0.25 w 
398.375 534.5 m
410.75 534.5 l
410.75 534.5 m
423 535.75 l
423 535.75 m
435.375 542.125 l
435.375 542.125 m
447.625 560.5 l
447.625 560.5 m
460 593.625 l
460 593.625 m
472.25 603.875 l
472.25 603.875 m
484.625 612.125 l
484.625 612.125 m
496.875 632.25 l
496.875 632.25 m
509.25 657.125 l
S
BT
6 0 0 6 511 654.625 Tm
(LARGE)Tj
ET
1.25 w 
386.125 534.5 m
509.25 534.5 l
386.125 534.5 m
386.125 681.25 l
S
0.25 w [1 1.5 ]0 d
447.625 534.5 m
447.625 681.25 l
509.25 534.5 m
509.25 681.25 l
386.125 563.875 m
509.25 563.875 l
S
BT
9 0 0 9 374.125 560.125 Tm
(25)Tj
ET
386.125 593.125 m
509.25 593.125 l
S
BT
9 0 0 9 374.125 589.375 Tm
(50)Tj
ET
386.125 622.5 m
509.25 622.5 l
S
BT
9 0 0 9 374.125 618.75 Tm
(75)Tj
ET
386.125 651.875 m
509.25 651.875 l
S
BT
9 0 0 9 369.625 648.125 Tm
(100)Tj
ET
386.125 681.25 m
509.25 681.25 l
S
BT
9 0 0 9 369.625 677.5 Tm
(125)Tj
4.5 -17.8194 TD
(Multiprogramming)Tj
-2.9167 0.6528 TD
6.4167 Tc
[(05)402.8(1)6416.7(0)]TJ
-2.9444 18.9583 TD
0 Tc
[(Aborts)-250.1(per)-250.6(500)]TJ
0.5833 -0.8333 TD
(transactions)Tj
ET
0.75 w []0 d
254.625 624.25 m
254.625 622 l
254.625 622 m
254.625 623.125 l
254.625 623.125 m
255.75 623.125 l
255.75 623.125 m
253.5 623.125 l
265.625 622.25 m
265.625 620 l
265.625 620 m
265.625 621.125 l
265.625 621.125 m
266.75 621.125 l
266.75 621.125 m
264.5 621.125 l
276.625 624.375 m
276.625 622.125 l
276.625 622.125 m
276.625 623.25 l
276.625 623.25 m
277.75 623.25 l
277.75 623.25 m
275.5 623.25 l
287.625 643.125 m
287.625 640.875 l
287.625 640.875 m
287.625 642 l
287.625 642 m
288.75 642 l
288.75 642 m
286.5 642 l
298.5 651.5 m
298.5 649.25 l
298.5 649.25 m
298.5 650.375 l
298.5 650.375 m
299.625 650.375 l
299.625 650.375 m
297.5 650.375 l
309.5 647.375 m
309.5 645.125 l
309.5 645.125 m
309.5 646.25 l
309.5 646.25 m
310.625 646.25 l
310.625 646.25 m
308.375 646.25 l
320.5 647.375 m
320.5 645.125 l
320.5 645.125 m
320.5 646.25 l
320.5 646.25 m
321.625 646.25 l
321.625 646.25 m
319.375 646.25 l
331.5 646.875 m
331.5 644.625 l
331.5 644.625 m
331.5 645.75 l
331.5 645.75 m
332.625 645.75 l
332.625 645.75 m
330.375 645.75 l
342.5 647.875 m
342.5 645.625 l
342.5 645.625 m
342.5 646.75 l
342.5 646.75 m
343.625 646.75 l
343.625 646.75 m
341.375 646.75 l
353.5 648.25 m
353.5 646 l
353.5 646 m
353.5 647.125 l
353.5 647.125 m
354.5 647.125 l
354.5 647.125 m
352.375 647.125 l
S
1.25 w 
254.625 623.125 m
265.625 621.125 l
265.625 621.125 m
276.625 623.25 l
276.625 623.25 m
287.625 642 l
287.625 642 m
298.5 650.375 l
298.5 650.375 m
309.5 646.25 l
309.5 646.25 m
320.5 646.25 l
320.5 646.25 m
331.5 645.75 l
331.5 645.75 m
342.5 646.75 l
342.5 646.75 m
353.5 647.125 l
S
BT
6 0 0 6 335.625 637.75 Tm
(READ-ONLY)Tj
ET
0.75 w 
254.625 609 m
254.625 606.75 l
254.625 606.75 m
254.625 607.875 l
254.625 607.875 m
255.75 607.875 l
255.75 607.875 m
253.5 607.875 l
265.625 587 m
265.625 584.75 l
265.625 584.75 m
265.625 585.875 l
265.625 585.875 m
266.75 585.875 l
266.75 585.875 m
264.5 585.875 l
276.625 560.25 m
276.625 558 l
276.625 558 m
276.625 559.125 l
276.625 559.125 m
277.75 559.125 l
277.75 559.125 m
275.5 559.125 l
287.625 558 m
287.625 555.75 l
287.625 555.75 m
287.625 556.875 l
287.625 556.875 m
288.75 556.875 l
288.75 556.875 m
286.5 556.875 l
298.5 558.125 m
298.5 556 l
298.5 556 m
298.5 557.125 l
298.5 557.125 m
299.625 557.125 l
299.625 557.125 m
297.5 557.125 l
309.5 550.375 m
309.5 548.125 l
309.5 548.125 m
309.5 549.25 l
309.5 549.25 m
310.625 549.25 l
310.625 549.25 m
308.375 549.25 l
320.5 552.75 m
320.5 550.5 l
320.5 550.5 m
320.5 551.625 l
320.5 551.625 m
321.625 551.625 l
321.625 551.625 m
319.375 551.625 l
331.5 554.125 m
331.5 551.875 l
331.5 551.875 m
331.5 553 l
331.5 553 m
332.625 553 l
332.625 553 m
330.375 553 l
342.5 544.5 m
342.5 542.25 l
342.5 542.25 m
342.5 543.375 l
342.5 543.375 m
343.625 543.375 l
343.625 543.375 m
341.375 543.375 l
353.5 541.5 m
353.5 539.25 l
353.5 539.25 m
353.5 540.375 l
353.5 540.375 m
354.5 540.375 l
354.5 540.375 m
352.375 540.375 l
S
0.25 w 
254.625 607.875 m
265.625 585.875 l
265.625 585.875 m
276.625 559.125 l
276.625 559.125 m
287.625 556.875 l
287.625 556.875 m
298.5 557.125 l
298.5 557.125 m
309.5 549.25 l
309.5 549.25 m
320.5 551.625 l
320.5 551.625 m
331.5 553 l
331.5 553 m
342.5 543.375 l
342.5 543.375 m
353.5 540.375 l
S
BT
6 0 0 6 344.875 542.375 Tm
(NO-FSYNC)Tj
ET
1.25 w 
243.625 534.5 m
353.5 534.5 l
243.625 534.5 m
243.625 681.25 l
S
0.25 w [1 1.5 ]0 d
298.5 534.5 m
298.5 681.25 l
353.5 534.5 m
353.5 681.25 l
243.625 563.875 m
353.5 563.875 l
S
BT
9 0 0 9 230.25 560.125 Tm
(40)Tj
ET
243.625 593.125 m
353.5 593.125 l
S
BT
9 0 0 9 230.25 589.375 Tm
(80)Tj
ET
243.625 622.5 m
353.5 622.5 l
S
BT
9 0 0 9 225.75 618.75 Tm
(120)Tj
ET
243.625 651.875 m
353.5 651.875 l
S
BT
9 0 0 9 225.75 648.125 Tm
(160)Tj
ET
243.625 681.25 m
353.5 681.25 l
S
BT
9 0 0 9 225.75 677.5 Tm
(200)Tj
3.9167 -17.8194 TD
(Multiprogramming)Tj
-3.3889 18.5556 TD
[(in)-249.3(TPS)]TJ
-1.1528 0.9861 TD
(Throughput)Tj
2.3611 -18.4583 TD
(0)Tj
6.0972 -0.1667 TD
5.3611 Tc
[(51)5361.1(0)]TJ
6 0 0 6 209.875 562.875 Tm
0 Tc
(LIBTP)Tj
ET
0.75 w []0 d
104.625 664.625 m
104.625 662.5 l
104.625 662.5 m
104.625 663.625 l
104.625 663.625 m
105.75 663.625 l
105.75 663.625 m
103.5 663.625 l
116.125 682.25 m
116.125 680.125 l
116.125 680.125 m
116.125 681.25 l
116.125 681.25 m
117.25 681.25 l
117.25 681.25 m
115 681.25 l
127.625 674.625 m
127.625 672.375 l
127.625 672.375 m
127.625 673.5 l
127.625 673.5 m
128.75 673.5 l
128.75 673.5 m
126.5 673.5 l
139.125 661.625 m
139.125 659.375 l
139.125 659.375 m
139.125 660.5 l
139.125 660.5 m
140.25 660.5 l
140.25 660.5 m
138 660.5 l
150.625 627.75 m
150.625 625.5 l
150.625 625.5 m
150.625 626.625 l
150.625 626.625 m
151.75 626.625 l
151.75 626.625 m
149.5 626.625 l
162.125 596.125 m
162.125 593.875 l
162.125 593.875 m
162.125 595 l
162.125 595 m
163.25 595 l
163.25 595 m
161 595 l
173.625 583.875 m
173.625 581.625 l
173.625 581.625 m
173.625 582.75 l
173.625 582.75 m
174.75 582.75 l
174.75 582.75 m
172.5 582.75 l
185.125 579.625 m
185.125 577.375 l
185.125 577.375 m
185.125 578.5 l
185.125 578.5 m
186.25 578.5 l
186.25 578.5 m
184 578.5 l
196.625 563.5 m
196.625 561.25 l
196.625 561.25 m
196.625 562.375 l
196.625 562.375 m
197.75 562.375 l
197.75 562.375 m
195.5 562.375 l
208.125 566.5 m
208.125 564.25 l
208.125 564.25 m
208.125 565.375 l
208.125 565.375 m
209.125 565.375 l
209.125 565.375 m
207 565.375 l
S
1.25 w 
104.625 663.625 m
116.125 681.25 l
116.125 681.25 m
127.625 673.5 l
127.625 673.5 m
139.125 660.5 l
139.125 660.5 m
150.625 626.625 l
150.625 626.625 m
162.125 595 l
162.125 595 m
173.625 582.75 l
173.625 582.75 m
185.125 578.5 l
185.125 578.5 m
196.625 562.375 l
196.625 562.375 m
208.125 565.375 l
93.125 534.5 m
208.125 534.5 l
93.125 534.5 m
93.125 681.25 l
S
0.25 w [1 1.5 ]0 d
150.625 534.5 m
150.625 681.25 l
208.125 534.5 m
208.125 681.25 l
93.125 571.25 m
208.125 571.25 l
S
BT
9 0 0 9 84.125 567.5 Tm
(3)Tj
ET
93.125 607.875 m
208.125 607.875 l
S
BT
9 0 0 9 84.125 604.125 Tm
(5)Tj
ET
93.125 644.5 m
208.125 644.5 l
S
BT
9 0 0 9 84.125 640.75 Tm
(8)Tj
ET
93.125 681.25 m
208.125 681.25 l
S
BT
9 0 0 9 79.625 677.5 Tm
(10)Tj
3.7222 -17.8194 TD
(Multiprogramming)Tj
-3.9306 18.7222 TD
[(in)-249.3(TPS)]TJ
-0.6528 0.8194 TD
(Throughput)Tj
2.1944 -18.8889 TD
5.9306 Tc
[(05)416.7(1)5930.6(0)]TJ
8 0 0 8 81.875 486.875 Tm
0 Tc
[(Figure)-558.1(7:)-542(Multi-user)-539.1(Performance.)]TJ
/TT4 1 Tf
0 -1.4063 TD
[(Since)-434.6(the)-434.6(con)]TJ
/TT7 1 Tf
5.7563 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(guration)-433.1(is)-442.4(completely)]TJ
-6.3125 -1.4063 TD
[(disk)-442.4(bound,)-437.5(we)-427.7(see)-410.6(only)-425.3(a)-415.5(small)-427.2(im-)]TJ
T*
[(provement)-551.8(by)-562.5(adding)-559.6(a)-540.5(second)-535.6(pro-)]TJ
T*
[(cess.)-1115.2(Adding)-625(any)-618.7(more)-601.6(concurrent)]TJ
T*
[(processes)-543(causes)-546.4(performance)-510.3(degra-)]TJ
T*
(dation.)Tj
/TT2 1 Tf
19.875 8.4375 TD
[(Figure)-636.2(8:)-635.7(Multi-user)-617.2(Performance)]TJ
0 -1.4063 TD
[(on)-412.6(a)-406.3(small)-409.7(database.)]TJ
/TT4 1 Tf
9.75 0 TD
[(With)-391.1(one)-384.3(pro-)]TJ
-9.75 -1.4063 TD
[(cess,)-396.5(we)-380.9(are)-373(driving)-392.6(the)-387.7(CPU)-398.4(at)-387.7(96%)]TJ
T*
[(utilization)-445.3(leaving)-416(little)-432.6(room)-420.4(for)-412.1(im-)]TJ
T*
[(provement)-583(as)-573.2(the)-575.2(multiprogramming)]TJ
T*
[(level)-619.1(increases.)-851.1(In)-620.1(the)-622.1(NO-FSYNC)]TJ
T*
[(case,)-357.4(lock)-356.4(contention)-356.9(degrades)-336.9(perfor-)]TJ
T*
[(mance)-359.4(as)-370.1(soon)-376.5(as)-370.1(a)-368.7(second)-363.8(process)-360.3(is)]TJ
T*
(added.)Tj
/TT2 1 Tf
19.875 11.25 TD
[(Figure)-386.2(9:)-370.1(Abort)-366.7(rates)-358.9(on)-381.3(the)-370.1(TPCB)]TJ
0 -1.4063 TD
(Benchmark.)Tj
/TT4 1 Tf
6.0937 0 TD
[(The)-585.9(abort)-585.9(rate)-579.6(climbs)]TJ
-6.0937 -1.4063 TD
[(more)-554.7(quickly)-563(for)-552.7(the)-559.6(large)-532.7(database)]TJ
T*
[(test)-564.4(since)-554.7(processes)-543(are)-544.9(descheduled)]TJ
T*
[(more)-1226.6(frequently,)-1218.8(allowing)-1219.2(more)]TJ
T*
[(processes)-230.5(to)-253.4(vie)-247.1(for)-240.2(the)-247.1(same)-242.2(locks.)]TJ
/T1 1 Tf
10 0 0 10 69.375 381.5 Tm
[()200()]TJ
/TT4 1 Tf
0 -3.45 TD
[(records,)-307.1(we)-296.5(expect)-303.1(contention)-291.3(to)-284.7(become)-303.1(a)-293.7(factor)-306(quickly)-288(and)-293.7(the)-290.8(NO-FSYNC)-286.5(line)-288(in)]TJ
/TT7 1 Tf
34.9125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gure)-279.5(eight)-275.5(demonstrates)-286.1(this)]TJ
-35.4687 -1.125 TD
[(dramatically.)-589.9(Each)-339(additional)-326(process)-338.5(causes)-340.1(both)-322.2(more)-332.8(waiting)-313(and)-318.7(more)-320.3(deadlocking.)-575.3(Figure)-314.2(nine)-315.8(shows)-312(that)-313(in)]TJ
T*
[(the)-353.3(small)-346(database)-370.1(case)-354.3(\(SMALL\),)-344.8(waiting)-338(is)-333(the)-340.8(dominant)-335.2(cause)-354.3(of)-342(declining)-341.3(performance)-372.7(\(the)-345.3(number)-345.3(of)-342(aborts)]TJ
T*
[(increases)-372.9(less)-350(steeply)-355(than)-353.3(the)-353.3(performance)-385.3(drops)-352.8(off)-359(in)]TJ
/TT7 1 Tf
23.3875 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(gure)-354.5(eight\),)-355(while)-353.3(in)-347.2(the)-353.3(large)-364(database)-370.1(case)-354.3(\(LARGE\),)]TJ
-23.9437 -1.125 TD
[(deadlocking)-262.8(contributes)-256.6(more)-257.8(to)-247.2(the)-253.3(declining)-253.8(performance.)]TJ
2.5 -1.5375 TD
[(Deadlocks)-291.8(are)-291.8(more)-282.8(likely)-272.7(to)-272.2(occur)-291.8(in)-272.2(the)-265.8(LARGE)-267(test)-261.3(than)-265.8(in)-259.7(the)-265.8(SMALL)-260.8(test)-261.3(because)-285.4(there)-276.5(are)-279.3(more)-270.3(oppor-)]TJ
-2.5 -1.125 TD
[(tunities)-293.2(to)-297.2(wait.)-303.3(In)-304.5(the)-303.3(SMALL)-298.3(case,)-316.8(processes)-318(never)-304.3(do)-287.5(I/O)-292(and)-293.7(are)-304.3(less)-287.5(likely)-285.2(to)-284.7(be)-293.7(descheduled)-307.6(during)-289.2(a)-293.7(transac-)]TJ
T*
[(tion.)-506.8(In)-267(the)-265.8(LARGE)-267(case,)-279.3(processes)-280.5(will)-256.8(frequently)-278.1(be)-268.7(descheduled)-282.6(since)-270.3(they)-265.8(have)-274.8(to)-259.7(perform)-279.3(I/O.)-517(This)-259.7(provides)-256.2(a)]TJ
T*
[(window)-302.8(where)-319.6(a)-306.2(second)-310.6(process)-313.5(can)-312.3(request)-312.3(locks)-301.7(on)-287.5(already)-307.6(locked)-297(pages,)-298.1(thus)-283(increasing)-303.1(the)-290.8(likelihood)-282.3(of)-292(build-)]TJ
T*
[(ing)-247.2(up)-250(long)-247.2(chains)-257.8(of)-254.5(waiting)-250.5(processes.)-518(Eventually,)-255.5(this)-242.7(leads)-257.8(to)-247.2(deadlock.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(5.2.)-500(The)-245.5(OO1)-244.3(Benchmark)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(The)-295.3(TPCB)-274(benchmark)-307.6(described)-306(in)-284.7(the)-290.8(previous)-293.6(section)-292.5(measures)-304.3(performance)-322.8(under)-298.1(a)-293.7(conventional)-285(transac-)]TJ
-2.5 -1.125 TD
[(tion)-331.8(processing)-348.1(workload.)-598.1(Other)-348.1(application)-344.6(domains,)-336.3(such)-342(as)-342(computer-aided)-362.6(design,)-339.2(have)-349.8(substantially)-332.3(different)]TJ
T*
[(access)-333.8(patterns.)-572(In)-317(order)-327.6(to)-309.7(measure)-331(the)-315.8(performance)-347.8(of)-304.5(LIBTP)-297.2(under)-310.6(workloads)-309(of)-304.5(this)-292.7(type,)-303.3(we)-309(implemented)-304.3(the)]TJ
T*
[(OO1)-255.7(benchmark)-270.1(described)-268.5(in)-247.2([CATT91].)]TJ
2.5 -1.5375 TD
[(The)-357.8(database)-370.1(models)-348.8(a)-343.7(set)-339.2(of)-342(electronics)-356.4(components)-342.5(with)-334.7(connections)-348.6(among)-340.8(them.)-588(One)-346.5(table)-344.1(stores)-342(parts)]TJ
-2.5 -1.125 TD
[(and)-318.7(another)-326.5(stores)-317(connections.)-573.6(There)-331(are)-329.3(three)-326.5(connections)-311.1(originating)-299.3(at)-303.3(any)-306.2(given)-303.3(part.)-557.8(Ninety)-303.3(percent)-320.1(of)-304.5(these)]TJ
T*
[(connections)-286.1(are)-291.8(to)-272.2(nearby)-291.8(parts)-281.2(\(those)-281.2(with)-272.2(nearby)]TJ
/TT6 1 Tf
20.65 0 TD
(ids)Tj
/TT4 1 Tf
1.1625 0 TD
[(\))-267(t)0(o)-259.7(model)-263(the)-265.8(spatial)-264.6(locality)-263.5(often)-270.3(exhibited)-266.3(in)-259.7(CAD)-263.7(applica-)]TJ
-21.8125 -1.125 TD
[(tions.)-605.2(Ten)-370.3(percent)-370.1(of)-354.5(the)-353.3(connections)-361.1(are)-366.8(randomly)-355(distributed)-347.7(among)-353.3(all)-350.5(other)-357.8(parts)-356.1(in)-347.2(the)-353.3(database.)-620.1(Every)-362.3(part)]TJ
T*
[(appears)-371.3(exactly)-362.8(three)-364(times)-346(in)-347.2(the)]TJ
/TT6 1 Tf
14.25 0 TD
(from)Tj
/TT7 1 Tf
2.2375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(eld)-334.7(of)-342(a)-343.7(connection)-350.3(record,)-358.8(and)-343.7(zero)-354.3(or)-342(more)-345.3(times)-333.5(in)-334.7(the)]TJ
/TT6 1 Tf
24.0313 0 TD
(to)Tj
/TT7 1 Tf
1.1125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(eld.)-584.7(Parts)]TJ
-42.7437 -1.125 TD
(have)Tj
/TT6 1 Tf
2.15 0 TD
(x)Tj
/TT4 1 Tf
0.7 0 TD
(and)Tj
/TT6 1 Tf
1.7 0 TD
(y)Tj
/TT4 1 Tf
0.7 0 TD
[(locations)-252.1(set)-251.7(randomly)-255(in)-247.2(an)-256.2(appropriate)-271.8(range.)]TJ
ET
endstream
endobj
72 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
/TT7 7 0 R
/T1 8 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
74 0 obj
<<
/Length 10607
>>
stream
BT
/TT4 1 Tf
10 0 0 10 94.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(The)-257.8(intent)-247.7(of)-254.5(OO1)-255.7(is)-245.5(to)-247.2(measure)-268.5(the)-253.3(overall)-261.1(cost)-251.7(of)-254.5(a)-256.1(query)-260.7(mix)-244.3(characteristic)-282.9(of)-254.5(engineering)-267.3(database)-270.1(applica-)]TJ
-2.5 -1.125 TD
[(tions.)-492.7(There)-268.5(are)-266.8(three)-264(tests:)]TJ
/T1 1 Tf
1 -1.5375 TD
()Tj
/TT6 1 Tf
1.5 0 TD
(Lookup)Tj
/TT4 1 Tf
3.3375 0 TD
[(generates)-362.1(1,000)-337.5(random)-345.3(part)]TJ
/TT6 1 Tf
12.025 0 TD
(ids)Tj
/TT4 1 Tf
1.1625 0 TD
[(,)-337.5(fetches)-343.5(the)-328.3(corresponding)-341.8(parts)-331.2(from)-331.1(the)-328.3(database,)-345.1(and)-331.2(calls)-330(a)-331.2(null)]TJ
-16.525 -1.125 TD
[(procedure)-277.4(in)-247.2(the)-253.3(host)-245.5(programming)-256.6(language)-265.6(with)-247.2(the)-253.3(parts�)]TJ
/TT6 1 Tf
24.3 0 TD
(x)Tj
/TT4 1 Tf
0.7 0 TD
(and)Tj
/TT6 1 Tf
1.7 0 TD
(y)Tj
/TT4 1 Tf
0.7 0 TD
(positions.)Tj
/T1 1 Tf
-28.9 -1.5375 TD
()Tj
/TT6 1 Tf
1.5 0 TD
(Traverse)Tj
/TT4 1 Tf
3.9 0 TD
[(retrieves)-357.6(a)-343.7(random)-345.3(part)-345.3(from)-343.6(the)-340.8(database)-357.6(and)-343.7(follows)-337.5(connections)-348.6(from)-343.7(it)-331.8(to)-322.2(other)-332.8(parts.)-581.2(Each)-339(of)]TJ
-3.9 -1.125 TD
[(those)-289.2(parts)-293.7(is)-283(retrieved,)-309.3(and)-293.7(all)-288(connections)-298.6(from)-293.7(it)-269.3(followed.)-532.8(This)-272.2(procedure)-302.4(is)-270.5(repeated)-301.3(depth-)]TJ
/TT7 1 Tf
38.7297 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(rst)-276.7(for)-284(seven)]TJ
-39.2858 -1.125 TD
[(hops)-298.3(from)-306.2(the)-303.3(original)-302.1(part,)-307.8(for)-309(a)-306.2(total)-297.7(of)-304.5(3280)-300(parts.)-556.2(Backward)-308.8(traversal)-307.6(also)-289.2(exists,)-284.7(and)-293.7(follows)-287.5(all)-288(connec-)]TJ
T*
[(tions)-242.7(into)-244.3(a)-256.2(given)-253.3(part)-257.8(to)-247.2(their)-255(origin.)]TJ
/T1 1 Tf
-1.5 -1.5375 TD
()Tj
/TT6 1 Tf
1.5 0 TD
(Insert)Tj
/TT4 1 Tf
2.5875 0 TD
[(adds)-254.5(100)-250(new)-259(parts)-256.2(and)-256.2(their)-255(connections.)]TJ
-2.5875 -1.5375 TD
[(The)-420.3(benchmark)-432.6(is)-408(single-user,)-424.8(but)-409.7(multi-user)-414.7(access)-433.8(controls)-415.8(\(locking)-405(and)-406.2(transaction)-412.8(protection\))-412.8(must)-392.7(be)]TJ
-2.5 -1.125 TD
[(enforced.)-539.9(It)-264.2(is)-258(designed)-270.3(to)-259.7(be)-268.7(run)-267(on)-262.5(a)-268.7(database)-282.6(with)-259.7(20,000)-262.5(parts,)-268.7(and)-268.7(on)-262.5(one)-256.1(with)-247.2(200,000)-250(parts.)-506.2(Because)-268.5(we)-259(have)]TJ
T*
(insuf)Tj
/TT7 1 Tf
2 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cient)-250.5(disk)-245.5(space)-266.8(for)-259(the)-253.3(larger)-268.5(database,)-270.1(we)-259(report)-262.3(results)-251.7(only)-247.2(for)-259(the)-253.3(20,000)-250(part)-257.8(database.)]TJ
/TT2 1 Tf
-2.5562 -2.325 TD
[(5.2.1.)-500(Implementation)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(The)-507.8(LIBTP)-497.2(implementation)-498.6(of)-504.5(OO1)-505.7(uses)-502.8(the)-490.8(TCL)-486.3([OUST90])-497.7(interface)-515.4(described)-506(earlier.)-759.3(The)-495.3(backend)]TJ
-2.5 -1.125 TD
[(accepts)-282.6(commands)-267.5(over)-273.1(an)-268.7(IP)-260.8(socket)-270.3(and)-268.7(performs)-277.6(the)-265.8(requested)-281(database)-282.6(actions.)-517.5(The)-257.8(frontend)-262.3(opens)-254.5(and)-256.1(executes)]TJ
T*
[(a)-343.7(TCL)-336.3(script.)-590.8(This)-334.7(script)-340.8(contains)-342.5(database)-357.6(accesses)-363.3(interleaved)-358.1(with)-334.7(ordinary)-349.8(program)-337.3(control)-330(statements.)-578.8(Data-)]TJ
T*
[(base)-260.6(commands)-255(are)-266.8(submitted)-243.2(to)-247.2(the)-253.3(backend)-268.5(and)-256.2(results)-251.7(are)-266.8(bound)-250(to)-247.2(program)-262.3(variables.)]TJ
2.5 -1.5375 TD
[(The)-295.3(parts)-293.7(table)-294.1(was)-294.8(stored)-293.7(as)-292(a)-281.2(B-tree)-289(indexed)-284.5(by)]TJ
/TT6 1 Tf
20.275 0 TD
(id)Tj
/TT4 1 Tf
0.775 0 TD
[(.)-525(The)-282.8(connection)-287.8(table)-281.6(was)-282.3(stored)-281.2(as)-279.5(a)-281.2(set)-276.7(of)]TJ
/TT7 1 Tf
18.4125 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(xed-length)Tj
-42.5187 -1.125 TD
[(records)-419.6(using)-395.5(the)-403.3(4.4BSD)-392.2(recno)-416.8(access)-421.3(method.)-650.5(In)-404.5(addition,)-397.7(two)-387.5(B-tree)-401.5(indices)-392.5(were)-407.1(maintained)-394.6(on)-387.5(connection)]TJ
T*
[(table)-269.1(entries.)-522(One)-271.5(index)-253.3(mapped)-259.5(the)]TJ
/TT6 1 Tf
14.9625 0 TD
(from)Tj
/TT7 1 Tf
2.1375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(eld)-247.2(to)-247.2(a)-256.2(connection)-262.8(record)-271.3(number,)-257.8(and)-256.2(the)-253.3(other)-257.8(mapped)-259.5(the)]TJ
/TT6 1 Tf
24.6188 0 TD
(to)Tj
/TT7 1 Tf
1.025 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(eld)-247.2(to)-247.2(a)]TJ
-43.8561 -1.125 TD
[(connection)-325.3(record)-333.8(number.)-570.3(These)-324.8(indices)-305(support)-300(fast)-306.2(lookups)-295.5(on)-300(connections)-311.1(in)-297.2(both)-297.2(directions.)-556.6(For)-298.3(the)-303.3(traversal)]TJ
T*
[(tests,)-322.2(the)-328.3(frontend)-337.3(does)-329.5(an)-318.7(index)-315.8(lookup)-309.7(to)-309.7(discover)-324.8(the)-315.8(connected)-334.3(part�s)]TJ
/TT6 1 Tf
30 0 TD
(id)Tj
/TT4 1 Tf
0.775 0 TD
[(,)-312.5(and)-318.7(then)-315.8(does)-317(another)-326.5(lookup)-309.7(to)-309.7(fetch)]TJ
-30.775 -1.125 TD
[(the)-253.3(part)-257.8(itself.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(5.2.2.)-500(Performance)-285.3(Measurements)-274.1(for)-260.6(OO1)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(We)-274.8(compare)-282.6(LIBTP�s)-262.5(OO1)-268.2(performance)-297.8(to)-247.2(that)-250.5(reported)-268.5(in)-247.2([CATT91].)-510.6(Those)-256.2(results)-251.7(were)-269.6(collected)-266.1(on)-250(a)-256.2(Sun)]TJ
-2.5 -1.125 TD
[(3/280)-272.2(\(25)-279.5(MHz)-282.3(MC68020\))-273.3(with)-272.2(16)-275(MBytes)-270.5(of)-279.5(memory)-280(and)-281.2(two)-275(Hitachi)-269.1(892MByte)-259.7(disks)-256.4(\(15)-267(ms)-258(average)-291.6(seek)-273.1(time\))]TJ
T*
[(behind)-253.3(an)-256.2(SMD-4)-249.5(controller.)-512.8(Frontends)-250(ran)-260.6(on)-250(an)-256.2(8MByte)-247.2(Sun)-243.8(3/260.)]TJ
2.5 -1.5375 TD
[(In)-279.5(order)-290.1(to)-272.2(measure)-293.5(performance)-310.3(on)-275(a)-281.2(machine)-287.8(of)-279.5(roughly)-276.7(equivalent)-285(processor)-293(power,)-288.5(we)-284(ran)-273.1(one)-268.7(set)-264.2(of)-267(tests)]TJ
-2.5 -1.125 TD
[(on)-387.5(a)-393.7(standalone)-398.6(MC68030-based)-384(HP300)-371.7(\(33MHz)-386.8(MC68030\).)-623.3(The)-382.8(database)-395.1(was)-382.3(stored)-381.1(on)-375(a)-381.2(300MByte)-372.2(HP7959)]TJ
T*
[(SCSI)-250.2(disk)-258(\(17)-267(ms)-245.5(average)-279.1(seek)-260.6(time\).)-502.1(Since)-253.3(this)-242.7(machine)-262.8(is)-245.5(not)-247.2(connected)-271.8(to)-247.2(a)-256.2(network,)-260.6(we)-259(ran)-260.6(local)-256.6(tests)-247.2(where)-269.6(the)]TJ
T*
[(frontend)-362.3(and)-356.2(backend)-368.5(run)-354.5(on)-350(the)-353.3(same)-345.3(machine.)-600.3(We)-349.8(compare)-357.6(these)-345.3(measurements)-354.8(with)-334.7(Cattell�s)-336.8(local)-344.1(Sun)-331.3(3/280)]TJ
T*
(numbers.)Tj
2.5 -1.5375 TD
[(Because)-368.5(the)-353.3(benchmark)-370.1(requires)-366.8(remote)-361.1(access,)-371.3(we)-359(ran)-360.6(another)-364(set)-351.7(of)-354.5(tests)-347.2(on)-337.5(a)-343.7(DECstation)-333.5(5000/200)-334.7(with)]TJ
-2.5 -1.125 TD
[(32M)-323.3(of)-329.5(memory)-330(running)-326.7(Ultrix)-323.8(V4.0)-327.8(and)-331.2(a)-331.2(DEC)-325(1GByte)-326.7(RZ57)-309.7(SCSI)-300.2(disk.)-558(We)-324.8(compare)-332.6(the)-315.8(local)-319.1(performance)-347.8(of)]TJ
T*
[(OO1)-293.2(on)-287.5(the)-290.8(DECstation)-283.5(to)-284.7(its)-267.7(remote)-286.1(performance.)-560.3(For)-273.3(the)-278.3(remote)-286.1(case,)-291.8(we)-284(ran)-285.6(the)-278.3(frontend)-287.3(on)-275(a)-281.2(DECstation)-271(3100)]TJ
T*
[(with)-247.2(16)-250(MBytes)-245.5(of)-254.5(main)-250.5(memory.)]TJ
2.5 -1.5375 TD
[(The)-257.8(databases)-268.5(tested)-255(in)-247.2([CATT91])-260.6(are)]TJ
/T1 1 Tf
-1.5 -1.5375 TD
()Tj
/TT4 1 Tf
1.5 0 TD
[(INDEX,)-264.6(a)-256.2(highly-optimized)-249.8(access)-271.3(method)-250.5(package)-274.6(developed)-265.6(at)-253.3(Sun)-243.9(Microsystems.)]TJ
/T1 1 Tf
-1.5 -1.5375 TD
()Tj
/TT4 1 Tf
1.5 0 TD
[(OODBMS,)-246.2(a)-256.2(beta)-259.5(release)-274.6(of)-254.5(a)-256.2(commercial)-267.8(object-oriented)-272.3(database)-270.1(management)-266.1(system.)]TJ
/T1 1 Tf
-1.5 -1.5375 TD
()Tj
/TT4 1 Tf
1.5 0 TD
[(RDBMS,)-261(a)-268.7(UNIX-based)-290.6(commercial)-280.3(relational)-274.1(data)-272(manager)-282.6(at)-265.8(production)-267.5(release.)-537.1(The)-270.3(OO1)-268.2(implementation)]TJ
0 -1.125 TD
[(used)-254.5(embedded)-265.6(SQL)-248.3(in)-247.2(C.)-495.5(Stored)-251.7(procedures)-275.8(were)-269.6(de)]TJ
/TT7 1 Tf
21.7188 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ned)-256.2(to)-247.2(reduce)-272.9(client-server)-277.9(traf)]TJ
/TT7 1 Tf
12.3252 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(c.)Tj
-35.1563 -1.5375 TD
[(Table)-461.1(two)-450(shows)-449.5(the)-453.3(measurements)-467.3(from)-456.2([CATT91])-460.6(and)-456.2(LIBTP)-447.2(for)-459(a)-456.2(local)-456.6(test)-448.8(on)-437.5(the)-440.8(MC680x0-based)]TJ
-2.5 -1.125 TD
[(hardware.)-530.3(All)-247.2(caches)-273(are)-266.8(cleared)-276.3(before)-271.3(each)-268.5(test.)-498.8(All)-247.2(times)-246(are)-266.8(in)-247.2(seconds.)]TJ
2.5 -1.5375 TD
[(Table)-286.1(two)-275(shows)-274.5(that)-275.5(LIBTP)-272.2(outperforms)-274.8(the)-265.8(commercial)-280.3(relational)-274.1(system,)-259.7(but)-259.7(is)-258(slower)-271.5(than)-265.8(OODBMS)-258.7(and)]TJ
-2.5 -1.125 TD
[(INDEX.)-602.1(Since)-340.8(the)-340.8(caches)-360.5(were)-357.1(cleared)-363.8(at)-340.8(the)-340.8(start)-340.8(of)-329.5(each)-343.5(test,)-323.8(disk)-320.5(throughput)-323.8(is)-320.5(critical)-336.6(in)-322.2(this)-317.7(test.)-573.8(The)-332.8(single)]TJ
T*
[(SCSI)-312.7(HP)-321.7(drive)-332.8(used)-329.5(by)-325(LIBTP)-322.2(is)-320.5(approximately)-336.6(13%)-329.5(slower)-334(than)-315.8(the)-315.8(disks)-306.3(used)-317(in)-309.7([CATT91])-323.1(which)-318.6(accounts)-326.5(for)]TJ
T*
[(part)-257.8(of)-254.5(the)-253.3(difference.)]TJ
2.5 -1.5375 TD
[(OODBMS)-258.7(and)-268.7(INDEX)-264.6(outperform)-264(LIBTP)-247.2(most)-242.7(dramatically)-264.9(on)-250(traversal.)-520.1(This)-247.2(is)-245.5(because)-272.9(we)-259(use)-254.5(index)-253.3(look-)]TJ
-2.5 -1.125 TD
[(ups)-285.8(to)]TJ
/TT7 1 Tf
2.7375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(nd)-281.3(connections,)-298.6(whereas)-311.6(the)-290.8(other)-282.8(two)-275(systems)-270.5(use)-279.5(a)-281.2(link)-269.3(access)-296.3(method.)-525.5(The)-282.8(index)-278.3(requires)-291.8(us)-273.3(to)-272.2(examine)]TJ
ET
endstream
endobj
75 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
/TT7 7 0 R
/T1 8 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
77 0 obj
<<
/Length 11300
>>
stream
BT
/T1 1 Tf
10 0 0 10 69.375 707.125 Tm
0 g
/GS1 gs
0 Tc
0 Tw
()Tj
/TT6 1 Tf
0.6375 -1.125 TD
(Measure)Tj
/TT4 1 Tf
5.1625 0 TD
[(INDEX)-1514.7(OODBMS)-1496.2(RDBMS)-1486(LIBTP)]TJ
/T1 1 Tf
-5.8 -0.025 TD
()Tj
0 -0.2 TD
()Tj
/TT4 1 Tf
0.5 -1.025 TD
[(Lookup)-3376.7(5.4)-3450(12.9)-4000(27)-3262.5(27.2)]TJ
0 -1.125 TD
[(Traversal)-2212.1(13)-4700(9.8)-4000(90)-3262.5(47.3)]TJ
T*
[(Insert)-4210.6(7.4)-3950(1.5)-4000(22)-3762.5(9.7)]TJ
/T1 1 Tf
-0.5 -0.125 TD
()Tj
0 0 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
5.05 -3.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
4.625 -3.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
5.775 -3.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
4.9875 -3.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
4.025 -3.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
1.325 1 TD
()Tj
0.1375 0 TD
()Tj
/TT6 1 Tf
2.5 -1.125 TD
[(Measure)-3651(Cache)-1507.8(Local)-1497.2(Remote)]TJ
/T1 1 Tf
-2.6375 -0.025 TD
()Tj
0.1375 0 TD
()Tj
-0.1375 -0.2 TD
()Tj
0.1375 0 TD
()Tj
/TT4 1 Tf
0.3625 -1.025 TD
[(Lookup)-6176.7(cold)-2603.3(15.7)-2387.5(20.6)]TJ
9.2875 -1.125 TD
[(warm)-2548.1(7.8)-2387.5(12.4)]TJ
/T1 1 Tf
-9.7875 -0.125 TD
()Tj
0.1375 0 TD
()Tj
/TT4 1 Tf
0.3625 -1.125 TD
[(Forward)-261.8(traversal)-2195.1(cold)-2603.3(28.4)-2387.5(52.6)]TJ
9.2875 -1.125 TD
[(warm)-2048.1(23.5)-2387.5(47.4)]TJ
/T1 1 Tf
-9.7875 -0.125 TD
()Tj
0.1375 0 TD
()Tj
/TT4 1 Tf
0.3625 -1.125 TD
[(Backward)-271.3(traversal)-1520.1(cold)-2603.3(24.2)-2387.5(47.4)]TJ
9.2875 -1.125 TD
[(warm)-2048.1(24.3)-2387.5(47.6)]TJ
/T1 1 Tf
-9.7875 -0.125 TD
()Tj
0.1375 0 TD
()Tj
/TT4 1 Tf
0.3625 -1.125 TD
[(Insert)-7010.6(cold)-3103.3(7.5)-2387.5(10.3)]TJ
9.2875 -1.125 TD
[(warm)-2548.1(6.7)-2387.5(10.9)]TJ
/T1 1 Tf
-9.7875 -0.125 TD
()Tj
0.1375 0 TD
()Tj
-0.1375 0 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
9.0375 -9.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
4.0625 -9.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
3.775 -9.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
4.2625 -9.75 TD
()Tj
0 0.75 TD
()Tj
0 1 TD
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
T*
()Tj
/TT2 1 Tf
-46.525 -12.825 TD
[(Table)-505.2(2:)-517(Local)-511.3(MC680x0)-521.5(Performance)-547.8(of)-504.5(Several)]TJ
0 -1.125 TD
[(Systems)-255.7(on)-243.8(OO1.)]TJ
26 1.125 TD
[(Table)-580.2(3:)-592(Local)-573.8(vs.)-573.3(Remote)-599.1(Performance)-610.3(of)]TJ
0 -1.125 TD
[(LIBTP)-236.5(on)-243.8(OO1.)]TJ
/T1 1 Tf
-26.4 -1.5375 TD
[()200()]TJ
/TT4 1 Tf
0 -3.45 TD
[(two)-262.5(disk)-258(pages,)-273.1(but)-259.7(the)-265.8(links)-255.2(require)-281(only)-259.7(one,)-268.7(regardless)-283.8(of)-267(database)-282.6(size.)-520.3(Cattell)-259(reports)-273.1(that)-263(lookups)-258(using)-258(B-trees)]TJ
0 -1.125 TD
[(instead)-330(of)-329.5(links)-317.7(makes)-332.8(traversal)-345.1(take)-334.5(twice)-334.5(as)-329.5(long)-322.2(in)-322.2(INDEX.)-589.6(Adding)-325(a)-331.2(link)-319.3(access)-346.3(method)-325.5(to)]TJ
/TT2 1 Tf
39.3625 0 TD
(db)Tj
/TT4 1 Tf
1.1 0 TD
[(\(3\))-321.5(or)-317(using)-308(the)]TJ
-40.4625 -1.125 TD
[(existing)-246(hash)-254.5(method)-250.5(would)-250(apparently)-267.3(be)-256.2(a)-256.2(good)-250(idea.)]TJ
2.5 -1.5375 TD
[(Both)-317.7(OODBMS)-321.2(and)-331.2(INDEX)-339.6(issue)]TJ
14.4125 0 TD
0.0016 Tc
[(coarser-granularity)-310.2(locks)-312.6(than)]TJ
12.425 0 TD
0 Tc
[(LIBTP.)-559.7(This)-309.7(limits)-296.7(concurrency)-346.1(for)-321.5(multi-)]TJ
-29.3375 -1.125 TD
[(user)-284(applications,)-280.5(but)-272.2(helps)-276.7(single-user)-287.3(applications.)-530.5(In)-279.5(addition,)-272.7(the)-278.3(fact)-289(that)-275.5(LIBTP)-259.7(releases)-285.4(B-tree)-276.5(locks)-264.2(early)-276.5(is)-258(a)]TJ
T*
[(drawback)-375.8(in)-347.2(OO1.)-605.7(Since)-353.3(there)-364(is)-345.5(no)-337.5(concurrency)-371.1(in)-334.7(the)-340.8(benchmark,)-357.6(high-concurrency)-372.8(strategies)-348.6(only)-334.7(show)-338.7(up)-337.5(as)]TJ
T*
[(increased)-312.1(locking)-288(overhead.)-560.4(Finally,)-279(the)-278.3(architecture)-306.3(of)-279.5(the)-278.3(LIBTP)-272.2(implementation)-273.6(was)-282.3(substantially)-269.8(different)-295.1(from)]TJ
T*
[(that)-338(of)-342(either)-348.6(OODBMS)-333.7(or)-342(INDEX.)-602.1(Both)-330.2(of)-342(those)-339.2(systems)-333(do)-337.5(the)-340.8(searches)-363.3(in)-334.7(the)-340.8(user�s)-349.3(address)-351(space,)-354.3(and)-331.2(issue)]TJ
T*
[(requests)-335.6(for)-334(pages)-335.6(to)-309.7(the)-315.8(server)-332.1(process.)-576(Pages)-317(are)-329.3(cached)-337.1(in)-309.7(the)-315.8(client,)-316.3(and)-318.6(many)-315.8(queries)-324.8(can)-324.8(be)-318.7(satis)]TJ
/TT7 1 Tf
41.9403 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(ed)-309.7(without)]TJ
-42.4965 -1.125 TD
[(contacting)-272.5(the)-265.8(server)-282.1(at)-265.8(all.)-513(LIBTP)-259.7(submits)-250.7(all)-263(the)-265.8(queries)-274.8(to)-259.7(the)-253.3(server)-269.6(process,)-263.5(and)-256.2(receives)-274.6(database)-270.1(records)-269.6(back;)]TJ
T*
[(it)-244.3(does)-254.5(no)-250(client)-253.8(caching.)]TJ
2.5 -1.5375 TD
[(The)-395.3(RDBMS)-373.5(architecture)-418.7(is)-383(much)-390.8(closer)-399.8(to)-384.7(that)-388(of)-392(LIBTP.)-634.7(A)-390.3(server)-407.1(process)-401(receives)-412.1(queries)-399.8(and)-381.2(returns)]TJ
-2.5 -1.125 TD
[(results)-276.7(to)-272.2(a)-281.2(client.)-528.8(The)-282.8(timing)-263.7(results)-276.7(in)-272.2(table)-281.6(two)-275(clearly)-292.3(show)-276.2(that)-275.5(the)-278.3(conventional)-272.5(database)-282.6(client/server)-283.1(model)-263(is)]TJ
T*
[(expensive.)-576.5(LIBTP)-309.7(outperforms)-324.8(the)-315.8(RDBMS)-298.5(on)-300(traversal)-320.1(and)-306.2(insertion.)-550.5(We)-312.3(speculate)-317.3(that)-300.5(this)-292.7(is)-295.5(due)-306.2(in)-297.2(part)-307.8(to)-297.2(the)]TJ
T*
[(overhead)-272.9(of)-254.5(query)-260.6(parsing,)-256.2(optimization,)-245.3(and)-256.2(repeated)-276.3(interpretation)-263.3(of)-254.5(the)-253.3(plan)-253.3(tree)-264(in)-247.2(the)-253.3(RDBMS�)-240.5(query)-260.6(executor.)]TJ
2.5 -1.5375 TD
[(Table)-311.1(three)-314(shows)-299.5(the)-290.8(differences)-321.1(between)-306(local)-294.1(and)-293.6(remote)-298.6(execution)-300.3(of)-292(LIBTP�s)-287.5(OO1)-293.2(implementation)-286.1(on)-287.5(a)]TJ
-2.5 -1.125 TD
[(DECstation.)-508.5(We)-274.8(measured)-281(performance)-297.8(with)-259.7(a)-268.7(populated)-269.1(\(warm\))-282.1(cache)-287.1(and)-268.7(an)-268.7(empty)-263(\(cold\))-274.8(cache.)-537.1(Reported)-259.5(times)]TJ
T*
[(are)-354.3(the)-340.8(means)-332.8(of)-329.5(twenty)-328.3(tests,)-322.2(and)-331.2(are)-341.8(in)-322.2(seconds.)-584(Standard)-332.8(deviations)-327.1(were)-344.6(within)-319.3(seven)-335.6(percent)-345.1(of)-329.5(the)-328.3(mean)-334.5(for)]TJ
T*
[(remote,)-261.1(and)-256.2(two)-250(percent)-270.1(of)-254.5(the)-253.3(mean)-259.5(for)-259(local.)]TJ
2.5 -1.5375 TD
[(The)-432.8(20ms)-420.5(overhead)-447.9(of)-429.5(TCP/IP)-411.5(on)-425(an)-431.2(Ethernet)-437.8(entirely)-433.3(accounts)-439(for)-434(the)-415.8(difference)-447.8(in)-409.7(speed.)-673.1(The)-420.3(remote)]TJ
-2.5 -1.125 TD
[(traversal)-332.6(times)-308.5(are)-329.3(nearly)-326.5(double)-315.8(the)-315.8(local)-319.1(times)-308.5(because)-335.4(we)-321.5(do)-300(index)-303.3(lookups)-295.5(and)-306.2(part)-307.8(fetches)-318.5(in)-297.2(separate)-324.6(queries.)]TJ
T*
[(It)-314.2(would)-312.5(make)-322(sense)-321.5(to)-309.7(do)-312.5(indexed)-322(searches)-338.3(on)-312.5(the)-303.3(server,)-319.6(but)-297.2(we)-309(were)-319.6(unwilling)-291.5(to)-297.2(hard-code)-327.4(knowledge)-312.3(of)-304.5(OO1)]TJ
T*
[(indices)-267.5(into)-256.8(our)-254.5(LIBTP)-247.2(TCL)-248.8(server.)-519.6(Cold)-242.7(and)-256.2(warm)-260.6(insertion)-250.5(times)-246(are)-266.8(identical)-257.1(since)-257.8(insertions)-248.8(do)-250(not)-247.2(bene)]TJ
/TT7 1 Tf
43.7627 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(t)-253.3(from)]TJ
-44.3188 -1.125 TD
(caching.)Tj
2.5 -1.5375 TD
[(One)-334(interesting)-328.8(difference)-360.3(shown)-326.2(by)-325(table)-331.6(three)-339(is)-320.5(the)-328.3(cost)-326.7(of)-329.5(forward)-347.5(versus)-332.3(backward)-350.8(traversal.)-595.1(When)-337.3(we)]TJ
-2.5 -1.125 TD
[(built)-291.5(the)-303.3(database,)-320.1(we)-296.5(inserted)-297(parts)-293.7(in)-284.7(part)]TJ
/TT6 1 Tf
17.7375 0 TD
(id)Tj
/TT4 1 Tf
1.0625 0 TD
[(order.)-552.6(We)-299.8(built)-279(the)-290.8(indices)-292.5(at)-290.8(the)-290.8(same)-295.3(time.)-535.2(Therefore,)-321.1(the)-290.8(forward)]TJ
-18.8 -1.125 TD
[(index)-303.3(had)-306.2(keys)-304.5(inserted)-309.5(in)-297.2(order,)-315.1(while)-303.3(the)-303.3(backward)-325.8(index)-303.3(had)-306.2(keys)-304.5(inserted)-309.5(more)-295.3(randomly.)-542.5(In-order)-311.6(insertion)-288(is)]TJ
0 -1.325 TD
[(pessimal)-288(for)-296.5(B-tree)-301.5(indices,)-292.5(so)-285.8(the)-290.8(forward)-310(index)-290.8(is)-283(much)-290.8(larger)-306(than)-290.8(the)-290.8(backward)-313.3(one)]TJ
7 0 0 7 423.125 185.375 Tm
(5)Tj
10 0 0 10 426.625 181.375 Tm
[(.)-537.5(This)-272.2(larger)-293.5(size)-282.8(shows)-274.5(up)]TJ
-35.725 -1.125 TD
[(as)-254.5(extra)-264(disk)-245.5(reads)-265.1(in)-247.2(the)-253.3(cold)-253.3(benchmark.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(6.)-500(Conclusions)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(LIBTP)-359.7(provides)-368.7(the)-365.8(basic)-370.3(building)-354(blocks)-364.2(to)-359.7(support)-362.5(transaction)-375.3(protection.)-620.8(In)-367(comparison)-372(with)-359.7(traditional)]TJ
-2.5 -1.125 TD
[(Unix)-387.5(libraries)-398.6(and)-393.7(commercial)-405.3(systems,)-370.5(it)-369.3(offers)-393(a)-381.2(variety)-386.1(of)-379.5(tradeoffs.)-646.3(Using)-373.3(complete)-385(transaction)-387.8(protection)-383.3(is)]TJ
T*
[(more)-345.3(complicated)-350.8(than)-340.8(simply)-327.3(adding)]TJ
/TT2 1 Tf
15.8125 0 TD
(fsync)Tj
/TT4 1 Tf
2.225 0 TD
[(\(2\))-346.5(and)]TJ
/TT11 1 Tf
3.3 0 TD
(�)Tj
/TT2 1 Tf
0.5562 0 TD
(ock)Tj
/TT4 1 Tf
1.4938 0 TD
[(\(2\))-346.5(calls)-342.5(to)-334.7(code,)-337.3(but)-322.2(it)-319.3(is)-320.5(faster)-341.8(in)-322.2(some)-326.7(cases)-340.1(and)-331.2(offers)]TJ
/T1 1 Tf
8 0 0 8 69.375 100 Tm
()Tj
/TT4 1 Tf
5 0 0 5 90.875 90.25 Tm
(5)Tj
8 0 0 8 95.375 87.125 Tm
[(The)-242.2(next)-247.1(release)-224.6(of)-245.1(the)-247.1(4.4BSD)-257.8(access)-227.5(method)-250.5(will)-256.8(automatically)-245.1(detect)-237.8(and)-243.7(compensate)-232.9(for)-240.2(in-order)-232.4(insertion,)-250.5(eliminating)-257.8(this)-258.3(problem.)]TJ
ET
endstream
endobj
78 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
/TT7 7 0 R
/TT11 55 0 R
/T1 8 0 R
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
80 0 obj
<<
/Length 8967
>>
stream
BT
/TT4 1 Tf
10 0 0 10 69.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[(stricter)-298.6(guarantees)-312.1(\(atomicity,)-290.1(consistency,)-297(isolation,)-280.7(and)-293.7(durability\).)-541.3(If)-296.5(the)-290.8(data)-297(to)-284.7(be)-293.7(protected)-304.8(are)-304.3(already)-307.6(format-)]TJ
0 -1.125 TD
[(ted)-278.3(\()]TJ
/TT6 1 Tf
1.8375 0 TD
(i.e.)Tj
/TT4 1 Tf
1.4875 0 TD
[(use)-267(one)-268.7(of)-267(the)-265.8(database)-282.6(access)-283.8(methods\),)-265.8(then)-265.8(adding)-265.8(transaction)-275.3(protection)-270.8(requires)-279.3(no)-262.5(additional)-263.5(complex-)]TJ
-3.325 -1.125 TD
[(ity,)-244.3(but)-247.2(incurs)-256.2(a)-256.2(performance)-285.3(penalty)-256.6(of)-254.5(approximately)-261.6(15%.)]TJ
2.5 -1.5375 TD
[(In)-279.5(comparison)-284.5(with)-272.2(commercial)-292.8(database)-295.1(systems,)-270.5(the)-278.3(tradeoffs)-296.3(are)-291.8(more)-282.8(complex.)-531.6(LIBTP)-272.2(does)-279.5(not)-259.7(currently)]TJ
-2.5 -1.125 TD
[(support)-375(a)-381.2(standard)-387.3(query)-385.6(language.)-640.6(The)-382.8(TCL-based)-389(server)-394.6(process)-388.5(allows)-376.7(a)-381.1(certain)-392.3(ease)-391.8(of)-379.5(use)-379.5(which)-381.2(would)-375(be)]TJ
T*
[(enhanced)-312.1(with)-284.7(a)-293.7(more)-295.3(user-friendly)-310.4(interface)-315.4(\()]TJ
/TT6 1 Tf
18.8625 0 TD
(e.g.)Tj
/TT4 1 Tf
1.7375 0 TD
[(a)-281.2(windows)-276.2(based)-285.6(query-by-form)-300.8(application\),)-286.6(for)-284(which)-281.1(we)-284(have)]TJ
-20.6 -1.125 TD
[(a)-368.7(working)-367(prototype.)-617.5(When)-374.8(accesses)-388.3(do)-362.5(not)-359.7(require)-381(sophisticated)-353.8(query)-360.6(processing,)-360.6(the)-353.3(TCL)-348.8(interface)-377.9(is)-345.5(an)-356.2(ade-)]TJ
T*
[(quate)-347(solution.)-577.3(What)-347(LIBTP)-322.2(fails)-328.3(to)-322.2(provide)-332.8(in)-322.2(functionality,)-327.6(it)-319.3(makes)-332.8(up)-325(for)-334(in)-322.2(performance)-360.3(and)]TJ
/TT7 1 Tf
40.375 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(exibility.)-560.8(Any)]TJ
-40.9312 -1.125 TD
[(application)-257.1(may)-253.3(make)-259.5(use)-254.5(of)-254.5(its)-242.7(record)-271.3(interface)-277.9(or)-254.5(the)-253.3(more)-257.8(primitive)-246.5(log,)-247.2(lock,)-253.3(and)-256.1(buffer)-269.6(calls.)]TJ
2.5 -1.5375 TD
[(Future)-289.2(work)-294.8(will)-281.8(focus)-296.5(on)-275(overcoming)-286.1(some)-276.7(of)-279.5(the)-278.3(areas)-296.3(in)-272.2(which)-281.2(LIBTP)-272.2(is)-270.5(currently)-290.6(de)]TJ
/TT7 1 Tf
35.8438 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cient)-281.6(and)-281.2(extending)]TJ
-38.9 -1.125 TD
[(its)-267.7(transaction)-287.8(model.)-525.5(The)-282.8(addition)-272.7(of)-279.5(an)-268.7(SQL)-260.8(parser)-282.1(and)-268.7(forms)-267(front)-268.7(end)-268.7(will)-256.8(improve)-267.5(the)-265.8(system�s)-262.5(ease)-279.3(of)-267(use)-267(and)]TJ
T*
[(make)-272(it)-256.8(more)-270.3(competitive)-266.8(with)-259.7(commercial)-280.3(systems.)-508(In)-267(the)-265.8(long)-259.7(term,)-267.5(we)-271.5(would)-250(like)-250.5(to)-247.2(add)-256.1(generalized)-279.6(hierarchical)]TJ
T*
[(locking,)-263(nested)-270.3(transactions,)-273.6(parallel)-277(transactions,)-261.1(passing)-250(of)-254.5(transactions)-261.1(between)-268.5(processes,)-268(and)-256.1(distributed)-247.7(commit)]TJ
T*
[(handling.)-563(In)-317(the)-315.8(short)-312.5(term,)-317.5(the)-303.3(next)-303.3(step)-301.7(is)-295.5(to)-297.2(integrate)-314.5(LIBTP)-297.2(with)-297.2(the)-303.3(most)-292.7(recent)-320.1(release)-324.6(of)-304.5(the)-303.3(database)-320.1(access)]TJ
T*
[(routines)-253.3(and)-256.2(make)-259.5(it)-244.3(freely)-268.5(available)-266.1(via)-253.3(anonymous)-251.7(ftp.)]TJ
/TT2 1 Tf
0 -2.325 TD
[(7.)-500(Acknowledgements)]TJ
/TT4 1 Tf
2.5 -1.5375 TD
[(We)-274.8(would)-262.5(like)-263(to)-247.2(thank)-253.3(John)-248.3(Wilkes)-255(and)-256.2(Carl)-253.3(Staelin)-247.7(of)-254.5(Hewlett-Packard)-280.8(Laboratories)-271.8(and)-256.1(Jon)-248.3(Krueger.)-524.1(John)]TJ
-2.5 -1.125 TD
[(and)-293.7(Carl)-290.8(provided)-282.8(us)-273.3(with)-272.2(an)-281.2(extra)-289(disk)-270.5(for)-284(the)-278.3(HP)-271.7(testbed)-280(less)-275(than)-278.3(24)-275(hours)-277.8(after)-293.5(we)-284(requested)-293.5(it.)-269.3(Jon)-273.3(spent)-276.7(count-)]TJ
T*
[(less)-300(hours)-302.8(helping)-288(us)-285.8(understand)-299.8(the)-290.8(intricacies)-303.6(of)-292(commercial)-305.3(database)-307.6(products)-293.6(and)-293.7(their)-292.5(behavior)-301.5(under)-298.1(a)-293.6(variety)]TJ
T*
[(of)-254.5(system)-247.2(con)]TJ
/TT7 1 Tf
5.5563 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
(gurations.)Tj
/TT2 1 Tf
-6.1125 -2.325 TD
[(8.)-500(References)]TJ
/TT4 1 Tf
0 -2.25 TD
[([ANDR89])-338(Andrade,)-344.6(J.,)-310.8(Carges,)-323.1(M.,)-310.8(Kovach,)-327.6(K.,)-315.3(��Building)-308.5(an)-318.7(On-Line)-324.8(Transaction)-329.8(Processing)-317(System)-305.2(On)-315.3(UNIX)]TJ
2.15 -1.125 TD
[(System)-242.7(V��,)]TJ
/TT6 1 Tf
5.0875 0 TD
(CommUNIXations)Tj
/TT4 1 Tf
7.3875 0 TD
0.0021 Tc
[(,)-247.9(November/December)-247.2(1989.)]TJ
-14.625 -2.25 TD
0 Tc
[([BAY77])-260.2(Bayer,)-262.3(R.,)-245.5(Schkolnick,)-250.5(M.,)-248.3(��Concurrency)-281.9(of)-254.5(Operations)-262.3(on)-250(B-Trees��,)]TJ
/TT6 1 Tf
32.5 0 TD
[(Acta)-255(Informatica)]TJ
/TT4 1 Tf
6.8125 0 TD
[(,)-250(1977.)]TJ
-39.3125 -2.25 TD
[([BERN80])-429.5(Bernstein,)-430(P.,)-418.8(Goodman,)-431.2(N.,)-427.8(��Timestamp)-435(Based)-431.2(Algorithms)-406.8(for)-421.5(Concurrency)-435.4(Control)-406.8(in)-409.7(Distributed)]TJ
2.15 -1.125 TD
[(Database)-272.9(Systems��,)]TJ
/TT6 1 Tf
8.4375 0 TD
[(Proceedings)-264(6th)-247.2(International)-247.7(Conference)-265.6(on)-250(Very)-262.3(Large)-248.3(Data)-250(Bases)]TJ
/TT4 1 Tf
27.8125 0 TD
[(,)-250(October)-266.8(1980.)]TJ
-38.4 -2.25 TD
[([BSD91])-251.2(DB\(3\),)]TJ
/TT6 1 Tf
6.925 0 TD
[(4.4BSD)-254.5(Unix)-256.2(Programmer�s)-261.3(Manual)-251.7(Reference)-277.9(Guide)]TJ
/TT4 1 Tf
21.775 0 TD
[(,)-250(University)-253.3(of)-254.5(California,)-258.3(Berkeley,)-265.6(1991.)]TJ
-28.7 -2.25 TD
[([CATT91])-323.1(Cattell,)-309(R.G.G.,)-313.7(��An)-324.3(Engineering)-325.3(Database)-335.4(Benchmark��,)]TJ
/TT6 1 Tf
28.5375 0 TD
[(The)-312.5(Benchmark)-321.3(Handbook)-309(for)-295.5(Database)-304.5(and)]TJ
-26.3875 -1.125 TD
[(Transaction)-241(Processing)-256.2(Systems)]TJ
/TT4 1 Tf
12.95 0 TD
[(,)-250(J)0(.)-248.3(Gray,)-263.5(editor,)-255(Morgan)-259(Kaufman)-266.8(1991.)]TJ
-15.1 -2.25 TD
[([CHEN91])-286.8(Cheng,)-276.7(E.,)-276.7(Chang,)-276.7(E.,)-276.7(Klein,)-265.8(J.,)-260.8(Lee,)-276.5(D.,)-265.3(Lu,)-264.2(E.,)-264.2(Lutgardo,)-272(A.,)-265.3(Obermarck,)-289.9(R.,)-258(��An)-274.3(Open)-271.5(and)-268.7(Extensible)]TJ
2.15 -1.125 TD
[(Event-Based)-265.6(Transaction)-267.3(Manager��,)]TJ
/TT6 1 Tf
15.1125 0 TD
[(Proceedings)-264(1991)-250(Summer)-260.2(Usenix)]TJ
/TT4 1 Tf
13.8375 0 TD
[(,)-250(Nashville,)-255(TN,)-254.5(June)-254.5(1991.)]TJ
-31.1 -2.25 TD
[([CHOU85])-350.5(Chou,)-333(H.,)-340.3(DeWitt,)-331.6(D.,)-327.8(��An)-336.8(Evaluation)-330.5(of)-329.5(Buffer)-340.1(Management)-342.3(Strategies)-331.6(for)-334(Relational)-327.6(Database)-347.9(Sys-)]TJ
2.15 -1.125 TD
(tems��,)Tj
/TT6 1 Tf
3.0625 0 TD
[(Proceedings)-264(of)-247.2(the)-253.3(11th)-247.2(International)-247.7(Conference)-265.6(on)-250(Very)-262.3(Large)-248.3(Databases)]TJ
/TT4 1 Tf
30.45 0 TD
[(,)-250(1985.)]TJ
-35.6625 -2.25 TD
[([DEWI84])-349.1(DeWitt,)-331.6(D.,)-327.8(Katz,)-337.3(R.,)-320.5(Olken,)-331.2(F.,)-318.8(Shapiro,)-326.7(L.,)-326.7(Stonebraker,)-331(M.,)-310.8(Wood,)-318.6(D.,)-315.3(��Implementation)-327.4(Techniques)]TJ
2.15 -1.125 TD
[(for)-259(Main)-251.7(Memory)-256.2(Database)-272.9(Systems��,)]TJ
/TT6 1 Tf
15.925 0 TD
[(Proceedings)-264(of)-247.2(SIGMOD)]TJ
/TT4 1 Tf
10.1375 0 TD
[(,)-250(pp.)-250(1-8,)-254.5(June)-254.5(1984.)]TJ
-28.2125 -2.25 TD
[([GRAY76])-363(Gray,)-363.5(J.,)-348.3(Lorie,)-359.5(R.,)-345.5(Putzolu,)-344.3(F.,)-343.8(and)-356.2(Traiger,)-370.1(I.,)-342(��Granularity)-362.1(of)-342(locks)-339.2(and)-343.7(degrees)-358.8(of)-342(consistency)-347(in)-334.7(a)]TJ
2.15 -1.125 TD
[(large)-276.5(shared)-277.6(data)-272(base��,)]TJ
/TT6 1 Tf
10.075 0 TD
[(Modeling)-267.5(in)-259.7(Data)-262.5(Base)-256.2(Management)-266.8(Systems)]TJ
/TT4 1 Tf
18.2625 0 TD
[(,)-250(Elsevier)-261.1(North)-254.5(Holland,)-253.3(New)-261.8(York,)-257.3(pp.)]TJ
-28.3375 -1.125 TD
(365-394.)Tj
-2.15 -2.25 TD
[([HAER83])-311.8(Haerder,)-330.3(T.)-551.7(Reuter,)-309.5(A.)-552.8(��Principles)-309.5(of)-304.5(Transaction-Oriented)-335.7(Database)-310.4(Recovery��,)]TJ
/TT6 1 Tf
38.7 0 TD
[(Computing)-280.2(Surveys)]TJ
/TT4 1 Tf
7.85 0 TD
(,)Tj
-44.4 -1.125 TD
[(15\(4\);)-256.2(237-318,)-254.5(1983.)]TJ
-2.15 -2.25 TD
[([KUNG81])-295.3(Kung,)-265.3(H.)-265.3(T.,)-264.2(Richardson,)-270.3(J.,)-260.8(��On)-274.3(Optimistic)-252.8(Methods)-262.5(for)-271.5(Concurrency)-285.4(Control��,)]TJ
/TT6 1 Tf
37.95 0 TD
[(ACM)-264.2(Transactions)-251.9(on)]TJ
-35.8 -1.125 TD
[(Database)-254.5(Systems)]TJ
/TT4 1 Tf
7.5125 0 TD
[(6\(2\);)-256.2(213-226,)-254.5(1981.)]TJ
ET
endstream
endobj
81 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
83 0 obj
<<
/Length 8326
>>
stream
BT
/TT4 1 Tf
10 0 0 10 69.375 713.25 Tm
0 g
/GS1 gs
0 Tc
0 Tw
[([LEHM81])-301(Lehman,)-298.6(P.,)-281.3(Yao,)-296.5(S.,)-281.3(��Ef)]TJ
/TT7 1 Tf
15.1224 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(cient)-303.1(Locking)-292.5(for)-296.5(Concurrent)-301.5(Operations)-299.8(on)-287.5(B-trees��,)]TJ
/TT6 1 Tf
22.2215 0 TD
[(ACM)-289.2(Transactions)-276.9(on)]TJ
-35.75 -1.125 TD
[(Database)-254.5(Systems)]TJ
/TT4 1 Tf
7.2625 0 TD
[(,)-250(6\(4\),)-259(December)-279.1(1981.)]TJ
-9.4125 -2.25 TD
[([MOHA91])-390.8(Mohan,)-379.5(C.,)-370.5(Pirahesh,)-381.2(H.,)-377.8(��ARIES-RRH:)-627.8(Restricted)-383.3(Repeating)-383.3(of)-379.5(History)-362.5(in)-359.7(the)-365.8(ARIES)-360.8(Transaction)]TJ
2.15 -1.125 TD
[(Recovery)-268.5(Method��,)]TJ
/TT6 1 Tf
8.3875 0 TD
[(Proceedings)-264(7th)-247.2(International)-247.7(Conference)-265.6(on)-250(Data)-250(Engineering)]TJ
/TT4 1 Tf
25.6375 0 TD
[(,)-250(Kobe,)-259(Japan,)-260.6(April)-251.7(1991.)]TJ
-36.175 -2.25 TD
[([NODI90])-322(Nodine,)-306.2(M.,)-285.8(Zdonik,)-286.3(S.,)-281.3(��Cooperative)-309.3(Transaction)-304.8(Hierarchies:)-313.8(A)-290.3(Transaction)-304.8(Model)-289.2(to)-284.7(Support)-283(Design)]TJ
2.15 -1.125 TD
(Applications��,)Tj
/TT6 1 Tf
6.4375 0 TD
[(Proceedings)-414(16th)-397.2(International)-397.7(Conference)-403.1(on)-387.5(Very)-399.8(Large)-385.8(Data)-387.5(Bases)]TJ
/TT4 1 Tf
29.45 0 TD
[(,)-387.5(Brisbane,)-395.3(Australia,)]TJ
-35.8875 -1.125 TD
[(August)-248.3(1990.)]TJ
-2.15 -2.25 TD
[([OUST90])-322.7(Ousterhout,)-318.7(J.,)-310.8(��Tcl:)-573.6(An)-315.3(Embeddable)-327(Command)-308.5(Language��,)]TJ
/TT6 1 Tf
30.2 0 TD
[(Proceedings)-314(1990)-300(Winter)-303.3(Usenix)]TJ
/TT4 1 Tf
13.425 0 TD
[(,)-300(Wash-)]TJ
-41.475 -1.125 TD
[(ington,)-244.3(D.C.,)-248.3(January)-265.1(1990.)]TJ
-2.15 -2.25 TD
[([POSIX91])-444.3(��Unapproved)-466.1(Draft)-440.1(for)-434(Realtime)-427.6(Extension)-425.5(for)-434(Portable)-430(Operating)-439(Systems��,)-425(Draft)-440.1(11,)-425(October)-441.8(7,)]TJ
2.15 -1.125 TD
[(1991,)-250(IEEE)-259.5(Computer)-250.5(Society.)]TJ
-2.15 -2.25 TD
[([ROSE91])-402.8(Rosenblum,)-394.3(M.,)-398.3(Ousterhout,)-406.2(J.,)-398.3(��The)-416.8(Design)-392(and)-393.7(Implementation)-393.5(of)-392(a)-393.7(Log-Structured)-403.1(File)-381.8(System��,)]TJ
/TT6 1 Tf
2.15 -1.125 TD
[(Proceedings)-264(of)-247.2(the)-253.3(13th)-247.2(Symposium)-257.3(on)-250(Operating)-251.7(Systems)-259(Principles)]TJ
/TT4 1 Tf
27.75 0 TD
[(,)-250(1991.)]TJ
-29.9 -2.25 TD
[([SELT91])-307.8(Seltzer,)-311.1(M.,)-298.3(Stonebraker,)-318.5(M.,)-298.3(��Read)-316.8(Optimized)-303.8(File)-294.3(Systems:)-288.2(A)-302.8(Performance)-316.6(Evaluation��,)]TJ
/TT6 1 Tf
41.7875 0 TD
(Proceedings)Tj
-39.6375 -1.125 TD
[(7th)-247.2(Annual)-248.8(International)-247.7(Conference)-265.6(on)-250(Data)-250(Engineering)]TJ
/TT4 1 Tf
23.5125 0 TD
[(,)-250(Kobe,)-259(Japan,)-260.6(April)-251.7(1991.)]TJ
-25.6625 -2.25 TD
[([SPEC88])-343.8(Spector,)-357.8(Rausch,)-356.2(Bruell,)-350.5(��Camelot:)-355.5(A)-340.3(Flexible,)-335.2(Distributed)-338(Transaction)-354.8(Processing)-342(System��,)]TJ
/TT6 1 Tf
43.1125 0 TD
(Proceed-)Tj
-40.9625 -1.125 TD
[(ings)-245.5(of)-247.2(Spring)-245.5(COMPCON)-248.3(1988)]TJ
/TT4 1 Tf
12.9875 0 TD
[(,)-250(February)-265.1(1988.)]TJ
-15.1375 -2.25 TD
[([SQL86])-282.3(American)-295.1(National)-281.6(Standards)-268.7(Institute,)-260.2(��Database)-294.4(Language)-282.6(SQL��,)-269.8(ANSI)-266.5(X3.135-1986)-269.8(\(ISO)-268.2(9075\),)-267(May)]TJ
2.15 -1.125 TD
(1986.)Tj
-2.15 -2.25 TD
[([STON81])-272.7(Stonebraker,)-281(M.,)-260.8(��Operating)-285.4(System)-255.2(Support)-258(for)-259(Database)-272.9(Management��,)]TJ
/TT6 1 Tf
34.9125 0 TD
[(Communications)-247.2(of)-247.2(the)-253.3(ACM)]TJ
/TT4 1 Tf
11.6375 0 TD
(,)Tj
-44.4 -1.125 TD
(1981.)Tj
-2.15 -2.25 TD
[([SULL92])-459(Sullivan,)-441.5(M.,)-448.3(Olson,)-448.3(M.,)-448.3(��An)-461.8(Index)-460.6(Implementation)-443.5(Supporting)-430.2(Fast)-433(Recovery)-456(for)-446.5(the)-440.8(POSTGRES)]TJ
2.15 -1.125 TD
[(Storage)-532.8(System��,)-526.7(to)-522.2(appear)-547.9(in)]TJ
/TT6 1 Tf
13.7875 0 TD
[(Proceedings)-526.5(8th)-509.7(Annual)-511.3(International)-510.2(Conference)-528.1(on)-512.5(Data)-512.5(Engineering)]TJ
/TT4 1 Tf
30.6125 0 TD
(,)Tj
-44.4 -1.125 TD
[(Tempe,)-261.1(Arizona,)-266.8(February)-265.1(1992.)]TJ
-2.15 -2.25 TD
[([TPCB90])-320.5(Transaction)-342.3(Processing)-329.5(Performance)-354.1(Council,)-321(��TPC)-312.5(Benchmark)-328.1(B��,)-317(Standard)-320.3(Speci)]TJ
/TT7 1 Tf
39.1592 0 TD
(�)Tj
/TT4 1 Tf
0.5561 0 TD
[(cation,)-316.3(Waterside)]TJ
-37.5653 -1.125 TD
[(Associates,)-260.6(Fremont,)-248.8(CA.,)-248.3(1990.)]TJ
-2.15 -2.25 TD
[([YOUN91])-345.3(Young,)-327.8(M.)-323.3(W.,)-331.2(Thompson,)-322.2(D.)-327.8(S.,)-318.8(Jaffe,)-332.1(E.,)-314.2(��A)-324.3(Modular)-318.7(Architecture)-340.4(for)-321.5(Distributed)-313(Transaction)-329.8(Pro-)]TJ
2.15 -1.125 TD
(cessing��,)Tj
/TT6 1 Tf
4.125 0 TD
[(Proceedings)-264(1991)-250(Winter)-253.3(Usenix)]TJ
/TT4 1 Tf
13.275 0 TD
[(,)-250(Dallas,)-257.8(TX,)-254.5(January)-265.1(1991.)]TJ
/TT2 1 Tf
-17.05 -1.5375 TD
[(Margo)-274.8(I.)-260.8(Seltzer)]TJ
/TT4 1 Tf
7.2875 0 TD
[(is)-245.5(a)-256.2(Ph.D.)-246.7(student)-248.8(in)-247.2(the)-253.3(Department)-267.3(of)-254.5(Electrical)-269.4(Engineering)-262.8(and)-256.2(Computer)-250.5(Sciences)-264(at)-253.3(the)]TJ
-9.7875 -1.125 TD
[(University)-328.3(of)-329.5(California,)-333.3(Berkeley.)-590.6(Her)-338.5(research)-356.9(interests)-330(include)]TJ
/TT7 1 Tf
27.25 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-309.7(systems,)-308(databases,)-331(and)-318.7(transaction)-325.3(process-)]TJ
-27.8062 -1.125 TD
[(ing)-359.7(systems.)-608(She)-362.5(spent)-364.2(several)-381(years)-377.6(working)-367(at)-365.8(startup)-365.8(companies)-373.6(designing)-361.3(and)-368.7(implementing)]TJ
/TT7 1 Tf
40.2 0 TD
(�)Tj
/TT4 1 Tf
0.5562 0 TD
[(le)-359.7(systems)-345.5(and)]TJ
-40.7561 -1.125 TD
[(transaction)-287.8(processing)-285.6(software)-282.1(and)-268.7(designing)-261.3(microprocessors.)-533.8(Ms.)-259.2(Seltzer)-273.6(received)-288.8(her)-273.1(AB)-260.8(in)-259.7(Applied)-265.8(Mathemat-)]TJ
T*
0.0017 Tc
[(ics)-250(from)-254.5(Harvard/Radcliffe)]TJ
11.125 0 TD
0 Tc
[(College)-252.1(in)-247.2(1983.)]TJ
-8.625 -1.5375 TD
[(In)-292(her)-298.1(spare)-290.1(time,)-272.7(Margo)-284(can)-287.3(usually)-273.8(be)-281.1(found)-279.5(preparing)-293.5(massive)-278.3(quantities)-274.3(of)-279.5(food)-279.5(for)-284(hungry)-279.5(hordes,)-284(study-)]TJ
-2.5 -1.125 TD
[(ing)-247.2(Japanese,)-271.3(or)-254.5(playing)-250.5(soccer)-271.3(with)-247.2(an)-256.2(exciting)-253.8(Bay)-251.7(Area)-269.6(Women�s)-262.3(Soccer)-266.8(team,)-256.6(the)-253.3(Berkeley)-265.6(Bruisers.)]TJ
/TT2 1 Tf
2.5 -2.6625 TD
[(Michael)-319.1(A.)-315.3(Olson)]TJ
/TT4 1 Tf
7.85 0 TD
[(is)-308(a)-318.7(Master�s)-326(student)-311.3(in)-297.2(the)-303.3(Department)-317.3(of)-304.5(Electrical)-319.4(Engineering)-312.8(and)-306.2(Computer)-300.5(Sciences)]TJ
-10.35 -1.125 TD
[(at)-403.3(the)-390.8(University)-390.8(of)-392(California,)-395.8(Berkeley.)-653.1(His)-385.8(primary)-397(interests)-392.5(are)-404.3(database)-407.6(systems)-383(and)-393.7(mass)-387.5(storage)-399.8(systems.)]TJ
T*
[(Mike)-439.2(spent)-439.2(two)-437.5(years)-452.6(working)-442(for)-446.5(a)-443.7(commercial)-455.3(database)-457.6(system)-434.7(vendor)-448.1(before)-458.8(joining)-416.5(the)-428.3(Postgres)-423.3(Research)]TJ
T*
[(Group)-257.3(at)-253.3(Berkeley)-265.6(in)-247.2(1988.)-500(He)-259(received)-276.3(his)-245.5(B.A.)-248.3(in)-247.2(Computer)-250.5(Science)-265.6(from)-256.2(Berkeley)-265.6(in)-247.2(May)-254.5(1991.)]TJ
2.5 -1.5375 TD
[(Mike)-264.2(only)-259.7(recently)-279.8(transferred)-294.4(into)-256.8(Sin)-253.5(City,)-252.3(but)-247.2(is)-245.5(rapidly)-255(adopting)-250.5(local)-256.6(customs)-247.2(and)-256.2(coloration.)-508.3(In)-254.5(his)-245.5(spare)]TJ
-2.5 -1.125 TD
[(time,)-310.2(he)-318.7(organizes)-331(informal)-319.1(Friday)-314.2(afternoon)-318.5(study)-295.5(groups)-302.8(to)-297.2(discuss)-298.3(recent)-320.1(technical)-316.1(and)-306.2(economic)-312.8(developments.)]TJ
T*
[(Among)-250(his)-245.5(hobbies)-251.7(are)-266.8(Charles)-257.8(Dickens,)-260.6(Red)-251.7(Rock,)-251.7(and)-256.2(speaking)-257.8(Dutch)-256.2(to)-247.2(anyone)-262.3(who)-252.8(will)-244.3(permit)-252.1(it.)]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
>>
/ExtGState <<
/GS1 9 0 R
>>
>>
endobj
32 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 128
/BitsPerComponent 1
/ImageMask true
/Length 129
>>
stream
�ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff�
endstream
endobj
35 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 128
/BitsPerComponent 1
/ImageMask true
/Length 129
>>
stream
���������������������������������������������������������������������������������
endstream
endobj
34 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 52
/BitsPerComponent 1
/ImageMask true
/Length 53
>>
stream
�ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff��ff�
endstream
endobj
33 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 128
/BitsPerComponent 1
/ImageMask true
/Length 129
>>
stream
����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�
endstream
endobj
36 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 60
/BitsPerComponent 1
/ImageMask true
/Length 61
>>
stream
��������������������������������������
endstream
endobj
37 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 44
/BitsPerComponent 1
/ImageMask true
/Length 45
>>
stream
����߿�����߿�����߿�����߿�����߿�����
endstream
endobj
38 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 128
/BitsPerComponent 1
/ImageMask true
/Length 129
>>
stream
����������������������������������������������������������������������������������
endstream
endobj
44 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 104
/BitsPerComponent 1
/ImageMask true
/Length 105
>>
stream
����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�
endstream
endobj
43 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 16
/BitsPerComponent 1
/ImageMask true
/Length 17
>>
stream
�ff��ff��ff��ff�
endstream
endobj
42 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 6
/Height 128
/BitsPerComponent 1
/ImageMask true
/Length 129
>>
stream
����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�
endstream
endobj
45 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 6
/Height 104
/BitsPerComponent 1
/ImageMask true
/Length 105
>>
stream
����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�
endstream
endobj
46 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 128
/BitsPerComponent 1
/ImageMask true
/Length 129
>>
stream
��������������������������������������������������������������������������������������������������
endstream
endobj
62 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 128
/BitsPerComponent 1
/ImageMask true
/Length 129
>>
stream
��������������������������������������������������������������������������������
endstream
endobj
61 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 512
/BitsPerComponent 1
/ImageMask true
/Length 513
>>
stream
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
endstream
endobj
63 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 62
/BitsPerComponent 1
/ImageMask true
/Length 63
>>
stream
������������������������������������������������
endstream
endobj
64 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 6
/Height 128
/BitsPerComponent 1
/ImageMask true
/Length 129
>>
stream
����������������������������������������������������������������������������������
endstream
endobj
68 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 110
/BitsPerComponent 1
/ImageMask true
/Length 111
>>
stream
����������������������������������������������������������������������
endstream
endobj
65 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 62
/BitsPerComponent 1
/ImageMask true
/Length 63
>>
stream
����������������������������������������
endstream
endobj
66 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 6
/Height 62
/BitsPerComponent 1
/ImageMask true
/Length 63
>>
stream
����������������������������������������
endstream
endobj
67 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 30
/BitsPerComponent 1
/ImageMask true
/Length 31
>>
stream
�ff��ff��ff��ff��ff��ff��ff��f
endstream
endobj
69 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 8
/Height 78
/BitsPerComponent 1
/ImageMask true
/Length 79
>>
stream
����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿�����߿
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
85 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
86 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
87 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
88 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
89 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
90 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
91 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
92 0 obj
<<
/ProcSet [/PDF ]
>>
endobj
8 0 obj
<<
/Name /T1
/Type /Font
/Subtype /Type3
/Resources 92 0 R
/FontBBox [-26 -26 90 90]
/FontMatrix [0.01 0 0 0.01 0 0]
/FirstChar 0
/LastChar 3
/Encoding 93 0 R
/CharProcs 94 0 R
/Widths [50 50 35 0 ]
>>
endobj
93 0 obj
<<
/Type /Encoding
/Differences [0/ru /ul /bu /br ]
>>
endobj
94 0 obj
<<
/ru 95 0 R
/ul 96 0 R
/bu 97 0 R
/br 98 0 R
>>
endobj
95 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
96 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
97 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
98 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 37
/LastChar 122
/Widths [1000 0 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 778 778 389 0 778 667 944 722 778 611 0 722 556 667 
722 722 1000 722 722 0 333 0 333 0 0 0 500 556 444 556 
444 333 500 556 278 0 556 278 833 556 500 556 0 444 389 333 
556 500 722 500 500 444 ]
/Encoding /WinAnsiEncoding
/BaseFont /Times-Bold
/FontDescriptor 85 0 R
>>
endobj
5 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 37
/LastChar 146
/Widths [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 611 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 86 0 R
>>
endobj
6 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 41
/LastChar 146
/Widths [333 0 0 250 333 250 0 500 500 500 500 500 0 500 500 500 
500 0 0 0 0 0 0 0 611 611 667 722 611 0 722 722 
333 0 0 556 833 667 722 611 0 611 500 556 722 611 833 611 
0 0 0 0 0 0 500 0 500 500 444 500 444 278 500 500 
278 0 444 278 722 500 500 500 0 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 87 0 R
>>
endobj
7 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 222
/LastChar 223
/Widths [556 556 ]
/Encoding /MacRomanEncoding
/BaseFont /Times-Roman
/FontDescriptor 88 0 R
>>
endobj
50 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 38
/LastChar 121
/Widths [600 0 600 600 600 0 600 600 0 600 600 0 0 0 0 0 
0 0 0 0 0 600 0 600 0 0 0 600 600 600 600 600 
600 0 0 600 0 600 600 600 600 600 600 0 600 600 600 600 
0 600 0 600 0 0 0 0 0 600 0 600 600 600 600 600 
600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 
600 600 600 600 ]
/Encoding /WinAnsiEncoding
/BaseFont /Courier
/FontDescriptor 89 0 R
>>
endobj
51 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 222
/LastChar 223
/Widths [500 500 ]
/Encoding /MacRomanEncoding
/BaseFont /Times-Italic
/FontDescriptor 90 0 R
>>
endobj
55 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 223
/LastChar 223
/Widths [556 ]
/Encoding /MacRomanEncoding
/BaseFont /Times-Bold
/FontDescriptor 91 0 R
>>
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
14 0 obj
<<
/Type /Page
/Parent 10 0 R
/Resources 16 0 R
/Contents 15 0 R
>>
endobj
17 0 obj
<<
/Type /Page
/Parent 10 0 R
/Resources 19 0 R
/Contents 18 0 R
>>
endobj
20 0 obj
<<
/Type /Page
/Parent 10 0 R
/Resources 22 0 R
/Contents 21 0 R
>>
endobj
23 0 obj
<<
/Type /Page
/Parent 10 0 R
/Resources 25 0 R
/Contents 24 0 R
>>
endobj
26 0 obj
<<
/Type /Page
/Parent 10 0 R
/Resources 28 0 R
/Contents 27 0 R
>>
endobj
29 0 obj
<<
/Type /Page
/Parent 10 0 R
/Resources 31 0 R
/Contents 30 0 R
>>
endobj
39 0 obj
<<
/Type /Page
/Parent 10 0 R
/Resources 41 0 R
/Contents 40 0 R
>>
endobj
47 0 obj
<<
/Type /Page
/Parent 10 0 R
/Resources 49 0 R
/Contents 48 0 R
>>
endobj
52 0 obj
<<
/Type /Page
/Parent 57 0 R
/Resources 54 0 R
/Contents 53 0 R
>>
endobj
58 0 obj
<<
/Type /Page
/Parent 57 0 R
/Resources 60 0 R
/Contents 59 0 R
>>
endobj
70 0 obj
<<
/Type /Page
/Parent 57 0 R
/Resources 72 0 R
/Contents 71 0 R
>>
endobj
73 0 obj
<<
/Type /Page
/Parent 57 0 R
/Resources 75 0 R
/Contents 74 0 R
>>
endobj
76 0 obj
<<
/Type /Page
/Parent 57 0 R
/Resources 78 0 R
/Contents 77 0 R
>>
endobj
79 0 obj
<<
/Type /Page
/Parent 57 0 R
/Resources 81 0 R
/Contents 80 0 R
>>
endobj
82 0 obj
<<
/Type /Page
/Parent 57 0 R
/Resources 84 0 R
/Contents 83 0 R
>>
endobj
99 0 obj
<<
/S /D
>>
endobj
100 0 obj
<<
/Nums [0 99 0 R ]
>>
endobj
10 0 obj
<<
/Type /Pages
/Kids [1 0 R 11 0 R 14 0 R 17 0 R 20 0 R 23 0 R 26 0 R 29 0 R 39 0 R 47 0 R]
/Count 10
/Parent 56 0 R
>>
endobj
57 0 obj
<<
/Type /Pages
/Kids [52 0 R 58 0 R 70 0 R 73 0 R 76 0 R 79 0 R 82 0 R]
/Count 7
/Parent 56 0 R
>>
endobj
56 0 obj
<<
/Type /Pages
/Kids [10 0 R 57 0 R ]
/Count 17
/MediaBox [0 0 612 792]
>>
endobj
101 0 obj
<<
/CreationDate (D:20090603204343-07'00')
/ModDate (D:20090603204343-07'00')
/Producer (Apple pstopdf)
>>
endobj
102 0 obj
<<
/Type /Catalog
/Pages 56 0 R
/PageLabels 100 0 R
>>
endobj
xref
0 103
0000000000 65535 f 
0000244719 00000 n 
0000000016 00000 n 
0000010056 00000 n 
0000242232 00000 n 
0000242708 00000 n 
0000243256 00000 n 
0000243757 00000 n 
0000241340 00000 n 
0000239772 00000 n 
0000246213 00000 n 
0000244800 00000 n 
0000010194 00000 n 
0000021753 00000 n 
0000244884 00000 n 
0000021881 00000 n 
0000034738 00000 n 
0000244968 00000 n 
0000034856 00000 n 
0000046033 00000 n 
0000245052 00000 n 
0000046162 00000 n 
0000055850 00000 n 
0000245136 00000 n 
0000055989 00000 n 
0000069341 00000 n 
0000245220 00000 n 
0000069470 00000 n 
0000080460 00000 n 
0000245304 00000 n 
0000080599 00000 n 
0000099539 00000 n 
0000234509 00000 n 
0000235238 00000 n 
0000235047 00000 n 
0000234778 00000 n 
0000235507 00000 n 
0000235706 00000 n 
0000235889 00000 n 
0000245388 00000 n 
0000099785 00000 n 
0000122712 00000 n 
0000236558 00000 n 
0000236403 00000 n 
0000236158 00000 n 
0000236827 00000 n 
0000237072 00000 n 
0000245472 00000 n 
0000122950 00000 n 
0000132329 00000 n 
0000243931 00000 n 
0000244373 00000 n 
0000245556 00000 n 
0000132493 00000 n 
0000143633 00000 n 
0000244549 00000 n 
0000246466 00000 n 
0000246350 00000 n 
0000245640 00000 n 
0000143764 00000 n 
0000177072 00000 n 
0000237610 00000 n 
0000237341 00000 n 
0000238263 00000 n 
0000238464 00000 n 
0000238984 00000 n 
0000239185 00000 n 
0000239386 00000 n 
0000238733 00000 n 
0000239555 00000 n 
0000245724 00000 n 
0000177388 00000 n 
0000194407 00000 n 
0000245808 00000 n 
0000194546 00000 n 
0000205207 00000 n 
0000245892 00000 n 
0000205346 00000 n 
0000216700 00000 n 
0000245976 00000 n 
0000216852 00000 n 
0000225872 00000 n 
0000246060 00000 n 
0000226001 00000 n 
0000234380 00000 n 
0000239912 00000 n 
0000240114 00000 n 
0000240311 00000 n 
0000240511 00000 n 
0000240708 00000 n 
0000240899 00000 n 
0000241099 00000 n 
0000241301 00000 n 
0000241557 00000 n 
0000241628 00000 n 
0000241694 00000 n 
0000241810 00000 n 
0000241930 00000 n 
0000242115 00000 n 
0000246144 00000 n 
0000246172 00000 n 
0000246558 00000 n 
0000246682 00000 n 
trailer
<<
/Size 103
/Root 102 0 R
/Info 101 0 R
/ID [<0d94d9ea62b94f9b62e24b66524dea15><0d94d9ea62b94f9b62e24b66524dea15>]
>>
startxref
246754
%%EOF

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists