Lec21 Hashing

download Lec21 Hashing

of 24

Transcript of Lec21 Hashing

  • 8/18/2019 Lec21 Hashing

    1/24

    !"#$%&' %& )*+,-./*0 12#+*3#

    451 6789 4-3:;+*. )*+,-./#

    1:.%&' %/* ?.**03"& $@:9AA,,,BC#B:.%&C*+-&B*0;AC-;.#*#A".C$%D*A#:.%&'88AC-#678A

    EF

    1*.D*.4G;#+*.

    1,%+C$*#

  • 8/18/2019 Lec21 Hashing

    2/24

    !"#$%&'• !"#$ H;&CI-&

    – ?;&CI-& +$"+ 3":# " G".'*J :-##%KG2 D".%"KG*L#%M*00"+;3 %&+- " #3"GG 0"+;3J -N*& " #%&'G* %&+*'*. +$"+#*.D*# +- %&0*O "& "##-C%"ID* ".."2

    – P& #$-.+9 3":# &LK%+ 0"+;3 %&+- / K;C/*+# Q/ RR

  • 8/18/2019 Lec21 Hashing

    3/24

    X-0"2Y# -;+G%&*• W#*# -H $"#$%&'

    – Z[;"GLC-#+ 3;GI:"+$ .-;I&' %& #,%+C$*# – )*+,-./ G-"0 K"G"&C%&' %& #*.D*. CG;#+*.#

    – T*.L\-, #+"I#IC# %& #,%+C$*# Q]-1J PV1S – 4"C$%&' %& C--:*."ID* 4V)# "&0 T-0;G- $"#$%&' – 4-%#+*&+ $"#$%&'

    – FG--3 ?%G+*.#

    3

  • 8/18/2019 Lec21 Hashing

    4/24

    W#*# -H !"#$%&'

    4

  • 8/18/2019 Lec21 Hashing

    5/24

    Z[;"GLC-#+ 3;GI:"+$ .-;I&' QZ4>TS

    • Z4>T – >;GI:"+$ .-;I&' #+."+*'2 +$"+ #:G%+# +."`C -D*.

    3;GI:G* :"+$# H-. G-"0 K"G"&C%&'

    • a$2 &-+ b;#+ .-;&0L.-K%& :"C/*+#c – d*-.0*.%&' QG*"0 +- +.%:G* 0;:G%C"+* e4f %& X4TcS – V%g*.*&+ dXX :*. :"+$ QH-. X4T dX5Sh

    – V%g*.*&+ >XW# :*. :"+$

    5

  • 8/18/2019 Lec21 Hashing

    6/24

    Z[;"GLC-#+ 3;GI:"+$ .-;I&' QZ4>TS

    • T"+$L#*G*CI-& D%" $"#$%&' – i K;C/*+# j i -;+'-%&' G%&/#

    – !"#$ &*+,-./ %&H-.3"I-& Q#-;.C*A0*#+ PT "00.#S +-#*G*C+ -;+'-%&' G%&/9 :.*#*.D*# \-, "`&%+2

    6

  • 8/18/2019 Lec21 Hashing

    7/24

    )-,9 Z4>T %& 0"+"C*&+*.#

    • V"+"C*&+*. &*+,-./# ".* 3;GIL.--+*0 +.** – k-"G9 1;::-.+ H-. 8==J===# -H #*.D*.# – d*C"GG Z+$*.&*+ #:"&&%&' +.** :.-KG*3#9 )- G--:# – El .-;I&' "&0 Z4>T9 X"/* "0D"&+"'* -H 3;GI:G* :"+$#

    7

  • 8/18/2019 Lec21 Hashing

    8/24

    )*+,-./ G-"0 K"G"&C%&'

    • k-"G9 1:G%+ .*[;*#+# *D*&G2 -D*. / #*.D*.# – >": &*, \-,# +- "&2 #*.D*. – T"C/*+# -H *O%#I&' \-,# C-&I&;* +- ;#* #"3* #*.D*.

    • l "::.-"C$*# – E-"0 K"G"&C*. +*.3%&"+*# X4TJ -:* -,& C-&&*CI-& +- #*.D*.

    – _%.+;"G PT A V*0%C"+*0 PT Q_PTAVPTS "::.-"C$*#• 5&* 'G-K"GLH"C%&' D%.+;"G PT .*:.*#*&+# "GG #*.D*.# %& CG;#

    • !"#$ CG%*&+Y# &*+,-./ %&H-.3"I-& Q#-;.C* PT9:-.+S• )eX "::.-"C$9 d*:G"C* D%.+;"G PT ,%+$ #*.D*.Y# "C+;"G PT• V%.*C+ 1*.D*. d*+;.& QV1dS

    8

  • 8/18/2019 Lec21 Hashing

    9/24

    E-"0 K"G"&C%&' ,%+$ V1d

    • 1*.D*.# K%&0 +- K-+$ D%.+;"G "&0 0*0%C"+*0 PT• E-"0 K"G"&C*. b;#+ .*:G"C*# 0*#+ >e4 "00.• 1*.D*. #**# CG%*&+ PTJ .*#:-&0# 0%.*C+G2

    – T"C/*+ %& .*D*.#* 0%.*CI-& 0- &-+ :"## +$.-;'$ G-"0 K"G"&C*. – k.*"+*. #C"G"K%G%+2J :".IC;G".G2 H-. +."`C ,%+$ "##233*+.%C

    K"&0,%0+$ Q*B'BJ !XXT kZX#S

    EF

    1*.D*.4G;#+*.

    1,%+C$*#

    9

  • 8/18/2019 Lec21 Hashing

    10/24

    T*.L\-, #+"+* %& #,%+C$*#

    • 1,%+C$*# -N*& &**0 +- 3"%&+"%& C-&&*CI-&.*C-.0# -. :*.L\-, #+"+* – ];"G%+2L-HL#*.D%C* H-. \-,#

    – ?G-,LK"#*0 3*"#;.*3*&+ "&0 3-&%+-.%&' – T"2G-"0 "&"G2#%# %& P&+.;#%-& V*+*CI-& 12#+*3# QPV1#

    • 5& :"C/*+ .*C*%:+9 – !"#$ \-, %&H-.3"I-& Q:"C/*+ mL+;:G*S – T*.H-.3 G--/;: %H :"C/*+ K*G-&'# +- /&-,& \-, – 5+$*.,%#*J :-##%KG2 C.*"+* &*, \-, *&+.2 – T.-K"K%G%#IC 3"+C$ QH"G#* :-#%ID*#S 3"2 K* -/"2

    10

  • 8/18/2019 Lec21 Hashing

    11/24

    4--:*."ID* a*K 4V)#• X.**LG%/* +-:-G-'2 -H C--:*."ID* ,*K C"C$*#

    – 4$*C/ G-C"G – PH 3%##J C$*C/ #%KG%&'# A :".*&+

    • 5&* "::.-"C$ – P&+*.&*+ 4"C$* T.-+-C-G QP4TS – WVTLK"#*0 G--/;:J #$-.+ I3*-;+

    • eG+*.&"ID* "::.-"C$ – e :.%-.% ';*## %# #%KG%&'#AC$%G0.*& $"D* C-&+*&+ – )-0*# #$".* $"#$ +"KG* -H C"C$*0 C-&+*&+ ,%+$ :".*&+ A #%KG%&'# – T.-K"K%G%#IC C$*C/ QH"G#* :-#%ID*#S -/"2J "# "C+;"G P4T G--/;: +-

    &*%'$K-. C-;G0 b;#+ .*+;.& H"G#*

    11

    :;KG%C P&+*.&*+

    T".*&+,*KC"C$*

  • 8/18/2019 Lec21 Hashing

    12/24

    !"#$ +"KG*# %& T

  • 8/18/2019 Lec21 Hashing

    13/24

    V"+" :".II-&%&'

    • )*+,-./ G-"0 K"G"&C%&'9 eGG 3"C$%&*# ".* *[;"G• V"+" :".II-&%&'9 >"C$%&*# #+-.* 0%g*.*&+ C-&+*&+

    • )-&L$"#$LK"#*0 #-G;I-& – nV%.*C+-.2o #*.D*. 3"%&+"% 3"::%&' H.-3 5Q*&+.%*#S +-

    3"C$%&*# Q*B'BJ )*+,-./ ^G* #2#+*3J k--'G* ?%G* 12#+*3S

    – )"3*0 0"+" C"& K* :G"C*0 -& "&2 3"C$%&*

    • !"#$LK"#*0 #-G;I-& – )-0*# 3"%&+"%& 3"::%&'# H.-3 5QK;C/*+#S +- 3"C$%&*# – V"+" :G"C*0 -& +$* 3"C$%&* +$"+ -, +$* &"3*Y# K;C/*+

    13

  • 8/18/2019 Lec21 Hashing

    14/24

    ZO"3:G*# -H 0"+" :".II-&%&'• e/"3"%

    – 8=== CG;#+*.# ".-;&0 P&+*.&*+J *"C$ pj 8 #*.D*.# – !"#$ QWdEY# 0-3"%&S +- 3": +- -&* #*.D*. – e/"3"% V)1 ",".* -H $"#$ H;&CI-&J .*+;. 3"C$%&* +$"+

    8B %# %& '*-'.":$%C"GG2L&*".K2 CG;#+*.

  • 8/18/2019 Lec21 Hashing

    15/24

    !-, e/"3"% a-./# q eG.*"02 4"C$*0

    Z&0L;#*.

    15

    cnn.com (content provider) DNS root server Akamai server

    1 2 Akamai high-levelDNS server

    Akamai low-level DNSserver

    Nearbyhash-chosen

    Akamaiserver

    7

    8

    9

    10

    GETindex.html

    GET /cnn.com/foo.jpgCluster

  • 8/18/2019 Lec21 Hashing

    16/24

    !"#$%&' X*C$&%[;*#

    16

  • 8/18/2019 Lec21 Hashing

    17/24

    F"#%C !"#$ X*C$&%[;*#

    • 1%3:G* "::.-"C$ H-. ;&%H-.3 0"+" – PH 0"+" 0%#+.%K;+*0 ;&%H-.3G2 -D*. )J H-. ) pp & – !"#$ H& j R0"+"p 3-0 &

    – ?"%G# '-"G -H ;&%H-.3%+2 %H 0"+" &-+ ;&%H-.3

    • )-&L;&%H-.3 0"+"J D".%"KG*LG*&'+$ #+.%&'#

    – X2:%C"GG2 #:G%+ #+.%&'# %&+- KG-C/# – T*.H-.3 .-GG%&' C-3:;+"I-& -D*. KG-C/#

    • 4d4l< C$*C/#;3• 4.2:+-'.":$%C $"#$ H;&CI- Q1!eL8 $"# 76 K2+* KG-C/#S

    17

  • 8/18/2019 Lec21 Hashing

    18/24

    e::G2%&' F"#%C !"#$%&'

    • 4-%0*. :.-KG*3 -H 0"+" :".II-&9 – k%D*& 0-C;3*&+ rJ C$--#* -&* -H / #*.D*.# +- ;#*

    • 1;::-#* ,* ;#* 3-0;G- $"#$%&' – );3K*. #*.D*.# 8BB/ – TG"C* r -& #*.D*. ! # $% &'( )*

    • T.-KG*3c V"+" 3"2 &-+ K* ;&%H-.3G2 0%#+.%K;+*0

    – TG"C* r -& #*.D*. ! # +,-+ $%* &'( )• T.-KG*3c

    – a$"+ $"::* %H " #*.D*. H"%G# -. b-% Q/! /s8Sc – a$"+ %# 0%g*.*&+ CG%*&+# $"# 0%g*.*&+ *#I3"+* -H /c – e,*.9 eGG *&+.%*# '*+ .*3"::*0 +- &*, &-0*#t

    18

  • 8/18/2019 Lec21 Hashing

    19/24

  • 8/18/2019 Lec21 Hashing

    20/24

    • T".II-&%&' /*2L#:"C* "3-&' &-0*# – )-0*# C$--#* ."&0-3 %0*&I^*.#9 *B'BJ $"#$QPTS

    – f*2# ."&0-3G2 0%#+.%K;+*0 %& PVL#:"C*9 *B'BJ$"#$QWdES

    – f*2# "##%'&*0 +- &-0* n&*".*#+o %& PVL#:"C*

    – 1:.*"0# -,&*.#$%: -H /*2# *D*&G2 "C.-## &-0*#

    0000 0010 0110 1010 11111100 1110URL1 URL 2 URL 3 0001 0100 1011

    20

    4-%#+*&+ !"#$%&'

  • 8/18/2019 Lec21 Hashing

    21/24

    4-%#+*&+ !"#$%&'0

    4

    8

    12 Bucket

    14• 4-+.;CI-& – e##%'& 4 $"#$ K;C/*+# +- ."&0-3 :-%&+#

    -& 3-0 < . C%.CG*u $"#$ /*2 #%M* j.

    – >": -Kb*C+ +- ."&0-3 :-#%I-& -& C%.CG*

    – !"#$ -H -Kb*C+ j CG-#*#+ CG-C/,%#* K;C/*+

    • V*#%.*0 H*"+;.*#

    – F"G"&C*09)- K;C/*+ $"# 0%#:.-:-.I-&"+* &;3K*. -H -Kb*C+#

    – 13--+$&*##9 e00%I-&A.*3-D"G -H K;C/*+ 0-*# &-+ C";#*3-D*3*&+ "3-&' *O%#I&' K;C/*+# Q-&G2 %33*0%"+* K;C/*+#S

    – 1:.*"0 "&0 G-"09 13"GG #*+ -H K;C/*+# +$"+ G%* &*". -Kb*C+

    21

  • 8/18/2019 Lec21 Hashing

    22/24

    FG--3 ?%G+*.#

    • V"+" #+.;C+;.* H-. :.-K"K%G%#IC 3*3K*.#$%: +*#I&' – 13"GG "3-;&+ -H #:"C*J C-+"&+ I3* -:*."I- – ?"G#* :-#%ID*# :-##%KG*J &- H"G#* &*'"ID*# – W#*H;G %& :*.L\-, &*+,-./ #+"I#IC#J #$".%&' %&H-.3"I-&

    K*+,**& C--:*."ID* C"C$*#J *+CB

    • F"#%C %0*" ;#%&' $"#$ H&Y# "&0 K%+ ".."2 – W#* / %&0*:*&0*&+ $"#$ H;&CI- +- 3": %+*3 +- ".."2

    – PH "GG ".."2 *G*3*&+# ".* 8J %+Y# :.*#*&+B 5+$*.,%#*J &-+

    22

  • 8/18/2019 Lec21 Hashing

    23/24

    1+".+ ,%+$ "&& K%+ ".."2J ^GG*0 ,%+$ =#B

    X- %*.+J $"#$ *"C$ %+*3 ) I3*#B PH/ ! Q 0 S j , J #*+ 122,3 v, w j 8B

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0

    X- C$*C/ %H3 %# %& #*+J C$*C/ ".."2 "+/ ! Q3 SB eGG) D"G;*# 3;#+ K* 8B

    0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0

    0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0

    T-##%KG* +- $"D* " H"G#* :-#%ID*9 "GG) D"G;*# ".* 8J K;+3 %# &-+ %& #*+B

    FG--3 ?%G+*.#23

  • 8/18/2019 Lec21 Hashing

    24/24

    X-0"2Y# -;+G%&*• W#*# -H $"#$%&'

    – Z[;"GLC-#+ 3;GI:"+$ .-;I&' %& #,%+C$*# – )*+,-./ G-"0 K"G"&C%&' %& #*.D*. CG;#+*.#

    – T*.L\-, #+"I#IC# %& #,%+C$*# Q]-1J PV1S – 4"C$%&' %& C--:*."ID* 4V)# "&0 T-0;G- $"#$%&' – 4-%#+*&+ $"#$%&' – FG--3 ?%G+*.#

    24