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
12 % Changed by Edward Wang (edward@ucbarpa.berkeley.edu) to handle graphics,
15 /$DITroff 140 dict def $DITroff begin
16 /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
17 /xi{0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
18 /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F
19 /pagesave save def}def
20 /PB{save /psv exch def currentpoint translate
21 resolution 72 div dup neg scale 0 0 moveto}def
23 /arctoobig 90 def /arctoosmall .05 def
24 /m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
25 /tan{dup sin exch cos div}def
26 /point{resolution 72 div mul}def
27 /dround {transform round exch round exch itransform}def
28 /xT{/devname exch def}def
29 /xr{/mh exch def /my exch def /resolution exch def}def
31 /xs{docsave restore end}def
33 /xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
34 {fonts slotno fontname findfont put fontnames slotno fontname put}if}def
35 /xH{/fontheight exch def F}def
36 /xS{/fontslant exch def F}def
37 /s{/fontsize exch def /fontheight fontsize def F}def
38 /f{/fontnum exch def F}def
39 /F{fontheight 0 le{/fontheight fontsize def}if
40 fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
41 fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
42 makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}def
43 /X{exch currentpoint exch pop moveto show}def
44 /N{3 1 roll moveto show}def
45 /Y{exch currentpoint pop exch moveto show}def
47 /ditpush{}def/ditpop{}def
48 /AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}def
49 /AN{4 2 roll moveto 0 exch ashow}def
50 /AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}def
52 /MX{currentpoint exch pop moveto}def
53 /MY{currentpoint pop exch moveto}def
55 /cb{pop}def % action on unknown char -- nothing for now
57 /p{pop showpage pagesave restore /pagesave save def}def
58 /Dt{/Dlinewidth exch def}def 1 Dt
59 /Ds{/Ddash exch def}def -1 Ds
60 /Di{/Dstipple exch def}def 1 Di
61 /Dsetlinewidth{2 Dlinewidth mul setlinewidth}def
62 /Dsetdash{Ddash 4 eq{[8 12]}{Ddash 16 eq{[32 36]}
63 {Ddash 20 eq{[32 12 8 12]}{[]}ifelse}ifelse}ifelse 0 setdash}def
64 /Dstroke{gsave Dsetlinewidth Dsetdash 1 setlinecap stroke grestore
65 currentpoint newpath moveto}def
66 /Dl{rlineto Dstroke}def
67 /arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop
68 currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
69 currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def
70 /Dc{dup arcellipse Dstroke}def
71 /De{arcellipse Dstroke}def
72 /Da{/endv exch def /endh exch def /centerv exch def /centerh exch def
73 /cradius centerv centerv mul centerh centerh mul add sqrt def
74 /eradius endv endv mul endh endh mul add sqrt def
75 /endang endv endh atan def
76 /startang centerv neg centerh neg atan def
77 /sweep startang endang sub dup 0 lt{360 add}if def
79 {/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def
80 /midh midang cos midrad mul def /midv midang sin midrad mul def
81 midh neg midv neg endh endv centerh centerv midh midv Da
84 {/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def
85 centerv neg controldelt mul centerh controldelt mul
86 endv neg controldelt mul centerh add endh add
87 endh controldelt mul centerv add endv add
88 centerh endh add centerv endv add rcurveto Dstroke}
89 {centerh endh add centerv endv add rlineto Dstroke}
100 [8<81c36666c3810000>]
101 [8<0f0e0c0800000000>]
102 [8<0000000000000010>]
103 [8<0411040040114000>]
104 [8<0204081020408001>]
105 [8<0000001038100000>]
106 [8<6699996666999966>]
107 [8<0000800100001008>]
108 [8<81c36666c3810000>]
109 [8<0f0e0c0800000000>]
110 [8<0042660000246600>]
111 [8<0000990000990000>]
112 [8<0804020180402010>]
113 [8<2418814242811824>]
114 [8<6699996666999966>]
115 [8<8000000008000000>]
116 [8<00001c3e363e1c00>]
117 [8<0000000000000000>]
118 [32<00000040000000c00000004000000040000000e0000000000000000000000000>]
119 [32<00000000000060000000900000002000000040000000f0000000000000000000>]
120 [32<000000000000000000e0000000100000006000000010000000e0000000000000>]
121 [32<00000000000000002000000060000000a0000000f00000002000000000000000>]
122 [32<0000000e0000000000000000000000000000000f000000080000000e00000001>]
123 [32<0000090000000600000000000000000000000000000007000000080000000e00>]
124 [32<00010000000200000004000000040000000000000000000000000000000f0000>]
125 [32<0900000006000000090000000600000000000000000000000000000006000000>]]
127 [8<0000020000000000>]
128 [8<0000020000002000>]
129 [8<0004020000002000>]
130 [8<0004020000402000>]
131 [8<0004060000402000>]
132 [8<0004060000406000>]
133 [8<0006060000406000>]
134 [8<0006060000606000>]
135 [8<00060e0000606000>]
136 [8<00060e000060e000>]
137 [8<00070e000060e000>]
138 [8<00070e000070e000>]
139 [8<00070e020070e000>]
140 [8<00070e020070e020>]
141 [8<04070e020070e020>]
142 [8<04070e024070e020>]
143 [8<04070e064070e020>]
144 [8<04070e064070e060>]
145 [8<06070e064070e060>]
146 [8<06070e066070e060>]
147 [8<06070f066070e060>]
148 [8<06070f066070f060>]
149 [8<060f0f066070f060>]
150 [8<060f0f0660f0f060>]
151 [8<060f0f0760f0f060>]
152 [8<060f0f0760f0f070>]
153 [8<0e0f0f0760f0f070>]
154 [8<0e0f0f07e0f0f070>]
155 [8<0e0f0f0fe0f0f070>]
156 [8<0e0f0f0fe0f0f0f0>]
157 [8<0f0f0f0fe0f0f0f0>]
158 [8<0f0f0f0ff0f0f0f0>]
159 [8<1f0f0f0ff0f0f0f0>]
160 [8<1f0f0f0ff1f0f0f0>]
161 [8<1f0f0f8ff1f0f0f0>]
162 [8<1f0f0f8ff1f0f0f8>]
163 [8<9f0f0f8ff1f0f0f8>]
164 [8<9f0f0f8ff9f0f0f8>]
165 [8<9f0f0f9ff9f0f0f8>]
166 [8<9f0f0f9ff9f0f0f9>]
167 [8<9f8f0f9ff9f0f0f9>]
168 [8<9f8f0f9ff9f8f0f9>]
169 [8<9f8f1f9ff9f8f0f9>]
170 [8<9f8f1f9ff9f8f1f9>]
171 [8<bf8f1f9ff9f8f1f9>]
172 [8<bf8f1f9ffbf8f1f9>]
173 [8<bf8f1fdffbf8f1f9>]
174 [8<bf8f1fdffbf8f1fd>]
175 [8<ff8f1fdffbf8f1fd>]
176 [8<ff8f1fdffff8f1fd>]
177 [8<ff8f1ffffff8f1fd>]
178 [8<ff8f1ffffff8f1ff>]
179 [8<ff9f1ffffff8f1ff>]
180 [8<ff9f1ffffff9f1ff>]
181 [8<ff9f9ffffff9f1ff>]
182 [8<ff9f9ffffff9f9ff>]
183 [8<ffbf9ffffff9f9ff>]
184 [8<ffbf9ffffffbf9ff>]
185 [8<ffbfdffffffbf9ff>]
186 [8<ffbfdffffffbfdff>]
187 [8<ffffdffffffbfdff>]
188 [8<ffffdffffffffdff>]
189 [8<fffffffffffffdff>]
190 [8<ffffffffffffffff>]]
192 [8<8000000000000000>]
193 [8<0822080080228000>]
194 [8<0204081020408001>]
195 [8<40e0400000000000>]
197 [8<8001000010080000>]
198 [8<81c36666c3810000>]
199 [8<f0e0c08000000000>]
200 [16<07c00f801f003e007c00f800f001e003c007800f001f003e007c00f801f003e0>]
201 [16<1f000f8007c003e001f000f8007c003e001f800fc007e003f001f8007c003e00>]
202 [8<c3c300000000c3c3>]
203 [16<0040008001000200040008001000200040008000000100020004000800100020>]
204 [16<0040002000100008000400020001800040002000100008000400020001000080>]
205 [16<1fc03fe07df0f8f8f07de03fc01f800fc01fe03ff07df8f87df03fe01fc00f80>]
207 [8<8040201000000000>]
208 [8<84cc000048cc0000>]
209 [8<9900009900000000>]
210 [8<08040201804020100800020180002010>]
211 [8<2418814242811824>]
213 [8<8000000008000000>]
214 [8<70f8d8f870000000>]
215 [8<0814224180402010>]
216 [8<aa00440a11a04400>]
217 [8<018245aa45820100>]
218 [8<221c224180808041>]
220 [8<0855800080550800>]
221 [8<2844004482440044>]
222 [8<0810204080412214>]
225 transform /maxy exch def /maxx exch def
226 transform /miny exch def /minx exch def
227 minx maxx gt{/minx maxx /maxx minx def def}if
228 miny maxy gt{/miny maxy /maxy miny def def}if
229 Dpatterns Dstipple 1 sub get exch 1 sub get
230 aload pop /stip exch def /stipw exch def /stiph 128 def
231 /imatrix[stipw 0 0 stiph 0 0]def
232 /tmatrix[stipw 0 0 stiph 0 0]def
233 /minx minx cvi stiph idiv stiph mul def
234 /miny miny cvi stipw idiv stipw mul def
235 gsave eoclip 0 setgray
237 tmatrix exch 5 exch put
239 tmatrix exch 4 exch put tmatrix setmatrix
240 stipw stiph true imatrix {stip} imagemask
245 /Dp{Dfill Dstroke}def
246 /DP{Dfill currentpoint newpath moveto}def
249 /ditstart{$DITroff begin
250 /nfonts 60 def % NFONTS makedev/ditroff dependent!
251 /fonts[nfonts{0}repeat]def
252 /fontnames[nfonts{()}repeat]def
258 /pswid exch def /cc exch def /name exch def
259 /ditwid pswid fontsize mul resolution mul 72000 div def
260 /ditsiz fontsize resolution mul 72 div def
261 ocprocs name known{ocprocs name get exec}{name cb}ifelse
263 /fractm [.65 0 0 .6 0 0] def
265 /fden exch def /fnum exch def gsave /cf currentfont def
266 cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
267 fnum show rmoveto currentfont cf setfont(\244)show setfont fden show
268 grestore ditwid 0 rmoveto
270 /oce{grestore ditwid 0 rmoveto}def
272 /ocprocs 50 dict def ocprocs begin
273 (14){(1)(4)fraction}def
274 (12){(1)(2)fraction}def
275 (34){(3)(4)fraction}def
276 (13){(1)(3)fraction}def
277 (23){(2)(3)fraction}def
278 (18){(1)(8)fraction}def
279 (38){(3)(8)fraction}def
280 (58){(5)(8)fraction}def
281 (78){(7)(8)fraction}def
282 (sr){gsave 0 .06 dm rmoveto(\326)show oce}def
283 (is){gsave 0 .15 dm rmoveto(\362)show oce}def
284 (->){gsave 0 .02 dm rmoveto(\256)show oce}def
285 (<-){gsave 0 .02 dm rmoveto(\254)show oce}def
286 (==){gsave 0 .05 dm rmoveto(\272)show oce}def
287 (uc){gsave currentpoint 400 .009 dm mul add translate
288 8 -8 scale ucseal oce}def
291 % an attempt at a PostScript FONT to implement ditroff special chars
292 % this will enable us to
293 % cache the little buggers
294 % generate faster, more compact PS out of psdit
295 % confuse everyone (including myself)!
298 /FontName /DIThacks def
299 /FontMatrix [.001 0 0 .001 0 0] def
300 /FontBBox [-260 -260 900 900] def% a lie but ...
301 /Encoding 256 array def
302 0 1 255{Encoding exch /.notdef put}for
304 dup 8#040/space put %space
305 dup 8#110/rc put %right ceil
306 dup 8#111/lt put %left top curl
307 dup 8#112/bv put %bold vert
308 dup 8#113/lk put %left mid curl
309 dup 8#114/lb put %left bot curl
310 dup 8#115/rt put %right top curl
311 dup 8#116/rk put %right mid curl
312 dup 8#117/rb put %right bot curl
313 dup 8#120/rf put %right floor
314 dup 8#121/lf put %left floor
315 dup 8#122/lc put %left ceil
316 dup 8#140/sq put %square
317 dup 8#141/bx put %box
318 dup 8#142/ci put %circle
319 dup 8#143/br put %box rule
320 dup 8#144/rn put %root extender
321 dup 8#145/vr put %vertical rule
322 dup 8#146/ob put %outline bullet
323 dup 8#147/bu put %bullet
324 dup 8#150/ru put %rule
325 dup 8#151/ul put %underline
329 /cc exch def /fd exch def
330 /charname fd /Encoding get cc get def
331 /charwid fd /Metrics get charname get def
332 /charproc fd /CharProcs get charname get def
333 charwid 0 fd /FontBBox get aload pop setcachedevice
334 2 setlinejoin 40 setlinewidth
335 newpath 0 0 moveto gsave charproc grestore
337 /BuildChar load 0 DITfd put
338 /CharProcs 50 dict def
343 /rn{0 840 moveto 500 0 rls}def
344 /vr{0 800 moveto 0 -770 rls}def
345 /bv{0 800 moveto 0 -1000 rls}def
346 /br{0 840 moveto 0 -1000 rls}def
347 /ul{0 -140 moveto 500 0 rls}def
348 /ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
349 /bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
350 /sq{80 0 rmoveto currentpoint dround newpath moveto
351 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
352 /bx{80 0 rmoveto currentpoint dround newpath moveto
353 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
354 /ci{500 360 rmoveto currentpoint newpath 333 0 360 arc
355 50 setlinewidth stroke}def
357 /lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def
358 /lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def
359 /rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def
360 /rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def
361 /lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub
362 0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
363 /rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub
364 0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
365 /lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def
366 /rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
367 /lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def
368 /rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
371 /Metrics 50 dict def Metrics begin
398 /s2 500 def /s4 250 def /s3 333 def
399 /a4p{arcto pop pop pop pop}def
401 /rls{rlineto stroke}def
402 /currx{currentpoint pop}def
403 /dround{transform round exch round exch itransform} def
406 /DIThacks exch definefont pop
411 2(Times-Italic)xf 2 f
413 4(Times-BoldItalic)xf 4 f
415 6(Helvetica-Bold)xf 6 f
417 8(Courier-Bold)xf 8 f
445 1800 1590(University)N
453 755 2001(Transactions)N
506 1860(implementation,)X
513 3623(non-proprietary)X
534 555 2451(benchmark,)N
560 2030(modi\256cations)X
577 755 2940(Transactions)N
589 3272(multi-operation)X
671 1358(indistinguishable)X
683 555 3480(sequentially.)N
761 555 4086(traditional)N
770 2676(recoverability)X
815 3060 0.4531(reference)AX
922 1617 0.2841(``check-in'')AX
980 555 5199(preserved.)N
1030 555 5469(rewriting)N
1050 555 5541(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
1161 2965(consequences.)X
1199 1867(applications,)X
1208 555 1293(transaction)N
1292 3888(architectures)X
1293 555 1962 0.1172([SPEC88][NODI90][CHEN91][MOHA91].)AN
1307 555 2052(interactions)N
1318 2941(implementation)X
1326 1492(\(write-ahead)X
1351 555 2355(adequately.)N
1583 1710(log-structured)X
1585 2558(extent-based,)X
1612 2449(implementation)X
1618 555 3771(tremendously.)N
1661 555 4074(distributed)N
1678 555 4164([ANDR89].)N
1681 870(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1743 870(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1772 870(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1801 870(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1869 3501(implementation)X
1943 3600(implementations,)X
1955 2614(descriptions.)X
2003 1528(modi\256cations)X
2022 1019(modi\256cations)X
2069 755 2547(Non-logging)N
2131 1274(Unfortunately,)X
2188 555 3120(non-logging)N
2309 3320 0.3125(``records'')AX
2327 2931(space-ef\256cient)X
2376 2215(before-images,)X
2402 2991(before-image\).)X
2411 1374(transaction's)X
2428 555 4356(\(reapply)N
2434 2113(before-images)X
2443 555 4446(mentioned)N
2457 1247(after-images,)X
2481 1969(after-image\),)X
2550 2342(consideration)X
2591 2230(insuf\256cient)X
2620 650(pre-transaction)X
2641 555 5625(write-ahead)N
2703 2461(ef\256ciently)X
2719 1032(log-structured)X
2745 555 1119(accesses.)N
2759 555 1209(timestamp)N
2788 555 1389(suboptimal)N
2880 555 1872(just-split)N
2957 555 2265(confusion.)N
2976 555 2355(guarantee)N
3122 1880(transactions.)X
3163 555 3444(execution.)N
3167 1520(non-two-phase)X
3197 555 3624(transactions)N
3215 555 3714(described)N
3232 555 3804(currency.)N
3252 3213(concurrently.)X
3292 555 4383(frequently)N
3331 1217(Additionally,)X
3375 1893(functionality)X
3410 555 5142(management)N
3470 555 5412(architecture)N
3480 1851 1520(log_commit)N
3481 2764 2077(buf_unpin)N
3483 3633 1408(buf_unpin)N
3525 1851 1609(log_unroll)N
3543 3277 2455(sleep_on)N
3556 1426 2455(sleep_on)N
3607 2497 2322(sleep_on)N
3621 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
3726 1065 0.4028(referenced)AX
3831 3094(implementation)X
3836 555 4342(Log_unroll)N
3904 3002(least-recently-used)X
3926 555 5011(suggested)N
4110 1387(implementation)X
4117 2950(granularities)X
4215 2922(lock_unlock_all)X
4245 3519(lock_downgrade)X
4279 1232(Lock_unlock_all)X
4335 555 2265(descheduled.)N
4354 555 2355(sophisticated)N
4389 555 2535(ef\256ciently)N
4441 1159(transactions,)X
4445 2467(identi\256ers,)X
4470 3625(identi\256er,)X
4473 555 3114(per-process)N
4484 3241(transactions,)X
4489 555 3204(transaction)N
4535 555 3384(committing\))N
4544 2007(identi\256er.)X
4601 2479(transaction's)X
4607 3776(modi\256cations)X
4620 2151(lock_unlock_all)X
4625 3127(transaction's)X
4651 555 4176(modi\256ed)N
4695 555 4356(associated)N
4716 555 4446(appropriate)N
4751 1134(Architectures)X
4772 1205(functionality)X
4786 555 5025(corruption)N
4832 2829(communication)X
4837 555 5295(applications)N
4860 2392(architectures.)X
4876 3392(architecture.)X
4901 555 5688(transaction)N
4903 1356(Unfortunately,)X
4964 1029 1098(txn_abort)N
4965 964 1015(txn_commit)N
4966 1018 932(txn_begin)N
4969 1308 820(Application)N
5020 3168 1086(Application)N
5022 2939 1201(txn_begin)N
5023 2885 1284(txn_commit)N
5024 2950 1368(txn_abort)N
5034 1318(Architecture.)X
5038 1934(con\256guration,)X
5060 3403(Architecture.)X
5064 2563 2190(con\256guration,)N
5084 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
5086 555 2679(modifying)N
5098 2862(communications:)X
5113 1567(modi\256cation,)X
5144 555 2949(management)N
5175 3067(client/server)X
5183 1207(communication)X
5195 555 3219(formance,)N
5254 555 3612(de\256ned)N
5274 655(Implementation)X
5407 1864(concurrently,)X
5426 1627(representation)X
5437 3659(transactions.)X
5439 555 4860(represent)N
5446 1909(transactions;)X
5526 792(user-settable;)X
5564 555 5433(nominated)N
5620 closepath 21 2981 1575 3092 1868 Dp
5627 closepath 14 2646 949 2758 1868 Dp
5634 closepath 3 2312 1701 2423 1868 Dp
5641 closepath 19 1977 1512 2089 1868 Dp
5643 2640 2047(Client/Server)N
5700 2310(``component'')X
5771 2127(client/server)X
5777 3129(communication)X
5813 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
5832 3057(fundamentally)X
5838 555 3374(transactions)N
5872 2853(implementation,)X
5877 555 3554(serially.)N
5911 3621(simultaneously.)X
5930 3873(distinguished)X
5931 555 3947(semaphore.)N
6036 1839(transaction's)X
6044 1379(substantially)X
6048 2631(high-concurrency)X
6049 3218(environments.)X
6120 1541(Synchronization)X
6165 555 5279(processes)N
6202 2800(synchronization.)X
6216 2285(synchronization,)X
6227 555 5547(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
6256 1967(test-and-set,)X
6307 555 1023(processes)N
6401 2358(synchronization,)X
6480 555 1956(synchronization.)N
6566 555 2316(completely)N
6573 2089(transactions.)X
6584 555 2406(chronization)N
6603 697(implementation)X
6607 1824(\(transactions)X
6613 3361(implementation)X
6624 2123(synchronization)X
6658 2476(synchronization)X
6698 555 3321(protection.)N
6718 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
6726 closepath 21 2978 4662 3093 5036 Dp
6733 closepath 3 2518 3960 2633 5036 Dp
6740 closepath 1 2059 3946 2174 5036 Dp
6743 2912 5141(Read-only)N
6747 1480 3710(Throughput)N
6787 1756(Synchronization.)X
6795 3158(synchronization)X
6804 954(synchronization)X
6957 555 1236(indicating)N
6977 900(modi\256cations)X
7154 1003(buf_open\(path,)X
7169 859(\(tp_lock\(fid,)X
7171 1675(READ_LOCK\)\))X
7174 715 3184(meta_data_ptr)N
7176 1483(buf_get\(fid,)X
7335 859(\(tp_lock\(fid,)X
7337 1915(WRITE_LOCK\)\))X
7340 715 4633(buffer_ptr)N
7342 1339(buf_get\(fid,)X
7353 715 4903(log_insdel\(BTREE_INSERT,)N
7358 715 4993(_bt_insertat\(buffer_ptr,)N
7361 715 5083(buf_unpin\(buffer_ptr\);)N
7363 555 5206(Succinctly,)N
7401 555 5458(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
7500 1159(computer-aided)X
7634 555 1905(reported,)N
7715 914(implementation)X
7722 2637(speci\256cation)X
7727 3894(speci\256cation)X
7796 3029(\(unprotected,)X
7847 1646(mid-transaction,)X
7858 3954 0.3125(after-crash)AX
7903 2220(con\256gurations)X
7911 555 3720(relational)N
7945 555 3900(\(SERVER\),)N
7980 555 4080(performance)N
7990 3020(communication)X
7997 1063(implementation)X
8009 555 4260(con\256guration)N
8021 2909(architecture.)X
8034 1654(con\256gurations:)X
8064 2677(con\256guration,)X
8120 2834(environments,)X
8140 3836(approximately)X
8182 closepath 16 3553 1351 3676 2085 Dp
8196 closepath 12 2087 1534 2209 2085 Dp
8203 closepath 19 3187 1534 3309 2085 Dp
8212 closepath 21 2453 955 2576 2085 Dp
8219 closepath 14 2820 1000 2942 2085 Dp
8249 closepath 3 1353 1151 1476 2085 Dp
8264 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
8308 555 3158(con\256guration)N
8314 1982(con\256guration)X
8322 555 3248(\(\256gure)N
8328 2094(con\256guration)X
8360 555 3444(tiprogramming)N
8380 1181(approximately)X
8398 1387(multi-programming)X
8425 3852(con\256guration.)X
8471 2185(suf\256ciently)X
8475 3069(multiprogramming)X
8503 3896(transactions,)X
8571 2645(measurements.)X
8617 780(con\256guration,)X
8691 1829(multiprogramming)X
8757 555 5595(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
8767 1469(sequentially,)X
8775 2525(sequentiality)X
8947 3281 2199(Multiprogramming)N
8954 2901 847(transactions)N
9019 2685 1234(READ-ONLY)N
9082 2759 1997(NO-FSYNC)N
9110 2088 2199(Multiprogramming)N
9113 1761 792(Throughput)N
9205 905 2199(Multiprogramming)N
9208 575 792(Throughput)N
9222 931(con\256guration)X
9233 655 2711(provement)N
9244 655 2891(processes)N
9270 1927 2711(utilization)N
9276 1927 2801(provement)N
9279 2443(multiprogramming)X
9307 3199 2531(Benchmark.)N
9328 3199 2891(processes)N
9338 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
9358 555 3650(dramatically.)N
9391 555 3830(increases)N
9409 555 3920(deadlocking)N
9416 755 4043(Deadlocks)N
9534 2625(computer-aided)X
9537 3591(substantially)X
9595 555 5285(connections)N
9696 2808(characteristic)X
9721 2502(corresponding)X
9783 3649(depth-\256rst)X
9839 555 1662(enforced.)N
9861 555 1752(insuf\256cient)N
9879 775(Implementation)X
9883 1182(implementation)X
9964 3912(\256xed-length)X
10007 555 2724(connection)N
10052 1242(Measurements)X
10125 1107(MC68030-based)X
10159 555 3786(frontend)N
10170 2830(measurements)X
10176 555 3876(numbers.)N
10220 1781(performance.)X
10250 1101(highly-optimized)X
10257 3014(Microsystems.)X
10268 2133(object-oriented)X
10287 3797(implementation)X
10299 2990(client-server)X
10305 1500(measurements)X
10316 3765(MC680x0-based)X
10317 555 5064(hardware.)N
10374 1674(approximately)X
10396 2323(dramatically)X
10429 10 s 10 xH 0 xS 1 f
10433 555 679(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
10442 555 771(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
10443 555 787(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
10450 595 959(Traversal)N
10461 555 1059(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
10493 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10502 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10504 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10515 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10517 2658 1059(Forward)N
10527 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10529 2658 1249(Backward)N
10539 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10550 2629(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
10630 579(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
10675 555 2454(existing)N
10689 1908 0.1944(coarser-granularity)AX
10699 711(applications,)X
10703 1829(applications.)X
10716 555 2757(drawback)N
10727 2836(high-concurrency)X
10733 555 2847(increased)N
10738 1892(architecture)X
10742 2747(implementation)X
10744 3418(substantially)X
10767 555 3027(requests)N
10787 555 3117(contacting)N
10813 1221(architecture)X
10842 2874(conventional)X
10844 3607(client/server)X
10847 555 3510(expensive.)N
10866 555 3600(overhead)N
10870 1436(optimization,)X
10873 2309(interpretation)X
10896 3635(implementation)X
10899 555 3813(DECstation.)N
10961 555 4206(traversal)N
11019 555 4476(caching.)N
11078 555 4885(pessimal)N
11172 555 5536(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)N
11186 2082(automatically)X
11205 1168(\(atomicity,)X
11206 1540(consistency,)X
11209 2414(durability\).)X
11246 1843(approximately)X
11281 555 1113(enhanced)N
11285 1294(user-friendly)X
11294 2777(query-by-form)X
11295 3272(application\),)X
11308 2312(sophisticated)X
11325 2140(functionality,)X
11333 3785(\257exibility.)X
11335 555 1383(application)N
11408 3919(hierarchical)X
11409 555 1776(locking,)N
11411 1062(transactions,)X
11413 1748(transactions,)X
11416 2518(transactions)X
11422 555 1866(handling.)N
11443 555 1956(routines)N
11454 655(Acknowledgements)X
11467 2571(Hewlett-Packard)X
11468 3131(Laboratories)X
11515 884(con\256gurations.)X
11520 555 2901([ANDR89])N
11538 1134(CommUNIXations)X
11541 1765 0.2188(November/December)AX
11548 1754(``Concurrency)X
11559 555 3351([BERN80])N
11572 727 3441(Database)N
11577 1945(International)X
11593 1552(Programmer's)X
11604 555 3801([CATT91])N
11610 2369(Benchmark'',)X
11618 727 3891(Transaction)N
11629 555 4071([CHEN91])N
11648 727 4161(Event-Based)N
11662 555 4341([CHOU85])N
11683 1755(International)X
11692 555 4611([DEWI84])N
11701 2410(Stonebraker,)X
11705 3343(``Implementation)X
11722 555 4881([GRAY76])N
11732 2522(``Granularity)X
11760 727 5061(365-394.)N
11761 555 5241([HAER83])N
11766 1728(``Principles)X
11768 2217(Transaction-Oriented)X
11776 727 5331(15\(4\);)N
11779 555 5511([KUNG81])N
11793 3781(Transactions)X
11795 727 5601(Database)N
11804 10 s 10 xH 0 xS 1 f
11812 1636(``Ef\256cient)X
11821 3779(Transactions)X
11835 1818(``ARIES-RRH:)X
11849 1941(International)X
11860 555 1170([NODI90])N
11865 1709(``Cooperative)X
11867 2580(Hierarchies:)X
11874 727 1260(Applications'',)N
11878 1849(International)X
11891 555 1530([OUST90])N
11911 555 1800([POSIX91])N
11929 555 2070([ROSE91])N
11937 2611(Implementation)X
11940 3314(Log-Structured)X
11944 727 2160(Proceedings)N
11956 555 2340([SELT91])N
11959 1306(Stonebraker,)X
11967 3454(Evaluation'',)X
11972 1100(International)X
11983 555 2610([SPEC88])N
12019 555 3150([STON81])N
12027 2835(Management'',)X
12029 3348(Communications)X
12036 555 3420([SULL92])N
12043 2195(Implementation)X
12059 2687(International)X
12070 555 3780([TPCB90])N
12079 3510(Speci\256cation,)X
12081 727 3870(Associates,)N
12085 555 4050([YOUN91])N
12096 2826(Architecture)X
12101 727 4140(cessing'',)N
12133 555 4353(University)N
12159 3298(implementing)X
12163 555 4533(transaction)N
12168 2061(microprocessors.)X
12179 840 0.1953(Harvard/Radcliffe)AX
12316 3834(developments.)X