Fractal Prefetching B · -Trees:
Optimizing Both Cache and Disk Performance Ü
Shimin Chen, Phillip B. Gibbons Ý , Todd C. Mowry, and Gary Valentin Ü School of Computer Science Ý Information Sciences Research Center DB2 UDB Development Team Carnegie Mellon University Bell Laboratories IBM Toronto Lab
Pittsburgh, PA 15213 Murray Hill, NJ 07974£ Markham, Ontario, Canada L6G 1C7 g fchensm,tcm @cs.cmu.edu [email protected]
ABSTRACT
·
B ¹ÌÖee× haÚe b eeÒ ØÖadiØiÓÒaÐÐÝ ÓÔØiÑiÞed fÓÖ Á»Ç Ô eÖfÓÖ¹
ÑaÒce ÛiØh di×k Ôage× a× ØÖee ÒÓ de׺ ÊeceÒØÐݸ Öe×eaÖcheÖ×
·
haÚe ÔÖÓÔ Ó×ed ÒeÛ ØÝÔ e× Óf B ¹ÌÖee× ÓÔØiÑiÞed fÓÖ CÈÍ
cache Ô eÖfÓÖÑaÒce iÒ ÑaiÒ ÑeÑÓÖÝ eÒÚiÖÓÒÑeÒØ׸ ÛheÖe Øhe
ØÖee ÒÓ de ×iÞe× aÖe ÓÒe ÓÖ a feÛ cache ÐiÒe׺ ÍÒfÓÖØÙÒaØeÐݸ
dÙe ÔÖiÑaÖiÐÝ ØÓ Øhi× ÐaÖge di×cÖeÔaÒcÝ iÒ ÓÔØiÑaÐ ÒÓ de ×iÞe׸
·
eÜi×ØiÒg di×k¹ÓÔØiÑiÞed B ¹ÌÖee× ×Ù«eÖ fÖÓÑ Ô Ó ÓÖ cache Ô eÖ¹
·
fÓÖÑaÒce ÛhiÐe cache¹ÓÔØiÑiÞed B ¹ÌÖee× eÜhibiØ Ô Ó ÓÖ di×k
FigÙÖe ½: ËeÐf¹×iÑiÐaÖ \ØÖee ÛiØhiÒ a ØÖee" ×ØÖÙcØÙÖe
Ô eÖfÓÖÑaÒceº ÁÒ Øhi× ÔaÔ eÖ¸ Ûe ÔÖÓÔ Ó×e fÖacØaÐ ÔÖefeØch¹
· ·
iÒg B ¹ÌÖee× ´fÔB ¹ÌÖee×µ¸ ÛhicheÑb ed \cache¹ÓÔØiÑiÞed"
ØÖee× ÛiØhiÒ \di×k¹ÓÔØiÑiÞed" ØÖee׸ iÒ ÓÖdeÖ ØÓ ÓÔØiÑiÞe
CÈÍ cache Ô eÖfÓÖÑaÒce bÝ ÑiÒiÑiÞiÒg Øhe iÑÔacØ Óf cache
·
b ÓØh cache aÒd Á»Ç Ô eÖfÓÖÑaÒceº Ïe de×igÒ aÒd eÚaÐÙaØe
Ñi××e׺ Ìhe×e \cache¹ÓÔØiÑiÞed" B ¹ÌÖee× aÖe cÓÑÔ Ó×ed Óf
½
ØÛÓ aÔÔÖÓache× ØÓ bÖeakiÒg di×k Ôage× iÒØÓ cache¹ÓÔØiÑiÞed
ÒÓ de× Øhe ×iÞe Óf a cache ÐiÒe |iºeº¸ Øhe ÒaØÙÖaÐ ØÖaÒ×feÖ ×iÞe
ÒÓ de×: di×k¹¬Ö×Ø aÒd cache¹¬Ö×غ Ìhe×e aÔÔÖÓache× aÖe ×ÓÑe¹
fÓÖ ÖeadiÒg ÓÖ ÛÖiØiÒg ØÓ ÑaiÒ ÑeÑÓÖݺ
·
ÛhaØ bia×ed iÒ faÚÓÖ Óf ÑaÜiÑiÞiÒg di×k aÒd cache Ô eÖfÓÖ¹
ÍÒfÓÖØÙÒaØeÐݸ B ¹ÌÖee× ÓÔØiÑiÞed fÓÖ di×k ×Ù«eÖ fÖÓÑ
·
ÑaÒce¸ Öe×Ô ecØiÚeÐݸ a× deÑÓÒ×ØÖaØed bÝ ÓÙÖ Öe×ÙÐØ׺ BÓØh
Ô Ó ÓÖ CÈÍ cache Ô eÖfÓÖÑaÒce¸ aÒd B ¹ÌÖee× ÓÔØiÑiÞed fÓÖ
·
iÑÔÐeÑeÒØaØiÓÒ× Óf fÔB ¹ÌÖee× achieÚe dÖaÑaØicaÐÐÝ b eØØeÖ
cache ×Ù«eÖ fÖÓÑ Ô Ó ÓÖ Á»Ç Ô eÖfÓÖÑaÒceº Ìhi× i× ÔÖiÑaÖiÐÝ
·
cache Ô eÖfÓÖÑaÒce ØhaÒ di×k¹ÓÔØiÑiÞed B ¹ÌÖee×: a facØÓÖ
b ecaÙ×e Óf Øhe ÐaÖge di×cÖeÔaÒcÝ iÒ ÒÓ de ×iÞe×: di×k Ôage× aÖe
Óf ½º½ß½º8 iÑÔÖÓÚeÑeÒØ fÓÖ ×eaÖch¸ ÙÔ ØÓ a facØÓÖ Óf 4º¾ iѹ
ØÝÔicaÐÐÝ 4ÃBß64ÃB ÛhiÐe cache ÐiÒe× aÖe ÓfØeÒ ¿¾Bß½¾8B¸
·
ÔÖÓÚeÑeÒØ fÓÖ ÖaÒge ×caÒ׸ aÒd ÙÔ ØÓ a ¾¼¹fÓÐd iÑÔÖÓÚe¹
deÔ eÒdiÒg ÓÒ Øhe ×Ý×ØeѺ ÌhÙ× eÜi×ØiÒg di×k¹ÓÔØiÑiÞed B ¹
ÑeÒØ fÓÖ ÙÔ daØe׸ aÐÐ ÛiØhÓÙØ ×igÒi¬caÒØ degÖadaØiÓÒ Óf Á»Ç
ÌÖee× ×Ù«eÖ aÒ eÜce××iÚeÒÙÑb eÖ Óf cache Ñi××e× ØÓ ×eaÖchiÒ
·
Ô eÖfÓÖÑaÒceº ÁÒ addiØiÓÒ¸ fÔB ¹ÌÖee× acceÐeÖaØe Á»Ç Ô eÖ¹
a ´ÐaÖgeµ ÒÓ de¸ Ûa×ØiÒg ØiÑe aÒd fÓÖciÒg Øhe eÚicØiÓÒ Óf Ù×e¹
fÓÖÑaÒce fÓÖ ÖaÒge ×caÒ× bÝ Ù×iÒg jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ× ØÓ
fÙÐ daØa fÖÓÑ Øhe cacheº ÄikeÛi×e¸ eÜi×ØiÒg cache¹ÓÔØiÑiÞed
·
ÔÖefeØch Ðeaf Ôage׸ ØheÖebÝachieÚiÒg a ×Ô eed¹ÙÔ Óf ¾º5ß5
B ¹ÌÖee׸ iÒ ×eaÖchiÒg fÖÓÑ Øhe ÖÓ ÓØ ØÓ Øhe de×iÖed Ðeaf¸
ÓÒ ÁBÅ³× DB¾ ÍÒiÚeÖ×aÐ DaØaba×eº
ÑaÝ feØch a di×ØiÒcØ Ôage fÓÖ each ÒÓ de ÓÒ Øhi× ÔaØhº Ìhi×
i× a ×igÒi¬caÒØ Ô eÖfÓÖÑaÒce Ô eÒaÐØݸ fÓÖ Øhe ×ÑaÐÐeÖ ÒÓ de×
·
he¹ÓÔØiÑiÞed B ¹ÌÖee× iÑÔÐÝ ÑÙch deeÔ eÖ ØÖee× ØhaÒ
1. INTRODUCTION Óf cac
·
iÒ Øhe di×k¹ÓÔØiÑiÞed ca×e× ´eºgº¸ ØÛice a× deeÔµº Ìhe Á»Ç
Ìhe B ¹ÌÖee i× a ÙbiÕÙiØÓÙ× ×ØÖÙcØÙÖe fÓÖ iÒdeÜiÒg di×k¹
Ô eÒaÐØÝ fÓÖ ÖaÒge ×caÒ× ÓÒ ÒÓÒcÐÙ×ØeÖed iÒdeÜe× Óf cache¹
Öe×ideÒØ daØaº ÁØ ÔÖÓÚide× ba×ic iÒdeÜ ÓÔ eÖaØiÓÒ× ×Ùch a×
ÓÔØiÑiÞed ØÖee× i× eÚeÒ ÛÓÖ×e: a di×ØiÒcØ Ôage ÑaÝ b e feØched
×eaÖch¸ ÖaÒge ×caÒ¸ iÒ×eÖØiÓÒ aÒd deÐeØiÓÒ¸ ÛhiÐe ÑiÒiÑiÞ¹
fÓÖ each Ðeaf ÒÓ de iÒ Øhe ÖaÒge¸ iÒcÖea×iÒg Øhe ÒÙÑb eÖ Óf di×k
iÒg Øhe ÒÙÑbeÖ Óf di×k acce××e׺ ÌÓ ÓÔØiÑiÞe Á»Ç Ô eÖfÓÖ¹
·
acce××e× bÝ Øhe ÖaØiÓ Óf Øhe ÒÓ de ×iÞe× ´eºgº¸ a facØÓÖ Óf 5¼¼µº
ÑaÒce¸ ØÖadiØiÓÒaÐ \di×k¹ÓÔØiÑiÞed" B ¹ÌÖee× aÖe cÓÑÔ Ó×ed
Óf ÒÓ de× Øhe ×iÞe Óf a di×k Ôage|iºeº¸ Øhe ÒaØÙÖaÐ ØÖaÒ×feÖ
·
ÊeceÒØÐݸ ×eÚeÖaÐ ×ØÙd¹
×iÞe fÓÖ ÖeadiÒg ÓÖ ÛÖiØiÒg ØÓ di×kº 1.1 Our Approach: Fractal Prefetching B -Trees
·
ie× [5¸ 6¸ ½9] haÚe cÓÒ×ideÖed B ¹ÌÖee ÚaÖiaÒØ× fÓÖ iÒdeܹ
ÁÒ Øhi× ÔaÔ eÖ¸ Ûe ÔÖÓÔ Ó×e aÒd eÚaÐÙaØe FÖacØaÐ ÈÖefeØch¹
· · ·
iÒg ÑeÑÓÖݹÖe×ideÒØ daØaº Ìhe×e ×ØÙdie× ÔÖe×eÒØ ÒeÛ ØÝÔ e×
iÒg B ¹ÌÖee× ´fÔB ¹ÌÖee×µ¸ Ûhich aÖe a ÒeÛ ØÝÔeÓfB ¹ÌÖee
· · ·
Óf B ¹ÌÖee×|cache¹×eÒ×iØiÚe B ¹ÌÖee× [½9]¸ ÔaÖØiaйkeÝ B ¹
ØhaØ ÓÔØiÑiÞe× bÓØh cache aÒd Á»Ç Ô eÖfÓÖÑaÒceº ÁÒ a ÒÙع
·
·
ÌÖee× [5]¸ aÒd ÔÖefeØchiÒg B ¹ÌÖee× [6]|ØhaØ ÓÔØiÑiÞe fÓÖ
×heÐи aÒ fÔB ¹ÌÖee i× a ×iÒgÐe iÒdeÜ ×ØÖÙcØÙÖe ØhaØ caÒ b e
ÚieÛed aØ ØÛÓ di«eÖeÒØ gÖaÒÙÐaÖiØie×: aØ a cÓaÖ×e gÖaÒÙÐaÖ¹
£
CÙÖÖeÒØ aÆÐiaØiÓÒ: ÁÒØeÐ Êe×eaÖch ÈiØØ×bÙÖgh¸ 4½7 ËÓÙØh CÖaig Ëغ¸
iØݸ iØ cÓÒØaiÒ× di×k¹ÓÔØiÑiÞed ÒÓ de× ØhaØ aÖe ÖÓÙghÐÝ Øhe
ÈiØØ×bÙÖgh¸ ÈA ½5¾½¿ ÔhiÐ ÐiÔºbºgibbÓÒ×@iÒØeкcÓÑ
×iÞe Óf a di×k Ôage¸ aÒd aØ a ¬Òe gÖaÒÙÐaÖiØݸ iØ cÓÒØaiÒ×
he¹ÓÔØiÑiÞed ÒÓ de× ØhaØ aÖe ÖÓÙghÐÝ Øhe ×iÞe Óf a cache
Permission to make digital or hard copies of all or part of this work for cac
·
ÐiÒeº Ïe ÖefeÖ ØÓ a fÔB Öee a× b eiÒg \fÖacØaÐ" b ecaÙ×e Óf personal or classroom use is granted without fee provided that copies are ¹Ì
not made or distributed for profit or commercial advantage and that copies iØ× ×eÐf¹×iÑiÐaÖ \ØÖee ÛiØhiÒ a ØÖee" ×ØÖÙcØÙÖe¸ a× iÐÐÙ×ØÖaØed
FigÙÖe ½º Ìhe cache¹ÓÔØiÑiÞed a×Ô ecØ i× ÑÓ deÐed afØeÖ
bear this notice and the full citation on the first page. To copy otherwise, to iÒ
·
ÔÖefeØchiÒg B ¹ÌÖee× ØhaØ Ûe ÔÖÓÔ Ó×ed eaÖÐieÖ [6]¸ Ûhich republish, to post on servers or to redistribute to lists, requires prior specific Øhe
permission and/or a fee.
½ ·
ÔÖefeØchiÒg B ¹ÌÖee× [6]¸ Øhe ÒÓ de× aÖe ×eÚeÖaÐ cache
ACM SIGMOD ’2002 June 4-6, Madison, Wisconsin, USA ÁÒ Øhe ca×e Óf ÐiÒe× Ûideº
Copyright 2002 ACM 1-58113-497-5/02/06 ...°5.00.
ÛeÖe ×hÓÛÒ ØÓ haÚe Øhe b e×Ø ÑaiÒ ÑeÑÓÖÝ Ô eÖfÓÖÑaÒce fÓÖ ×iÞe ÛheÒ cÓÒ×ideÖiÒg bÙ«eÖ cache Ô eÖfÓÖÑaÒce¸ fÓÖ di×k¹
·
¬Üed¹×iÞe keÝ׺ ´Ïe ÒÓØe¸ hÓÛeÚeÖ¸ ØhaØ Øhi× geÒeÖaÐ aÔ¹ Öe×ideÒØ daØaº ÄÓÑeØ³× ÖeceÒØ ×ÙÖÚeÝ Óf B ¹ÌÖee ØechÒiÕÙe× [½6]
·
ÔÖÓach caÒ b e aÔÔÐied ØÓ aÒÝ cache¹ÓÔØiÑiÞed B ¹ÌÖeeºµ ÁÒ ÑeÒØiÓÒed Øhe idea Óf iÒØÖa¹ÒÓ de ÑicÖÓ¹iÒdeÜiÒg: iºeº¸ ÔÐac¹
·
a ÔÖefeØchiÒg B ¹ÌÖee¸ ÒÓ de× aÖe ×eÚeÖaÐ cache ÐiÒe× Ûide iÒg a ×ÑaÐÐ aÖÖaÝ iÒ a feÛ cache ÐiÒe× Óf Øhe Ôage ØhaØ iÒdeÜe×
´eºgº¸ 8|Øhe eÜacØ ÒÙÑbeÖ i× ØÙÒed accÓÖdiÒg ØÓ ÚaÖiÓÙ× Øhe ÖeÑaiÒiÒg keÝ× iÒ Øhe Ôageº ÏhiÐe iØ aÔÔ eaÖ× ØhaØ Øhi×
ÑeÑÓÖÝ ×Ý×ØeÑ ÔaÖaÑeØeÖ×µ¸ aÒd ÔÖefeØchiÒg i× Ù×ed ×Ó ØhaØ idea had ÒÓØ b eeÒ ÔÙÖ×Ùed iÒ aÒÝ deØaiÐ b efÓÖe¸ Ûe cÓÑÔaÖe
·
Øhe ØiÑe ØÓ feØch a ÒÓ de i× ÒÓØ ÑÙch ÐÓÒgeÖ ØhaÒ Øhe deÐaÝ iØ× Ô eÖfÓÖÑaÒce agaiÒ×Ø fÔB ¹ÌÖee× ÐaØeÖ iÒ ÓÙÖ eÜÔ eÖiÑeÒ¹
fÓÖ a ×iÒgÐe cache Ñi×׺ ØaÐ Öe×ÙÐØ׺ Ïe Ób×eÖÚe ØhaØ ÛhiÐe ÑicÖÓ¹iÒdeÜiÒg achieÚe×
·
Ïe de×igÒ aÒd eÚaÐÙaØe ØÛÓ aÔÔÖÓache× ØÓ iÑÔÐeÑeÒØiÒg gÓ Ó d ×eaÖch Ô eÖfÓÖÑaÒce ´ÓfØeÒ cÓÑÔaÖabÐe ØÓ fÔB ¹ÌÖee×µ¸
·
fÔB ¹ÌÖee×: ´iµ di×k¹¬Ö×Ø aÒd ´iiµ cache¹¬Ö×غ ÁÒ Øhe di×k¹ iØ ×Ù«eÖ× fÖÓÑ Ô Ó ÓÖ ÙÔ daØe Ô eÖfÓÖÑaÒceº A× ÔaÖØ Óf fÙØÙÖe
·
¬Ö×Ø aÔÔÖÓach¸ Ûe ×ØaÖØ ÛiØh a di×k¹ÓÔØiÑiÞed B ¹ÌÖee¸ bÙØ diÖecØiÓÒ׸ ÄÓÑeØ [½6] ha× iÒdeÔ eÒdeÒØÐÝ adÚÓ caØed bÖeak¹
·
ØheÒ ÓÖgaÒiÞe Øhe keÝ× aÒd Ô ÓiÒØeÖ× ÛiØhiÒ each Ôage¹×iÞed iÒg ÙÔ B ¹ÌÖee di×k Ôage× iÒØÓ cache¹fÖieÒdÐÝ ÙÒiØ׸ Ô ÓiÒع
ÒÓ de a× a ×ÑaÐÐ ØÖeeº Ìhi× iÒ¹Ôage ØÖee i× a ÚaÖiaÒØ Óf Øhe iÒg ÓÙØ Øhe chaÐÐeÒge× Óf ¬ÒdiÒg aÒ ÓÖgaÒiÞaØiÓÒ ØhaØ ×ØÖike×
·
ÔÖefeØchiÒg B ¹ÌÖeeº ÌÓ Ôack ÑÓÖe keÝ× aÒd Ô ÓiÒØeÖ× iÒØÓ a gÓ Ó d baÐaÒce b eØÛeeÒ ×eaÖch aÒd iÒ×eÖØiÓÒ Ô eÖfÓÖÑaÒce¸
·
aÒ iÒ¹Ôage ØÖee¸ Ûe Ù×e ×hÓÖØ iÒ¹Ôage Ó«×eØ× ÖaØheÖ ØhaÒ fÙÐÐ ×ØÓÖage ÙØiÐiÞaØiÓÒ¸ aÒd ×iÑÔÐiciØݺ Ïe b eÐieÚe ØhaØ fÔB ¹
Ô ÓiÒØeÖ× iÒ aÐÐ bÙØ Øhe Ðeaf ÒÓ de× Óf aÒ iÒ¹Ôage ØÖeeº Ïe aÐ×Ó ÌÖee× achieÚe Øhi× baÐaÒceº GÖaefe aÒd ÄaÖ×ÓÒ [½½] ÔÖe×eÒØed
×hÓÛ Øhe adÚaÒØage× Óf Ù×iÒg di«eÖeÒØ ×iÞe× fÓÖ Ðeaf ÚeÖ×Ù× a ×ÙÖÚeÝ Óf ØechÒiÕÙe× fÓÖ iÑÔÖÓÚiÒg Øhe CÈÍ cache Ô eÖfÓÖ¹
·
ÒÓÒ¹Ðeaf ÒÓ de× iÒ aÒ iÒ¹Ôage ØÖeeº ÁÒ cÓÒØÖa×ظ Øhe cache¹ ÑaÒce Óf B ¹ÌÖee iÒdeÜe׺ ÌheÝ di×cÙ××ed a ÒÙÑb eÖ Óf Øech¹
·
¬Ö×Ø aÔÔÖÓach ×ØaÖØ× ÛiØh a cache¹ÓÔØiÑiÞed ÔÖefeØchiÒg B ¹ ÒiÕÙe׸ ×Ùcha×keÝ cÓÑÔÖe××iÓÒ¸ ØhaØ aÖe cÓÑÔÐeÑeÒØaÖÝ ØÓ
·
ÌÖee ´igÒÓÖiÒg di×k Ôage b ÓÙÒdaÖie×µ¸ aÒd ØheÒ aØØeÑÔØ× ØÓ ÓÙÖ ×ØÙdݸ aÒd cÓÙÐd b e iÒcÓÖÔ ÓÖaØed iÒØÓ fÔB ¹ÌÖee׺ BeÒ¹
·
gÖÓÙÔ ØÓgeØheÖ Øhe×e ×ÑaÐÐeÖ ÒÓ de× iÒØÓ Ôage¹×iÞed ÒÓ de× deÖ eØ aк [4] ÔÖe×eÒØ a ÖecÙÖ×iÚeB ¹ÌÖee ×ØÖÙcØÙÖe ØhaØ i×
ØÓ ÓÔØiÑiÞe di×k Ô eÖfÓÖÑaÒceº ËÔ eci¬caÐÐݸ Øhe cache¹¬Ö×Ø a×ÝÑÔØÓØicaÐ ÐÝ ÓÔØiÑaи ÖegaÖdÐe×× Óf Øhe cache ÐiÒe ×iÞe× aÒd
aÔÔÖÓach ×eek× ØÓ ÔÐace a ÔaÖeÒØ aÒd iØ× chiÐdÖeÒ ÓÒ Øhe di×k Ôage ×iÞe׸ bÙØ a××ÙÑiÒg ÒÓ ÔÖefeØchiÒgº
×aÑe Ôage¸ aÒd ØÓ ÔÐace adjaceÒØ Ðeaf ÒÓ de× ÓÒ Øhe ×aÑe
ÅaiÒØaiÒiÒg b ÓØh ×ØÖÙcØÙÖe× a× ÒeÛ keÝ× aÖe added
Ôageº 1.3 Contributions of This Paper
aÒd ÒÓ de× ×ÔÐiØ Ô Ó×e× ÔaÖØicÙÐaÖ chaÐÐeÒge׺ Ïe ÛiÐÐ ×hÓÛ
Ìhi× ÔaÔ eÖ Ñake× Øhe fÓÐÐÓÛiÒg cÓÒØÖibÙØiÓÒ׺ FiÖ×ظ Ûe
· ·
hÓÛ ØÓ ÔÖÓ ce×× iÒ×eÖØiÓÒ× aÒd deÐeØiÓÒ× eÆcieÒØÐÝ iÒ b ÓØh
ÔÖÓÔ Ó×e aÒd eÚaÐÙaØe FÖacØaÐ ÈÖefeØchiÒg B ¹ÌÖee× ´fÔB ¹
·
di×k¹¬Ö×Ø aÒd cache¹¬Ö×Ø fÔB ¹ÌÖee׺ Ïe ×eÐecØ Øhe ÓÔØiÑaÐ
ÌÖee×µ a× a ÒÓÚeÐ iÒdeÜ ×ØÖÙcØÙÖe ØhaØ ÓÔØiÑiÞe× b ÓØh cache
ÒÓ de ×iÞe× iÒ b ÓØh aÔÔÖÓache× ØÓ ÑaÜiÑiÞe Øhe ÒÙÑbeÖ Óf
aÒd di×k Ô eÖfÓÖÑaÒce ×iÑÙÐØaÒeÓÙ×Ðݺ ËecÓÒd¸ Ûe ÔÖe×eÒØ
eÒØÖÝ ×ÐÓØ× iÒ a Ðeaf Ôage ÛhiÐe aÒaÐÝØicaÐÐÝ achieÚiÒg ×eaÖch
deØaiÐed aÒaÐÝ×i× Óf Øhe fÙÒdaÑeÒØaÐ ØÖadeÓ«× b eØÛeeÒ Øhe
·
cache Ô eÖfÓÖÑaÒce ÛiØhiÒ ½¼± Óf Øhe b e×غ
di×k¹¬Ö×Ø aÒd Øhe cache¹¬Ö×Ø iÑÔÐeÑeÒØaØiÓÒ× Óf fÔB ¹ÌÖee׺
ÁdeaÐÐݸ b ÓØh Øhe di×k¹¬Ö×Ø aÒd Øhe cache¹¬Ö×Ø aÔÔÖÓache×
ÏhiÐe Øhe Ô eÖfÓÖÑaÒce Óf each Óf Øhe×e iÑÔÐeÑeÒØaØiÓÒ×
ÛÓÙÐd achieÚe ideÒØicaÐ daØa ÐaÝÓÙØ׸ aÒd heÒce eÕÙiÚaÐeÒØ
ÖeÑaiÒ× ×ÐighØÐÝ bia×ed ØÓÛaÖd iØ× ÓÖigiÒaÐ gÓaи b ÓØh ÚeÖ¹
·
cache aÒd Á»Ç Ô eÖfÓÖÑaÒceº ÁÒ ÔÖacØice¸ hÓÛeÚeÖ¸ Øhe Ñi×¹
×iÓÒ× Óf fÔB ¹ÌÖee× iÑÔÖÓÚe ÙÔ ÓÒ Øhe cache Ô eÖfÓÖÑaÒce
·
ÑaØch ØhaØ aÐÑÓ×Ø aÐÛaÝ× Ó ccÙÖ× b eØÛeeÒ Øhe ×iÞe Óf a cache¹
Óf di×k¹ÓÔØiÑiÞed B ¹ÌÖee× ´ÛiØhÓÙØ ×igÒi¬caÒØÐÝ degÖadiÒg
ÓÔØiÑiÞed ×ÙbØÖee aÒd Øhe ×iÞe Óf a di×k Ôage ´iÒ addiØiÓÒ
Á»Ç Ô eÖfÓÖÑaÒceµ a× fÓÐÐÓÛ×: ´iµ a facØÓÖ Óf ½º½ß½º8 iÑÔÖÓÚe¹
ØÓ ÓØheÖ iÑÔÐeÑeÒØaØiÓÒ deØaiÐ× ×Ùch a× fÙÐÐ Ô ÓiÒØeÖ× ÚeÖ×Ù×
ÑeÒØ fÓÖ ×eaÖch; ´iiµ ÙÔ ØÓ a facØÓÖ Óf 4º¾ iÑÔÖÓÚeÑeÒØ fÓÖ
Ôage Ó«×eØ×µ caÙ×e× Øhe di×k¹¬Ö×Ø aÒd cache¹¬Ö×Ø aÔÔÖÓache×
ÖaÒge ×caÒ×; aÒd ´iiiµ ÙÔ ØÓ a ¾¼¹fÓÐd iÑÔÖÓÚeÑeÒØ fÓÖ ÙÔ¹
ØÓ b e ×ÐighØÐÝ bia×ed iÒ faÚÓÖ Óf di×k aÒd cache Ô eÖfÓÖÑaÒce¸
daØe׺ ÌhiÖd¸ Ûe ÔÖe×eÒØ Øhe ¬Ö×Ø deØaiÐed eÚaÐÙaØiÓÒ Óf
Öe×Ô ecØiÚeÐݺ De×ÔiØe Øhe×e ×ÐighØ di×ÔaÖiØie׸ b ÓØh iÑÔÐe¹
ÑicÖÓ¹iÒdeÜiÒg [½6]¸ aÒd ¬Òd ØhaØ iØ× ÔÓÓÖ ÙÔ daØe Ô eÖfÓÖ¹
·
·
ÑeÒØaØiÓÒ× Óf fÔB ¹ÌÖee× achieÚe dÖaÑaØicaÐÐÝ b eØØeÖ cache
ÑaÒce Ñake× iØ Ðe×× aØØÖacØiÚe ØhaÒ fÔB ¹ÌÖee׺ FiÒaÐÐݸÛe
·
·
Ô eÖfÓÖÑaÒce ØhaÒ di×k¹ÓÔØiÑiÞed B ¹ÌÖee׺
deÑÓÒ×ØÖaØe ØhaØ fÔB ¹ÌÖee× caÒ aÐ×Ó be Ù×ed ØÓ acceÐeÖ¹
·
ÌÓ acceÐeÖaØe ÖaÒge ×caÒ׸ fÔB ¹ÌÖee× eÑÔÐÓÝ Øhe jÙÑÔ¹
aØe Á»Ç ÔeÖfÓÖÑaÒceº ÁÒ ÔaÖØicÙÐaÖ¸ Ûe deÑÓÒ×ØÖaØe aÒ ÓÚeÖ
ÔÓiÒØeÖ aÖÖaÝ ×cheÑe ØhaØ Ûe ÔÖÓÔ Ó×ed eaÖÐieÖ [6]º A jÙÑÔ¹
ØÛÓfÓÐd ØÓ ¬ÚefÓÐd iÑÔÖÓÚeÑeÒØ fÓÖ iÒdeÜ ÖaÒge ×caÒ× iÒ aÒ
Ô ÓiÒØeÖ aÖÖaÝ cÓÒØaiÒ× Øhe Ðeaf ÒÓ de addÖe××e× Óf a ØÖee¸
iÒdÙ×ØÖiaй×ØÖeÒgØh cÓÑÑeÖciaÐ DBÅË ´ÁBÅ³× DB¾µº
Ûhich aÖe Ù×ed iÒ ÖaÒge ×caÒ× ØÓ ÔÖefeØch Øhe Ðeaf ÒÓ de׸ ØhÙ×
Ìhe ÖeÑaiÒdeÖ Óf Øhi× ÔaÔ eÖ i× ÓÖgaÒiÞed a× fÓÐÐÓÛ׺ Ëec¹
·
×Ô eediÒg ÙÔ Øhe ×caÒ׺ ÁÒ [6]¸ Ûe ×hÓÛed ØhaØ Øhi× aÔÔÖÓach
ØiÓÒ ¾ de×cÖib e× hÓÛ fÔB ¹ÌÖee× eÒhaÒce Á»Ç Ô eÖfÓÖÑaÒceº
×igÒi¬caÒØÐÝ iÑÔÖÓÚe× cache Ô eÖfÓÖÑaÒceº ÁÒ Øhi× ÔaÔ eÖ¸ Ûe
ÌheÒ ËecØiÓÒ ¿ de×cÖib e× hÓÛ ØheÝ eÒhaÒce cache Ô eÖfÓÖ¹
×hÓÛ iØ i× aÐ×Ó b eÒe¬ciaÐ fÓÖ Á»Ç¸ bÝ deÑÓÒ×ØÖaØiÒg a facØÓÖ
ÑaÒce ÛhiÐe ÔÖe×eÖÚiÒg Á»Ç Ô eÖfÓÖÑaÒceº ËecØiÓÒ 4 ÔÖe×eÒØ×
·
Óf ¾º5ß5 iÑÔÖÓÚeÑeÒØ iÒ Øhe ÖaÒge ×caÒ Á»Ç Ô eÖfÓÖÑaÒce fÓÖ
eÜÔ eÖiÑeÒØaÐ Öe×ÙÐØ× ÚaÐidaØiÒg Øhe e«ecØiÚeÒe×× Óf fÔB ¹
ÁBÅ³× DB¾ ÖÙÒÒiÒg ÓÒ a ÑÙÐØi¹di×k ÔÐaØfÓÖѺ
ÌÖee× iÒ ÓÔØiÑiÞiÒg b ÓØh cache aÒd di×k Ô eÖfÓÖÑaÒceº Ëec¹
ØiÓÒ 5 ÔÖe×eÒØ× ÓÙÖ cÓÒcÐÙ×iÓÒ׺
1.2 Related Work
ÙÑb eÖ Óf ÖeceÒØ ×ØÙdie× haÚe deÑÓÒ×ØÖaØed Øhe iÑÔ ÓÖ¹
AÒ 2. OPTIMIZING I/O PERFORMANCE
·
ØaÒce Óf ÓÔØiÑiÞiÒg Øhe cache Ô eÖfÓÖÑaÒce Óf a DBÅË [½¸ ¾¸ FÖacØaÐ ÈÖefeØchiÒg B ¹ÌÖee× cÓÑbiÒe feaØÙÖe× Óf di×k¹
· · ·
¿]º B ¹ÌÖee× haÚe b eeÒ di×cÙ××ed iÒ Øhi× ÖegaÖd¸ iÒcÐÙdiÒg ÓÔØiÑiÞed B ¹ÌÖee× aÒd cache¹ÓÔØiÑiÞed B ¹ÌÖee× ØÓ achieÚe
×eÚeÖaÐ ÖeceÒØ ×ÙÖÚeÝ ÔaÔ eÖ× [½½¸ ½6]º Ìhi× ÔaÔ eÖ¸ hÓÛeÚeÖ¸ Øhe b e×Ø Óf b ÓØh ×ØÖÙcØÙÖe׺ ÁÒ Øhi× ×ecØiÓÒ¸ Ûe de×cÖib e hÓÛ
· ·
i× Øhe ¬Ö×Ø ØÓ ÔÖÓÔ Ó×e a B ¹ÌÖee iÒdeÜ ×ØÖÙcØÙÖe ØhaØ e«ec¹ fÔB ¹ÌÖee× iÑÔÖÓÚe Á»Ç Ô eÖfÓÖÑaÒce fÓÖ ÑÓ deÖÒ daØaba×e
ØiÚeÐÝ ÓÔØiÑiÞe× b ÓØh CÈÍ cache aÒd di×k Ô eÖfÓÖÑaÒce ÓÒ ×eÖÚeÖ׺ ÁÒ a ÒÙØ×heÐи Ûe cÓÒ×ideÖ aÔÔÐÝiÒg ØÓ di×k¹Öe×ideÒØ
·
ÑÓ deÖÒ ÔÖÓ ce××ÓÖ׸ fÓÖ each Óf Øhe ba×ic B ¹ÌÖee ÓÔ eÖaØiÓÒ×: daØa each Óf Øhe ØechÒiÕÙe× iÒ [6] fÓÖ iÑÔÖÓÚiÒg Øhe cache
×eaÖche׸ ÖaÒge ×caÒ׸ iÒ×eÖØiÓÒ׸ aÒd deÐeØiÓÒ׺ Ô eÖfÓÖÑaÒce fÓÖ ÑeÑÓÖݹÖe×ideÒØ daØaº Ïe aÖgÙe ØhaØ ÛhiÐe
·
ChiÐiÑbi eØ aк [8] deÑÓÒ×ØÖaØed ØhaØ B ¹ÌÖee× ÛiØh cache Øhe ØechÒiÕÙe× aÖe ÒÓØ adÚaÒØageÓÙ× fÓÖ ×eaÖch Á»Ç Ô eÖfÓÖ¹
ÐiÒe ×iÞed ÒÓ de× caÒ ÓÙØÔ eÖfÓÖÑ biÒaÖÝ ØÖee× fÓÖ ÑeÑÓÖݹ ÑaÒce¸ ØheÝ caÒ ×igÒi¬caÒØÐÝ iÑÔÖÓÚe ÖaÒge ×caÒ Á»Ç Ô eÖ¹
·
Öe×ideÒØ daØa ÓÒ ÑÓ deÖÒ ÔÖÓ ce××ÓÖ׺ ÄikeÛi×e¸ B ¹ÌÖee× fÓÖÑaÒceº
ÓÙØÔ eÖfÓÖÑ Ì¹ØÖee× [½4] ÓÒ ØÓ daÝ³× ÔÖÓ ce××ÓÖ× [½8]º ÄÓÑeØ [½5] ÅÓ deÖÒ daØaba×e ×eÖÚeÖ× aÖe cÓÑÔ Ó×ed Óf ÑÙÐØiÔÐe di×k×
·
ÔÖe×eÒØed ØechÒiÕÙe× fÓÖ ×eÐecØiÒg aÒ ÓÔØiÑaÐ B ¹ÌÖee Ôage Ô eÖ ÔÖÓ ce××ÓÖº FÓÖ eÜaÑÔÐe¸ ÑaÒÝ ÌÈC b eÒchÑaÖk ÖeÔ ÓÖØ×
aÖe fÓÖ ËÅÈ ×eÖÚeÖ× ÛiØh ½¼¹¿¼ di×k× Ô eÖ ÔÖÓ ce××ÓÖ¸ aÒd hÙÒ¹
ÌÓ heÐÔ eÜÔÐÓiØ Øhi× ÖaÛ Á»Ç ÔaÖaÐÐeÐi×Ѹ
dÖed× Óf di×k× iÒ aÐк Tree
hÒiÕÙe× ×Ùcha×
cÓÑÑeÖciaÐ daØaba×e bÙ«eÖ ÑaÒageÖ× Ù×e Øec Leaf
ØiaÐ Á»Ç ÔÖefeØchiÒg aÒd deÐaÝed ÛÖiØe¹backº ÏhiÐe
×eÕÙeÒ parents
×eÕÙeÒØiaÐ Á»Ç ÔÖefeØchiÒg heÐÔ× acceÐeÖaØe ÖaÒge ×caÒ× ÓÒ
cÐÙ×ØeÖed iÒdeÜe׸ iØ Ó«eÖ× ÐiØØÐe ÓÖ ÒÓ b eÒe¬Ø fÓÖ ÖaÒge ×caÒ×
ÓÒ ÒÓÒ¹cÐÙ×ØeÖed iÒdeÜe× ÓÖ fÓÖ ×eaÖche׺ ÇÙÖ gÓaÐ i× ØÓ e«ec¹
FigÙÖe ¾: ÁÒØeÖÒaÐ jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ
ØiÚeÐÝ eÜÔÐÓiØ Á»Ç ÔaÖaÐÐeÐi×Ñ bÝ eÜÔÐiciØÐÝ ÔÖefeØchiÒg di×k
Ôage× eÚeÒ ÛheÒ Øhe acce×× ÔaØØeÖÒ× aÖe ÒÓØ ×eÕÙeÒØiaк
ÓÖdeÖ ´×iÑiÐaÖ ØÓ ÖaÒge ×caÒ×µº
ÁÒ a ÔÖeÚiÓÙ× ÔaÔ eÖ [6]¸ Ûe ÔÖÓÔ Ó×ed aÒd eÚaÐÙaØed ÔÖefeØch¹
· ·
FÓÖ Øhe×e Öea×ÓÒ׸ Ûe dÓ ÒÓØ adÚÓ caØe Ù×iÒg ÑÙÐØiÔage¹
iÒg B ¹ÌÖee× ´ÔB ¹ÌÖee×µ a× a ØechÒiÕÙe fÓÖ eÒhaÒciÒg CÈÍ
×iÞed ÒÓ de׺ ÀeÒce ØhÖÓÙghÓÙØ Øhi× ÔaÔ eÖ¸ ÓÙÖ ØaÖgeØ ÒÓ de
cache Ô eÖfÓÖÑaÒce fÓÖ iÒdeÜ ×eaÖche× aÒd iÒdeÜ ÖaÒge ×caÒ×
·
×iÞe fÓÖ ÓÔØiÑiÞiÒg Øhe di×k Ô eÖfÓÖÑaÒce Óf fÔB ¹ÌÖee× ÛiÐÐ
ÓÒ ÑeÑÓÖݹÖe×ideÒØ daØaº Ìhe ÕÙe×ØiÓÒ ØhaØ Ûe addÖe××
be a ×iÒgÐe di×k Ôageº
ÒÓÛ i× ÛheØheÖ ØhÓ×e ×aÑe ØechÒiÕÙe× caÒ be aÔÔÐied ØÓ
Ø daØaº ËiÒce
acceÐeÖaØiÒg Á»Ç Ô eÖfÓÖÑaÒce fÓÖ di×k¹Öe×ideÒ 2.2 Range Scans: Prefetching via Jump-Pointer
ÛeeÒ ÑaiÒ ÑeÑÓÖÝ aÒd di×k fÓÖ a di×k¹
Øhe ÖeÐaØiÓÒ×hiÔ b eØ Arrays
ÓÔØiÑiÞed ØÖee i× ×ÓÑeÛhaØ aÒaÐÓgÓÙ× ØÓ Øhe ÖeÐaØiÓÒ×hiÔ b e¹
FÓÖ ÖaÒge ×caÒ Ô eÖfÓÖÑaÒce¸ ÓÙÖ ÔÖeÚiÓÙ× ÔaÔ eÖ [6] ÔÖÓ¹
ØÛeeÒ CÈÍ cache aÒd ÑaiÒ ÑeÑÓÖÝ fÓÖ a cache¹ÓÔØiÑiÞed
Ô Ó×ed a jÙÑÔ¹ÔÓiÒØeÖ aÖÖaÝ ×ØÖÙcØÙÖe ØhaØ Ô eÖÑiØ× Øhe ÐeaÚe×
ØÖee¸ ÓÒe ÑighØ Öea×ÓÒabÐÝ eÜÔ ecØ Øhe b eÒe¬Ø Óf a ØechÒiÕÙe
iÒ Øhe ÖaÒge ×caÒ ØÓ b e e«ecØiÚeÐÝ ÔÖefeØchedº A ÖaÒge ×caÒ
ØÓ ØÖaÒ×ÐaØe iÒ aØ Ðea×Ø ×ÓÑe fÓÖÑ acÖÓ×× Øhe×e di«eÖeÒØ gÖaÒ¹
i× Ô eÖfÓÖÑed bÝ ×eaÖchiÒg fÓÖ Øhe ×ØaÖØiÒg keÝ Óf Øhe ÖaÒge¸
ÙÐaÖiØie× [½½]º ÀÓÛeÚeÖ¸ b ecaÙ×e Óf Øhe ×igÒi¬caÒØ di«eÖeÒce×
ØheÒ ÖeadiÒg cÓÒ×ecÙØiÚe Ðeaf ÒÓ de× iÒ Øhe ØÖee ´fÓÐÐÓÛiÒg
beØÛeeÒ Øhe×e ØÛÓ gÖaÒÙÐaÖiØie× ´eºgº¸ di×k× aÖe ÐaÖgeÖ aÒd
Øhe ×ibÐiÒg ÐiÒk× b eØÛeeÒ Øhe Ðeaf ÒÓ de×µ ÙÒØiÐ Øhe eÒd keÝ
×ÐÓÛeÖ¸ ÑaiÒ ÑeÑÓÖÝ i× b eØØeÖ ×ÙiØed ØÓ ÖaÒdÓÑ acce×׸
fÓÖ Øhe ÖaÒge i× eÒcÓÙÒØeÖedº ÇÒe iÑÔÐeÑeÒØaØiÓÒ Óf Øhe
eØcºµ¸ ÛeÑÙ×Ø caÖefÙÐÐÝ eÜaÑiÒe Øhe acØÙaÐ e«ecØiÚeÒe×× Óf a
jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝi××hÓÛÒ iÒ FigÙÖe ¾: AÒ iÒØeÖÒaÐ jÙÑÔ¹
ØechÒiÕÙe aØ a di«eÖeÒØ gÖaÒÙÐaÖiØݺ ÁÒ ËecØiÓÒ× ¾º½ aÒd ¾º¾¸
·
Ô ÓiÒØeÖ aÖÖaÝ i× ÓbØaiÒed bÝ addiÒg ×ibÐiÒg Ô ÓiÒØeÖ× ØÓ each
Ûe cÓÒ×ideÖ Øhe ØÛÓ a×Ô ecØ× Óf ÔB ¹ÌÖee× Ûhich acceÐeÖaØe
ÒÓ de ØhaØ i× a ÔaÖeÒØÓfÐeaÚe׺ Ìhe×e Ðeaf ÔaÖeÒØ× cÓÐÐec¹
×eaÖche× aÒd ÖaÒge ×caÒ׸ Öe×Ô ecØiÚeÐݺ
ØiÚeÐÝ cÓÒØaiÒ Øhe addÖe××e× fÓÖ aÐÐ Ðeaf ÒÓ de׸ faciÐiØaØiÒg
ÒÓ de ÔÖefeØchiÒgº BÝ i××ÙiÒg a ÔÖefeØch fÓÖ each Ðeaf
2.1 Searches: Prefetching and Node Sizes Ðeaf
ÒÓ de ×ÙÆcieÒØÐÝ faÖ ahead Óf ÛheÒ Øhe ÖaÒge ×caÒ Òeed× Øhe
·
ÌÓ acceÐeÖaØe ×eaÖch Ô eÖfÓÖÑaÒce¸ ÓÙÖ ÔB ¹ÌÖee de×igÒ [6]
ÒÓ de¸ Øhe cache Ñi××e× fÓÖ Øhe×e ÐeaÚe× aÖe ÓÚeÖÐaÔÔ edº
·
iÒcÖea×ed Øhe ×iÞe Óf a B ¹ÌÖee ÒÓ de ×iÞe ØÓ b e ÑÙÐØiÔÐe cache
Ìhe ×aÑe ØechÒiÕÙe caÒ be aÔÔÐied aØ Ôage gÖaÒÙÐaÖiØÝ
ÐiÒe× Ûide aÒd ÔÖefeØched aÐÐ cache ÐiÒe× ÛiØhiÒ a ÒÓ de b efÓÖe
ØÓ iÑÔÖÓÚe ÖaÒge ×caÒ Á»Ç Ô eÖfÓÖÑaÒce¸ bÝÓÚeÖÐaÔÔiÒg Ðeaf
acce××iÒg iغ ÁÒ Øhi× Ûaݸ Øhe ÑÙÐØiÔÐe cache Ñi××e× Óf a ×iÒgÐe
Ôage Ñi××e׺ ÁØ i× ÔaÖØicÙÐaÖÐÝ heÐÔfÙÐ iÒ ÒÓÒ¹cÐÙ×ØeÖed iÒ¹
ÒÓ de aÖe ×eÖÚiced iÒ ÔaÖaÐÐeи ØheÖebÝ Öe×ÙÐØiÒg iÒ aÒ ÓÚeÖaÐÐ
deÜe× aÒd ÛheÒ Ðeaf Ôage× aÖe ÒÓØ ×eÕÙeÒØiaÐ ÓÒ di×k׸ a
¾
Ñi×× Ô eÒaÐØÝ ØhaØ i× ÓÒÐÝ ×ÐighØÐÝ ÐaÖgeÖ ØhaÒ ØhaØ Óf a ×iÒgÐe
cÓÑÑÓÒ ×ceÒaÖiÓ fÓÖ fÖeÕÙeÒØÐÝ ÙÔ daØed iÒdeÜe׺ ÆÓØe ØhaØ
cache Ñi×׺ Ìhe ÒeØ Öe×ÙÐØ i× ØhaØ ×eaÖche× b ecÓÑe fa×ØeÖ
Øhe ÓÖigiÒaÐ ØechÒiÕÙe [6] ÔÖefeØched Ôa×Ø Øhe eÒd keݺ Ìhi×
b ecaÙ×e ÒÓ de× aÖe ÐaÖgeÖ aÒd heÒce ØÖee× aÖe ×haÐÐÓÛeÖº
ÓÚeÖ×hÓ ÓØiÒg i× ÒÓØ a Ña jÓÖ cÓÒceÖÒ aØ cache gÖaÒÙÐaÖiØÝ;
FÓÖ di×k¹Öe×ideÒØ daØa¸ Øhe Ôage¹gÖaÒÙÐaÖiØÝ cÓÙÒØeÖÔaÖØ
hÓÛeÚeÖ¸ iØ caÒ iÒcÙÖ a ÐaÖge Ô eÒaÐØÝ aØ Ôage gÖaÒÙÐaÖiØÝ
·
i× ØÓ iÒcÖea×e Øhe B ¹ÌÖee ÒÓ de ×iÞe ØÓ be a ÑÙÐØiÔÐe Óf
b ÓØh b ecaÙ×e each Ôage i× ÑÓÖe eÜÔ eÒ×iÚe ØÓ ÔÖefeØch aÒd
Øhe di×k Ôage ×iÞe aÒd ÔÖefeØch aÐÐ Ôage× Óf a ÒÓ de ÛheÒ
b ecaÙ×e ÛeÑÙ×Ø ÔÖefeØch faÖØheÖ ahead iÒ ÓÖdeÖ ØÓ hide Øhe
·
acce××iÒg iغ BÝ ÔÐaciÒg Øhe Ôage× ØhaØ Ñake ÙÔ a ÒÓ de ÓÒ
ÐaÖgeÖ di×k ÐaØeÒcie׺ ÌÓ ×ÓÐÚe Øhi× ÔÖÓbÐeѸ fÔB ¹ÌÖee× b e¹
di«eÖeÒØ di×k׸ Øhe ÑÙÐØiÔÐe Ôage ÖeÕÙe×Ø× caÒ b e ×eÖÚiced iÒ
giÒ bÝ ×eaÖchiÒg fÓÖ b ÓØh Øhe ×ØaÖØ keÝ aÒd Øhe eÒd keݸ
ÔaÖaÐÐeк FÓÖ eÜaÑÔÐe¸ a 64ÃB ÒÓ de cÓÙÐd b e ×ØÖiÔ ed acÖÓ××
ÖeÑeÑb eÖiÒg Øhe ÖaÒge eÒd Ôageº ÌheÒ ÛheÒ ÔÖefeØchiÒg
4 di×k× ÛiØh ½6ÃB Ôage ×iÞe¸ aÒd Öead iÒ ÔaÖaÐÐeк A× iÒ Øhe
Ù×iÒg Øhe Ðeaf ÔaÖeÒØ׸ Ûe caÒ aÚÓid ÓÚeÖ×hÓ ÓØiÒgº AÐ×Ó ÒÓØe
cache ×ceÒaÖiÓ¸ fa×ØeÖ ×eaÖche× ÑaÝ Öe×ÙÐغ
ØhaØ b ecaÙ×e aÐÐ Øhe ÔÖefeØched Ðeaf Ôage× ÛÓÙÐd haÚe aÐ×Ó
ÀÓÛeÚeÖ¸ ØheÖe aÖe dÖaÛback× ØÓ aÔÔÐÝiÒg Øhi× aÔÔÖÓach
b eeÒ acce××ed iÒ a ÔÐaiÒ ÖaÒge ×caÒ¸ Øhi× ØechÒiÕÙe dÓ e× ÒÓØ
ØÓ di×k׺ ÏhiÐe Øhe Á»Ç ÐaØeÒcÝ i× ÐikeÐÝ ØÓ iÑÔÖÓÚe fÓÖ a ×iÒ¹
decÖea×e ØhÖÓÙghÔÙغ
gÐe ×eaÖch¸ Øhe Á»Ç ØhÖÓÙghÔÙØ ÑaÝ b ecÓÑe ÛÓÖ×e b ecaÙ×e
Ìhi× aÔÔÖÓach i× aÔÔÐicabÐe fÓÖ iÑÔÖÓÚiÒg Øhe Á»Ç Ô eÖfÓÖ¹
·
Óf Øhe eÜØÖa ×eek× fÓÖ a ÒÓ deº ÁÒ aÒ ÇÄÌÈ eÒÚiÖÓÒÑeÒظ
ÑaÒce Óf ×ØaÒdaÖd B ¹ÌÖee׸ ÒÓØ jÙ×Ø fÖacØaÐ ÓÒe׸ aÒd a×
ÑÙÐØiÔÐe ØÖaÒ×acØiÓÒ× caÒ ÓÚeÖÐaÔ ØheiÖ di×k acce××e׸ aÒd
ÓÙÖ eÜÔ eÖiÑeÒØaÐ Öe×ÙÐØ× ÛiÐÐ ×hÓÛ¸ caÒ Ðead ØÓ a ¬ÚefÓÐd ÓÖ
Øhe Á»Ç ØhÖÓÙghÔÙØ i× ÓfØeÒ dÓÑiÒaØed bÝ ×eek ØiÑe×; heÒce
ÑÓÖe ×Ô eedÙÔ fÓÖ ÐaÖge ÖaÒge ×caÒ׺
addiØiÓÒaÐ ×eek× ÑaÝ degÖade Ô eÖfÓÖÑaÒceº ÆÓØe ØhaØ Øhi× i×
he Ô eÖfÓÖÑaÒce ×iÒce ÓÒÐÝ Øhe cÙÖÖeÒØÐÝ
ÒÓØ a ÔÖÓbÐeÑ fÓÖ cac 3. OPTIMIZING CACHE PERFORMANCE
eÜecÙØiÒg ØhÖead caÒ eÜÔÐÓiØ iØ× cache hieÖaÖchÝ baÒdÛidØhº
·
ÁÒ Øhi× ×ecØiÓÒ¸ Ûe de×cÖib e hÓÛ fÔB ¹ÌÖee× ÓÔØiÑiÞe CÈÍ
ÁÒ a DËË eÒÚiÖÓÒÑeÒظ a ×eÖÚeÖ i× ÓfØeÒ dedicaØed ØÓ a ×iÒ¹
cache Ô eÖfÓÖÑaÒce ÛiØhÓÙØ ×acÖi¬ciÒg ØheiÖ Á»Ç Ô eÖfÓÖÑaÒceº
gÐe ÕÙeÖÝ aØ a ØiÑe¸ aÒd heÒce ÐaØeÒcÝ deØeÖÑiÒe× ØhÖÓÙgh¹
·
AÐØhÓÙgh B ¹ÌÖee× fÓÖ di×k¹Öe×ideÒØ daØa haÚe ØÖadiØiÓÒaÐÐÝ
ÔÙغ ÌhÙ× ÑÙÐØiÔage¹×iÞed ÒÓ de× ×ÔaÒÒiÒg ÑÙÐØiÔÐe di×k×
igÒÓÖed CÈÍ cache Ô eÖfÓÖÑaÒce b ecaÙ×e ×eaÖch aÒd ÙÔ¹
ÑaÝ iÑÔÖÓÚe ×eaÖch Ô eÖfÓÖÑaÒceº ÀÓÛeÚeÖ¸ ×eaÖch ØiÑe×
daØe ØiÑe× ÛeÖe dÓÑiÒaØed bÝ Á»Ç cÓ×Ø׸ ÖeceÒØ ×ØÙdie× haÚe
ÑaÝ be Ðe×× iÑÔ ÓÖØaÒØ ØÓ ÓÚeÖaÐÐ DËË ÕÙeÖÝ ØiÑe׸ Ûhich
deÑÓÒ×ØÖaØed Øhe iÑÔ ÓÖØaÒce Óf CÈÍ cache Ô eÖfÓÖÑaÒce [½¸
aÖe ÓfØeÒ dÓÑiÒaØed bÝ ÓÔ eÖaØiÓÒ× ×Ùch a× ÖaÒge ×caÒ׸ ha×h
¾¸ ¿]º ÅÓ×Ø ÑÓ deÖÒ daØaba×e ×eÖÚeÖ ÑachiÒe× haÚe ×ÙÆcieÒØ
jÓiÒ׸ eØcº ÅÓÖeÓÚeÖ¸ \ÖaÒdÓÑ" ×eaÖche× aÖe ÓfØeÒ deÐib eÖ¹
di×k baÒdÛidØh ×Ùch ØhaØ ØheÝ aÖe ØÝÔicaÐÐÝ ÒÓØ Á»Ç b ÓÙÒd¸
aØeÐÝ aÚÓided bÝ Øhe ÓÔØiÑiÞeÖº AÒ iÒdeÜed Òe×Øed ÐÓ ÓÔ jÓiÒ
bÙØ ØheiÖ ÔÖÓ ce××ÓÖ× aÖe ×ØaÐÐed a ×igÒi¬caÒØ fÖacØiÓÒ Óf Øhe
ÑaÝ b e Ô eÖfÓÖÑed bÝ ¬Ö×Ø ×ÓÖØiÒg Øhe ÓÙØeÖ ÖeÐaØiÓÒ ÓÒ Øhe
ØiÑe ÛhiÐe ×eÖÚiciÒg CÈÍ daØa cache Ñi××e׺
jÓiÒ keÝ [½¿¸ ½¼]º ÌhÙ× eachkeÝ ÐÓ ÓkÙÔ iÒ Øhe iÒÒeÖ ÖeÐaØiÓÒ
¾
i× Ù×ÙaÐÐÝ adjaceÒØ ØÓ Øhe Ða×Ø ÐÓ ÓkÙÔ¸ ÐeadiÒg ØÓ aÒ Á»Ç ac¹
FÓÖ cÐÙ×ØeÖed iÒdeÜe× ÓÖ ÛheÒ Ðeaf Ôage× aÖe ×eÕÙeÒØiaÐ ÓÒ di×k׸
ce×× ÔaØØeÖÒ ØhaØ e××eÒØiaÐÐÝ ØÖaÚeÖ×e× Øhe ØÖee Ðeaf ÒÓ de× iÒ ×eÕÙeÒØiaÐ Á»Ç ÔÖefeØchiÒg caÒ b e eÑÔÐÓÝed iÒ×Øeadº page control info page control info index entry Key and
(page ID/tuple ID)
FigÙÖe 4: ÁÐÐÙ×ØÖaØiÓÒ Óf ÑicÖÓ¹iÒdeÜiÒg
´aµ Ôage ÓÖgaÒiÞaØiÓÒ page control info
100 | dcache stalls other stalls 80 | busy
60 |
40 | ·
|
5: Di×k¹¬Ö×Ø fÔB ¹ÌÖee: a cache¹ÓÔØiÑiÞed 20 FigÙÖe
Normalized Execution Time
ØÖee iÒ×ide each Ôage 0 | Disk-optimized Prefetching
B+tree B+tree
h¸ ÙÔ daØe× aÖe aÐ×Ó cÓ×ØÐݺ ÁÒ×eÖØiÓÒ
ÁÒ addiØiÓÒ ØÓ ×eaÖc
´bµ eÜecÙØiÓÒ ØiÑe bÖeakdÓÛÒ fÓÖ ×eaÖch
aÒd deÐeØiÓÒ b ÓØh b egiÒ ÛiØh a ×eaÖch¸ Ûhich ha× Ô Ó ÓÖ cache
Ô eÖfÓÖÑaÒceº AÒÓØheÖ ÔÖÓbÐeÑ i× ØhaØ iÒ ÓÖdeÖ ØÓ iÒ×eÖØ
·
FigÙÖe ¿: Di×k¹ÓÔØiÑiÞed B ¹ÌÖee×
aÒ eÒØÖÝ iÒØÓ a ×ÓÖØed aÖÖaݸ haÐf Óf Øhe Ôage ´ÓÒ aÚeÖageµ
ÑÙ×Ø b e cÓÔied ØÓ Ñake ÖÓ ÓÑ fÓÖ Øhe ÒeÛ eÒØÖݺ ÌÓ Ñake
·
ÏhÝ ØÖadiØiÓÒaÐ B ¹ÌÖee× ×Ù«eÖ ÔÓÓÖ cache Ô eÖ¹
·
ÑaØØeÖ× ÛÓÖ×e¸ Øhe ÓÔØiÑaÐ di×k Ôage ×iÞe fÓÖ B ¹ÌÖee× i×
·
fÓÖÑaÒceº ÁÒ a ØÖadiØiÓÒaÐ di×k¹ÓÔØiÑiÞed B ¹ÌÖee׸ each
iÒcÖea×iÒg ÛiØh di×k ØechÒÓÐÓgÝ ØÖeÒd× [½¾¸ ½5]¸ ÑakiÒg Øhe
ØÖee ÒÓ de i× a Ôage ´ØÝÔicaÐÐÝ 4ÃBß64ÃBµº FigÙÖe ¿´aµ de¹
ab ÓÚe ÔÖÓbÐeÑ× eÚeÒ ÑÓÖe ×eÖiÓÙ× iÒ Øhe fÙØÙÖeº
· ¿
ÔicØ× a B ¹ÌÖee¸ a××ÙÑiÒg ¬Üed ÐeÒgØh keÝ׺ A ×ÑaÐÐ ÔaÖØ
·
Óf Øhe Ôage cÓÒØaiÒ× Ôage cÓÒØÖÓÐ iÒfÓÖÑaØiÓÒº Ìhe bÙÐk Óf
ÌechÒiÕÙe× fÓÖ iÑÔÖÓÚiÒg B ¹ÌÖee cache Ô eÖfÓÖ¹
Øhe Ôage cÓÒØaiÒ× a ×ÓÖØed aÖÖaÝÓfkeÝ׸ ØÓgeØheÖ ÛiØh ei¹
ÑaÒceº ÇÒe aÔÔÖÓach ØhaØ Ûa× bÖieÝ ÑeÒØiÓÒed bÝ
ØheÖ Øhe Ôage ÁD fÓÖ iØ× chiÐd ÒÓ de ´if Øhe ÒÓ de i× a ÒÓÒÐeaf µ
ÄÓÑeØ [½6] i× ÑicÖÓ¹iÒdeÜiÒg¸ Ûhich i× iÐÐÙ×ØÖaØed iÒ Fig¹
ÓÖ Øhe ØÙÔÐe ÁD fÓÖ a ØÙÔÐe ´if Øhe ÒÓ de i× a Ðeaf µº Ïe ÛiÐÐ
ÙÖe 4º Ìhe idea b ehiÒd ÑicÖÓ¹iÒdeÜiÒg i× ØhaØ Øhe ¬Ö×Ø keÝ
ÖefeÖ ØÓ a keÝ aÒd eiØheÖ iØ× Ôage ÁD ÓÖ ØÙÔÐe ÁD a× aÒ eÒØÖݺ
Óf eÚeÖÝ cache ÐiÒe iÒ Øhe aÖÖaÝ caÒ b e cÓÔied iÒØÓ a ×ÑaÐÐeÖ
DÙÖiÒg a ×eaÖch¸ each Ôage ÓÒ Øhe ÔaØh ØÓ Øhe keÝ i× Úi×¹
aÖÖaݸ ×Ùcha×keÝ× ½; 9; ½7; ::: ;½¼½7 iÒ Øhe eÜaÑÔÐe ab ÓÚeº
iØed¸ aÒd a biÒaÖÝ ×eaÖch i× Ô eÖfÓÖÑed ÓÒ Øhe ÚeÖÝ ÐaÖge
Ìhe×e ½¾8 keÝ× aÖe ×eaÖched ¬Ö×Ø ØÓ ¬Òd Øhe cache ÐiÒe ØhaØ
cÓÒØigÙÓÙ× aÖÖaÝ iÒ Øhe Ôageº Ìhi× biÒaÖÝ ×eaÖch i× ÕÙiØe
cÓÑÔÐeØe× Øhe ×eaÖch ´ØhÙ× ÖedÙciÒg Øhe ÒÙÑbeÖ Óf cache
cÓ×ØÐÝ iÒ ØeÖÑ× Óf cache Ñi××e׺ A ×iÑÔÐe eÜaÑÔÐe heÐÔ× ØÓ
Ñi××e× ØÓ ¬Úe iÒ Øhe eÜaÑÔÐeµº ÍÒfÓÖØÙÒaØeÐÝ Øhi× aÔÔÖÓach
iÐÐÙ×ØÖaØe Øhi× Ô ÓiÒغ Áf Øhe keÝ ×iÞe¸ Ôage ÁD ×iÞe¸ aÒd ØÙÔÐe
dÓ e× ÒÓØ addÖe×× Øhe daØa ÑÓÚeÑeÒØ ÔÖÓbÐeÑ ÙÔ ÓÒ iÒdeÜ
ÁD ×iÞe aÖe aÐÐ 4 bÝØe׸ aÒ 8ÃB Ôage caÒ hÓÐd ÓÚeÖ ½¼¼¼ eÒ¹
ÙÔ daØe׸ aÒd ØheÖefÓÖe iØ ×Ù«eÖ× Ô Ó ÓÖ ÙÔ daØe Ô eÖfÓÖÑaÒce
ØÖie׺ Áf Øhe cache ÐiÒe ×iÞe i× 64 bÝØe׸ ØheÒ a cache ÐiÒe caÒ
´a× Ûe ÛiÐÐ ×ee ÐaØeÖ iÒ ËecØiÓÒ 4º¾µº
·
ÓÒÐÝ hÓÐd 8 eÒØÖie׺ ÁÑagiÒe a ceÖØaiÒ Ôage ha× ½¼¾¿ eÒØÖie×
ÌÓ ÖeaÐiÞe gÓÓd cache Ô eÖfÓÖÑaÒce fÓÖ aÐÐ B ¹ÌÖee ÓÔ¹
·
ÒÙÑb eÖed ½ ØhÖÓÙgh ½¼¾¿º ÌÓ ÐÓ caØe a keÝ ÑaØchiÒg eÒØÖÝ
eÖaØiÓÒ׸ ÛeÐÓÓk ØÓ cache¹ÓÔØiÑiÞed B ¹ÌÖee× a× a ÑÓ deÐ
7½¸ a biÒaÖÝ ×eaÖch ÛiÐÐ Ô eÖfÓÖÑ ØeÒ ÔÖÓb e׸ fÓÖ eÒØÖie× 5½¾¸
aÒd ÔÖÓÔ Ó×e ØÓ bÖeak di×k¹×iÞed Ôage× iÒØÓ cache¹ÓÔØiÑiÞed
·
¾56¸ ½¾8¸ 64¸ 96¸ 8¼¸ 7¾¸ 68¸ 7¼¸ aÒd 7½¸ Öe×Ô ecØiÚeÐݺ A××Ùѹ
ÒÓ de׺ Ìhi× i× Øhe gÙidiÒg ÔÖiÒciÔÐe b ehiÒd fÔB ¹ÌÖee׺ Ïe
iÒg ØhaØ Øhe eighØeÒØÖie× fÖÓÑ 65 ØÓ 7¾ faÐÐ ÛiØhiÒ a ×iÒgÐe
ÔÖÓÔ Ó×e aÒd eÚaÐÙaØe ØÛÓ aÔÔÖÓache× fÓÖ eÑb eddiÒg cache¹
·
cache ÐiÒe¸ Øhe ¬Ö×Ø ×eÚeÒ ÔÖÓb e× aÖe aÐÐ ÐikeÐÝ ØÓ ×Ù«eÖ cache
ÓÔØiÑiÞed ØÖee× iÒØÓ di×k¹ÓÔØiÑiÞed B ¹ÌÖee Ôage×: di×k¹
Ñi××e׺ Ìhe ¬Ö×Ø ×iÜ Óf Øhe ×eÚeÒ Ñi××e× aÖe e×Ô eciaÐÐÝ Ûa×Øe¹
¬Ö×Ø aÒd cache¹¬Ö×غ ËecØiÓÒ ¿º½ de×cÖib e× Øhe di×k¹¬Ö×Ø aÔ¹
fÙи ×iÒce each Óf ØheÑ bÖiÒg× iÒ a 64B cache ÐiÒe bÙØ Ù×e×
ÔÖÓach¸ ÛhiÐe ËecØiÓÒ ¿º¾ de×cÖib e× Øhe cache¹¬Ö×Ø aÔÔÖÓach¸
ÓÒÐÝ 4B Óf ØhaØ ÐiÒeº ÇÒÐÝ ÛheÒ Øhe biÒaÖÝ ×eaÖch ¬ÒaÐÐÝ
b ÓØh fÓ cÙ×iÒg ÓÒ ×eaÖche× aÒd ÙÔ daØe׺ ÌheÒ iÒ ËecØiÓÒ ¿º¿¸
geØ× dÓÛÒ ØÓ ÛiØhiÒ a cache ÐiÒe aÖe ÑÓÖe daØa iÒ a cache
Ûe di×cÙ×× ÖaÒge ×caÒ× fÓÖ b ÓØh aÔÔÖÓache׺
ÐiÒe Ù×edº Ìhi× Ðack Óf ×ÔaØiaÐ ÐÓ caÐiØÝ Ñake× biÒaÖÝ ×eaÖch
·
eÖÝ ÐaÖge aÖÖaÝ ×Ù«eÖ fÖÓÑ Ô Ó ÓÖ cache Ô eÖfÓÖÑaÒceº
ÓÒaÚ 3.1 Disk-First fpB -Trees
· ·
FigÙÖe ¿´bµ cÓÑÔaÖe× Øhe Ô eÖfÓÖÑaÒce Óf di×k¹ÓÔØiÑiÞed
Di×k¹¬Ö×Ø fÔB ¹ÌÖee× ×ØaÖØ ÛiØh a di×k¹ÓÔØiÑiÞed B ¹ÌÖee¸
· ·
B ¹ÌÖee× ÛiØh cache¹ÓÔØiÑiÞed ÔÖefeØchiÒg B ¹ÌÖee× [6] fÓÖ
bÙØ ØheÒ ÓÖgaÒiÞe Øhe keÝ× aÒd Ô ÓiÒØeÖ× iÒ each Ôage¹×iÞed
×eaÖche׺ Ìhe ¬gÙÖe ×hÓÛ× Øhe ×iÑÙÐaØed eÜecÙØiÓÒ ØiÑe
ÒÓ de iÒØÓ a cache¹ÓÔØiÑiÞed ØÖee¸ a× ×hÓÛÒ iÒ FigÙÖe 5º
·
´ÒÓÖÑaÐiÞed ØÓ di×k¹ÓÔØiÑiÞed B ¹ÌÖee×µ fÓÖ Ô eÖfÓÖÑiÒg ¾¼¼¼
Ìhe ÐaÖge cÓÒØigÙÓÙ× aÖÖaÝ iÒ a ØÖadiØiÓÒaÐ di×k¹ÓÔØiÑiÞed
·
ÖaÒdÓÑ ×eaÖche× afØeÖ each ØÖee ha× b eeÒ bÙÐkÐÓaded ÛiØh
B ¹ÌÖee Ôage i× ÖeÔÐaced bÝ a ×ÑaÐÐ cache¹ÓÔØiÑiÞed ØÖee¸
½¼ ÑiÐÐiÓÒ keÝ× ÓÒ a ÑeÑÓÖÝ ×Ý×ØeÑ ×iÑiÐaÖ ØÓ Øhe CÓÑÔaÕ
ÛhichÛe caÐÐ aÒ iÒ¹Ôage ØÖeeº ÇÙÖ iÒ¹Ôage ØÖee× aÖe ÑÓ d¹
·
EË4¼ [9]|deØaiÐ× aÖe ÔÖÓÚided ÐaØeÖ iÒ ËecØiÓÒ 4º½º EÜecÙ¹
eÐed afØeÖ ÔB ¹ÌÖee׸ b ecaÙ×e ØheÝ ÛeÖe ×hÓÛÒ ØÓ haÚe Øhe
ØiÓÒ ØiÑe i× bÖÓkeÒ dÓÛÒ iÒØÓ bÙ×Ý ØiÑe¸ daØa cache ×ØaÐÐ׸
b e×Ø cache Ô eÖfÓÖÑaÒce fÓÖ ÑeÑÓÖݹÖe×ideÒØ daØa ÛiØh ¬Üed¹
aÒd ÓØheÖ ×ØaÐÐ׺ A× Ûe ×ee iÒ FigÙÖe ¿´bµ¸ di×k¹ÓÔØiÑiÞed
ÐeÒgØh keÝ× [6]º Ìhe aÔÔÖÓach¸ hÓÛeÚeÖ¸ caÒ b e aÔÔÐied ØÓ
·
B ¹ÌÖee× ×Ô eÒd ×igÒi¬caÒØÐÝ ÑÓÖe ØiÑe ×ØaÐÐed ÓÒ daØa cache
aÒÝ cache¹ÓÔØiÑiÞed ØÖeeº
· 4
· ·
Ñi××e× ØhaÒ ÔÖefeØchiÒg B ¹ÌÖee׺ º
A× iÒ a ÔB ¹ÌÖee¸ aÒ fÔB ¹ÌÖee iÒ¹Ôage ØÖee ha× ÒÓ de×
ØhaØ aÖe aÐigÒed ÓÒ cache ÐiÒe b ÓÙÒdaÖie׺ Each iÒ¹Ôage ÒÓ de
¿
Ìhe i××Ùe× aÒd ×ÓÐÙØiÓÒ× iÒ Øhi× ÔaÔ eÖ aÖe aÐ×Ó iÑÔ ÓÖØaÒØ fÓÖ ÚaÖiabÐe
ÐeÒgØh keÝ׸ ÛhichhaÚe ØheiÖ ÓÛÒ added cÓÑÔÐicaØiÓÒ× iÒ ØÖÝiÒg ØÓ
iÒ×ØÖÙcØiÓÒ ÓÚeÖhead a××Ó ciaØed ÛiØh bÙ«eÖ Ô Ó ÓÐ ÑaÒageÑeÒØ; ÒÓØe
ÓbØaiÒ gÓ Ó d cache Ô eÖfÓÖÑaÒce [5]º DeØaiÐ× aÖe iÒ Øhe fÙÐÐ ÔaÔ eÖ [7]º
ØhaØ Øhi× dÓ e× ÒÓØ ØÖaÒ×ÐaØe iÒØÓ eÜØÖa daØa cache ×ØaÐÐ ØiÑe dÙe ØÓ
4 ·
Ìhe eÜØÖa \bÙ×Ý" ØiÑe fÓÖ di×k¹ÓÔØiÑiÞed B ¹ÌÖee× i× dÙe ØÓ Øhe hÓÛÛe cÓÒdÙcØ ÓÙÖ ×iÑÙÐaØiÓÒ׸ a× di×cÙ××ed ÐaØeÖ iÒ ËecØiÓÒ 4º½
i× ×eÚeÖaÐ cache ÐiÒe× Ûideº ÏheÒ aÒ iÒ¹Ôage ÒÓ de i× ØÓ b e
page control info
Úi×iØed a× ÔaÖØ Óf a ×eaÖch¸ aÐÐ Øhe cache ÐiÒe× cÓÑÔÖi×iÒg Øhe
ÒÓ de aÖe ÔÖefeØchedº ÌhaØ i׸ Øhe ÔÖefeØch ÖeÕÙe×Ø× fÓÖ Øhe×e
ÐiÒe× aÖe i××Ùed ÓÒe afØeÖ aÒÓØheÖ ÛiØhÓÙØ ÛaiØiÒg fÓÖ Øhe
eaÖÐieÖ ÓÒe× ØÓ cÓÑÔÐeØeº ÄeØ Ì deÒÓØe Øhe fÙÐÐ ÐaØeÒcÝ Óf
½
a cache Ñi×× aÒd Ì deÒÓØe Øhe ÐaØeÒcÝ Óf aÒ addiØiÓÒaÐ
ÒeÜØ
ÔiÔ eÐiÒed cache Ñi×׺ ÌheÒ Ì ·´Û ½µ ¡ Ì i× Øhe cÓ×Ø fÓÖ
½
ÒeÜØ
´aµ a ØÛÓ¹ÐeÚeÐ ØÖee ØhaØ ÓÚeÖÓÛ×
×eÖÚiciÒg aÐÐ Øhe cache Ñi××e× fÓÖ a ÒÓ de ÛiØh Û cache ÐiÒe׺
BecaÙ×e ÓÒ ÑÓ deÖÒ ÔÖÓ ce××ÓÖ׸ Ì i× ÑÙch Ðe×× ØhaÒ Ì ¸ ½
ÒeÜØ page control info
Øhi× cÓ×Ø i× ÓÒÐÝ ÑÓ de×ØÐÝ ÐaÖgeÖ ØhaÒ Øhe cÓ×Ø fÓÖ feØchiÒg
ÓÒe cache ÐiÒeº ÇÒ Øhe ÓØheÖ haÒd¸ haÚiÒg ÑÙÐØiÔÐe cache
Ô eÖ ÒÓ de iÒcÖea×e× iØ× faÒ¹ÓÙظ aÒd heÒce caÒ ÖedÙce
ÐiÒe× Unused space
Øhe heighØ Óf Øhe iÒ¹Ôage ØÖee¸ Öe×ÙÐØiÒg iÒ b eØØeÖ ÓÚeÖaÐÐ
Ô eÖfÓÖÑaÒce¸ a× deØaiÐed iÒ [6]º
·
Di×k¹¬Ö×Ø fÔB ¹ÌÖee× haÚe ØÛÓ kiÒd× Óf iÒ¹Ôage ÒÓ de×:
´bµ a ØÛÓ¹ÐeÚeÐ ØÖee ØhaØ ÙÒdeÖÓÛ×
Ðeaf ÒÓ de× aÒd ÒÓÒÐeaf ÒÓ de׺ ÌheiÖ ÖÓÐe× iÒ Øhe ÓÚeÖaÐÐ
eÖÝ di«eÖeÒغ ÏhiÐe iÒ¹
ØÖee ´Øhe di×k¹ÓÔØiÑiÞed ÚieÛµ aÖe Ú page control info
Ôage ÒÓÒÐeaf ÒÓ de× cÓÒØaiÒ Ô ÓiÒØeÖ× ØÓ ÓØheÖ iÒ¹Ôage ÒÓ de×
ÛiØhiÒ Øhe ×aÑe Ôage¸ iÒ¹Ôage Ðeaf ÒÓ de× cÓÒØaiÒ Ô ÓiÒØeÖ×
ØÓ ÒÓ de× eÜØeÖÒaÐ ØÓ ØheiÖ iÒ¹Ôage ØÖeeº ÌhÙ׸ fÓÖ iÒ¹Ôage
ÒÓÒÐeaf ÒÓ de׸ Ûe Ôack ÑÓÖe eÒØÖie× iÒØÓ eachÒÓdebÝ Ù×iÒg
×hÓÖØ iÒ¹Ôage Ó«×eØ× iÒ×Øead Óf fÙÐÐ Ô ÓiÒØeÖ׺ BecaÙ×e aÐÐ iÒ¹
Ôage ÒÓ de× aÖe aÐigÒed ÓÒ cache ÐiÒe b ÓÙÒdaÖie׸ Øhe Ó«×eØ×
´cµ addiÒg a ØhiÖd ÐeÚeÐ ØÓ Øhe ØÖee iÒ ´bµ caÙ×e× aÒ ÓÚeÖÓÛ
caÒ b e iÑÔÐeÑeÒØed a× a ÒÓ de³× ×ØaÖØiÒg cache ÐiÒe ÒÙÑbeÖ
iÒ Øhe Ôageº FÓÖ eÜaÑÔÐe¸ if Øhe cache ÐiÒe i× 64 bÝØe׸ ØheÒ
FigÙÖe 6: Ìhe ÒÓ de ×iÞe Ñi×ÑaØch ÔÖÓbÐeÑ
a¾bÝØe Ó«×eØ caÒ ×ÙÔÔ ÓÖØ Ôage ×iÞe× ÙÔ ØÓ 4ÅBº ÇÒ Øhe
ÓØheÖ haÒd¸ iÒ¹Ôage Ðeaf ÒÓ de× cÓÒØaiÒ chiÐd Ôage ÁD× if Øhe
i× ÒÓØ a Ðeaf iÒ Øhe ÓÚeÖaÐÐ ØÖee¸ aÒd ØÙÔÐe ÁD× if Øhe
Ôage page control info
Ôage i× a Ðeafº
Ìhe ÒÓ de ×iÞe Ñi×ÑaØch ÔÖÓbÐeѺ CÓÒ×ideÖiÒg cache
Ô eÖfÓÖÑaÒce ÓÒÐݸ ØheÖe i× aÒ ÓÔØiÑaÐ iÒ¹Ôage ÒÓ de ×iÞe¸ de¹
ØeÖÑiÒed bÝ ÑeÑÓÖÝ ×Ý×ØeÑ ÔaÖaÑeØeÖ× aÒd keÝ aÒd Ô ÓiÒØeÖ
×iÞe× [6]º ÁdeaÐÐݸ iÒ¹Ôage ØÖee× ba×ed ÓÒ Øhi× ÓÔØiÑaÐ ×iÞe
´aµ Ù×e ×ÑaÐÐeÖ ÒÓ de× ÛheÒ ÓÚeÖÓÛ
¬Ø ØighØÐÝ ÛiØhiÒ a Ôageº ÀÓÛeÚeÖ¸ Øhe ÓÔØiÑaÐ Ôage ×iÞe
deØeÖÑiÒed bÝ Á»Ç ÔaÖaÑeØeÖ× aÒd di×k aÒd ÑeÑÓÖÝ
i× page control info
ÔÖice× [½¾¸ ½5]º ÌhÙ× ØheÖe i× ÐikeÐÝ a Ñi×ÑaØch beØÛeeÒ
Øhe ØÛÓ ×iÞe׸ a× deÔicØed iÒ FigÙÖe 6º FigÙÖe 6´aµ ×hÓÛ×
aÒ ÓÚeÖÓÛ ×ceÒaÖiÓ iÒ Ûhich a ØÛÓ¹ÐeÚeÐ ØÖee ÛiØh cache¹
ÓÔØiÑaÐ ÒÓ de ×iÞe× faiÐ× ØÓ ¬Ø ÛiØhiÒ Øhe Ôageº FigÙÖe 6´bµ
×hÓÛ× aÒ ÙÒdeÖÓÛ ×ceÒaÖiÓ iÒ Ûhicha ØÛÓ¹ÐeÚeÐ ØÖee ÛiØh
cache¹ÓÔØiÑaÐ ÒÓ de ×iÞe× ÓÒÐÝ Ó ccÙÔie× haÐf a Ôage¸ bÙØ a
´bµ Ù×e ÐaÖgeÖ ÒÓ de× ÛheÒ ÙÒdeÖÓÛ
ØhÖee¹ÐeÚeÐ ØÖee¸ a× deÔicØed iÒ FigÙÖe 6´cµ¸ ÓÚeÖÓÛ× Øhe
Ôageº ÌhÙ׸ iÒ ÑÓ×Ø ca×e׸ ÛeÑÙ×Ø giÚeÙÔÓÒhaÚiÒg ØÖee×
FigÙÖe 7: FiØØiÒg cache¹ÓÔØiÑiÞed ØÖee× iÒ a Ôage
ÛiØh cache¹ÓÔØiÑaÐ ÒÓ de ×iÞe׸ iÒ ÓÖdeÖ ØÓ ¬Ø ÛiØhiÒ Øhe Ôageº
´ËecØiÓÒ ¿º¾ de×cÖib e× aÒ aÐØeÖÒaØiÚe \cache¹¬Ö×Ø" aÔÔÖÓach
ÚaÖiabÐe× ØhaØ Ûe caÒ adjÙ×Ø ØÓ achieÚe Øhe gÓaÐ×: Øhe ÒÙѹ
ØhaØ iÒ×Øead giÚe× ÙÔ ÓÒ haÚiÒg Øhe cache¹ÓÔØiÑiÞed ØÖee× ¬Ø
b eÖ Óf ÐeÚeÐ× iÒ Øhe iÒ¹Ôage ØÖee ´deÒÓØed ĵ¸ Øhe ÒÙÑbeÖ Óf
ÒiceÐÝ ÛiØhiÒ Ôage b ÓÙÒdaÖie׺µ
he ÐiÒe× Óf Øhe ÒÓÒÐeaf ÒÓ de× ´deÒÓØed Û µ aÒd Øhe ÒÙÑbeÖ
3.1.1 Determining Optimal In-page Node Sizes cac
Óf cache ÐiÒe× Óf Øhe Ðeaf ÒÓ de× ´deÒÓØed ܵº ÀeÖe Ûe deØeÖ¹
ÇÙÖ gÓaÐ× aÖe ØÓ ÓÔØiÑiÞe ×eaÖch Ô eÖfÓÖÑaÒce aÒd ØÓ Ñaܹ
ÑiÒe Øhe ÓÔØiÑaÐ ÒÓ de ×iÞe× fÓÖ aÒ iÒ¹Ôage ØÖee¸ giÚeÒ Øhe
iÑiÞe Ôage faÒ¹ÓÙØ fÓÖ Á»Ç Ô eÖfÓÖÑaÒceº ÌÓ ×ÓÐÚe Øhe ÒÓ de
haÖdÛaÖe ÔaÖaÑeØeÖ× aÒd Øhe Ôage ×iÞeº A××ÙÑe Ûe kÒÓÛ
×iÞe Ñi×ÑaØch ÔÖÓbÐeѸ Ûe giÚe ÙÔ Ù×iÒg cache¹ÓÔØiÑaÐ ÒÓ de
Ì i× Øhe fÙÐÐ ÐaØeÒcÝ Óf a cache Ñi×׸ aÒd Ì i× Øhe ÐaØeÒcÝ
½
ÒeÜØ
·
×iÞe× iÒ di×k¹¬Ö×Ø fÔB ¹ÌÖee׺ ÁÒ addiØiÓÒ¸ Ûe ÔÖÓÔ Ó×e ØÓ aй
Óf aÒ addiØiÓÒaÐ ÔiÔ eÐiÒed ´ÔÖefeØchedµ cache Ñi×׺ ÌheÒ Øhe
ÐÓÛ di«eÖeÒØ ÒÓ de ×iÞe× fÓÖ di«eÖeÒØ ÐeÚeÐ× Óf Øhe iÒ¹Ôage
cÓ×Ø Óf ×eaÖchiÒg ØhÖÓÙgh aÒ Ä ÐeÚeÐ iÒ¹Ôage ØÖee i×
ØÖeeº A× ×hÓÛÒ iÒ FigÙÖe 7¸ ØÓ cÓÑbaØ ÓÚeÖÓÛ¸ Ûe caÒ Öe¹
cÓ×Ø = ´Ä ½µ[Ì ·´Û ½µÌ ]·Ì ·´Ü ½µÌ
½ ½
ÒeÜØ ÒeÜØ
dÙce Øhe ÖÓ ÓØ ÒÓ de ´ÓÖ Öe×ØÖicØ iØ× faÒ¹ÓÙص a× iÒ FigÙÖe 7´aµº
ËiÑiÐaÖÐݸØÓcÓÑbaØ ÙÒdeÖÓÛ¸ Ûe caÒ eÜØeÒd Øhe ÖÓ ÓØ ÒÓ de
ÏeÛaÒØ ØÓ ×eÐecØ Ä¸ Û ¸ aÒd Ü ×Ó a× ØÓ ÑiÒiÑiÞe cÓ×Ø ÛhiÐe
×Ó ØhaØ iØ caÒ haÚe ÑÓÖe chiÐdÖeÒ¸ a× iÒ FigÙÖe 7´bµº
ÑaÜiÑiÞiÒg Ôage faÒ¹ÓÙغ
BÙØ aÐÐÓÛiÒg aÖbiØÖaÖiÐÝ ÑaÒÝ ×iÞe× iÒ Øhe ×aÑe ØÖee ÛiÐÐ
ÀÓÛeÚeÖ¸ Øhe×e ØÛÓ gÓaÐ× aÖe cÓÒicØiÒgº ÅÓÖeÓÚeÖ¸ Ûe
Ñake iÒdeÜ ÓÔ eÖaØiÓÒ× ØÓ Ó cÓÑÔÐicaØedº ÌÓkeeÔ ÓÔ eÖaØiÓÒ×
Ób×eÖÚed eÜÔ eÖiÑeÒØaÐÐÝ ØhaØ b ecaÙ×e Óf ¬Üed cÓ×Ø× ×Ùch
ÑaÒageabÐe¸ ÒÓØiÒg ØhaØ Ûe aÐÖeadÝ haÚe ØÓ deaÐ ÛiØh dif¹
a× iÒ×ØÖÙcØiÓÒ ÓÚeÖhead¸ ×ÑaÐÐ ÚaÖiaØiÓÒ× iÒ cÓ×Ø Öe×ÙÐØed iÒ
feÖeÒØ ÒÓÒ¹Ðeaf aÒd Ðeaf ÒÓ de ×ØÖÙcØÙÖe׸ Ûe iÒ×Øead deÚeÐÓÔ
×iÑiÐaÖ ×eaÖch Ô eÖfÓÖÑaÒceº ÌhÙ׸ Ûe cÓÑbiÒe Øhe ØÛÓ ÓÔ¹
aÒ aÔÔÖÓach ØhaØ Ô eÖÑiØ× aÒ iÒ¹Ôage ØÖee ØÓ haÚeØÛÓÒÓde
ØiÑiÞaØiÓÒ gÓaÐ× iÒØÓ ÓÒe gÓaÐ G : ÑaÜiÑiÞe Øhe Ôage faÒ¹ÓÙØ
×iÞe×: ÓÒe fÓÖ iØ× ÐeaÚe× aÒd ÓÒe fÓÖ iØ× ÒÓÒÐeaÚe׺ A× Ûe
ÛhiÐe ÑaiÒØaiÒiÒg Øhe aÒaÐÝØicaÐ ×eaÖch cÓ×Ø ØÓ be ÛiØhiÒ
×haÐÐ ×ee¸ Øhi× eÜibiÐiØÝ i× ×ÙÆcieÒØØÓachieÚe ÓÙÖ gÓaÐ׺
½¼± Óf Øhe ÓÔØiÑaк
ÆÓÛÛe ×iÑÔÐÝ eÒÙÑeÖaØe aÐÐ Øhe Öea×ÓÒabÐe cÓÑbiÒaØiÓÒ× ÇÔØiÑaÐ ÒÓ de ×iÞe׺ AØ a high¹ÐeÚeи ØheÖe aÖe ØhÖee
¾
Óf Û aÒd Ü ´eºgº¸ ½¹¿¾ ÐiÒe׸ ØhÙ× ¿¾ = ½¼¾4 cÓÑbiÒaØiÓÒ×µº
FÓÖ each cÓÑbiÒaØiÓÒ¸ Ûe cÓÑÔÙØe Øhe ÑaÜiÑÙÑ Ä ØhaØ
h iÒ ØÙÖÒ aÐÐÓÛ× cÓ×Ø ÙØiÐiÞe× Øhe ÑÓ×Ø ×Ôace iÒ Øhe Ôage¸ Ûhic Nonleaf nodes
Aggressive Placement Overflow pages for
e caÒ aÔÔÐÝ G aÒd ¬Òd
aÒd faÒ¹ÓÙØ ØÓ b e cÓÑÔÙØedº ÌheÒ Û . . leaf node parents
Øhe ÓÔØiÑaÐ ÒÓ de ÛidØh׺ ÌabÐe ¾ iÒ ËecØiÓÒ 4 deÔicØ× Øhe Ø׺ ÆÓØe ØhaØ Øhe
ÓÔØiÑaÐ ÒÓ de ÛidØh× Ù×ed iÒ ÓÙÖ eÜÔ eÖiÑeÒ . . . .
ÓÔØiÑaÐ deci×iÓÒ i× Ñade ÓÒÐÝ ÓÒce ÛheÒ cÖeaØiÒg aÒ iÒdeܺ
ËÓ Øhe cÓ×Ø Óf eÒÙÑeÖaØiÓÒ i× ×ÑaÐк 3.1.2 Operations
Leaf nodes in leaf pages
BÙÐkÐÓadº BÙÐkÐÓadiÒg a ØÖee ÒÓÛ ha× ÓÔ eÖaØiÓÒ× aØ ØÛÓ
gÖaÒÙÐaÖiØie׺ AØ a Ôage gÖaÒÙÐaÖiØݸ Ûe fÓÐÐÓÛ Øhe cÓѹ
·
FigÙÖe 8: Cache¹¬Ö×Ø fÔB ¹ÌÖee de×igÒ
·
ÑÓÒ B ¹ÌÖee bÙÐkÐÓad aÐgÓÖiØhÑ ÛiØh Øhe ÑaÜiÑÙÑ faÒ¹ÓÙØ
cÓÑÔÙØed bÝ ÓÙÖ ÔÖeÚiÓÙ× cÓÑÔÙØaØiÓÒ׺ ÁÒ×ide each Ôage¸
iØ× chiÐdÖeÒ ØÓgeØheÖ iÒØÓ Øhe ×aÑe Ôage ×Ó ØhaØ ×eaÖche× ÓÒÐÝ
Ûe bÙÐkÐÓad aÒ iÒ¹Ôage ØÖee Ù×iÒg a ×iÑiÐaÖ bÙÐkÐÓad aÐgÓ¹
Òeed ÓÒe di×k ÓÔ eÖaØiÓÒ fÓÖ a ÔaÖeÒØ aÒd iØ× chiÐdº
ÖiØhѺ FÓÖ iÒ¹Ôage ØÖee× Óf Ðeaf Ôage׸ Ûe ØÖÝ ØÓ di×ØÖibÙØe
ÌÓ ×aØi×fÝ Øhe ¬Ö×Ø gÓaи Ûe de×igÒaØe ceÖØaiÒ Ôage× a× Ðeaf
eÒØÖie× acÖÓ×× aÐÐ iÒ¹Ôage Ðeaf ÒÓ de× ×Ó ØhaØ iÒ×eÖØiÓÒ× aÖe
Ôage׸ Ûhich cÓÒØaiÒ ÓÒÐÝ Ðeaf ÒÓ de׺ Ìhe Ðeaf ÒÓ de× iÒ Øhe
ÑÓÖe ÐikeÐÝ ØÓ ¬Òd eÑÔØÝ ×ÐÓØ׺ BÙØ fÓÖ ÒÓÒÐeaf Ôage׸ Ûe
×aÑe Ðeaf Ôage aÖe ×ibÐiÒg× Óf ÓÒe aÒÓØheÖº Ìhi× eÒ×ÙÖe×
×iÑÔÐÝ ÔackeÒØÖie× iÒØÓ ÓÒe iÒ¹Ôage Ðeaf ÒÓ de afØeÖ aÒÓØheÖº
gÓ Ó d ÖaÒge ×caÒ Á»Ç Ô eÖfÓÖÑaÒceº
Ïe ÑaiÒØaiÒ a ÐiÒked Ði×Ø Óf aÐÐ iÒ¹Ôage Ðeaf ÒÓ de× Óf Ðeaf
CÐeaÖÐݸ Øhe ×ecÓÒd gÓaÐ caÒÒÓØ b e ×aØi׬ed fÓÖ aÐÐ ÒÓ de׸
Ôage× iÒ Øhe ØÖee¸ iÒ ÓÖdeÖº
b ecaÙ×e ÓÒÐÝ a ÐiÑiØed ÒÙÑb eÖ Óf ÒÓ de× ¬Ø ÛiØhiÒ a Ôageº
ÅÓÖeÓÚeÖ¸ Øhe ÒÓ de ×iÞe Ñi×ÑaØch ÔÖÓbÐeÑ ´ÖecaÐÐ FigÙÖe 6µ
ËeaÖchº ÌÛÓ gÖaÒÙÐaÖiØie׸ bÙØ ×ØÖaighØfÓÖÛaÖdº
ÑeaÒ× ØhaØ ÔÐaciÒg a ÔaÖeÒØ aÒd iØ× chiÐdÖeÒ iÒ a Ôage aй
ÑÓ×Ø aÐÛaÝ× Öe×ÙÐØ× iÒ eiØheÖ aÒ ÓÚeÖÓÛ ÓÖ aÒ ÙÒdeÖÓÛ fÓÖ
ÁÒ×eÖØiÓÒº ÁÒ×eÖØiÓÒ i× aÐ×Ó cÓÑÔ Ó×ed Óf ÓÔ eÖaØiÓÒ× aØ
ØhaØ Ôageº Ïe caÒ ÓfØeÒ ØÖaÒ×fÓÖÑ a ÐaÖge ÙÒdeÖÓÛiÒØÓ aÒ
ØÛÓ gÖaÒÙÐaÖiØie׺ Áf ØheÖe aÖe eÑÔØÝ ×ÐÓØ× iÒ Øhe iÒ¹Ôage Ðeaf
ÓÚeÖÓÛbÝ ÔÐaciÒg Øhe gÖaÒdchiÐdÖeÒ¸ Øhe gÖeaØ gÖaÒdchiй
ÒÓ de¸ Ûe iÒ×eÖØ Øhe eÒØÖÝ iÒØÓ Øhe ×ÓÖØed aÖÖaÝ fÓÖ Øhe ÒÓ de¸
dÖeÒ¸ aÒd ×Ó ÓÒ iÒ Øhe ×aÑe Ôage¸ ÙÒØiÐ Ûe iÒcÙÖ eiØheÖ ÓÒÐÝ
bÝ cÓÔÝiÒg Øhe aÖÖaÝeÒØÖie× ÛiØh ÐaÖgeÖ keÝ ÚaÐÙe× ØÓ Ñake
a ÑÓ de×Ø ÙÒdeÖÓÛ ´iÒ Ûhich ca×e Ûe aÖe ×aØi׬ed ÛiØh Øhe
ÖÓ ÓÑ fÓÖ Øhe ÒeÛ eÒØÖݺ ÇØheÖÛi×e¸ Ûe Òeed ØÓ ×ÔÐiØ Øhe Ðeaf
ÔÐaceÑeÒص ÓÖ aÒ ÓÚeÖÓÛ ´×ee FigÙÖe× 6´bµ aÒd ´cµµº
ÒÓ de iÒØÓ ØÛÓº Ïe ¬Ö×Ø ØÖÝ ØÓ aÐÐÓ caØe ÒeÛ ÒÓ de× iÒ Øhe
ÌheÖe aÖe ØÛÓ aÔÔÖÓache× fÓÖ deaÐiÒg ÛiØh Øhe ÓÚeÖÓÛº
Ôageº Áf ØheÖe i× ÒÓ ×Ôace fÓÖ ×ÔÐiØØiÒg ÙÔ Øhe iÒ¹Ôage ØÖee¸
FiÖ×ظ aÒ ÓÚeÖÓÛed chiÐd caÒ b e ÔÐaced iÒØÓ iØ× ÓÛÒ Ôage
bÙØ Øhe ØÓØaÐ ÒÙÑbeÖ Óf eÒØÖie× iÒ Øhe Ôage i× ×ØiÐÐ faÖ feÛeÖ
ØÓ b ecÓÑe Øhe ØÓÔ¹ÐeÚeÐ ÒÓ de iÒ ØhaØ Ôageº Ïe ØheÒ ×eek ØÓ
ØhaÒ Øhe Ôage ÑaÜiÑÙÑ faÒ¹ÓÙظ Ûe ÖeÓÖgaÒiÞe Øhe iÒ¹Ôage
ÔÐace iØ× chiÐdÖeÒ iÒ Øhe ×aÑe Ôageº Ìhi× aggÖe××iÚe ÔÐace¹
ØÖee aÒd iÒ×eÖØ Øhe eÒØÖÝ ØÓ aÚÓid eÜÔ eÒ×iÚe Ôage ×ÔÐiØ׺ BÙØ
ÑeÒØ heÐÔ× ÑiÒiÑiÞe di×k acce××e× ÓÒ ×eaÖche׺ ËecÓÒd¸ aÒ
if Øhe ØÓØaÐ ÒÙÑbeÖ Óf eÒØÖie× i× ÕÙiØe cÐÓ×e ØÓ Øhe ÑaÜiÑÙÑ
ÓÚeÖÓÛed chiÐd caÒ b e ×ØÓÖed iÒ ×Ô eciaÐ ÓÚeÖÓÛ Ôage׺ Ìhi×
faÒ¹ÓÙØ ´feÛeÖ ØhaÒ aÒ eÑÔØÝ ×ÐÓØ Ô eÖ iÒ¹Ôage Ðeaf ÒÓ deµ¸ Ûe
i× Øhe ÓÒÐÝ Öea×ÓÒabÐe ×ÓÐÙØiÓÒ fÓÖ ÓÚeÖÓÛed Ðeaf ÔaÖeÒØ
×ÔÐiØ Øhe Ôage bÝ cÓÔÝiÒg haÐf Óf Øhe iÒ¹Ôage Ðeaf ÒÓ de× ØÓ a
ÒÓ de׸ b ecaÙ×e ØheiÖ chiÐdÖeÒ aÖe ×ØÓÖed iÒ Ðeaf Ôage׺
ÒeÛ Ôage aÒd ØheÒ ÖebÙiÐdiÒg Øhe ØÛÓ iÒ¹Ôage ØÖee× iÒ ØheiÖ
ÇÙÖ ÒÓ de ÔÐaceÑeÒØ×cheÑe i× ×ÙÑÑaÖiÞed iÒ FigÙÖe 8º
Öe×Ô ecØiÚe Ôage׺
FÓÖ ÒÓÒÐeaf ÒÓ de׸ Ûe Ù×e Øhe aggÖe××iÚe ÒÓ de ÔÐaceÑeÒØ fÓÖ
DeÐeØiÓÒº DeÐeØiÓÒ i× ×iÑÔÐÝ a ×eaÖch fÓÐÐÓÛed bÝ a ÐaÞÝ
gÓ Ó d ×eaÖch Ô eÖfÓÖÑaÒce¸ eÜceÔØ fÓÖ Ðeaf ÔaÖeÒØ׸ Ûhich Ù×e
deÐeØiÓÒ Óf aÒ eÒØÖÝ iÒ a Ðeaf ÒÓ de¸ iÒ ÛhichÛe cÓÔÝ Øhe aÖÖaÝ
ÓÚeÖÓÛ Ôage׺ Äeaf ÒÓ de× aÖe ×ØÓÖed iÒ Ðeaf¹ÓÒÐÝ Ôage׸ fÓÖ
eÒØÖie× ÛiØh ÐaÖgeÖ keÝ ÚaÐÙe× ØÓ keeÔ Øhe aÖÖaÝ cÓÒØigÙÓÙ׸
gÓ Ó d ÖaÒge ×caÒ Ô eÖfÓÖÑaÒceº
bÙØ Ûe dÓ ÒÓØ ÑeÖge Ðeaf ÒÓ de× ØhaØ b ecÓÑe haÐf eÑÔØݺ 3.2.2 Algorithms
3.2 Cache-First fpB· -Trees
ÏheÒ cÖeaØiÒg Øhe iÒdeܸ Ûe deØeÖÑiÒe Øhe ÓÔØiÑaÐ ÒÓ de
· ·
Cache¹¬Ö×Ø fÔB ¹ÌÖee× ×ØaÖØ ÛiØh a cache¹ÓÔØiÑiÞed B ¹
ÛidØh× fÓÖ cache Ô eÖfÓÖÑaÒce bÝ aÔÔÐÝiÒg Øhe ×aÑe ÓÔØi¹
ÌÖee¸ igÒÓÖiÒg Ôage b ÓÙÒdaÖie׸ aÒd ØheÒ ØÖÝ ØÓ iÒØeÐÐigeÒØÐÝ
ÑiÞaØiÓÒ gÓaÐ G Ù×ed iÒ Øhe di×k¹¬Ö×Ø aÔÔÖÓachº ÌabÐe ¾
ÔÐace Øhe cache¹ÓÔØiÑiÞed ÒÓ de× iÒØÓ di×k Ôage׺ Ìhe ØÖee
iÒ ËecØiÓÒ 4 deÔicØ× Øhe ÓÔØiÑaÐ ÒÓ de ÛidØh× Ù×ed iÒ ÓÙÖ
·
ÒÓ de ha× Øhe cÓÑÑÓÒ ×ØÖÙcØÙÖe Óf a cache¹ÓÔØiÑiÞed B ¹
eÜÔ eÖiÑeÒØ׺ DeØaiÐ× aÖe iÒ Øhe fÙÐÐ ÔaÔ eÖ [7]º
ÌÖee ÒÓ de: a Ðeaf ÒÓ de cÓÒØaiÒ× aÒ aÖÖaÝÓfkeÝ× aÒd ØÙÔÐe
ÏeÒÓÛ cÓÒ×ideÖ each Óf Øhe iÒdeÜ ÓÔ eÖaØiÓÒ׺
ÁD׸ ÛhiÐe a ÒÓÒÐeaf ÒÓ de cÓÒØaiÒ× aÒ aÖÖaÝ Óf keÝ× aÒd
BÙÐkÐÓadº Ïe fÓ cÙ× ÓÒ hÓÛØÓachieÚe Øhe ÒÓ de ÔÐace¹
Ô ÓiÒØeÖ׺ ÀÓÛeÚeÖ¸ Øhe Ô ÓiÒØeÖ× iÒ ÒÓÒÐeaf ÒÓ de× aÖe di«eÖ¹
ÑeÒØ deÔicØed iÒ FigÙÖe 8º Äeaf ÒÓ de× aÖe ×iÑÔÐÝ ÔÐaced
eÒغ ËiÒce Øhe ÒÓ de× aÖe ØÓ b e ÔÙØ iÒØÓ di×k Ôage׸ a Ô ÓiÒØeÖ
cÓÒ×ecÙØiÚeÐÝ iÒ Ðeaf Ôage׸ aÒd ÐiÒked ØÓgeØheÖ ÛiØh ×ib¹ i× a cÓÑbiÒaØiÓÒ Óf a Ôage ÁD aÒd aÒ Ó«×eØ iÒ Øhe Ôage¸
ÐiÒg ÐiÒk׸ a× ×hÓÛÒ iÒ Øhe ¬gÙÖeº ÆÓÒÐeaf ÒÓ de× aÖe ÔÐaced Ûhich aÐÐÓÛ× Ù× ØÓ fÓÐÐÓÛ Øhe Ôage ÁD ØÓ ÖeØÖieÚe a di×k Ôage
accÓÖdiÒg ØÓ Øhe aggÖe××iÚe ÔÐaceÑeÒØ×cheÑe¸ a× fÓÐÐÓÛ׺ aÒd ØheÒ Úi×iØ a ÒÓ de iÒ Øhe Ôage bÝ iØ× Ó«×eغ ÆÓ de× aÖe
FiÖ×ظ Ûe cÓÑÔÙØe ´iµ Øhe ÑaÜiÑÙÑ ÒÙÑb eÖ Óf ÐeÚeÐ× Óf a
aÐigÒed ÓÒ cache ÐiÒe b ÓÙÒdaÖie׸ ×Ó Øhe iÒ¹Ôage Ó«×eØ i× Øhe
fÙÐÐ ×ÙbØÖee ØhaØ ¬Ø ÛiØhiÒ a Ôage¸ aÒd ´iiµ Øhe Öe×ÙÐØiÒg ÙÒ¹
ÒÓ de³× ×ØaÖØiÒg cache ÐiÒe ÒÙÑb eÖ iÒ Øhe Ôage
deÖÓÛ fÓÖ ×Ùch a ×ÙbØÖee¸ iºeº¸ hÓÛ ÑaÒÝ addiØiÓÒaÐ ÒÓ de× Ïe b egiÒ bÝ de×cÖibiÒg hÓÛ ØÓ ÔÐace ÒÓ de× iÒØÓ di×k Ôage×
¬Ø ÛiØhiÒ Øhe Ôageº FÓÖ eÜaÑÔÐe¸ if each ÒÓ de iÒ Øhe fÙÐÐ iÒaÛaÝ ØhaØ ÛiÐÐ ÑiÒiÑiÞe Øhe ×ØÖÙcØÙÖe³× iÑÔacØ ÓÒ di×k
×ÙbØÖee ha× 69 chiÐdÖeÒ¸ bÙØ a Ôage caÒ hÓÐd ÓÒÐÝ ¾¿ ÒÓ de׸ Á»Ç Ô eÖfÓÖÑaÒce¸ b efÓÖe ÔÖe×eÒØiÒg ÓÙÖ bÙÐkÐÓad¸ iÒ×eÖØiÓÒ¸
ØheÒ ÓÒÐÝ ÓÒe ÐeÚeÐ ¬Ø× cÓÑÔÐeØeÐÝ aÒd Øhe Öe×ÙÐØiÒg ÙÒdeÖ¹ ×eaÖch¸ aÒd deÐeØiÓÒ aÐgÓÖiØhÑ׺
ÓÛ i× ¾¾ ÒÓ de׺ Ïe cÖeaØe a biØÑaÔ ÛiØh ÓÒe biØ fÓÖ each
hiÐd ´69 biØ× iÒ ÓÙÖ eÜaÑÔÐeµ¸ aÒd ×eØ a biØ fÓÖ eachchiÐd
3.2.1 Node Placement c
ØhaØ i× ØÓ b e ÔÐaced ÛiØh Øhe ÔaÖeÒØ ´¾¾ biØ× iÒ ÓÙÖ eÜaÑÔÐe¸ ÌheÖe aÖe ØÛÓ gÓaÐ× iÒ ÒÓ de ÔÐaceÑeÒØ: ´½µ gÖÓÙÔ ×ibÐiÒg
if Ûe aÖe bÙÐkÐÓadiÒg ½¼¼± fÙÐеº Ïe ×ÔÖead Øhe×e ×eØ biØ× Ðeaf ÒÓ de× ØÓgeØheÖ iÒØÓ Øhe ×aÑe Ôage ×Ó ØhaØ ÖaÒge ×caÒ×
a× eÚeÒÐÝ a× Ô Ó××ibÐe ÛiØhiÒ Øhe biØÑaÔº iÒcÙÖ feÛeÖ di×k ÓÔ eÖaØiÓÒ׸ aÒd ´¾µ gÖÓÙÔ a ÔaÖeÒØ ÒÓ de aÒd
Ô eÖfÓÖÑaÒceº ÏeÒÓÛ highÐighØ ×ÓÑe Óf Øhe deØaiÐ׺
·
ÁÒ di×k¹¬Ö×Ø fÔB ¹ÌÖee׸ b ÓØh Ðeaf Ôage× aÒd Ðeaf ÔaÖeÒØ
Úe iÒ¹Ôage ØÖee׺ FÓÖ Á»Ç ÔÖefeØchiÒg¸ Ûe bÙiÐd aÒ
A A 1 A 2 Ôage× ha
iÒØeÖÒaÐ jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝbÝ addiÒg ×ibÐiÒg ÐiÒk× b eØÛeeÒ
´aµ b efÓÖe ÒÓ de ×ÔÐiØ ´bµ ×ÔÐiØ ÒÓ de A iÒØÓ A aÒd A
½ ¾
aÐÐ iÒ¹Ôage Ðeaf ÒÓ de× ØhaØ aÖe iÒ Ðeaf ÔaÖeÒØ Ôage׸ b ecaÙ×e
cÓÐÐecØiÚeÐÝ Øhe×e ÒÓ de× Ô ÓiÒØ ØÓ aÐÐ Øhe Ðeaf Ôage׺ FÓÖ cache
ÔÖefeØchiÒg¸ Ûe bÙiÐd a ×ecÓÒd iÒØeÖÒaÐ jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ
A 1 A 2
bÝ addiÒg ×ibÐiÒg ÐiÒk× b eØÛeeÒ aÐÐ iÒ¹Ôage Ðeaf ÔaÖeÒØ ÒÓ de×
´cµ ×ÔÐiØ Øhe Ôage iÒØÓ ØÛÓ
ØhaØ aÖe iÒ Ðeaf Ôage׸ b ecaÙ×e cÓÐÐecØiÚeÐÝ Øhe×e ÒÓ de× Ô ÓiÒØ
ØÓ aÐÐ Øhe Ðeaf ÒÓ de× Óf Øhe ÓÚeÖaÐÐ ØÖee ´iºeº¸ aÐÐ iÒ¹Ôage ÒÓ de×
FigÙÖe 9: ÆÓÒÐeaf ÒÓ de ×ÔÐiØ×
cÓÒØaiÒiÒg ØÙÔÐe ÁD×µº ÁÒ b ÓØh jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ׸ ×ib¹
ÐiÒg ÐiÒk× ÛiØhiÒ a Ôage aÖe iÑÔÐeÑeÒØed a× Ôage Ó«×eØ× aÒd
A× Ûe bÙÐkÐÓad ÒÓ de× iÒØÓ a Ôage¸ ÛekeeÔ ØÖack Óf each
×ØÓÖed iÒ Øhe ÒÓ de׸ ÛhiÐe ×ibÐiÒg ÐiÒk× acÖÓ×× Ôage b ÓÙÒd¹
ÒÓ de³× ÖeÐaØiÚe ÐeÚeÐ iÒ Øhe Ôage¸ deÒÓØed iØ× iÒ¹Ôage ÐeÚeк
aÖie× aÖe iÑÔÐeÑeÒØed a× Ôage ÁD× aÒd ×ØÓÖed iÒ Øhe Ôage
Ìhe iÒ¹Ôage ÐeÚeÐ i× ×ØÓÖed iÒ Øhe ÒÓ de headeÖº Ìhe ØÓÔ
headeÖ׺
ÐeÚeÐ ÒÓ de iÒ Øhe Ôage ha× iÒ¹Ôage ÐeÚeÐ ¼º ÌÓ ÔÐace a ÒÓÒÐeaf
·
ÁÒ cache¹¬Ö×Ø fÔB ¹ÌÖee׸ Ðeaf Ôage× cÓÒØaiÒ ÓÒÐÝ Ðeaf ÒÓ de׸
ÒÓ de¸ Ûe iÒcÖeÑeÒØ iØ× ÔaÖeÒØ³× iÒ¹Ôage ÐeÚeк Áf Øhe Öe×ÙÐØiÒg
ÛhiÐe Ðeaf ÔaÖeÒØ Ôage× caÒ b e eiØheÖ iÒ Øhe aggÖe××iÚe ÔÐace¹
ÐeÚeÐ i× Ðe×× ØhaÒ Øhe ÑaÜiÑÙÑ ÒÙÑb eÖ Óf iÒ¹Ôage ÐeÚeÐ׸ Øhe
ÑeÒØ aÖea ÓÖ iÒ ÓÚeÖÓÛ Ôage׺ ÌhÙ× aØ b ÓØh Øhe Ôage aÒd
ÒÓÒÐeaf ÒÓ de i× ÔÐaced iÒ Øhe ×aÑe Ôage a× iØ× ÔaÖeÒظ a× iØ i×
cache gÖaÒÙÐaÖiØie׸ ×ibÐiÒg ÐiÒk× b eØÛeeÒ Ðeaf ÔaÖeÒØ× ÑaÝ
ÔaÖØ Óf Øhe fÙÐÐ ×ÙbØÖeeº Áf iØ eÕÙaÐ× Øhe ÒÙÑb eÖ¸ iØ i× ÔÐaced
fÖeÕÙeÒØÐÝ cÖÓ×× Ôage b ÓÙÒdaÖie× ´eºgº¸ a ×eÕÙeÒce Óf cÓÒ×ec¹
iÒ Øhe ×aÑe Ôage if Øhe cÓÖÖe×Ô ÓÒdiÒg biØ iÒ Øhe biØÑa×k i×
ÙØiÚe Ðeaf ÔaÖeÒØ× ÑaÝ b e iÒ di×ØiÒcØ ÓÚeÖÐaÔ Ôage×µº ÌhÙ×
×eغ Áf iØ i× ÒÓØ ×eظ Øhe ÒÓÒÐeaf ÒÓ de i× aÐÐÓ caØed a× Øhe ØÓÔ
Øhe iÒØeÖÒaÐ jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ aÔÔÖÓach i× ÒÓØ ÛeÐÐ ×ÙiØed
ÐeÚeÐ ÒÓ de iÒ a ÒeÛ Ôage¸ ÙÒÐe×× Øhe ÒÓ de i× a Ðeaf ÔaÖeÒØ
·
fÓÖ cache¹¬Ö×Ø fÔB ¹ÌÖee׺ ÁÒ×Øead¸ Ûe ÑaiÒØaiÒ aÒ eÜØeÖÒaÐ
ÒÓ de¸ iÒ Ûhich ca×e iØ i× ÔÐaced iÒØÓ aÒ ÓÚeÖÓÛ Ôageº
jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ [6] ØhaØ cÓÒØaiÒ× Øhe Ôage ÁD× fÓÖ aÐÐ Øhe
ÁÒ×eÖØiÓÒº FÓÖ iÒ×eÖØiÓÒ¸ if ØheÖe aÖe eÑÔØÝ ×ÐÓØ× iÒ Øhe
Ðeaf Ôage× ´deØaiÐ× iÒ Øhe fÙÐÐ ÔaÔ eÖ [7]µ¸ iÒ ÓÖdeÖ ØÓ Ô eÖfÓÖÑ
Ðeaf ÒÓ de¸ Øhe ÒeÛ eÒØÖÝ i× ×iÑÔÐÝ iÒ×eÖØedº ÇØheÖÛi×e¸ Øhe
Á»Ç ÔÖefeØchiÒgº ËiÑiÐaÖÐݸ fÓÖ cache ÔÖefeØchiÒg¸ Ûe cÓÙÐd
Ðeaf ÒÓ de Òeed× ØÓ b e ×ÔÐiØ iÒØÓ ØÛÓº Áf Øhe Ðeaf Ôage ×ØiÐÐ ha×
ÑaiÒØaiÒ iÒ each Ðeaf Ôage headeÖ aÒ eÜØeÖÒaÐ jÙÑÔ¹Ô ÓiÒØeÖ
×ÔaÖe ÒÓ de ×Ôace¸ Øhe ÒeÛ Ðeaf ÒÓ de i× aÐÐÓ caØed ÛiØhiÒ Øhe
aÖÖaݸ Ûhich cÓÒØaiÒ× Øhe addÖe××e× Óf aÐÐ ÒÓ de× ÛiØhiÒ Øhe
×aÑe Ôageº ÇØheÖÛi×e¸ Ûe ×ÔÐiØ Øhe Ðeaf Ôage bÝÑÓÚiÒg Øhe
Ôageº ÁÒ×Øead¸ Ûe Ób×eÖÚe ØhaØ ÓÙÖ iÒ¹Ôage ×Ôace ÑaÒag¹
×ecÓÒd haÐf Óf Øhe Ðeaf ÒÓ de× ØÓ a ÒeÛ Ôage aÒd ÙÔ daØiÒg Øhe
ÑeÒØ ×ØÖÙcØÙÖe iÒdicaØe× Ûhich ×ÐÓØ× ÛiØhiÒ a Ôage cÓÒØaiÒ
cÓÖÖe×Ô ÓÒdiÒg chiÐd Ô ÓiÒØeÖ× iÒ ØheiÖ ÔaÖeÒØ׺ ´ÌÓ dÓ Øhi׸
ÒÓ de׸ aÒd heÒce Ûe caÒ Ù×e iØ ØÓ ÔÖefeØch aÐÐ Øhe Ðeaf ÒÓ de×
Ûe ÑaiÒØaiÒ iÒ eÚeÖÝ Ðeaf Ôage a back Ô ÓiÒØeÖ ØÓ Øhe ÔaÖeÒØ
iÒ a Ôage b efÓÖe dÓiÒg a ÖaÒge ×caÒ iÒ×ide Øhe Ôageº
ÒÓ de Óf Øhe ¬Ö×Ø Ðeaf ÒÓ de iÒ Øhe Ôage¸ aÒd Ûe cÓÒÒecØ aÐÐ Ðeaf
Ø ÒÓ de× ØhÖÓÙgh ×ibÐiÒg ÐiÒk׺µ ÀaÚiÒg Ô eÖfÓÖÑed Øhe
ÔaÖeÒ 4. EXPERIMENTAL RESULTS
Ôage gÖaÒÙÐaÖiØÝ ×ÔÐiظ ÛeÒÓÛ Ô eÖfÓÖÑ Øhe cache gÖaÒÙÐaÖiØÝ
ÁÒ Øhi× ×ecØiÓÒ¸ Ûe eÚaÐÙaØe Øhe cache aÒd Á»Ç Ô eÖfÓÖ¹
×ÔÐiظ bÝ ×ÔÐiØØiÒg Øhe Ðeaf ÒÓ de ÛiØhiÒ iØ× Ôageº
·
ÑaÒce Óf fÔB ¹ÌÖee׺ Ïe b egiÒ bÝ de×cÖibiÒg Øhe eÜÔ eÖi¹
AfØeÖ a Ðeaf ÒÓ de ×ÔÐiظ Ûe Òeed ØÓ iÒ×eÖØ aÒ eÒØÖÝ iÒØÓ iØ×
ÑeÒØaÐ fÖaÑeÛÓÖkº ÌheÒ Ûe ÔÖe×eÒØ ÓÙÖ cache Ô eÖfÓÖÑaÒce
ÔaÖeÒØ ÒÓ deº Áf Øhe ÔaÖeÒØ i× fÙÐи iØ ÑÙ×Ø ¬Ö×Ø b e ×ÔÐiغ FÓÖ
×iÑÙÐaØiÓÒ Öe×ÙÐØ׸ fÓÐÐÓÛed bÝ ÓÙÖ Á»Ç Ô eÖfÓÖÑaÒce ×ØÙdݺ
Ðeaf ÔaÖeÒØ ÒÓ de׸ Øhe ÒeÛ ÒÓ de ÑaÝ b e aÐÐÓ caØed fÖÓÑ ÓÚeÖ¹
Û Ôage׺ BÙØ if fÙÖØheÖ ×ÔÐiØ× ÙÔ Øhe ØÖee aÖe Òece××aÖݸ
Ó 4.1 Experimental Framework
each ÒeÛ ÒÓ de ÑÙ×Ø b e aÐÐÓ caØed accÓÖdiÒg ØÓ ÓÙÖ aggÖe××iÚe
ÔÐaceÑeÒØ×cheÑeº
ÅeØhÓ dÓÐÓgÝ fÓÖ ËØÙdÝiÒg Cache ÈeÖfÓÖÑaÒceº Ïe
FigÙÖe 9 heÐÔ× iÐÐÙ×ØÖaØe Øhe chaÐÐeÒge׺ Ïe Òeed ØÓ ×ÔÐiØ
·
eÚaÐÙaØe Øhe CÈÍ cache Ô eÖfÓÖÑaÒce Óf fÔB ¹ÌÖee× ØhÖÓÙgh
ÒÓ de A¸ a ÒÓÒÐeaf ÒÓ de ÛhÓ×e chiÐdÖeÒ aÖe ÒÓÒÐeaf ÒÓ de׸
deØaiÐed ×iÑÙÐaØiÓÒ× Óf fÙÐÐݹfÙÒcØiÓÒaÐ eÜecÙØabÐe× ÖÙÒÒiÒg
iÒØÓ ØÛÓ ÒÓ de× A aÒd A ¸ bÙØ ØheÖe i× ÒÓ ×Ôace iÒ A³×
½ ¾
ÓÒ a ×ØaØe¹Óf¹Øhe¹aÖØ ÑachiÒeº Ìhe ×iÑÙÐaØÓÖ ÑÓ deÐ× a dݹ
Ôage fÓÖ Øhe addiØiÓÒaÐ ÒÓ deº A× ×hÓÛÒ iÒ FigÙÖe 9´bµ¸ a
ÒaÑicaÐÐݹ×chedÙÐed¸ ×ÙÔ eÖ×caÐaÖ ÔÖÓ ce××ÓÖ ×iÑiÐaÖ ØÓ Øhe ÅÁÈË
ÒaiÚe aÔÔÖÓach i× ØÓ aÐÐÓ caØe a ÒeÛ Ôage fÓÖ A º ÀÓÛeÚeÖ¸
¾
ʽ¼¼¼¼ [¾¼] ÖÙÒÒiÒg aØ a cÐÓ ck ÖaØe Óf ½ GÀÞº Ìhe Ñeѹ
A ³× chiÐdÖeÒ aÖe haÐf Óf A³× chiÐdÖeÒ¸ Ûhich aÖe aÐÐ ØÓÔ ÐeÚeÐ
¾
ÓÖÝ hieÖaÖchÝ i× ba×ed ÓÒ Øhe CÓÑÔaÕ EË4¼ [9]º Ïe iѹ
ÒÓ de× iÒ ÓØheÖ Ôage׺ ÌhÙ× eiØheÖ A i× Øhe ÓÒÐÝ ÒÓ de iÒ
¾
ÔÐeÑeÒØed a bÙ«eÖ ÑaÒageÖ aÒd ÚaÖiÓÙ× iÒdeÜ ×ØÖÙcØÙÖe×
Øhe ÒeÛ Ôage¸ Ûhich i× bad fÓÖ Á»Ç Ô eÖfÓÖÑaÒce aÒd ×Ôace
´deØaiÐ× aÖe b eÐÓÛµ¸ aÒd ÖaÒ Øhe×e ÓÒ Øhe ×iÑÙÐaØÓÖº Ìhe
ÙØiÐiÞaØiÓÒ¸ ÓÖ ÛeÑÙ×Ø ÑÓÚe A ³× chiÐdÖeÒ ÙÔ iÒØÓ A ³× Ôage¸
¾ ¾
×iÑÙÐaØÓÖ haÒdÐe× Á»Ç Öead× aÒd ÛÖiØe× bÝ ÑakiÒg ×Ý×ØeÑ
Ûhich Òece××iØaØe× ÔÖÓÑÓØiÒg A ³× gÖaÒdchiÐdÖeÒ ØÓ ØÓÔ ÐeÚeÐ
¾
caÐÐ× ØÓ Øhe ÙÒdeÖÐÝiÒg ÓÔ eÖaØiÒg ×Ý×ØeѺ ÇÒÐÝ Ù×eÖ ÑÓ de
ÒÓ de× ÓÒ ØheiÖ ÓÛÒ Ôage׸ aÒd ×Ó ÓÒº ÁÒ×Øead¸ ØÓ aÚÓid Øhe
eÜecÙØiÓÒ× aÖe ×iÑÙÐaØedº ÁÑÔ ÓÖØaÒØ ×iÑÙÐaØÓÖ ÔaÖaÑeØeÖ×
dÖaÛback× Óf b ÓØh Øhe×e ÓÔØiÓÒ׸ Ûe ×ÔÐiØ A³× Ôage iÒØÓ ØÛÓ¸
5
aÖe ×hÓÛÒ iÒ ÌabÐe ½º
a× ×hÓÛÒ iÒ FigÙÖe 9´cµº
ÅeØhÓ dÓÐÓgÝ fÓÖ ËØÙdÝiÒg Á»Ç ÈeÖfÓÖÑaÒceº Ïe
ËeaÖchº ËeaÖch i× ÕÙiØe ×ØÖaighØfÓÖÛaÖdº ÇÒe deØaiÐ i×
eÚaÐÙaØe Øhe Á»Ç Ô eÖfÓÖÑaÒce ØhÖÓÙgh eÜÔ eÖiÑeÒØ× ÓÒ ÖeaÐ
ÛÓÖØh ÒÓØiÒgº Each ØiÑe Øhe ×eaÖch ÔÖÓ ceed× fÖÓÑ a ÔaÖ¹
ÑachiÒe׺ ÌÓ ×ØÙdÝ Øhe Á»Ç Ô eÖfÓÖÑaÒce Óf ×eaÖche׸ Ûe
eÒØØÓ ÓÒe Óf iØ× chiÐdÖeÒ¸ Ûe cÓÑÔaÖe Øhe Ôage ÁD Óf Øhe
eÜecÙØed ÖaÒdÓÑ ×eaÖche׸ aÒd ØheÒ cÓÙÒØed Øhe ÒÙÑbeÖ Óf
chiÐd Ô ÓiÒØeÖ ÛiØh ØhaØ Óf Øhe ÔaÖeÒØ Ôageº Áf Øhe chiÐd i× iÒ
Á»Ç acce××e× ´iºeº¸ Øhe ÒÙÑbeÖ Óf bÙ«eÖ Ô Ó ÓÐ Ñi××e×µº FÓÖ
Øhe ×aÑe Ôage¸ Ûe caÒ diÖecØÐÝ acce×× Øhe ÒÓ de iÒ Øhe Ôage
×eaÖche׸ Øhe Á»Ç ØiÑe i× dÓÑiÒaØed bÝ Øhe ÒÙÑb eÖ Óf Á»Ç׸
ÛiØhÓÙØ ÖeØÖieÚiÒg Øhe Ôage fÖÓÑ Øhe bÙ«eÖ ÑaÒageÖº
b ecaÙ×e ØheÖe i× ÐiØØÐe ÓÚeÖÐaÔ iÒ acce××iÒg Øhe Ôage× iÒ a
·
DeÐeØiÓÒº ËiÑiÐaÖ ØÓ di×k¹¬Ö×Ø fÔB ¹ÌÖee׺
×eaÖchº ÌÓ ×ØÙdÝ Øhe Á»Ç Ô eÖfÓÖÑaÒce Óf ÖaÒge ×caÒ׸ Ûe ÓÖk¹
3.3 Improving Range Scan Performance eÜecÙØed ÖaÒdÓÑ ÖaÒge ×caÒ× ÓÒ aÒ ËGÁ ÇÖigiÒ ¾¼¼ Û
×ØaØiÓÒ ÛiØh ÑÙÐØiÔÐe di×k׺ FÙÖØheÖÑÓÖe¸ ÛeeÚaÐÙaØe Øhe
FÓÖ ÖaÒge ×caÒ׸ Ûe eÑÔÐÓÝ jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ ÔÖefeØch¹
5
iÒg¸ a× de×cÖib ed iÒ ËecØiÓÒ ¾º¾¸ fÓÖ b ÓØh Á»Ç aÒd cache Ìhe ×iÑÙÐaØiÓÒ ÑÓ deÐ aÒd ÔaÖaÑeØeÖ× ÑaØch ØhÓ×e iÒ [6]º
ÌabÐe ½: ËiÑÙÐaØiÓÒ ÔaÖaÑeØeÖ×
ÈiÔ eÐiÒe ÔaÖaÑeØeÖ×
ÅeÑÓÖÝ ÔaÖaÑeØeÖ×
CÐÓ ck ÊaØe ½ GÀÞ
ÄiÒe ËiÞe 64 bÝØe×
Á××Ùe ÏidØh 4 iÒ×Ø×»cÝcÐe
ÈÖiÑaÖÝ DaØa Cache 64 ÃB¸ ¾¹ÛaÝ ×eعa××Ó cº
FÙÒcØiÓÒaÐ ÍÒiØ× ¾ÁÒØegeÖ¸ ¾ Fȸ
ÈÖiÑaÖÝ ÁÒ×ØÖÙcØiÓÒ Cache 64 ÃB¸ ¾¹ÛaÝ ×eعa××Ó cº
¾ ÅeÑÓÖݸ ½ BÖaÒch
Åi×× ÀaÒdÐeÖ× ¿¾ fÓÖ daØa¸ ¾ fÓÖ iÒ×غ
ÊeÓÖdeÖ BÙ«eÖ ËiÞe 64 iÒ×Ø×
ÍÒi¬ed ËecÓÒdaÖÝ Cache ¾ ÅB¸ diÖecعÑaÔÔ ed
ÁÒØegeÖ ÅÙÐØiÔÐÝ»DiÚide ½¾»76 cÝcÐe×
ÈÖiÑaÖݹØÓ¹ËecÓÒdaÖÝ ½5 cÝcÐe× ´ÔÐÙ× aÒÝ deÐaÝ×
AÐÐ ÇØheÖ ÁÒØegeÖ ½ cÝcÐe
Åi×× ÄaØeÒcÝ caÙ×ed bÝ cÓÒØeÒØiÓÒµ
FÈ DiÚide»ËÕÙaÖe ÊÓ ÓØ ½5»¾¼ cÝcÐe×
ÈÖiÑaÖݹØÓ¹ÅeÑÓÖÝ ½5¼ cÝcÐe× ´ÔÐÙ× aÒÝ deÐaÝ×
Åi×× ÄaØeÒcÝ caÙ×ed bÝ cÓÒØeÒØiÓÒµ
AÐÐ ÇØheÖ FÈ ¾ cÝcÐe×
ÅaiÒ ÅeÑÓÖÝ BaÒdÛidØh ½ acce×× Ô eÖ ½¼ cÝcÐe×
BÖaÒch ÈÖedicØiÓÒ ËcheÑe g×haÖe [½7]
ÌabÐe ¾: ÇÔØiÑaÐ ÛidØh ×eÐecØiÓÒ× ´4 bÝØe keÝ׸ Ì = ½5¼¸ Ì =½¼µ
½ ÒeÜØ
· ·
ÅicÖÓ¹iÒdeÜiÒg
Di×k¹¬Ö×Ø fÔB ¹ÌÖee× Cache¹¬Ö×Ø fÔB ¹ÌÖee×
Ôage ×ÙbaÖÖaÝ Ôage
Ôage ÒÓÒÐeaf Ðeaf Ôage Ôage ÒÓ de Ôage cÓ×Ø
cÓ×Ø cÓ×Ø
×iÞe ×iÞe faÒ¹ÓÙØ
×iÞe ÒÓ de ÒÓ de faÒ¹ÓÙØ ×iÞe ×iÞe faÒ¹ÓÙØ
ÓÔØiÑaÐ
ÓÔØiÑaÐ ÓÔØiÑaÐ
4ÃB ½¾8B 496 ½º¼6
4ÃB 64B ¿84B 47¼ ½º¼6 4ÃB 576B 497 ½º¼¿
8ÃB ½9¾B ½¼¼8 ½º¼6
8ÃB ½9¾B ¾56B 96½ ½º¼¼ 8ÃB 576B 994 ½º¼¿
½6ÃB ¿¾¼B ¾¼¿¾ ½º¼8
½6ÃB ½9¾B 5½¾B ½95¿ ½º¼¿ ½6ÃB 7¼4B ¾¼¼½ ½º¼7
¿¾ÃB ¿¾¼B 4¼64 ½º¼5
¿¾ÃB ¾56B 8¿¾B 4¼½7 ½º¼7 ¿¾ÃB 64¼B 4¼¾9 ½º¼5
Á»Ç Ô eÖfÓÖÑaÒce Óf ÖaÒge ×caÒ× iÒ a cÓÑÑeÖicaÐ DBÅË: Ûe beØÛeeÒ bÙ«eÖ cÓÒØÖÓÐ ×ØÖÙcØÙÖe× aÒd bÙ«eÖ Ô Ó ÓÐ Ôage׺ Ìhe
iÑÔÐeÑeÒØed ÓÙÖ jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ ×cheÑe ÛiØhiÒ DB¾¸ cÓÒØÖÓÐ ×ØÖÙcØÙÖe× aÖe aÐÐÓ caØed fÖÓÑ Øhe bÙ«eÖ Ô Ó ÓÐ iØ×eÐf¸
aÒd eÜecÙØed ÖaÒge ×caÒ ÕÙeÖie× ÓÒ DB¾º DeØaiÐ× ÓÒ ÓÙÖ aÒd ÓÒÐÝ ØhÓ×e bÙ«eÖ Ôage× ØhaØ dÓ ÒÓØ cÓÒicØ ÛiØh Øhe
·
ÇÖigiÒ aÒd DB¾ eÜÔ eÖiÑeÒØ× aÖe ÔÖÓÚided ÐaØeÖ iÒ Øhe ×Ùb¹ cÓÒØÖÓÐ ×ØÖÙcØÙÖe× ÛiÐÐ b e Ù×edº ÁÒ fÔB ¹ÌÖee׸ ÔÙØØiÒg ØÓÔ¹
×ecØiÓÒ× de×cÖibiÒg Øhe ÖaÒge ×caÒ Á»Ç Ô eÖfÓÖÑaÒce Öe×ÙÐØ׺ ÐeÚeÐ iÒ¹Ôage ÒÓ de× aØ Øhe ×aÑe iÒ¹Ôage Ô Ó×iØiÓÒ ÛÓÙÐd caÙ×e
cache cÓÒicØ× aÑÓÒg ØheѺ ËÓ Ûe iÒ×Øead ÔÐace ØheÑ aØ
ÁÑÔÐeÑeÒØaØiÓÒ DeØaiÐ׺ ÇÙÖ bÙ«eÖ ÑaÒageÖ Ù×e×
di«eÖeÒØ ÐÓ caØiÓÒ× deØeÖÑiÒed bÝ a fÙÒcØiÓÒ Óf Øhe Ôage ÁD׺
Øhe CÄÇCà aÐgÓÖiØhÑ ØÓ dÓ Ôage ÖeÔÐaceÑeÒغ ÇÒ ØÓÔ Óf
e iÑÔÐeÑeÒØed fÓÙÖ iÒdeÜ ×ØÖÙcØÙÖe×:
Øhi× bÙ«eÖ ÑaÒageÖ¸ Û 4.2 Cache Performance
·
iµ di×k¹ÓÔØiÑiÞed B ¹ÌÖee׸ iiµ ÑicÖÓ¹iÒdeÜiÒg¸ iiiµ di×k¹¬Ö×Ø
· ·
¹ÌÖee׸ aÒd iÚµ cache¹¬Ö×Ø fÔB ¹ÌÖee׺ Ïe ÛÖÓØe bÙÐk¹
fÔB 4.2.1 Search Performance
ÐÓad¸ ×eaÖch¸ iÒ×eÖØiÓÒ¸ deÐeØiÓÒ¸ aÒd ÖaÒge ×caÒ iÑÔÐeÑeÒ¹
ØaØiÓÒ× fÓÖ aÐÐ Øhe ØÖee× ´ÖaÒge ×caÒ× fÓÖ ÑicÖÓ¹iÒdeÜiÒg Ûa×
ÎaÖÝiÒg Øhe ÒÙÑbeÖÓfeÒØÖie× iÒ Ðeaf Ôage׺ Fig¹
ÒÓØ eÜÔÐiciØÐÝ iÑÔÐeÑeÒØed b ecaÙ×e iØ× b ehaÚiÓÖ i× ×iÑiÐaÖ ØÓ
ÙÖe× ½¼ aÒd ½½ ×hÓÛ Øhe eÜecÙØiÓÒ ØiÑe× Óf ¾¼¼¼ ÖaÒdÓÑ
·
ØhaØ Óf di×k¹ÓÔØiÑiÞed B ¹ÌÖee×µº
×eaÖche× afØeÖ bÙÐkÐÓadiÒg ½¼¼Ã¸ ¿¼¼Ã¸ ½Å¸ ¿Å¸ aÒd ½¼Å
6
Ïe Ù×e 4 bÝØe keÝ× ¸4bÝØe Ôage ÁD׸ 4 bÝØe ØÙÔÐe ÁD׸
keÝ× iÒØÓ Øhe ØÖee× ´ÒÓ de× aÖe ½¼¼± fÙÐÐ eÜceÔØ Øhe ÖÓ Óصº
aÒd¾bÝØe iÒ¹Ôage Ó«×eØ׺ Ïe ÔaÖØiØiÓÒed keÝ× aÒd Ô ÓiÒØeÖ×
AÐÐ cache× aÖe cÐeaÖed b efÓÖe Øhe ¬Ö×Ø ×eaÖch¸ aÒd ØheÒ Øhe
iÒØÓ ×eÔaÖaØe aÖÖaÝ× iÒ aÐÐ ØÖee ÒÓ de× fÓÖ b eØØeÖ cache Ô eÖ¹
×eaÖche× aÖe Ô eÖfÓÖÑed ÓÒe iÑÑediaØeÐÝ afØeÖ aÒÓØheÖº Ìhe
·
fÓÖÑaÒce [½½¸ ½6]º Di×k¹¬Ö×Ø fÔB ¹ÌÖee× haÚe¾bÝØe iÒ¹Ôage
fÓÙÖ ÔÐÓØ× iÒ FigÙÖe ½¼ ×hÓÛ ×eaÖch Ô eÖfÓÖÑaÒce ÛheÒ Øhe
Ô ÓiÒØeÖ× iÒ ÒÓÒÐeaf ÒÓ de× aÒd 4 bÝØe Ô ÓiÒØeÖ× iÒ Ðeaf ÒÓ de׸
daØaba×e Ôage ×iÞe× aÖe 4ÃB¸ 8ÃB¸ ½6ÃB¸ aÒd ¿¾ÃB¸ Öe¹
·
·
ÛhiÐe cache¹¬Ö×Ø fÔB ¹ÌÖee× haÚe 6 bÝØe Ô ÓiÒØeÖ× cÓÑbiÒ¹
×Ô ecØiÚeÐݺ Ìhe fÔB ¹ÌÖee× aÒd ÑicÖÓ¹iÒdeÜiÒg Ù×e Øhe cÓÖ¹
iÒg Ôage ÁD× aÒd iÒ¹Ôage Ó«×eØ× iÒ ÒÓÒÐeaf ÒÓ de׺ Ïe Ô eÖ¹
Öe×Ô ÓÒdiÒg ÓÔØiÑaÐ ÛidØh× iÒ ÌabÐe ¾º FÖÓÑ Øhe ¬gÙÖe׸
·
fÓÖÑed eÜÔ eÖiÑeÒØ× fÓÖ Ôage ×iÞe× Óf 4ÃB¸ 8ÃB¸ ½6ÃB¸ aÒd
Ûe ×ee ØhaØ Øhe cache¹×eÒ×iØiÚe ×cheÑe׸ fÔB ¹ÌÖee× aÒd
¿¾ÃB¸ ÛhichcÓÚeÖ× Øhe ÖaÒge Óf Ôage ×iÞe× iÒ ÑÓ×Ø Óf ØÓ¹
ÑicÖÓ¹iÒdeÜiÒg¸ aÐÐ Ô eÖfÓÖÑ ×igÒi¬caÒØÐÝ b eØØeÖ ØhaÒ di×k¹
·
daÝ³× daØaba×e ×Ý×ØeÑ׺ A× ×hÓÛÒ iÒ ÌabÐe ¾¸ Ûe cÓÑÔÙØed
ÓÔØiÑiÞed B ¹ÌÖee׸ achieÚiÒg ×Ô eed¹ÙÔ× b eØÛeeÒ ½º¼9 aÒd
·
ÓÔØiÑaÐ ÒÓ de ÛidØh× fÓÖ fÔB ¹ÌÖee× Ù×iÒg Ì = ½5¼ aÒd
½º77 aØ aÐÐ Ô ÓiÒØ× aÒd b eØÛeeÒ ½º¾5 aÒd ½º77 ÛheÒ Øhe ØÖee×
½
Ì = ½¼ fÖÓÑ ÌabÐe ½ aÒd ÛheÒ keÝ ×iÞe i× 4 bÝØe׺
cÓÒØaiÒ aØ Ðea×Ø ½Å eÒØÖie׺ ÅÓÖeÓÚeÖ¸ cÓÑÔaÖiÒg Øhe ØhÖee
ÒeÜØ
ÁÒ ÓÙÖ ÑicÖÓ¹iÒdeÜiÒg iÑÔÐeÑeÒØaØiÓÒ¸ a ØÖee Ôage cÓÒ¹
cache¹×eÒ×iØiÚe×cheÑe׸ Ûe ¬Òd ØheiÖ Ô eÖfÓÖÑaÒce ÑÓÖe ÓÖ
ØaiÒ× a headeÖ¸ a ÑicÖÓ¹iÒdeܸ a keÝ aÖÖaݸ aÒd a Ô ÓiÒØeÖ
Ðe×× ×iÑiÐaÖº ÏheÒ Øhe Ôage ×iÞe i× 4ÃB¸ Øhe cache¹¬Ö×Ø
·
aÖÖaݺ Ìhe ÑicÖÓ¹iÒdeÜ i× fÓÖÑed bÝ diÚidiÒg Øhe keÝ aÖ¹
fÔB ¹ÌÖee i× ×ÐighØÐÝ b eØØeÖ ØhaÒ Øhe ÓØheÖ ØÛÓº BÙØ fÓÖ Øhe
ÖaÝiÒØÓ ×Ùb¹aÖÖaÝ× Óf Øhe ×aÑe ×iÞe aÒd cÓÔÝiÒg ØheiÖ ¬Ö×Ø
ÓØheÖ Ôage ×iÞe׸ ØheiÖ Ô eÖfÓÖÑaÒce i× ÚeÖÝ cÐÓ×eº
keÝ׺ A ×eaÖch iÒ a Ôage ¬Ö×Ø ÐÓ Ók× ÙÔ Øhe ÑicÖÓ¹iÒdeÜ
ÏheÒ Øhe Ôage ×iÞe iÒcÖea×e× fÖÓÑ 4ÃB ØÓ ¿¾ÃB¸ Øhe
·
ØÓ decide Ûhich ×Ùb¹aÖÖaÝ ØÓ gÓ ØÓ aÒd ØheÒ ×eaÖche× ØhaØ
Ô eÖfÓÖÑaÒce Óf di×k¹ÓÔØiÑiÞed B ¹ÌÖee× b ecÓÑe× ×ÐighØÐÝ
×Ùb¹aÖÖaݺ FÓÖ b eØØeÖ Ô eÖfÓÖÑaÒce¸ Ûe ÖeÕÙiÖe Øhe ×Ùb¹aÖÖaÝ
ÛÓÖ×eº ÏhiÐe ÐaÖgeÖ Ðeaf Ôage× caÙ×e ÑÓÖe cache Ñi××e× aØ
×iÞe ØÓ be a ÑÙÐØiÔÐe Óf Øhe cache ÐiÒe ×iÞe ´if aÔÔÐicabÐeµ
Øhe Ðeaf ÐeÚeи Øhi× cÓ×Ø i× ÔaÖØiaÐÐÝ cÓÑÔ eÒ×aØed bÝ Øhe ×aÚ¹
aÒd aÐigÒ Øhe keÝ aÖÖaÝ aØ cache ÐiÒe b ÓÙÒdaÖie׺ ÌÓ iѹ
iÒg× aØ Øhe ÒÓÒÐeaf ÐeÚeÐ×: ØÖee× b ecÓÑe ×haÐÐÓÛeÖ aÒd»ÓÖ
·
·
ÔÖÓÚe Øhe Ô eÖfÓÖÑaÒce Óf ÑicÖÓ¹iÒdeÜiÒg¸ Ûe eÑÔÐÓÝÔB ¹
ÖÓ ÓØ ÒÓ de× haÚe feÛeÖ eÒØÖie׺ AØ Øhe ×aÑe ØiÑe¸ fÔB ¹ÌÖee×
ÌÖee¹Ðike ÔÖefeØchiÒg fÓÖ ÑicÖÓ¹iÒdeÜe׸ keÝ ×Ùb¹aÖÖaÝ׸ aÒd
aÒd ÑicÖÓ¹iÒdeÜiÒg Ô eÖfÓÖÑ b eØØeÖ b ecaÙ×e ÐaÖgeÖ Ôage ×iÞe×
Ô ÓiÒØeÖ ×Ùb¹aÖÖaÝ׺ ÁÒ×eÖØiÓÒ aÒd deÐeØiÓÒ fÓÐÐÓÛ Øhe aй
ÐeaÚe ÑÓÖe ÖÓ ÓÑ fÓÖ ÓÔØiÑiÞaØiÓÒº ÏiØh Øhe ØÛÓ ØÖeÒd׸ Ûe
·
gÓÖiØhÑ× Óf di×k¹ÓÔØiÑiÞed B ¹ÌÖee׸ bÙØ ØheÒ ÖebÙiÐd Øhe
×ee ÐaÖgeÖ ×Ô eed¹ÙÔ×: ÓÚeÖ ½º4½ fÓÖ ½6ÃB Ôage׸ aÒd ÓÚeÖ
a«ecØed ÔaÖØ× Óf Øhe ÑicÖÓ¹iÒdeܺ A× ×hÓÛÒ iÒ ÌabÐe ¾¸
½º54 fÓÖ ¿¾ÃB Ôage׸ ÛheÒ ØÖee× cÓÒØaiÒ aØ Ðea×Ø ½Å eÒØÖie׺
Ûe cÓÑÔÙØed Øhe ÓÔØiÑaÐ ×Ùb¹aÖÖaÝ ×iÞe× fÓÖ ÑicÖÓ¹iÒdeÜiÒg
FigÙÖe ½½ cÓÑÔaÖe× Øhe Ô eÖfÓÖÑaÒce Óf di«eÖeÒØ ÒÓ de
·
· 7
ba×ed ÓÒ Øhe ×aÑe ÓÔØiÑaÐ cÖiØeÖia a× adÚÓ caØed fÓÖ fÔB ¹
ÛidØh× fÓÖ fÔB ¹ÌÖee× ÛheÒ Øhe Ôage ×iÞe i× ½6ÃB º ÊecaÐÐ
ÌÖee×: ÑaÜiÑiÞe Ôage faÒ¹ÓÙØ ÛhiÐe keeÔiÒg Øhe aÒaÐÝØicaÐ
ØhaØ ÓÙÖ ÓÔØiÑaÐ cÖiØeÖia i× ØÓ ÑaÜiÑiÞe Ðeaf Ôage faÒ¹ÓÙØ
×eaÖch cÓ×Ø ØÓ ÛiØhiÒ ½¼± Óf Øhe ÓÔØiÑaк
ÛhiÐe keeÔiÒg aÒaÐÝØicaÐ ×eaÖch Ô eÖfÓÖÑaÒce ÛiØhiÒ ½¼± Óf
Ïe ØÖÝ ØÓ aÚÓid cÓÒicØ cache Ñi××e× iÒ Øhe bÙ«eÖ ÑaÒageÖ
Øhe b e×غ FigÙÖe ½½ cÓÒ¬ÖÑ× ØhaØ ÓÙÖ ×eÐecØed ØÖee× iÒdeed
6 7
Êe×ÙÐØ× ÛiØh ÐaÖgeÖ keÝ ×iÞe× caÒ b e fÓÙÒd iÒ Øhe fÙÐÐ ÔaÔ eÖ [7] ËiÑiÐaÖ cÓÑÔaÖi×ÓÒ× fÓÖ ÑicÖÓ¹iÒdeÜiÒg aÖe iÒ Øhe fÙÐÐ ÔaÔ eÖ [7]º 3 3 3.5 Disk−optimized B+tree Disk−optimized B+tree Disk−optimized B+tree Micro−indexing Micro−indexing Micro−indexing Disk−first fpB+tree Disk−first fpB+tree Disk−first fpB+tree 2.5 Cache−first fpB+tree 2.5 Cache−first fpB+tree 3 Cache−first fpB+tree
2 2 2.5
1.5 1.5 2 execution time (M cycles) execution time (M cycles) execution time (M cycles)
1 1 5 6 7 5 6 7 1.5 10 10 10 10 10 10 60 70 80 90 100
# of entries in leaf pages # of entries in leaf pages bulkload factor when building the trees
´aµ Ôage ×iÞe = 4ÃB ´bµ Ôage ×iÞe = 8ÃB
ËeaÖch Ô eÖfÓÖÑaÒce ÚaÖÝiÒg bÙÐkÐÓad fac¹ 3.5 3.5 FigÙÖe ½¾:
Disk−optimized B+tree Disk−optimized B+tree eÝ׸ ½6ÃB Ôageµ Micro−indexing Micro−indexing ØÓÖ× ´¿Å k 3 Disk−first fpB+tree 3 Disk−first fpB+tree Cache−first fpB+tree Cache−first fpB+tree
2.5 2.5 70 80 Disk−optimized B+tree Disk−optimized B+tree Micro−indexing 60 Micro−indexing 2 2 70 Disk−first fpB+tree Disk−first fpB+tree Cache−first fpB+tree Cache−first fpB+tree 60 50
execution time (M cycles) 1.5 execution time (M cycles) 1.5 50 40
1 1 40 5 6 7 5 6 7 30 10 10 10 10 10 10 # of entries in leaf pages # of entries in leaf pages 30 20 20 execution time (M cycles)
execution time (M cycles) ´dµ Ôage ×iÞe = ¿¾ÃB ´cµ Ôage ×iÞe = ½6ÃB 10 10 0
0 5 6 7
ËeaÖch Ô eÖfÓÖÑaÒce fÓÖ ½¼¼± bÙÐkÐÓad FigÙÖe ½¼: 60 70 80 90 100 10 10 10
bulkload factor (16KB page) # of entries in leaf pages (16KB page, 100% full)
´aµ ÎaÖÝiÒg bÙÐkÐÓad facØÓÖ× ´bµ ÎaÖÝiÒg # Óf eÒØÖie×
3.5 3.5 90 100 nonleaf= 64B 128B Disk−optimized B+tree Disk−optimized B+tree nonleaf=128B 256B 80 Micro−indexing Micro−indexing 3 nonleaf=192B(selected) 3 512B Disk−first fpB+tree 80 Disk−first fpB+tree nonleaf=256B 704B(selected) 70 Cache−first fpB+tree Cache−first fpB+tree nonleaf=320B 1024B 60 2.5 nonleaf=384B 2.5 Best Synthesized 60 nonleaf=448B nonleaf=512B 50 2 2 40 40
30 execution time (M cycles) execution time (M cycles) execution time (M cycles) 1.5 execution time (M cycles) 1.5 20 20
1 1 10 0 5 6 7 5 6 7 4KB 8KB 16KB 32KB 10 10 10 10 10 10 4KB 8KB 16KB 32KB
# of entries in leaf pages # of entries in leaf pages (3M entries in leaf pages, 100% full) (3M entries in leaf pages, 70% full)
· ·
´cµ ÎaÖÝiÒg Ôage ×iÞe× ´½¼¼± fÙÐе ´dµ ÎaÖÝiÒg Ôage ×iÞe× ´7¼± fÙÐе
´aµ Di×k¹¬Ö×Ø fÔB ¹ÌÖee ´bµ Cache¹¬Ö×Ø fÔB ¹ÌÖee
FigÙÖe ½¿: ÁÒ×eÖØiÓÒ Ô eÖfÓÖÑaÒce
FigÙÖe ½½: ÇÔØiÑaÐ ÛidØh ×eÐecØiÓÒ ´½6ÃB Ôageµ
eÜÔ eÖiÑeÒØ× aÒd ØheÖefÓÖe ×iÑiÐaÖ Ô eÖfÓÖÑaÒceº
achieÚe ×eaÖch Ô eÖfÓÖÑaÒce ÚeÖÝ cÐÓ×e ØÓ Øhe b e×Ø aÑÓÒg Øhe
ÒÓ de chÓice׺ FigÙÖe ½½´aµ ×hÓÛ× Øhe Ô eÖfÓÖÑaÒce Óf di×k¹
· 4.2.2 Insertion Performance
¬Ö×Ø fÔB ¹ÌÖee× Ù×iÒg ÒÓÒÐeaf ÒÓ de ×iÞe× fÖÓÑ 64B ´aÒ Ä¾
FigÙÖe ½¿ ×hÓÛ× Øhe iÒ×eÖØiÓÒ Ô eÖfÓÖÑaÒce iÒ fÓÙÖ dif¹
cache ÐiÒeµ ØÓ 5½¾B ´8 ľ cache ÐiÒe×µº ÇÙÖ ×eÐecØed ÓÔØiÑaÐ
feÖeÒØ ×eØØiÒg׺ Ìhe eÜÔ eÖiÑeÒØ× aÐÐ Ñea×ÙÖed Øhe eÜecÙ¹
ØÖee i× ÛiØhiÒ ¾± Óf Øhe b e×Ø eÜecÙØiÓÒ ØiÑe׺ FÓÖ cache¹
·
ØiÓÒ ØiÑe× fÓÖ iÒ×eÖØiÒg ¾¼¼¼ ÖaÒdÓÑ keÝ× afØeÖ bÙÐkÐÓad׸
¬Ö×Ø fÔB ¹ÌÖee× Ûe Ñea×ÙÖed Øhe Ô eÖfÓÖÑaÒce fÓÖ ÒÓ de ×iÞe×
ÛhiÐe ÚaÖÝiÒg Øhe bÙÐkÐÓad facØÓÖ¸ Øhe ÒÙÑb eÖ× Óf eÒØÖie× iÒ
ÖaÒgiÒg fÖÓÑ ½¾8B ØÓ ½¼¾4Bº ÁÒ FigÙÖe ½½´bµ¸ fÓÖ ×iÑÔÐiciØݸ
·
Ðeaf Ôage׸ aÒd Øhe Ôage ×iÞeº Ìhe fÔB ¹ÌÖee× achieÚeÙÔ
Ûe ÓÒÐÝ ×hÓÛ cÙÖÚe× fÓÖ ÒÓ de ×iÞe× Óf ½¾8B¸ ¾56B¸ 5½¾B¸
·
ØÓ a ¿5¹fÓÐd ×Ô eed¹ÙÔ ÓÚeÖ di×k¹ÓÔØiÑiÞed B ¹ÌÖee׸ ÛhiÐe
7¼4B¸ ½¼¾4B¸ aÒd a b e×Ø Ô eÖfÓÖÑaÒce cÙÖÚe ×ÝÒØhe×iÞed bÝ
ÑicÖÓ¹iÒdeÜiÒg Ô eÖfÓÖÑ× aÐÑÓ×Ø a× Ô Ó ÓÖÐÝ a× di×k¹ÓÔØiÑÞed
ØakiÒg Øhe ÑiÒiÑÙÑ× Óf aÐÐ cÙÖÚe× ÛiØh Øhe ×aÑe # Óf eÒ¹
·
B ¹ÌÖee׺
ØÖie× iÒ Ðeaf Ôage׺ ÇÙÖ ×eÐecØed ÓÔØiÑaÐ ØÖee Ô eÖfÓÖÑ× ÛiØhiÒ
FigÙÖe ½¿´aµ cÓÑÔaÖe× iÒ×eÖØiÓÒ Ô eÖfÓÖÑaÒce Óf ØÖee× fÖÓÑ
5± Óf Øhe b e×غ ÁÒ Øhe eÜÔ eÖiÑeÒØ× ØhaØ fÓÐÐÓÛ¸ Ûe Ù×e Øhe
6¼± ØÓ ½¼¼± fÙÐÐ cÓÒØaiÒiÒg ¿Å keÝ׺ CÓÑÔaÖed ØÓ di×k¹
ÓÔØiÑaÐ ÒÓ de ×iÞe× giÚeÒ iÒ ÌabÐe ¾º
· ·
ÓÔØiÑiÞed B ¹ÌÖee׸ Øhe fÔB ¹ÌÖee× achieÚe ½4 ØÓ ¾¼¹fÓÐd
ÎaÖÝiÒg Øhe bÙÐkÐÓad facØÓÖº ÁÒ FigÙÖe ½¾¸ ÛeÚaÖ¹ ×Ô eed¹ÙÔ× b eØÛeeÒ 6¼± aÒd 9¼±¸ ÛhiÐe fÓÖ ½¼¼± fÙÐÐ ØÖee׸
ied Øhe ¿Å¹eÒØÖÝ eÜÔ eÖiÑeÒØ× iÒ FigÙÖe ½¼´cµ ÛiØh bÙÐkÐÓad ØheÝ aÖe ÓÚeÖ ½º9 ØiÑe× b eØØeÖº ÁÒØeÖe×ØiÒgÐݸ Øhe cÙÖÚe×
·
facØÓÖ× ÖaÒgiÒg fÖÓÑ 6¼± ØÓ ½¼¼±º CÓÑÔaÖed ÛiØh di×k¹ haÚe eÜØÖeÑeÐÝ di«eÖeÒØ ×haÔ e×: ØhÓ×e Óf di×k¹ÓÔØiÑiÞed B ¹
· ·
ÓÔØiÑiÞed B ¹ÌÖee׸ fÔB ¹ÌÖee× aÒd ÑicÖÓ¹iÒdeÜiÒg achieÚe ÌÖee× aÒd ÑicÖÓ¹iÒdeÜiÒg iÒcÖea×e fÖÓÑ 6¼± ØÓ 9¼± bÙØ dÖÓÔ
·
×Ô eed¹ÙÔ× b eØÛeeÒ ½º¿7 aÒd ½º6¼º aØ Øhe ½¼¼± Ô ÓiÒظ ÛhiÐe Øhe cÙÖÚe× Óf fÔB ¹ÌÖee× ×ØaÝ aØ
Ìhe ×ØeÔ¹dÓÛÒ aØ 8¼± fÓÖ ÑicÖÓ¹iÒdeÜiÒg aÒd di×k¹¬Ö×Ø aØ ¬Ö×Ø bÙØ jÙÑÔ dÖaÑaØicaÐÐÝ aØ Øhe ½¼¼± Ô ÓiÒغ Ìhe×e
·
fÔB ¹ÌÖee× i× b ecaÙ×e ØheÝ ÖedÙce ÓÒe Ôage ÐeÚeÐ aØ 8¼±º e«ecØ× caÒ b e eÜÔÐaiÒed bÝ Øhe cÓÑbiÒaØiÓÒ Óf ØÛÓ facØÓÖ×:
·
AÐØhÓÙgh Øhe di×k¹ÓÔØiÑiÞed B ¹ÌÖee× aÐ×Ó ÖedÙce ÓÒe ÐeÚeÐ daØa ÑÓÚeÑeÒØ aÒd Ôage ×ÔÐiØ׺ ÏheÒ ØÖee× aÖe 6¼± ØÓ 9¼±
heÖe¸ Øhe ×aÚiÒg× aÖe Ó«×eØ bÝ a ÐaÖgeÖ cÓ×Ø fÓÖ ×eaÖchiÒg Ðeaf fÙÐи iÒ×eÖØiÓÒ× Ù×ÙaÐÐÝ ¬Òd eÑÔØÝ ×ÐÓØ× aÒd Øhe Ña jÓÖ ÓÔ eÖ¹
·
Ôage× ÛiØh iÒcÖea×ed bÙÐkÐÓad facØÓÖ׺ Cache¹¬Ö×Ø fÔB ¹ aØiÓÒ afØeÖ ×eaÖchiÒg ÛheÖe Øhe keÝ b eÐÓÒg× i× ØÓ ÑÓÚe Øhe
ÌÖee× aÐÐ haÚe Øhe ×aÑe ÒÙÑbeÖ Óf ÒÓde ÐeÚeÐ× iÒ Øhi× ×eØ Óf keÝ aÒd Ô ÓiÒØeÖ aÖÖaÝ× iÒ ÓÖdeÖ ØÓ iÒ×eÖØ Øhe ÒeÛ eÒØÖݺ ÁÒ 30 50 1200 Disk−optimized B+tree Disk−optimized B+tree Micro−indexing Micro−indexing 25 1000 Disk−first fpB+tree 40 Disk−first fpB+tree Cache−first fpB+tree Cache−first fpB+tree 20 800 30 15 600 20 10 400 execution time (M cycles) simulation time (M cycles) execution time (M cycles) 10 5 200
0 0 0 60 70 80 90 100 4KB 8KB 16KB 32KB Disk−optimized Disk−first Cache−first
bulkload factor (16KB page) (3M entries in leaf pages, 100% full) B+tree fpB+tree fpB+tree
´aµ ÎaÖÝiÒg bÙÐkÐÓad facØÓÖ× ´bµ ÎaÖÝiÒg Ôage ×iÞe× ´½¼¼± fÙÐе
FigÙÖe ½5: ÊaÒge ×caÒ Ô eÖfÓÖÑaÒce ´½6ÃB Ôage¸
×caÒÒiÒg ½Å keÝ×µ
FigÙÖe ½4: DeÐeØiÓÒ Ô eÖfÓÖÑaÒce
·
¹ÌÖee׸ Øhi× daØa ÑÓÚeÑeÒØi×bÝ faÖ Øhe
di×k¹ÓÔØiÑiÞed B 50 50
Disk−first fpB+tree Disk−first fpB+tree
Ø cÓ×غ A× Øhe Ó ccÙÔied Ô ÓÖØiÓÒ× Óf Øhe aÖÖaÝ× gÖÓÛ dÓÑiÒaÒ Cache−first fpB+tree Cache−first fpB+tree
40 40
fÖÓÑ 6¼± ØÓ 9¼±¸ Øhi× cÓ×Ø iÒcÖea×e׸ Öe×ÙÐØiÒg iÒ ×ÐÓÛeÖ
ØiÑe׺ ÅicÖÓ¹iÒdeÜiÒg keeÔ× Øhe ×aÑe ÐaÖge aÖ¹
iÒ×eÖØiÓÒ 30 30
ÖaÝ ×ØÖÙcØÙÖe ÙÒØÓÙched aÒd ØheÖefÓÖe ×Ù«eÖ× fÖÓÑ Øhe ×aÑe
·
ÀÓÛeÚeÖ¸ iÒ fÔB ¹ÌÖee׸ Ûe ÖedÙced Øhe daØa ÑÓÚe¹
e«ecغ 20 20
ÑeÒØ cÓ×Ø bÝ Ù×iÒg ×ÑaÐÐeÖ cache¹ÓÔØiÑiÞed ÒÓ de׸ Öe×ÙÐØiÒg 10 10
space overhead (percentage)
iÒ ½4 ØÓ ¾¼¹fÓÐd ×Ô eed¹ÙÔ׺ DaØa ÑÓÚeÑeÒØ ha× b ecÓÑe
space overhead (percentage)
Ùch Ðe×× cÓ×ØÐÝ ØhaÒ ×eaÖch¸ ÐeadiÒg ØÓ Øhe aØ cÙÖÚe× ÙÔ Ñ 0 0
4KB 8KB 16KB 32KB 4KB 8KB 16KB 32KB ÏheÒ Øhe ØÖee× aÖe ½¼¼± fÙÐи iÒ×eÖØiÓÒ×
ØhÖÓÙgh 9¼± fÙÐк page size page size
·
caÙ×e fÖeÕÙeÒØ Ôage ×ÔÐiØ׺ ÁÒ fÔB ¹ÌÖee׸ Øhe cÓ×Ø Óf a Ôage
´aµ AfØeÖ bÙÐkÐÓadiÒg ØÖee× ½¼¼± fÙÐÐ ´bµ ÅaØÙÖe ØÖee×
×ÔÐiØ i× faÖ ÑÓÖe ØhaÒ Øhe ÔÖeÚiÓÙ× daØa ÑÓÚeÑeÒØ cÓ×ظ Öe¹
·
×ÙÐØiÒg iÒ Øhe ÐaÖge jÙÑÔ ×eeÒ iÒ Øhe cÙÖÚe׺ ÁÒ B ¹ÌÖee×
FigÙÖe ½6: ËÔace ÓÚeÖhead
aÒd ÑicÖÓ¹iÒdeÜiÒg¸ hÓÛeÚeÖ¸ Øhe Ôage ×ÔÐiØ cÓ×Ø i× cÓÑÔa¹
ÖabÐe ØÓ cÓÔÝiÒg haÐf Óf a Ôage¸ Ûhich i× Øhe aÚeÖage daØa
deÜe׺ A ×eaÖch i× fÓÐÐÓÛed bÝ a daØa ÑÓÚeÑeÒØ ÓÔ eÖaØiÓÒ ØÓ
ÑÓÚeÑeÒØ cÓ×Ø fÓÖ iÒ×eÖØiÒg iÒØÓ aÒ aÐÑÓ×Ø fÙÐÐ Ôageº BÙØ
ÖeÑÓÚe Øhe deÐeØed eÒØÖݸ bÙØ Ûe dÓ ÒÓØ ÑeÖge ÙÒdeÖÓÛed
ÐaØeÖ iÒ×eÖØiÓÒ× ÑaÝ hiØ haÐf eÑÔØÝ Ôage× ´jÙ×Ø ×ÔÐiص aÒd
Ôage× ÓÖ ÒÓ de׺ FigÙÖe ½4 eÚaÐÙaØe× deÐeØiÓÒ Ô eÖfÓÖÑaÒce
heÒce iÒcÙÖ Ðe×× daØa ÑÓÚeÑeÒظ Öe×ÙÐØiÒg iÒ fa×ØeÖ iÒ×eÖØiÓÒ
´fÓÖ ¾¼¼¼ ÖaÒdÓÑ deÐeØiÓÒ×µ iÒ ØÛÓ ×eØØiÒg×: ´aµ ÚaÖÝiÒg Øhe
ØiÑe× aØ Øhe ½¼¼± Ô ÓiÒغ
bÙÐkÐÓad facØÓÖ ÛheÒ Øhe Ôage ×iÞe i× ½6ÃB¸ aÒd ´bµ ÚaÖÝiÒg
FigÙÖe ½¿´bµ ×hÓÛ× iÒ×eÖØiÓÒ Ô eÖfÓÖÑaÒce ÓÒ fÙÐÐ ØÖee×
Øhe Ôage ×iÞe× ÛheÒ Øhe ØÖee× aÖe ½¼¼± fÙÐк Ìhe dÓÑiÒaÒØ
·
·
Óf di«eÖeÒØ ×iÞe׺ CÓÑÔaÖed ØÓ di×k¹ÓÔØiÑiÞed B ¹ÌÖee׸
cÓ×Ø iÒ di×k¹ÓÔØiÑiÞed B ¹ÌÖee× aÒd ÑicÖÓ¹iÒdeÜiÒg i× Øhe
·
fÔB ¹ÌÖee× achieÚe ×Ô eed¹ÙÔ× fÖÓÑ 6º¾6 ØÓ ½º4¾ ÛheÒ Øhe
daØa ÑÓÚeÑeÒØ cÓ×ظ Ûhich iÒcÖea×e× a× Øhe bÙÐkÐÓad facØÓÖ
ÒÙÑbeÖ Óf eÒØÖie× iÒ Ðeaf Ôage× i× iÒcÖea×ed fÖÓÑ ½¼¼Ã ØÓ
iÒcÖea×e× aÒd Øhe Ôage ×iÞe gÖÓÛ׺ ÀÓÛeÚeÖ¸ Øhe ×eaÖch aÒd
·
½¼Åº Ìhi× decÖea×e iÒ ×Ô eed¹ÙÔ i× caÙ×ed bÝ Øhe iÒcÖea×¹
daØa ÑÓÚeÑeÒØ cÓ×Ø× Óf fÔB ¹ÌÖee× ÓÒÐÝ chaÒge ×ÐighØÐݺ ËÓ
·
iÒg ÒÙÑb eÖ Óf Ôage ×ÔÐiØ× ´fÖÓÑ 48 ØÓ ½6¿½ Ðeaf Ôage ×ÔÐiØ×
Øhe fÔB ¹ÌÖee× achieÚe ¿º¾ß¾¼º4 fÓÐd ×Ô eed¹ÙÔ× ÓÚeÖ di×k¹
·
·
fÓÖ di×k¹ÓÔØiÑiÞed B ¹ÌÖee׸ aÒd ×iÑiÐaÖ ØÖeÒd× fÓÖ ÓØheÖ
ÓÔØiÑiÞed B ¹ÌÖee׺
iÒdeÜe×µº A× aÖgÙed ab ÓÚe¸ iÒcÖea×ed Ôage ×ÔÐiØ× haÚe a
·
Ùch gÖeaØeÖ Ô eÖfÓÖÑaÒce iÑÔacØ ÓÒ fÔB ¹ÌÖee× ØhaÒ ÓÒ
Ñ 4.2.4 Range Scan Performance
·
di×k¹ÓÔØiÑiÞed B ¹ÌÖee× aÒd ÑicÖÓ¹iÒdeÜiÒg¸ ÐeadiÒg ØÓ Øhe
FigÙÖe ½5 cÓÑÔaÖe× Øhe ÖaÒge ×caÒ cache Ô eÖfÓÖÑaÒce Óf
×Ô eed¹ÙÔ decÖea×eº
· ·
fÔB ¹ÌÖee× aÒd di×k¹ÓÔØiÑiÞed B ¹ÌÖee׺ Ìhe ØÖee× aÖe
FigÙÖe× ½¿´cµ aÒd ´dµ cÓÑÔaÖe Øhe iÒ×eÖØiÓÒ Ô eÖfÓÖÑaÒce
bÙÐkÐÓaded ÛiØh ¿Å keÝ׸ Ù×iÒg a ½¼¼± bÙÐkÐÓad facØÓÖº
ÚaÖÝiÒg Ôage ×iÞe× ÛheÒ ØÖee× aÖe ½¼¼± aÒd 7¼± fÙÐк A×
Ïe geÒeÖaØe ½¼¼ ÖaÒdÓÑ ×ØaÖØ keÝ׸ fÓÖ each cÓÑÔÙØiÒg aÒ
Øhe Ôage ×iÞe gÖÓÛ׸ Øhe eÜecÙØiÓÒ ØiÑe× Óf di×k¹ÓÔØiÑiÞed
eÒd keÝ ×Ùch ØhaØ Øhe ÖaÒge ×ÔaÒ× ÔÖeci×eÐÝ ½Å ØÙÔÐe ÁD׸
·
B ¹ÌÖee× aÒd ÑicÖÓ¹iÒdeÜiÒg eÜÔÐÓ de b ecaÙ×e Óf Øhe cÓѹ
aÒd ØheÒ Ô eÖfÓÖÑ Øhe×e ½¼¼ ÖaÒge ×caÒ× ÓÒe afØeÖ aÒÓØheÖº
biÒed e«ecØ× Óf ÐaÖgeÖ daØa ÑÓÚeÑeÒØ aÒd ÐaÖgeÖ Ôage ×ÔÐiØ
·
CÓÑÔaÖed ØÓ Øhe di×k¹ÓÔØiÑiÞed B ¹ÌÖee׸ Øhe di×k¹¬Ö×Ø aÒd
·
cÓ×Ø׺ ÁÒ fÔB ¹ÌÖee׸ ØhÓÙgh Ôage ×ÔÐiØ cÓ×Ø× aÐ×Ó iÒcÖea×e¸
·
cache¹¬Ö×Ø fÔB ¹ÌÖee× achieÚe ×Ô eed¹ÙÔ× Óf 4º¾ aÒd ¿º5¸ Öe¹
×eaÖch aÒd daØa ÑÓÚeÑeÒØ cÓ×Ø× ÓÒÐÝ chaÒge ×ÐighØÐݸ be¹
×Ô ecØiÚeÐݺ
caÙ×e ÛiØh ÐaÖgeÖ Ôage ×iÞe× cÓÑe× Øhe adÚaÒØage× Óf ÐaÖgeÖ
·
ÌheÖefÓÖe Øhe cÙÖÚe× Óf fÔB ¹ÌÖee× iÒ¹
ÓÔØiÑaÐ ÒÓ de ÛidØh׺ 4.3 I/O Performance and Space Overhead
cÖea×e iÒ FigÙÖe ½¿´cµ bÙØ aÖe aÐÑÓ×Ø aØ iÒ ´dµº AÐØÓgeØheÖ
·
8
iÒ FigÙÖe ½¿´cµ aÒd ´dµ¸ fÔB ¹ÌÖee× achieÚe ½º½5ß¾º9¼ aÒd
ËÔace ÇÚeÖheadº FigÙÖe ½6 ×hÓÛ× Øhe ×Ôace ÓÚeÖhead
·
· ·
4º67ß¿5º6 fÓÐd ×Ô eed¹ÙÔ× ÓÚeÖ di×k¹ÓÔØiÑiÞed B ¹ÌÖee׸ Öe¹
Óf Øhe fÔB ¹ÌÖee× cÓÑÔaÖed ØÓ di×k¹ÓÔØiÑiÞed B ¹ÌÖee× fÓÖ
×Ô ecØiÚeÐݺ
a ÖaÒge Óf Ôage ×iÞe׸ deÔicØiÒg ØÛÓ ´eÜØÖeÑaе ×ceÒaÖiÓ×:
·
CÓÑÔaÖiÒg Øhe ØÛÓ fÔB ¹ÌÖee׸ Ûe ×ee ØheÝ haÚe ×iÑi¹
´aµ iÑÑediaØeÐÝ afØeÖ bÙÐkÐÓadiÒg Øhe ØÖee× ½¼¼± fÙÐи aÒd
·
ÐaÖ iÒ×eÖØiÓÒ Ô eÖfÓÖÑaÒceº ËÓÑeØiÑe× cache¹¬Ö×Ø fÔB ¹ÌÖee×
´bµ afØeÖ iÒ×eÖØiÒg 9Å keÝ× iÒØÓ ØÖee× bÙÐkÐÓaded ÛiØh ½Å
·
·
Ô eÖfÓÖÑ ÛÓÖ×e ØhaÒ di×k¹¬Ö×Ø fÔB ¹ÌÖee׺ Ìhi× i× ÔÖiÑaÖiÐÝ
keÝ׺ Ïe ×ee ØhaØ iÒ each Óf Øhe×e ×ceÒaÖiÓ׸ di×k¹¬Ö×Ø fÔB ¹
·
b ecaÙ×e Óf Øhe ÑÓÖe cÓÑÔÐicaØed ÒÓ de»Ôage ×ÔÐiØ ÓÔ eÖaØiÓÒ×
ÌÖee× iÒcÙÖ Ðe×× ØhaÒ a 9± ÓÚeÖheadº ÁÒ cache¹¬Ö×Ø fÔB ¹
·
iÒ cache¹¬Ö×Ø fÔB ¹ÌÖee׸ a× di×cÙ××ed iÒ ËecØiÓÒ ¿º¾º
ÌÖee׸ Øhe ×Ôace ÓÚeÖhead i× Ðe×× ØhaÒ 5± ÙÒdeÖ ×ceÒaÖiÓ
·
´aµ¸ eÚeÒ b eØØeÖ ØhaÒ di×k¹¬Ö×Ø fÔB ¹ÌÖee׺ Ìhi× i× b ecaÙ×e
4.2.3 Deletion Performance
# Óf Ôage× iÒ Øhe iÒdeÜ
8
½ ËÔace ÇÚeÖhead =
·
DeÐeØiÓÒ× aÖe iÑÔÐeÑeÒØed a× ÐaÞÝ deÐeØiÓÒ× iÒ aÐÐ Øhe iÒ¹
# Óf Ôage× iÒ a di×k¹ÓÔØiÑiÞed B ¹ÌÖee 5 2.6 2.6 10 Disk−optimized B+tree Disk−optimized B+tree B+trees Disk−first fpB+tree Disk−first fpB+tree 2.4 2.4 fpB+trees Cache−first fpB+tree Cache−first fpB+tree 4 10 2.2 2.2
2 2 3 10 1.8 1.8
1.6 1.6 execution time (ms) 2
# of I/O reads (x 1000) 10 # of I/O reads (x 1000) 1.4 1.4
1 1.2 10 1.2 2 4 6 4KB 8KB 16KB 32KB 4KB 8KB 16KB 32KB 10 10 10
page size page size # of entries in the scanned range
´aµ ×eaÖch afØeÖ bÙÐkÐÓad ´bµ ×eaÖch iÒ ÑaØÙÖe ØÖee× ´aµ EÜecÙØiÓÒ ØiÑe Ú׺ ÖaÒge ×iÞe
100 10
B+trees
Á»Ç Ô eÖfÓÖÑaÒce fÓÖ ×eaÖche× FigÙÖe ½7: fpB+trees 9 80 8
· 7
Øhe Ðeaf Ôage× iÒ cache¹¬Ö×Ø fÔB ¹ÌÖee× ÓÒÐÝ cÓÒØaiÒ iÒ¹Ôage 60
· 6
Ðeaf ÒÓ de׸ ÛhiÐe di×k¹¬Ö×Ø fÔB ¹ÌÖee× bÙiÐd iÒ¹Ôage ØÖee×
5
´cÓÒØaiÒiÒg ÒÓÒÐeaf aÒd Ðeaf ÒÓ de×µ iÒ Ðeaf Ôage׺ ÀÓÛeÚeÖ¸ 40 speed up
4
fÓÖ Øhe ÑaØÙÖe ØÖee ×ceÒaÖiÓ׸ Øhe ×Ôace ÓÚeÖhead× Óf Øhe execution time (s)
· 20 3
cache¹¬Ö×Ø fÔB ¹ÌÖee caÒ gÖÓÛ ØÓ ¿6±¸ b ecaÙ×e Óf Øhe dif¹
2
¬cÙÐØie× iÒ ÑaiÒØaiÒiÒg e«ecØiÚe ÔÐaceÑeÒØ Óf ÒÓ de× ÛiØhiÒ
0 1
ÚeÖ ÑaÒÝ iÒ×eÖØiÓÒ׺ Ôage× Ó 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
# of disks used # of disks used
FigÙÖe ½6 aÐ×Ó ×hÓÛ× ØhaØ a× Øhe Ôage ×iÞe gÖÓÛ׸ Øhe
´bµ ØiÑe Ú׺ # Óf di×k× ´cµ ×Ô eed¹ÙÔ Ú׺ # Óf di×k× ·
×Ôace ÓÚeÖhead Óf di×k¹¬Ö×Ø fÔB ¹ÌÖee× decÖea×e× b ecaÙ×e
ÐaÖgeÖ Ôage× aÐÐÓÛ ÑÓÖe fÖeedÓÑ ÛheÒ ÓÔØiÑiÞiÒg iÒ¹Ôage
FigÙÖe ½8: ÊaÒge ×caÒ Á»Ç Ô eÖfÓÖÑaÒce
ÒÓ de ÛidØh׺
9¼ ÑiÐÐiÓÒ keÝ× aÒd ØheÒ iÒ×eÖØed ½¼ ÑiÐÐiÓÒ keÝ× ØÓ
4.3.1 Search Performance ÛiØh
·
Ñake Øhe ØÖee× ÑaØÙÖeº Ïe Ô eÖfÓÖÑed ÚaÖiÓÙ× ÖaÒge ×caÒ
FigÙÖe ½7 ×hÓÛ× Øhe ×eaÖch Á»Ç Ô eÖfÓÖÑaÒce Óf fÔB ¹
ÓÔ eÖaØiÓÒ× ÓÒ Øhe ÑaØÙÖe ØÖee׺ Each ÖeÔ ÓÖØed daØa Ô ÓiÒØi×
ÌÖee׺ Ìhe ¬gÙÖe ÖeÔ ÓÖØ× Øhe ÒÙÑbeÖ Óf Á»Ç Ôage Öead×
Øhe aÚeÖage Óf ½¼ ØÖiaÐ׺
ØhaØ Ñi×× Øhe bÙ«eÖ Ô Ó ÓÐ ÛheÒ ×eaÖchiÒg ¾¼¼¼ ÖaÒdÓÑ keÝ×
FigÙÖe ½8´aµ ×hÓÛ× Øhe eÜecÙØiÓÒ ØiÑe iÒ ÑiÐÐi×ecÓÒd× fÓÖ
iÒ ØÖee× cÓÒØaiÒiÒg ½¼Å keÝ׺ Ìhe bÙ«eÖ Ô Ó ÓÐ Ûa× cÐeaÖed
ÖaÒge ×caÒ× Ù×iÒg ½¼ di×k׸ ÛheÖe Øhe ×ØaÖØiÒg keÝ× aÖe ×e¹
b efÓÖe eÚeÖÝ eÜÔ eÖiÑeÒغ Ïe ×ee ØhaØ fÓÖ aÐÐ Ôage ×iÞe׸ di×k¹
¾
· ·
ÐecØed aØ ÖaÒdÓÑ aÒd Øhe ×iÞe Óf Øhe ÖaÒge ÚaÖie× fÖÓÑ ½¼ ØÓ
¬Ö×Ø fÔB ¹ÌÖee× Ô eÖfÓÖÑ cÐÓ×e ØÓ ØhaØ Óf di×k¹ÓÔØiÑiÞed B ¹
7
½¼ eÒØÖie׺ ÆÓØe ØhaØ a ½6ÃB Ðeaf Ôage caÒ hÓÐd ÑÓÖe ØhaÒ
ÌÖee׸ acce××iÒg Ðe×× ØhaÒ ¿± ÑÓÖe Ôage׺ ÀÓÛeÚeÖ¸ cache¹
·
¾¼¼¼ eÒØÖie׸ ÓÖ ÑÓÖe ØhaÒ ½4¼¼ eÒØÖie× ÛheÒ Øhe ØÖee i× 7¼±
¬Ö×Ø fÔB ¹ÌÖee× ÑaÝ acce×× ÙÔ ØÓ ¾5± ÑÓÖe Ôage׺ AfØeÖ
¾
fÙÐи Ûhichi×ØÝÔicaÐÐÝ Øhe ca×eº ÌhÙ× fÓÖ ×ÑaÐÐ ÖaÒge× ´½¼
ÐÓ ÓkiÒg iÒØÓ Øhe eÜÔ eÖiÑeÒØ׸ Ûe deØeÖÑiÒed ØhaØ Øhe eܹ
¿
aÒd ½¼ µ¸ Øhe eÜecÙØiÓÒ ØiÑe× fÓÖ Øhe ØÛÓ ØÖee× aÖe iÒdi×ØiÒ¹
ØÖa cÓ×Ø i× iÒcÙÖÖed ÑaiÒÐÝ ÛheÒ acce××iÒg Ðeaf ÔaÖeÒØ ÒÓ de×
4
gÙi×habÐeº FÓÖ ÐaÖgeÖ ÖaÒge× ´½¼ aÒd ÙÔµ¸ ÑÙÐØiÔÐe Ôage× aÖe
iÒ ÓÚeÖÓÛ Ôage׺ FÓÖ eÜaÑÔÐe iÒ Øhe 4ÃB ca×e iÒ Fig¹
·
Òeeded¸ aÒd Øhe fÔB ¹ÌÖee ÔÖÓÚide× a ×igÒi¬caÒØ iÑÔÖÓÚe¹
ÙÖe ½7´aµ¸ Øhe faÒ¹ÓÙØ Óf a ÒÓÒÐeaf ÒÓ de i× 57 aÒd a Ôage
· 4
ÑeÒØÓÚeÖ Øhe B ¹ÌÖeeº EÚeÒ fÓÖ Øhe ½¼ ca×e¸ Ûhich ×caÒ×
caÒ cÓÒØaiÒ ÔaÖØ Óf a ØÛÓ¹ÐeÚeÐ ØÖeeº BÙØ ÓÒÐÝ 6 ÓÙØ Óf Øhe
·
ÓÒÐÝ a feÛ Ôage׸ Øhe fÔB ¹ÌÖee i× ½º9 ØiÑe× fa×ØeÖ ØhaÒ Øhe
57 chiÐdÖeÒ caÒ Öe×ide ÓÒ Øhe ×aÑe Ôage a× a ÒÓ de iØ×eÐfº
· 6 7
B ¹ÌÖeeº BeØØeÖ ×ØiÐи fÓÖ ÐaÖge ×caÒ× Óf ½¼ ß½¼ eÒØÖie׸ Øhe
ÌheÖefÓÖe eÚeÒ if aÐÐ Øhe ÔaÖeÒØ× Óf Øhe Ðeaf ÔaÖeÒØ ÒÓ de×
· ·
fÔB ¹ÌÖee i× 6º¾¹6º9 ØiÑe× fa×ØeÖ ØhaÒ Øhe B ¹ÌÖeeº
aÖe ØÓÔ¹ÐeÚeÐ ÒÓ de׸ 5½ ÓÙØ Óf eÚeÖÝ 57 Ðeaf ÔaÖeÒØ ÒÓ de×
FÖÓÑ Øhe ×ÑaÐÐ ÖaÒge Öe×ÙÐØ× iÒ FigÙÖe ½8´aµ¸ Ûe ×ee ØhaØ
ÛiÐÐ ×ØiÐÐ b e ÔÐaced iÒ ÓÚeÖÓÛ Ôage׸ ÐeadiÒg ØÓ ÑaÒÝ ÑÓÖe
· ÓÙÖ ØechÒiÕÙe fÓÖ aÚÓidiÒg ÓÚeÖ×hÓ ÓØiÒg i× ÕÙiØe e«ecØiÚeº
Ôage Öead× ØhaÒ di×k¹ÓÔØiÑiÞed B ¹ÌÖee׺ ÀÓÛeÚeÖ¸ a× Ôage
ÏheÒ ÖaÒge× aÖe ×ÑaÐи ØheÖe i× aÐÑÓ×Ø ÒÓ addiØiÓÒaÐ Á»Ç
×iÞe× gÖÓÛ¸ Øhi× ÔÖÓbÐeÑ i× aÐÐeÚiaØed aÒd Øhe Ô eÖfÓÖÑaÒce
·
ÓÚeÖhead fÓÖ ×eaÖchiÒg eÒd keÝ׸ ×iÒce eÒd keÝ× ÓfØeÒ Öe×ide
Óf cache¹¬Ö×Ø fÔB ¹ÌÖee× geØ× b eØØeÖ¸ a× caÒ b e ×eeÒ fÓÖ Øhe
iÒ Øhe ×aÑe Ðeaf Ôage× a× b egiÒ keÝ׺ EÚeÒ ÛheÒ ØheÝ aÖe
¿¾ÃB Ô ÓiÒØ׺
iÒ di«eÖeÒØ Ðeaf Ôage׸ Øhe eÒd Ðeaf Ôage¸ Ûhich ha× b eeÒ
hed iÒØÓ Øhe bÙ«eÖ Ô Ó ÓÐ bÝ Øhe ×eaÖch¸ ÛiÐÐ ÐikeÐÝ ×ØiÐÐ b e
4.3.2 Range Scan Performance on Real Hardware feØc
iÒ Øhe bÙ«eÖ Ô Ó ÓÐ ÛheÒ Òeeded fÓÖ Øhe ×caÒº
ÍÒÐike ÓÙÖ ×eaÖch eÜÔ eÖiÑeÒØ׸ Ûhich cÓÙÒØed Øhe ÒÙѹ
FigÙÖe ½8´bµ ×hÓÛ× Øhe eÜecÙØiÓÒ ØiÑe iÒ ×ecÓÒd× fÓÖ ÐaÖge
b eÖ Óf Á»Ç acce××e׸ ÓÙÖ ÖaÒge ×caÒ Á»Ç Ô eÖfÓÖÑaÒce eÜÔ eÖ¹
7
ÖaÒge ×caÒ× ´½¼ eÒØÖie×µ¸ ÚaÖÝiÒg Øhe ÒÙÑb eÖ Óf di×k׺ Fig¹
iÑeÒØ× Ñea×ÙÖe ÖÙÒÒiÒg ØiÑe× ÓÒ ÖeaÐ haÖdÛaÖeº FigÙÖe ½8
ÙÖe ½8´cµ ×hÓÛ× Øhe cÓÖÖe×Ô ÓÒdiÒg ×Ô eed¹ÙÔ׺ Ïe ×ee Øhe · ·
×hÓÛ× Øhe Á»Ç Ô eÖfÓÖÑaÒce Óf fÔB ¹ÌÖee× Ú׺ B ¹ÌÖee× fÓÖ
ØÖeÒd Óf decÖea×iÒg eÜecÙØiÓÒ ØiÑe ´aÒd heÒce iÒcÖea×iÒg
ÖaÒge ×caÒ׸ ÓÒ aÒ ËGÁ ÇÖigiÒ ÛÓÖk×ØaØiÓÒ ÖÙÒÒiÒg ÁÖiÜ 6º5
×Ô eed¹ÙÔµ ÛiØh iÒcÖea×iÒg ÒÙÑb eÖ× Óf di×k׺ ÏheÒ Ûe iÒ¹
ÛiØh fÓÙÖ ½8¼ÅÀÞ ÅÁÈË Ê½¼¼¼¼ ÔÖÓ ce××ÓÖ׸ ½¾8ÅB ÊAŸ
cÖea×e Øhe ÒÙÑb eÖ Óf di×k× fÖÓÑ ½ ØÓ ½¼¸ Ûe ×ee aÒ aÐÑÓ×Ø
aÒd ½¾ ËCËÁ di×k׺ Each di×k i× a ËeagaØe CheeØah 4ÄÈ ÛiØh
ÐiÒeaÖ iÒcÖea×e iÒ ×Ô eed¹ÙÔ fÖÓÑ ½ ØÓ 6º9º
a ÑaÜiÑÙÑ ØÖaÒ×feÖ ÖaØe Óf 4¼ ÅbÝØe×»×ec aÒd a ØÖack¹ØÓ¹
k ×eek ØÝÔ e Óf ½8 Ñ×ec ´ØÝÔicaеº Ïe iÑiØaØe ÖaÛ di×k
ØÖac 4.3.3 Range Scan Performance on a Commercial DBMS
ÔaÖØiØiÓÒ× bÝ aÐÐÓ caØiÒg a ÐaÖge ¬Ðe ÓÒ each di×k aÒd ÑaÒ¹
FiÒaÐÐݸØÓeÚaÐÙaØe Øhe iÑÔacØ Óf ÖaÒge ×caÒ ÔÖefeØchiÒg
agiÒg Øhe ÑaÔÔiÒg fÖÓÑ Ôage ÁD× ØÓ ¬Ðe Ó«×eØ× ÓÙÖ×eÐÚe׺
ÓÒ a cÓÑÑeÖicaÐ DBÅ˸ Ûe iÑÔÐeÑeÒØed ÓÙÖ jÙÑÔ¹Ô ÓiÒØeÖ
Ìhe ¬Ðe ×Ý×ØeÑ Ù×e× ½6ÃB di×k bÐÓ ck׸ ×Ó accÓÖdiÒgÐݸ Ûe
9
aÖÖaÝ×cheÑe ÛiØhiÒ ÁBÅ³× DB¾ ÍÒiÚeÖ×aÐ DaØaba×e º Be¹
×eØ Øhe ØÖee Ôage ×iÞe ØÓ b e ½6ÃBº ÇÙÖ bÙ«eÖ ÑaÒageÖ ha× a
dedicaØed ØhÖead fÓÖ each Óf Øhe di×k׸ Ûhich Ô eÖfÓÖÑ× Á»Ç
9
ÆÓØice׸ ÌÖadeÑaÖk׸ ËeÖÚice ÅaÖk× aÒd Di×cÐaiÑeÖ×: Ìhe iÒfÓÖ¹
ÓÔ eÖaØiÓÒ× ÓÒ b ehaÐf Óf Øhe ÓÔ eÖaØiÓÒ ÖeÕÙe×ØeÖ׺
ÑaØiÓÒ cÓÒØaiÒed iÒ Øhi× ÔÙbÐicaØiÓÒ dÓ e× ÒÓØ iÒcÐÙde aÒÝ ÔÖÓ dÙcØ
ÛaÖÖaÒØie׸ aÒd aÒÝ ×ØaØeÑeÒØ× ÔÖÓÚided iÒ Øhi× dÓ cÙÑeÒØ ×hÓÙÐd FÓÖ Øhe×e eÜÔ eÖiÑeÒØ׸ Ûe bÙÐkÐÓaded Øhe ØÖee× ½¼¼± fÙÐÐ
i× ×ÙÆcieÒØ ÑeÑÓÖÝ ØÓ hÓÐd ÑÓ×Ø Óf Øhe iÒdeÜ Ôage׸ Ûe
100 100 no prefetch
ÖecÓÑÑeÒd Øhe cache¹¬Ö×Ø aÔÔÖÓach¸ fÓÖ iØ× ×ÐighØÐÝ b eØØeÖ
no prefetch with prefetch
he Ô eÖfÓÖÑaÒceº BÝ e«ecØiÚeÐÝ addÖe××iÒg Øhe cÓÑÔÐeØe in memory cac 80 with prefetch 80
in memory ·
ÑeÑÓÖÝ hieÖaÖchݸ fÔB ¹ÌÖee× aÖe a ÔÖacØicaÐ ×ÓÐÙØiÓÒ fÓÖ ÚiÒg DBÅË Ô eÖfÓÖÑaÒceº 60 60 iÑÔÖÓ
40 40 6. ACKNOWLEDGEMENTS
normalized execution time normalized execution time
h i× ×ÙÔÔ ÓÖØed iÒ ÔaÖØ bÝ gÖaÒØ× fÖÓÑ Øhe Æa¹
20 20 Ìhi× Öe×eaÖc
ØiÓÒaÐ ËcieÒce FÓÙÒdaØiÓÒ¸ ÅicÖÓ×Ófظ aÒd ÁÒØeк 0 0 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10
# of I/O processes SMP degree (# of parallel processes) 7. REFERENCES
´aµ ÚaÖÝiÒg # Óf ÔÖefeØcheÖ× ´bµ ÚaÖÝiÒg ËÅÈ degÖee
[½] Aº AiÐaÑaki¸ Dº º DeÏiØظ ź Dº ÀiÐи aÒd ź ËkÓÙÒaki׺
´ËÅÈ degÖee = 9µ ´# Óf ÔÖefeØcheÖ× = 8µ
ÏeaÚiÒg ÊeÐaØiÓÒ× fÓÖ Cache ÈeÖfÓÖÑaÒceº ÁÒ ÈÖÓceediÒg×
Óf Øhe ¾7Øh ÎÄDB¸ Ôage× ½69ß½8¼¸ ËeÔغ ¾¼¼½º
FigÙÖe ½9: ÁÑÔacØ Óf ÖaÒge ×caÒ ÔÖefeØchiÒg ÓÒ Øhe
[¾] Aº AiÐaÑaki¸ Dº º DeÏiØظ ź Dº ÀiÐи aÒd Dº Aº ÏÓÓdº
Ô eÖfÓÖÑaÒce Óf DB¾
DBÅË× ÓÒ a ÅÓ deÖÒ ÈÖÓ ce××ÓÖ: ÏheÖe DÓ e× ÌiÑe GÓ? ÁÒ
ÈÖÓceediÒg× Óf Øhe ¾5Øh ÎÄDB¸ Ôage× ¾66ß¾77¸ ËeÔغ ½999º
[¿] ĺ Aº BaÖÖÓ×Ó¸ ú GhaÖachÓÖÐÓ Ó¸ aÒd Eº Dº BÙgÒiÓÒº
caÙ×e DB¾³× iÒdeÜ ×ØÖÙcØÙÖe× ×ÙÔÔ ÓÖØ ÖeÚeÖ×e ×caÒ× aÒd ËÅÈ
ÅeÑÓÖÝ ËÝ×ØeÑ ChaÖacØeÖiÞaØiÓÒ Óf CÓÑÑeÖciaÐ
×caÒ ÔaÖaÐÐeÐi×Ѹ Ûe added ÐiÒk× iÒ b ÓØh diÖecØiÓÒ׸ aÒd aØ
ÏÓÖkÐÓad׺ ÁÒ ÈÖÓceediÒg× Óf Øhe ¾5Øh ÁËCA¸ Ôage× ¿ß½4¸
aÐÐ ÐeÚeÐ× Óf Øhe ØÖeeº Ìhe×e ÐiÒk× aÖe adjÙ×Øed aØ eÚeÖÝ ÒÓÒ¹
ÂÙÒe ½998º
Ðeaf Ôage ×ÔÐiØ aÒd Ôage ÑeÖgeº
[4] ź Aº BeÒdeÖ¸ Eº Dº DeÑaiÒe¸ aÒd ź FaÖach¹CÓÐØÓÒº
Ïe Ô eÖfÓÖÑed eÜÔ eÖiÑeÒØ× ÓÒ aÒ ÁBÅ 7¼½5¹Ê¿¼ ÑachiÒe
Cache¹ÇbÐiÚiÓÙ× B¹ÌÖee׺ ÁÒ ÈÖÓceediÒg× Óf Øhe 4½×Ø ÁEEE
´fÖÓÑ Øhe ÊË»6¼¼¼ ÐiÒeµ ÛiØh 8 ÔÖÓ ce××ÓÖ׸ 8¼ ËËA di×k׸
FÇC˸ Ôage× ¿99ß4¼9¸ ÆÓÚº ¾¼¼¼º
aÒd ¾GB Óf ÑeÑÓÖݸ ÖÙÒÒiÒg Øhe AÁX ÓÔ eÖaØiÒg ×Ý×ØeѺ
[5] Ⱥ BÓhaÒÒÓÒ¸ Ⱥ ÅcÁÐÖÓݸ aÒd ʺ Êa×ØÓgiº ÁÑÔÖÓÚiÒg
ÅaiÒ¹ÅeÑÓÖÝ ÁÒdeÜ ÈeÖfÓÖÑaÒce ÛiØh ÈaÖØiaÐ ÃeÝ
Ïe Ô ÓÔÙÐaØed a ½¾º8 GB ØabÐe acÖÓ×× 8¼ ÖaÛ ÔaÖØiØiÓÒ× ´iºeº¸
ÁÒfÓÖÑaØiÓÒº ÁÒ ÈÖÓceediÒg× Óf Øhe ËÁGÅÇD ¾¼¼½
½6¼ ÅB Ô eÖ ÔaÖØiØiÓÒµ Ù×iÒg ½¼ cÓÒcÙÖÖeÒØ ÔÖÓ ce××e× ØÓ iÒ¹
CÓÒfeÖeÒce¸ÅaÝ ¾¼¼½º
×eÖØ a ØÓØaÐ Óf ÖÓÙghÐÝ 5¼ ÑiÐÐiÓÒ ÖÓÛ× Óf ÖaÒdÓÑ daØa Óf
[6] ˺ CheÒ¸ Ⱥ Bº Gibb ÓÒ׸ aÒd ̺ Cº ÅÓÛÖݺ ÁÑÔÖÓÚiÒg ÁÒdeÜ
Øhe fÓÖÑ ´iÒظiÒظchaÖ´¾¼µ¸iÒظchaÖ´ 5½¾µµ º AÒ iÒdeÜ
ÈeÖfÓÖÑaÒce ØhÖÓÙgh ÈÖefeØchiÒgº ÁÒ ÈÖÓceediÒg× Óf Øhe
Ûa× cÖeaØed Ù×iÒg Øhe ØhÖee iÒØegeÖ cÓÐÙÑÒ×; iØ× iÒiØiaÐ ×iÞe
ËÁGÅÇD ¾¼¼½ CÓÒfeÖeÒce¸ Ôage× ¾¿5ß¾46¸ ÅaÝ ¾¼¼½º
Ûa× Ðe×× ØhaÒ ½ GB¸ bÙØ iØ gÖÓÛ× ØhÖÓÙgh Ôage ×ÔÐiØ׺ Ïe
[7] ˺ CheÒ¸ Ⱥ Bº Gibb ÓÒ׸ ̺ Cº ÅÓÛÖݸ aÒd Gº ÎaÐeÒØiÒº
·
Ù×ed Øhe ÕÙeÖÝ ËEÄECÌ CÇÍÆÌ´¶µ FÊÇÅ DAÌA¸ Ûhichi× aÒ¹
FÖacØaÐ ÈÖefeØchiÒg B ¹ÌÖee×: ÇÔØiÑiÞiÒg BÓØh Cache aÒd
×ÛeÖed Ù×iÒg Øhe iÒdeܺ FigÙÖe ½9 ×hÓÛ× Øhe Öe×ÙÐØ× Óf Øhe×e
Di×k ÈeÖfÓÖÑaÒceº ÌechÒicaÐ ÊeÔ ÓÖØ CÅ͹C˹¼¾¹½½5¸
ËchÓ ÓÐ Óf CÓÑÔÙØeÖ ËcieÒce¸ CaÖÒegie ÅeÐÐÓÒ ÍÒiÚeÖ×iØݸ
eÜÔ eÖiÑeÒØ׺
ÅaÖº ¾¼¼¾º
A× Ûe ×ee iÒ FigÙÖe ½9¸ ÓÙÖ Öe×ÙÐØ× ÓÒ aÒ iÒdÙ×ØÖiaй×ØÖeÒgØh
[8] ̺ ź ChiÐiÑbi¸ ź Dº ÀiÐи aÒd º ʺ ÄaÖÙ׺
DBÅË aÖe ×ÙÖÔÖi×iÒgÐÝ gÓ Ó d ´¾º5¹5º¼ ×Ô eed¹ÙÔ×µº Ìhe ØÓÔ
Cache¹CÓÒ×ciÓÙ× ËØÖÙcØÙÖe ÄaÝÓÙغ ÁÒ ÈÖÓceediÒg× Óf ÈÄDÁ
cÙÖÚe× iÒ b ÓØh ¬gÙÖe× aÖe fÓÖ Øhe ÔÐaiÒ ÖaÒge ×caÒ iÑÔÐeÑeÒ¹
³99¸ Ôage× ½ß½¾¸ ÅaÝ ½999º
ØaØiÓÒ ÛiØhÓÙØ jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ ÔÖefeØchiÒgº Ìhe b ÓØØÓÑ
[9] Zº CÚeØaÒÓÚic aÒd ʺ Eº Ãe××ÐeÖº ÈeÖfÓÖÑaÒce AÒaÐÝ×i× Óf
cÙÖÚe× ×hÓÛ Øhe ×iØÙaØiÓÒ ÛheÒ Øhe Ðeaf Ôage× ØÓ b e ×caÒÒed
Øhe AÐÔha ¾½¾64¹Ba×ed CÓÑÔaÕ EË4¼ ËÝ×ØeѺ ÁÒ
aÖe aÐÖeadÝ iÒ ÑeÑÓÖÝ; Øhi× ÔÖÓÚide× a ÐiÑiØ ØÓ Øhe Ô Ó×¹
ÈÖÓceediÒg× Óf Øhe ¾7Øh ÁËCA¸ Ôage× ½9¾ß¾¼¾¸ ÂÙÒe ¾¼¼¼º
×ibÐe Ô eÖfÓÖÑaÒce iÑÔÖÓÚeÑeÒØ׺ FigÙÖe ½9´aµ ×hÓÛ× ØhaØ
[½¼] Gº GÖaefeº Ìhe ÎaÐÙe Óf ÅeÖge¹ÂÓiÒ aÒd Àa×h¹ÂÓiÒ iÒ ËÉÄ
ËeÖÚeÖº ÁÒ ÈÖÓceediÒg× Óf Øhe ¾5Øh ÎÄDB¸ Ôage× ¾5¼ß¾5¿¸
Øhe Ô eÖfÓÖÑaÒce Óf jÙÑÔ¹Ô ÓiÒØeÖ aÖÖaÝ ÔÖefeØchiÒg iÒcÖea×e×
ËeÔغ ½999º
ÛiØh Øhe ÒÙÑbeÖ Óf Á»Ç ÔÖefeØcheÖ׸ ÙÒØiÐ Øhe ÑaÜiÑÙÑ
[½½] Gº GÖaefe aÒd Ⱥ ÄaÖ×ÓÒº B¹ØÖee ÁÒdeÜe× aÒd CÈÍ Cache׺
Ô eÖfÓÖÑaÒce i× ÒeaÖÐÝ Öeachedº FigÙÖe ½9´bµ ×hÓÛ× ØhaØ iÒ¹
ÁÒ ÈÖÓceediÒg× Óf Øhe ½7Øh ÁCDE CÓÒfeÖeÒce¸ Ôage×
cÖea×iÒg Øhe degÖee Óf ÔaÖaÐÐeÐi×Ñ iÒcÖea×e× Øhe ÕÙeÖÝ Ô eÖfÓÖ¹
¿49ß¿58¸ AÔÖiÐ ¾¼¼½º
ÑaÒce¸ Ûhich agaiÒ ØÖack× Øhe ÑaÜiÑÙÑ Ô eÖfÓÖÑaÒce cÙÖÚeº
[½¾] º GÖaÝ aÒd Gº GÖaefeº Ìhe FiÚe¹ÅiÒÙØe ÊÙÐe ÌeÒ YeaÖ×
ÄaØeÖº ACÅ ËÁGÅÇD ÊecÓÖd¸ ¾6´4µ:6¿ß68¸ Decº ½997º
ÁBÅ CÓÖÔº ÁBÅ DB¾ ÍÒiÚeÖ×aÐ DaØaba×e AdÑiÒi×ØÖaØiÓÒ
5. CONCLUSIONS [½¿]
GÙide ÎeÖ×iÓÒ 7º ¾¼¼¼º
ÈÖeÚiÓÙ× ×ØÙdie× ÓÒ iÑÔÖÓÚiÒg iÒdeÜ Ô eÖfÓÖÑaÒce haÚe fÓ¹
[½4] ̺ º ÄehÑaÒ aÒd ź º CaÖeݺ A ËØÙdÝ Óf ÁÒdeÜ ËØÖÙcØÙÖe×
cÙ×ed eiØheÖ ÓÒ ÓÔØiÑiÞiÒg Øhe cache Ô eÖfÓÖÑaÒce Óf ÑeÑÓÖݹ
fÓÖ ÅaiÒ ÅeÑÓÖÝ DaØaba×e ÅaÒageÑeÒØ ËÝ×ØeÑ׺ ÁÒ
Öe×ideÒØ daØaba×e׸ ÓÖ eÐ×e ÓÔØiÑiÞiÒg Øhe Á»Ç Ô eÖfÓÖÑaÒce
ÈÖÓceediÒg× Óf Øhe ½¾Øh ÎÄDB¸ Ôage× ¾94ß¿¼¿¸ AÙgº ½986º
Óf di×k¹Öe×ideÒØ daØaba×e׺ ÏhaØ ha× b eeÒ ÐackiÒg ÔÖiÓÖ ØÓ
[½5] Dº ÄÓÑeغ B¹ØÖee Èage ËiÞe ÛheÒ CachiÒg i× CÓÒ×ideÖedº
Øhi× ×ØÙdÝ i× aÒ iÒdeÜ ×ØÖÙcØÙÖe ØhaØ achieÚe× gÓ Ó d Ô eÖfÓÖ¹
ACÅ ËÁGÅÇD ÊecÓÖd¸ ¾7´¿µ:¾8ß¿¾¸ ËeÔº ½998º
ÑaÒce fÓÖ b ÓØh Óf Øhe×e iÑÔ ÓÖØaÒØ ÐeÚeÐ× Óf Øhe ÑeÑÓÖÝ
[½6] Dº ÄÓÑeغ Ìhe EÚÓÐÙØiÓÒ Óf E«ecØiÚe B¹ØÖee: Èage
hieÖaÖchݺ ÇÙÖ eÜÔ eÖiÑeÒØaÐ Öe×ÙÐØ× iÒ Øhi× ÔaÔ eÖ deÑÓÒ¹
ÇÖgaÒiÞaØiÓÒ aÒd ÌechÒiÕÙe×: A ÈeÖ×ÓÒaÐ AccÓÙÒغ ACÅ
·
ËÁGÅÇD ÊecÓÖd¸ ¿¼´¿µ:64ß69¸ ËeÔº ¾¼¼½º
×ØÖaØe ØhaØ FÖacØaÐ ÈÖefeØchiÒg B ¹ÌÖee× aÖe ×Ùch a ×ÓÐÙØiÓÒº
[½7] ˺ ÅcFaÖÐiÒgº CÓÑbiÒiÒg BÖaÒch ÈÖedicØÓÖ׺ ÌechÒicaÐ
ÌheÝ achieÚe ÐaÖge gaiÒ× iÒ cache Ô eÖfÓÖÑaÒce cÓÑÔaÖed
·
ÊeÔ ÓÖØ ÏÊÄ ÌechÒicaÐ ÆÓØe Ìƹ¿6¸ DigiØaÐ EÕÙiÔÑeÒØ
ÛiØh di×k¹ÓÔØiÑiÞed B ¹ÌÖee× fÓÖ ×eaÖche׸ ÖaÒge ×caÒ׸ aÒd
CÓÖÔ ÓÖaØiÓÒ¸ ÂÙÒe ½99¿º
ÙÔ daØe× ÓÒ ÑÓ deÖÒ ×Ý×ØeÑ׺ ÅÓÖeÓÚeÖ¸ ØheÝ ÔÖÓÚide ÙÔ
[½8] º ÊaÓ aÒd ú Aº ÊÓ×׺ Cache CÓÒ×ciÓÙ× ÁÒdeÜiÒg fÓÖ
ØÓ a ¬ÚefÓÐd iÑÔÖÓÚeÑeÒØ iÒ Øhe Á»Ç Ô eÖfÓÖÑaÒce Óf ÖaÒge
Deci×iÓÒ¹ËÙÔÔ ÓÖØ iÒ ÅaiÒ ÅeÑÓÖݺ ÁÒ ÈÖÓceediÒg× Óf Øhe
×caÒ× ÓÒ a cÓÑÑeÖciaÐ DBÅË ´DB¾µº CÓÑÔaÖiÒg Øhe ØÛÓ
¾5Øh ÎÄDB¸ Ôage× 78ß89¸ ËeÔغ ½999º
·
·
fÔB ¹ÌÖee aÔÔÖÓache׸ Ûe ÖecÓÑÑeÒd iÒ geÒeÖaÐ Øhe di×k¹
[½9] º ÊaÓ aÒd ú Aº ÊÓ×׺ ÅakiÒg B ¹ÌÖee× Cache CÓÒ×ciÓÙ×
¬Ö×Ø aÔÔÖÓach¸ fÓÖ iØ× ÑiÒiÑaÐ Á»Ç iÑÔacغ BÙØ if ØheÖe
iÒ ÅaiÒ ÅeÑÓÖݺ ÁÒ ÈÖÓceediÒg× Óf Øhe ËÁGÅÇD ¾¼¼¼
CÓÒfeÖeÒce¸ Ôage× 475ß486¸ ÅaÝ ¾¼¼¼º
ÒÓØ b e iÒØeÖÔÖeØed a× ×Ùchº Ìhe fÓÐÐÓÛiÒg ØeÖÑ× aÖe ØÖadeÑaÖk× ÓÖ
[¾¼] ú Cº YeageÖº Ìhe ÅÁÈË Ê½¼¼¼¼ ËÙÔ eÖ×caÐaÖ
Öegi×ØeÖed ØÖadeÑaÖk× Óf Øhe ÁBÅ CÓÖÔ ÓÖaØiÓÒ iÒ Øhe ÍÒiØed ËØaØe×
ÅicÖÓÔÖÓ ce××ÓÖº ÁEEE ÅicÖÓ¸ ½6´¾µ:¾8ß4¼¸ AÔÖiÐ ½996º
aÒd»ÓÖ ÓØheÖ cÓÙÒØÖie×: ÁBŸ DB¾¸ DB¾ ÍÒiÚeÖ×aÐ DaØaba×eº ÇØheÖ
cÓÑÔaÒݸ ÔÖÓ dÙcØ ÓÖ ×eÖÚice ÒaÑe× ÑaÝ b e Øhe ØÖadeÑaÖk× ÓÖ ×eÖÚice ÑaÖk× Óf ÓØheÖ׺