ࡱ> _^( / 00DArialngsܖ0tt. 0De0}fԚngsܖ0tt. 0 DTahomagsܖ0tt. 00DWingdingsܖ0tt. 0 A .  @n?" dd@  @@`` PHpf      0AA@83ʚ;ʚ;g4ZdZd_ 0ppp@ <4dddd@k 0t. 80___PPT10 gMCompetitive algorithms for the dynamic selection of component implementationsNN( D M Yellin Mix-n-matchMany current apps built by integrating existing components Java Beans and Web services Component programming models = component based development However, all is not well Performance is not optimized Association is loose (different vendors etc)TWZ;ZZJZW;J The problemThe adaptive component problem Heavy costs to switch Algorithm needed at run time Applicability to 2 problems Pub/sub  loosely related components read/write shared db Data structure selection  best way for representation for faster access?L33Delta Algorithm2 choice algorithm  assumes that there are two valid choices for each situation Given that impl. is active, it scans the requests, and looks at the costs of that. If the alternative implementation is lower, change impl. Overly simplistic? Bursty traffic?*Z#Z#>\w What Delta should dosBased on current workloads Obtained by monitoring Switch models adaptively when needed Hence optimize the workload L%% Example: The pub/sub problemPub/sub problem: Database with many accessing nodes Writes goto server, caches on read Application by monitoring each client Switch to sub mode when cost is lower than nonsub mode&}7}7,;i  <How does client know about writes peformed by other clients?==("SNo increase in traffic Piggyback write data counts on transmissions Still more data&DD Adapative Component Problem Requests can be catergorized into using key 1 and key 2 Delta can be used to convert this into impl using key 1 and key 2, and switching between them dynamically Alternative: 2 index tables implemented as dictionary  not always feasible (res overheads)&\\, C CompetitivenessApparently this is to justify the existance of Delta Theorem 1: Algorithm Delta is (3+ e)-competitive for any two-implementation-component problem (Proof. Lots of it)&5r5r" |  LimitationsOnly can choose from two components Is there an algorithm for choosing from arbitrary number of impls? One shot switch required Expensive! Better: switch incrementally Competitiveness only Other models can be considered Periodical activity can be used as metric instead?$C(R$C(R  `  Comments?BToo much math involved. No real examples (framework only) Very dry?/4    0` 33PP` 13` 3333` Q_{` 333fpKNāvI` j@v۩ῑ΂H>?" dd@,?n<d@ `7 `2@`7``2 n?" dd@   @@``PR    @ ` ` p>>   @ H (    <ȋ" J 0C   Td" J 0C   <H"U_ J 0C   T0d">& J 0C   N蚒"P J 0C   <"p J 0C   C xآ?d?"bUv J 0C    <ԥ #" `   T Click to edit Master title style! !$   0ا "   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S   6< "]}  b*0   6 "] }   d* 0   6| "]T}  d* 0B  s *޽h ? 333380___PPT10.(г%  Blends   0 A 9 P (  T +  "+bb P@ # "Dwoh  s *"PP  Bd" P@bb P 0  # "Nyh  s *"P    Bd"P 0 z   <" a*h   s *"    f?d?"+)   BY ?#" ` p  T Click to edit Master title style! !   0\ " `    W#Click to edit Master subtitle style$ $  6l_ "`p   f*"0  6df "`p   h*$0  6j "`  h*$0B  s *޽h ? 333380___PPT10.(г% 0 D(  D D 0\ P    T*   D 0(     V*  d D c $ ?   D 0  0  RClick to edit Master text styles Second level Third level Fourth level Fifth level!    S  D 6 _P   T*   D 6 _   V*  H D 0޽h ? 3380___PPT10.i3Px!f* 0  *(  x  c $t  p  r  S  v  `    H  0޽h ? 3380___PPT10.0q$  0 p$(  r  S      r  S \    H  0޽h ? 333380___PPT10.0$  0  $(   r  S x     r  S     H  0޽h ? 333380___PPT10.0P0/$  0 $$(  $r $ S p     r $ S     H $ 0޽h ? 333380___PPT10.0$  0 ($(  (r ( S      r ( S 4    H ( 0޽h ? 333380___PPT10.0P $  0 8$(  8r 8 S ,!     r 8 S !    H 8 0޽h ? 333380___PPT10.0D$  0 <$(  <r < S '     r < S 1    H < 0޽h ? 333380___PPT10.0{$  0 @$(  @r @ S =     r @ S >    H @ 0޽h ? 333380___PPT10.0$  0 4$(  4r 4 S K     r 4 S L    H 4 0޽h ? 333380___PPT10.0s$   0 ,$(  ,r , S X     r , S Y    H , 0޽h ? 333380___PPT10.0 m$   0 0$(  0r 0 S xE     r 0 S PF    H 0 0޽h ? 333380___PPT10.00Ž 0  H (  HX H C D    H S D 0   " H H 0޽h ? 3380___PPT10.i3Px!f 0 0L (  LX L C D    L S dD 0   " H L 0޽h ? 3380___PPT10.i3Px!f 0 @P (  PX P C D    P S DD 0   " H P 0޽h ? 3380___PPT10.i3"f 0 PT (  TX T C D    T S ,D 0   " H T 0޽h ? 3380___PPT10.i3"f 0 `X (  XX X C D    X S D 0   " H X 0޽h ? 3380___PPT10.i3"f 0 p\ (  \X \ C D    \ S .D 0   " H \ 0޽h ? 3380___PPT10.i3"f  0 ` (  `X ` C D    ` S P:D 0   " H ` 0޽h ? 3380___PPT10.i3"f  0 d (  dX d C D    d S JD 0   " H d 0޽h ? 3380___PPT10.i3"f 0 h (  hX h C D    h S TD 0   " H h 0޽h ? 3380___PPT10.i3$f 0 l (  lX l C D    l S TkD 0   " H l 0޽h ? 3380___PPT10.i3$f 0 p (  pX p C D    p S qD 0   " H p 0޽h ? 3380___PPT10.i3$frlX(G9y;=?ALOJ)DUFH131QISaUyWY[]_a d!f9h1Oh+'01 hp  < H T`hPCompetitive algorithms for the dynamic selection of component implementationsChi Yin CheungBlendsFabian E. Bustamante5Microsoft PowerPoint@P@%S0@9]si3GG80g  Q  y--$xx--'33--$,4 4 ,,--'-::--$ , 5 5 , ,--ff--$ , 5 5 , ,----$ , 55, ,----$,55,,----$,55,,----$,55,,---'--$4<<44--'---$ 3 <<3 3--X--$3<<33--݌--$3<<33----$3<<33----$3<<33----$3<<33----$3<<33---'QA   2( ~~ll[[JJ99%%rraaOO>>--xxffUUDD5678&'() 0123 !"4$U+,-./h?&'() *k? !"#$%n?q? t? w?'--$ * = = * *--'---$89988-- --$89988--"""--$89988--$$$--$89 9 88--&&&--$ 8 9 9 8 8--)))--$ 8 9 9 8 8--+++--$ 8 9 9 8 8-------$ 8 998 8--000--$89988--222--$89988--444--$89988--666--$89988--888--$89988--:::--$89988--===--$89988--???--$89988--AAA--$89988--CCC--$89988--EEE--$89988--HHH--$89988--JJJ--$89988--LLL--$89988--NNN--$89988--QQQ--$89988--SSS--$89 9 88--UUU--$ 8 9!9!8 8--WWW--$!8!9"9"8!8--YYY--$"8"9#9#8"8--[[[--$#8#9$9$8#8--]]]--$$8$9%9%8$8--___--$%8%9&9&8%8--aaa--$&8&9'9'8&8--ddd--$'8'9(9(8'8--fff--$(8(9)9)8(8--hhh--$)8)9*9*8)8--jjj--$*8*9+9+8*8--lll--$+8+9,9,8+8--nnn--$,8,9-9-8,8--ppp--$-8-9.9.8-8--sss--$.8.9/9/8.8--uuu--$/8/90908/8--www--$0809191808--zzz--$1819292818--|||--$2829393828--~~~--$3839494838----$4849595848----$5859696858----$6869797868----$7879898878----$8889999888----$9899:9:898----$:8:9;9;8:8----$;8;9<9<8;8----$<8<9=9=8<8----$=8=9>9>8=8----$>8>9?9?8>8----$?8?9@9@8?8----$@8@9A9A8@8----$A8A9B9B8A8----$B8B9C9C8B8----$C8C9D9D8C8----$D8D9E9E8D8----$E8E9G9G8E8----$G8G9H9H8G8----$H8H9I9I8H8----$I8I9J9J8I8----$J8J9K9K8J8----$K8K9L9L8K8----$L8L9M9M8L8----$M8M9N9N8M8----$N8N9O9O8N8----$O8O9P9P8O8----$P8P9Q9Q8P8----$Q8Q9S9S8Q8----$S8S9T9T8S8----$T8T9V9V8T8----$V8V9W9W8V8----$W8W9Y9Y8W8----$Y8Y9Z9Z8Y8----$Z8Z9[9[8Z8----$[8[9]9]8[8----$]8]9^9^8]8----$^8^9`9`8^8----$`8`9a9a8`8----$a8a9c9c8a8----$c8c9d9d8c8----$d8d9f9f8d8----$f8f9h9h8f8----$h8h9j9j8h8----$j8j9l9l8j8----$l8l9n9n8l8----$n8n9p9p8n8----$p8p9r9r8p8----$r8r9t9t8r8----$t8t9w9w8t8----$w8w9y9y8w8----$y8y9{9{8y8----${8{998{8----$89988----$89988----$89988----$89988----$89988----$89988---'@Tahoma-. 3362 Competitive algorithms for the ."Systemh-@Tahoma-. 3362 )dynamic selection of component .-@Tahoma-. 332 4implementations.-@Tahoma-.  2 L@D M .-@Tahoma-. 2 LNYellin.-՜.+,0    On-screen ShowNorthwestern Universityh:   Arial 新細明體Tahoma WingdingsBlendsNCompetitive algorithms for the dynamic selection of component implementations Mix-n-match The problemDelta AlgorithmWhat Delta should doExample: The pub/sub problem=How does client know about writes peformed by other clients?Adapative Component ProblemCompetitiveness Limitations Comments?  Fonts UsedDesign Template Slide Titles ,_hFabian E. BustamanteFabian E. Bustamante  !"#$%&'()*+,-./012346789:;<=>?@ABCDEFGHIJKLMOPQRSTUWXYZ[\]`Root EntrydO)Current UserVSummaryInformation(51PowerPoint Document(hDocumentSummaryInformation8N