2 %%Creator: utopia:margo (& Seltzer,608-13E,8072,)
3 %%Title: stdin (ditroff)
4 %%CreationDate: Thu Dec 12 15:32:11 1991
6 % @(#)psdit.pro 1.3 4/15/88
7 % lib/psdit.pro -- prolog for psdit (ditroff) files
8 % Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved.
9 % last edit: shore Sat Nov 23 20:28:03 1985
10 % RCSID: $FreeBSD: src/lib/libc/db/docs/libtp.usenix.ps,v 1.2 1999/08/28 05:03:15 peter Exp $
11 % RCSID: $DragonFly: src/lib/libc/db/docs/libtp.usenix.ps,v 1.2 2003/06/17 04:26:41 dillon Exp $
13 % Changed by Edward Wang (edward@ucbarpa.berkeley.edu) to handle graphics,
16 /$DITroff 140 dict def $DITroff begin
17 /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
18 /xi{0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
19 /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F
20 /pagesave save def}def
21 /PB{save /psv exch def currentpoint translate
22 resolution 72 div dup neg scale 0 0 moveto}def
24 /arctoobig 90 def /arctoosmall .05 def
25 /m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
26 /tan{dup sin exch cos div}def
27 /point{resolution 72 div mul}def
28 /dround {transform round exch round exch itransform}def
29 /xT{/devname exch def}def
30 /xr{/mh exch def /my exch def /resolution exch def}def
32 /xs{docsave restore end}def
34 /xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
35 {fonts slotno fontname findfont put fontnames slotno fontname put}if}def
36 /xH{/fontheight exch def F}def
37 /xS{/fontslant exch def F}def
38 /s{/fontsize exch def /fontheight fontsize def F}def
39 /f{/fontnum exch def F}def
40 /F{fontheight 0 le{/fontheight fontsize def}if
41 fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
42 fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
43 makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}def
44 /X{exch currentpoint exch pop moveto show}def
45 /N{3 1 roll moveto show}def
46 /Y{exch currentpoint pop exch moveto show}def
48 /ditpush{}def/ditpop{}def
49 /AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}def
50 /AN{4 2 roll moveto 0 exch ashow}def
51 /AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}def
53 /MX{currentpoint exch pop moveto}def
54 /MY{currentpoint pop exch moveto}def
56 /cb{pop}def % action on unknown char -- nothing for now
58 /p{pop showpage pagesave restore /pagesave save def}def
59 /Dt{/Dlinewidth exch def}def 1 Dt
60 /Ds{/Ddash exch def}def -1 Ds
61 /Di{/Dstipple exch def}def 1 Di
62 /Dsetlinewidth{2 Dlinewidth mul setlinewidth}def
63 /Dsetdash{Ddash 4 eq{[8 12]}{Ddash 16 eq{[32 36]}
64 {Ddash 20 eq{[32 12 8 12]}{[]}ifelse}ifelse}ifelse 0 setdash}def
65 /Dstroke{gsave Dsetlinewidth Dsetdash 1 setlinecap stroke grestore
66 currentpoint newpath moveto}def
67 /Dl{rlineto Dstroke}def
68 /arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop
69 currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
70 currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def
71 /Dc{dup arcellipse Dstroke}def
72 /De{arcellipse Dstroke}def
73 /Da{/endv exch def /endh exch def /centerv exch def /centerh exch def
74 /cradius centerv centerv mul centerh centerh mul add sqrt def
75 /eradius endv endv mul endh endh mul add sqrt def
76 /endang endv endh atan def
77 /startang centerv neg centerh neg atan def
78 /sweep startang endang sub dup 0 lt{360 add}if def
80 {/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def
81 /midh midang cos midrad mul def /midv midang sin midrad mul def
82 midh neg midv neg endh endv centerh centerv midh midv Da
85 {/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def
86 centerv neg controldelt mul centerh controldelt mul
87 endv neg controldelt mul centerh add endh add
88 endh controldelt mul centerv add endv add
89 centerh endh add centerv endv add rcurveto Dstroke}
90 {centerh endh add centerv endv add rlineto Dstroke}
100 [8<0000800100001008>]
101 [8<81c36666c3810000>]
102 [8<0f0e0c0800000000>]
103 [8<0000000000000010>]
104 [8<0411040040114000>]
105 [8<0204081020408001>]
106 [8<0000001038100000>]
107 [8<6699996666999966>]
108 [8<0000800100001008>]
109 [8<81c36666c3810000>]
110 [8<0f0e0c0800000000>]
111 [8<0042660000246600>]
112 [8<0000990000990000>]
113 [8<0804020180402010>]
114 [8<2418814242811824>]
115 [8<6699996666999966>]
116 [8<8000000008000000>]
117 [8<00001c3e363e1c00>]
118 [8<0000000000000000>]
119 [32<00000040000000c00000004000000040000000e0000000000000000000000000>]
120 [32<00000000000060000000900000002000000040000000f0000000000000000000>]
121 [32<000000000000000000e0000000100000006000000010000000e0000000000000>]
122 [32<00000000000000002000000060000000a0000000f00000002000000000000000>]
123 [32<0000000e0000000000000000000000000000000f000000080000000e00000001>]
124 [32<0000090000000600000000000000000000000000000007000000080000000e00>]
125 [32<00010000000200000004000000040000000000000000000000000000000f0000>]
126 [32<0900000006000000090000000600000000000000000000000000000006000000>]]
128 [8<0000020000000000>]
129 [8<0000020000002000>]
130 [8<0004020000002000>]
131 [8<0004020000402000>]
132 [8<0004060000402000>]
133 [8<0004060000406000>]
134 [8<0006060000406000>]
135 [8<0006060000606000>]
136 [8<00060e0000606000>]
137 [8<00060e000060e000>]
138 [8<00070e000060e000>]
139 [8<00070e000070e000>]
140 [8<00070e020070e000>]
141 [8<00070e020070e020>]
142 [8<04070e020070e020>]
143 [8<04070e024070e020>]
144 [8<04070e064070e020>]
145 [8<04070e064070e060>]
146 [8<06070e064070e060>]
147 [8<06070e066070e060>]
148 [8<06070f066070e060>]
149 [8<06070f066070f060>]
150 [8<060f0f066070f060>]
151 [8<060f0f0660f0f060>]
152 [8<060f0f0760f0f060>]
153 [8<060f0f0760f0f070>]
154 [8<0e0f0f0760f0f070>]
155 [8<0e0f0f07e0f0f070>]
156 [8<0e0f0f0fe0f0f070>]
157 [8<0e0f0f0fe0f0f0f0>]
158 [8<0f0f0f0fe0f0f0f0>]
159 [8<0f0f0f0ff0f0f0f0>]
160 [8<1f0f0f0ff0f0f0f0>]
161 [8<1f0f0f0ff1f0f0f0>]
162 [8<1f0f0f8ff1f0f0f0>]
163 [8<1f0f0f8ff1f0f0f8>]
164 [8<9f0f0f8ff1f0f0f8>]
165 [8<9f0f0f8ff9f0f0f8>]
166 [8<9f0f0f9ff9f0f0f8>]
167 [8<9f0f0f9ff9f0f0f9>]
168 [8<9f8f0f9ff9f0f0f9>]
169 [8<9f8f0f9ff9f8f0f9>]
170 [8<9f8f1f9ff9f8f0f9>]
171 [8<9f8f1f9ff9f8f1f9>]
172 [8<bf8f1f9ff9f8f1f9>]
173 [8<bf8f1f9ffbf8f1f9>]
174 [8<bf8f1fdffbf8f1f9>]
175 [8<bf8f1fdffbf8f1fd>]
176 [8<ff8f1fdffbf8f1fd>]
177 [8<ff8f1fdffff8f1fd>]
178 [8<ff8f1ffffff8f1fd>]
179 [8<ff8f1ffffff8f1ff>]
180 [8<ff9f1ffffff8f1ff>]
181 [8<ff9f1ffffff9f1ff>]
182 [8<ff9f9ffffff9f1ff>]
183 [8<ff9f9ffffff9f9ff>]
184 [8<ffbf9ffffff9f9ff>]
185 [8<ffbf9ffffffbf9ff>]
186 [8<ffbfdffffffbf9ff>]
187 [8<ffbfdffffffbfdff>]
188 [8<ffffdffffffbfdff>]
189 [8<ffffdffffffffdff>]
190 [8<fffffffffffffdff>]
191 [8<ffffffffffffffff>]]
193 [8<8000000000000000>]
194 [8<0822080080228000>]
195 [8<0204081020408001>]
196 [8<40e0400000000000>]
198 [8<8001000010080000>]
199 [8<81c36666c3810000>]
200 [8<f0e0c08000000000>]
201 [16<07c00f801f003e007c00f800f001e003c007800f001f003e007c00f801f003e0>]
202 [16<1f000f8007c003e001f000f8007c003e001f800fc007e003f001f8007c003e00>]
203 [8<c3c300000000c3c3>]
204 [16<0040008001000200040008001000200040008000000100020004000800100020>]
205 [16<0040002000100008000400020001800040002000100008000400020001000080>]
206 [16<1fc03fe07df0f8f8f07de03fc01f800fc01fe03ff07df8f87df03fe01fc00f80>]
208 [8<8040201000000000>]
209 [8<84cc000048cc0000>]
210 [8<9900009900000000>]
211 [8<08040201804020100800020180002010>]
212 [8<2418814242811824>]
214 [8<8000000008000000>]
215 [8<70f8d8f870000000>]
216 [8<0814224180402010>]
217 [8<aa00440a11a04400>]
218 [8<018245aa45820100>]
219 [8<221c224180808041>]
221 [8<0855800080550800>]
222 [8<2844004482440044>]
223 [8<0810204080412214>]
226 transform /maxy exch def /maxx exch def
227 transform /miny exch def /minx exch def
228 minx maxx gt{/minx maxx /maxx minx def def}if
229 miny maxy gt{/miny maxy /maxy miny def def}if
230 Dpatterns Dstipple 1 sub get exch 1 sub get
231 aload pop /stip exch def /stipw exch def /stiph 128 def
232 /imatrix[stipw 0 0 stiph 0 0]def
233 /tmatrix[stipw 0 0 stiph 0 0]def
234 /minx minx cvi stiph idiv stiph mul def
235 /miny miny cvi stipw idiv stipw mul def
236 gsave eoclip 0 setgray
238 tmatrix exch 5 exch put
240 tmatrix exch 4 exch put tmatrix setmatrix
241 stipw stiph true imatrix {stip} imagemask
246 /Dp{Dfill Dstroke}def
247 /DP{Dfill currentpoint newpath moveto}def
250 /ditstart{$DITroff begin
251 /nfonts 60 def % NFONTS makedev/ditroff dependent!
252 /fonts[nfonts{0}repeat]def
253 /fontnames[nfonts{()}repeat]def
259 /pswid exch def /cc exch def /name exch def
260 /ditwid pswid fontsize mul resolution mul 72000 div def
261 /ditsiz fontsize resolution mul 72 div def
262 ocprocs name known{ocprocs name get exec}{name cb}ifelse
264 /fractm [.65 0 0 .6 0 0] def
266 /fden exch def /fnum exch def gsave /cf currentfont def
267 cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
268 fnum show rmoveto currentfont cf setfont(\244)show setfont fden show
269 grestore ditwid 0 rmoveto
271 /oce{grestore ditwid 0 rmoveto}def
273 /ocprocs 50 dict def ocprocs begin
274 (14){(1)(4)fraction}def
275 (12){(1)(2)fraction}def
276 (34){(3)(4)fraction}def
277 (13){(1)(3)fraction}def
278 (23){(2)(3)fraction}def
279 (18){(1)(8)fraction}def
280 (38){(3)(8)fraction}def
281 (58){(5)(8)fraction}def
282 (78){(7)(8)fraction}def
283 (sr){gsave 0 .06 dm rmoveto(\326)show oce}def
284 (is){gsave 0 .15 dm rmoveto(\362)show oce}def
285 (->){gsave 0 .02 dm rmoveto(\256)show oce}def
286 (<-){gsave 0 .02 dm rmoveto(\254)show oce}def
287 (==){gsave 0 .05 dm rmoveto(\272)show oce}def
288 (uc){gsave currentpoint 400 .009 dm mul add translate
289 8 -8 scale ucseal oce}def
292 % an attempt at a PostScript FONT to implement ditroff special chars
293 % this will enable us to
294 % cache the little buggers
295 % generate faster, more compact PS out of psdit
296 % confuse everyone (including myself)!
299 /FontName /DIThacks def
300 /FontMatrix [.001 0 0 .001 0 0] def
301 /FontBBox [-260 -260 900 900] def% a lie but ...
302 /Encoding 256 array def
303 0 1 255{Encoding exch /.notdef put}for
305 dup 8#040/space put %space
306 dup 8#110/rc put %right ceil
307 dup 8#111/lt put %left top curl
308 dup 8#112/bv put %bold vert
309 dup 8#113/lk put %left mid curl
310 dup 8#114/lb put %left bot curl
311 dup 8#115/rt put %right top curl
312 dup 8#116/rk put %right mid curl
313 dup 8#117/rb put %right bot curl
314 dup 8#120/rf put %right floor
315 dup 8#121/lf put %left floor
316 dup 8#122/lc put %left ceil
317 dup 8#140/sq put %square
318 dup 8#141/bx put %box
319 dup 8#142/ci put %circle
320 dup 8#143/br put %box rule
321 dup 8#144/rn put %root extender
322 dup 8#145/vr put %vertical rule
323 dup 8#146/ob put %outline bullet
324 dup 8#147/bu put %bullet
325 dup 8#150/ru put %rule
326 dup 8#151/ul put %underline
330 /cc exch def /fd exch def
331 /charname fd /Encoding get cc get def
332 /charwid fd /Metrics get charname get def
333 /charproc fd /CharProcs get charname get def
334 charwid 0 fd /FontBBox get aload pop setcachedevice
335 2 setlinejoin 40 setlinewidth
336 newpath 0 0 moveto gsave charproc grestore
338 /BuildChar load 0 DITfd put
339 /CharProcs 50 dict def
344 /rn{0 840 moveto 500 0 rls}def
345 /vr{0 800 moveto 0 -770 rls}def
346 /bv{0 800 moveto 0 -1000 rls}def
347 /br{0 840 moveto 0 -1000 rls}def
348 /ul{0 -140 moveto 500 0 rls}def
349 /ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
350 /bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
351 /sq{80 0 rmoveto currentpoint dround newpath moveto
352 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
353 /bx{80 0 rmoveto currentpoint dround newpath moveto
354 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
355 /ci{500 360 rmoveto currentpoint newpath 333 0 360 arc
356 50 setlinewidth stroke}def
358 /lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def
359 /lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def
360 /rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def
361 /rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def
362 /lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub
363 0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
364 /rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub
365 0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
366 /lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def
367 /rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
368 /lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def
369 /rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
372 /Metrics 50 dict def Metrics begin
399 /s2 500 def /s4 250 def /s3 333 def
400 /a4p{arcto pop pop pop pop}def
402 /rls{rlineto stroke}def
403 /currx{currentpoint pop}def
404 /dround{transform round exch round exch itransform} def
407 /DIThacks exch definefont pop
412 2(Times-Italic)xf 2 f
414 4(Times-BoldItalic)xf 4 f
416 6(Helvetica-Bold)xf 6 f
418 8(Courier-Bold)xf 8 f
446 1800 1590(University)N
454 755 2001(Transactions)N
507 1860(implementation,)X
514 3623(non-proprietary)X
535 555 2451(benchmark,)N
561 2030(modi\256cations)X
578 755 2940(Transactions)N
590 3272(multi-operation)X
672 1358(indistinguishable)X
684 555 3480(sequentially.)N
762 555 4086(traditional)N
771 2676(recoverability)X
816 3060 0.4531(reference)AX
923 1617 0.2841(``check-in'')AX
981 555 5199(preserved.)N
1031 555 5469(rewriting)N
1051 555 5541(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
1162 2965(consequences.)X
1200 1867(applications,)X
1209 555 1293(transaction)N
1293 3888(architectures)X
1294 555 1962 0.1172([SPEC88][NODI90][CHEN91][MOHA91].)AN
1308 555 2052(interactions)N
1319 2941(implementation)X
1327 1492(\(write-ahead)X
1352 555 2355(adequately.)N
1584 1710(log-structured)X
1586 2558(extent-based,)X
1613 2449(implementation)X
1619 555 3771(tremendously.)N
1662 555 4074(distributed)N
1679 555 4164([ANDR89].)N
1682 870(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1744 870(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1773 870(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1802 870(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1870 3501(implementation)X
1944 3600(implementations,)X
1956 2614(descriptions.)X
2004 1528(modi\256cations)X
2023 1019(modi\256cations)X
2070 755 2547(Non-logging)N
2132 1274(Unfortunately,)X
2189 555 3120(non-logging)N
2310 3320 0.3125(``records'')AX
2328 2931(space-ef\256cient)X
2377 2215(before-images,)X
2403 2991(before-image\).)X
2412 1374(transaction's)X
2429 555 4356(\(reapply)N
2435 2113(before-images)X
2444 555 4446(mentioned)N
2458 1247(after-images,)X
2482 1969(after-image\),)X
2551 2342(consideration)X
2592 2230(insuf\256cient)X
2621 650(pre-transaction)X
2642 555 5625(write-ahead)N
2704 2461(ef\256ciently)X
2720 1032(log-structured)X
2746 555 1119(accesses.)N
2760 555 1209(timestamp)N
2789 555 1389(suboptimal)N
2881 555 1872(just-split)N
2958 555 2265(confusion.)N
2977 555 2355(guarantee)N
3123 1880(transactions.)X
3164 555 3444(execution.)N
3168 1520(non-two-phase)X
3198 555 3624(transactions)N
3216 555 3714(described)N
3233 555 3804(currency.)N
3253 3213(concurrently.)X
3293 555 4383(frequently)N
3332 1217(Additionally,)X
3376 1893(functionality)X
3411 555 5142(management)N
3471 555 5412(architecture)N
3481 1851 1520(log_commit)N
3482 2764 2077(buf_unpin)N
3484 3633 1408(buf_unpin)N
3526 1851 1609(log_unroll)N
3544 3277 2455(sleep_on)N
3557 1426 2455(sleep_on)N
3608 2497 2322(sleep_on)N
3622 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
3727 1065 0.4028(referenced)AX
3832 3094(implementation)X
3837 555 4342(Log_unroll)N
3905 3002(least-recently-used)X
3927 555 5011(suggested)N
4111 1387(implementation)X
4118 2950(granularities)X
4216 2922(lock_unlock_all)X
4246 3519(lock_downgrade)X
4280 1232(Lock_unlock_all)X
4336 555 2265(descheduled.)N
4355 555 2355(sophisticated)N
4390 555 2535(ef\256ciently)N
4442 1159(transactions,)X
4446 2467(identi\256ers,)X
4471 3625(identi\256er,)X
4474 555 3114(per-process)N
4485 3241(transactions,)X
4490 555 3204(transaction)N
4536 555 3384(committing\))N
4545 2007(identi\256er.)X
4602 2479(transaction's)X
4608 3776(modi\256cations)X
4621 2151(lock_unlock_all)X
4626 3127(transaction's)X
4652 555 4176(modi\256ed)N
4696 555 4356(associated)N
4717 555 4446(appropriate)N
4752 1134(Architectures)X
4773 1205(functionality)X
4787 555 5025(corruption)N
4833 2829(communication)X
4838 555 5295(applications)N
4861 2392(architectures.)X
4877 3392(architecture.)X
4902 555 5688(transaction)N
4904 1356(Unfortunately,)X
4965 1029 1098(txn_abort)N
4966 964 1015(txn_commit)N
4967 1018 932(txn_begin)N
4970 1308 820(Application)N
5021 3168 1086(Application)N
5023 2939 1201(txn_begin)N
5024 2885 1284(txn_commit)N
5025 2950 1368(txn_abort)N
5035 1318(Architecture.)X
5039 1934(con\256guration,)X
5061 3403(Architecture.)X
5065 2563 2190(con\256guration,)N
5085 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
5087 555 2679(modifying)N
5099 2862(communications:)X
5114 1567(modi\256cation,)X
5145 555 2949(management)N
5176 3067(client/server)X
5184 1207(communication)X
5196 555 3219(formance,)N
5255 555 3612(de\256ned)N
5275 655(Implementation)X
5408 1864(concurrently,)X
5427 1627(representation)X
5438 3659(transactions.)X
5440 555 4860(represent)N
5447 1909(transactions;)X
5527 792(user-settable;)X
5565 555 5433(nominated)N
5621 closepath 21 2981 1575 3092 1868 Dp
5628 closepath 14 2646 949 2758 1868 Dp
5635 closepath 3 2312 1701 2423 1868 Dp
5642 closepath 19 1977 1512 2089 1868 Dp
5644 2640 2047(Client/Server)N
5701 2310(``component'')X
5772 2127(client/server)X
5778 3129(communication)X
5814 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
5833 3057(fundamentally)X
5839 555 3374(transactions)N
5873 2853(implementation,)X
5878 555 3554(serially.)N
5912 3621(simultaneously.)X
5931 3873(distinguished)X
5932 555 3947(semaphore.)N
6037 1839(transaction's)X
6045 1379(substantially)X
6049 2631(high-concurrency)X
6050 3218(environments.)X
6121 1541(Synchronization)X
6166 555 5279(processes)N
6203 2800(synchronization.)X
6217 2285(synchronization,)X
6228 555 5547(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
6257 1967(test-and-set,)X
6308 555 1023(processes)N
6402 2358(synchronization,)X
6481 555 1956(synchronization.)N
6567 555 2316(completely)N
6574 2089(transactions.)X
6585 555 2406(chronization)N
6604 697(implementation)X
6608 1824(\(transactions)X
6614 3361(implementation)X
6625 2123(synchronization)X
6659 2476(synchronization)X
6699 555 3321(protection.)N
6719 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
6727 closepath 21 2978 4662 3093 5036 Dp
6734 closepath 3 2518 3960 2633 5036 Dp
6741 closepath 1 2059 3946 2174 5036 Dp
6744 2912 5141(Read-only)N
6748 1480 3710(Throughput)N
6788 1756(Synchronization.)X
6796 3158(synchronization)X
6805 954(synchronization)X
6958 555 1236(indicating)N
6978 900(modi\256cations)X
7155 1003(buf_open\(path,)X
7170 859(\(tp_lock\(fid,)X
7172 1675(READ_LOCK\)\))X
7175 715 3184(meta_data_ptr)N
7177 1483(buf_get\(fid,)X
7336 859(\(tp_lock\(fid,)X
7338 1915(WRITE_LOCK\)\))X
7341 715 4633(buffer_ptr)N
7343 1339(buf_get\(fid,)X
7354 715 4903(log_insdel\(BTREE_INSERT,)N
7359 715 4993(_bt_insertat\(buffer_ptr,)N
7362 715 5083(buf_unpin\(buffer_ptr\);)N
7364 555 5206(Succinctly,)N
7402 555 5458(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
7501 1159(computer-aided)X
7635 555 1905(reported,)N
7716 914(implementation)X
7723 2637(speci\256cation)X
7728 3894(speci\256cation)X
7797 3029(\(unprotected,)X
7848 1646(mid-transaction,)X
7859 3954 0.3125(after-crash)AX
7904 2220(con\256gurations)X
7912 555 3720(relational)N
7946 555 3900(\(SERVER\),)N
7981 555 4080(performance)N
7991 3020(communication)X
7998 1063(implementation)X
8010 555 4260(con\256guration)N
8022 2909(architecture.)X
8035 1654(con\256gurations:)X
8065 2677(con\256guration,)X
8121 2834(environments,)X
8141 3836(approximately)X
8183 closepath 16 3553 1351 3676 2085 Dp
8197 closepath 12 2087 1534 2209 2085 Dp
8204 closepath 19 3187 1534 3309 2085 Dp
8213 closepath 21 2453 955 2576 2085 Dp
8220 closepath 14 2820 1000 2942 2085 Dp
8250 closepath 3 1353 1151 1476 2085 Dp
8265 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
8309 555 3158(con\256guration)N
8315 1982(con\256guration)X
8323 555 3248(\(\256gure)N
8329 2094(con\256guration)X
8361 555 3444(tiprogramming)N
8381 1181(approximately)X
8399 1387(multi-programming)X
8426 3852(con\256guration.)X
8472 2185(suf\256ciently)X
8476 3069(multiprogramming)X
8504 3896(transactions,)X
8572 2645(measurements.)X
8618 780(con\256guration,)X
8692 1829(multiprogramming)X
8758 555 5595(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
8768 1469(sequentially,)X
8776 2525(sequentiality)X
8948 3281 2199(Multiprogramming)N
8955 2901 847(transactions)N
9020 2685 1234(READ-ONLY)N
9083 2759 1997(NO-FSYNC)N
9111 2088 2199(Multiprogramming)N
9114 1761 792(Throughput)N
9206 905 2199(Multiprogramming)N
9209 575 792(Throughput)N
9223 931(con\256guration)X
9234 655 2711(provement)N
9245 655 2891(processes)N
9271 1927 2711(utilization)N
9277 1927 2801(provement)N
9280 2443(multiprogramming)X
9308 3199 2531(Benchmark.)N
9329 3199 2891(processes)N
9339 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
9359 555 3650(dramatically.)N
9392 555 3830(increases)N
9410 555 3920(deadlocking)N
9417 755 4043(Deadlocks)N
9535 2625(computer-aided)X
9538 3591(substantially)X
9596 555 5285(connections)N
9697 2808(characteristic)X
9722 2502(corresponding)X
9784 3649(depth-\256rst)X
9840 555 1662(enforced.)N
9862 555 1752(insuf\256cient)N
9880 775(Implementation)X
9884 1182(implementation)X
9965 3912(\256xed-length)X
10008 555 2724(connection)N
10053 1242(Measurements)X
10126 1107(MC68030-based)X
10160 555 3786(frontend)N
10171 2830(measurements)X
10177 555 3876(numbers.)N
10221 1781(performance.)X
10251 1101(highly-optimized)X
10258 3014(Microsystems.)X
10269 2133(object-oriented)X
10288 3797(implementation)X
10300 2990(client-server)X
10306 1500(measurements)X
10317 3765(MC680x0-based)X
10318 555 5064(hardware.)N
10375 1674(approximately)X
10397 2323(dramatically)X
10430 10 s 10 xH 0 xS 1 f
10434 555 679(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
10443 555 771(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
10444 555 787(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
10451 595 959(Traversal)N
10462 555 1059(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
10494 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10503 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10505 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10516 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10518 2658 1059(Forward)N
10528 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10530 2658 1249(Backward)N
10540 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10551 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10631 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
10676 555 2454(existing)N
10690 1908 0.1944(coarser-granularity)AX
10700 711(applications,)X
10704 1829(applications.)X
10717 555 2757(drawback)N
10728 2836(high-concurrency)X
10734 555 2847(increased)N
10739 1892(architecture)X
10743 2747(implementation)X
10745 3418(substantially)X
10768 555 3027(requests)N
10788 555 3117(contacting)N
10814 1221(architecture)X
10843 2874(conventional)X
10845 3607(client/server)X
10848 555 3510(expensive.)N
10867 555 3600(overhead)N
10871 1436(optimization,)X
10874 2309(interpretation)X
10897 3635(implementation)X
10900 555 3813(DECstation.)N
10962 555 4206(traversal)N
11020 555 4476(caching.)N
11079 555 4885(pessimal)N
11173 555 5536(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
11187 2082(automatically)X
11206 1168(\(atomicity,)X
11207 1540(consistency,)X
11210 2414(durability\).)X
11247 1843(approximately)X
11282 555 1113(enhanced)N
11286 1294(user-friendly)X
11295 2777(query-by-form)X
11296 3272(application\),)X
11309 2312(sophisticated)X
11326 2140(functionality,)X
11334 3785(\257exibility.)X
11336 555 1383(application)N
11409 3919(hierarchical)X
11410 555 1776(locking,)N
11412 1062(transactions,)X
11414 1748(transactions,)X
11417 2518(transactions)X
11423 555 1866(handling.)N
11444 555 1956(routines)N
11455 655(Acknowledgements)X
11468 2571(Hewlett-Packard)X
11469 3131(Laboratories)X
11516 884(con\256gurations.)X
11521 555 2901([ANDR89])N
11539 1134(CommUNIXations)X
11542 1765 0.2188(November/December)AX
11549 1754(``Concurrency)X
11560 555 3351([BERN80])N
11573 727 3441(Database)N
11578 1945(International)X
11594 1552(Programmer's)X
11605 555 3801([CATT91])N
11611 2369(Benchmark'',)X
11619 727 3891(Transaction)N
11630 555 4071([CHEN91])N
11649 727 4161(Event-Based)N
11663 555 4341([CHOU85])N
11684 1755(International)X
11693 555 4611([DEWI84])N
11702 2410(Stonebraker,)X
11706 3343(``Implementation)X
11723 555 4881([GRAY76])N
11733 2522(``Granularity)X
11761 727 5061(365-394.)N
11762 555 5241([HAER83])N
11767 1728(``Principles)X
11769 2217(Transaction-Oriented)X
11777 727 5331(15\(4\);)N
11780 555 5511([KUNG81])N
11794 3781(Transactions)X
11796 727 5601(Database)N
11805 10 s 10 xH 0 xS 1 f
11813 1636(``Ef\256cient)X
11822 3779(Transactions)X
11836 1818(``ARIES-RRH:)X
11850 1941(International)X
11861 555 1170([NODI90])N
11866 1709(``Cooperative)X
11868 2580(Hierarchies:)X
11875 727 1260(Applications'',)N
11879 1849(International)X
11892 555 1530([OUST90])N
11912 555 1800([POSIX91])N
11930 555 2070([ROSE91])N
11938 2611(Implementation)X
11941 3314(Log-Structured)X
11945 727 2160(Proceedings)N
11957 555 2340([SELT91])N
11960 1306(Stonebraker,)X
11968 3454(Evaluation'',)X
11973 1100(International)X
11984 555 2610([SPEC88])N
12020 555 3150([STON81])N
12028 2835(Management'',)X
12030 3348(Communications)X
12037 555 3420([SULL92])N
12044 2195(Implementation)X
12060 2687(International)X
12071 555 3780([TPCB90])N
12080 3510(Speci\256cation,)X
12082 727 3870(Associates,)N
12086 555 4050([YOUN91])N
12097 2826(Architecture)X
12102 727 4140(cessing'',)N
12134 555 4353(University)N
12160 3298(implementing)X
12164 555 4533(transaction)N
12169 2061(microprocessors.)X
12180 840 0.1953(Harvard/Radcliffe)AX
12317 3834(developments.)X