Lec21 Hashing
-
Upload
kank-riyan -
Category
Documents
-
view
236 -
download
0
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