Fluxo Improving the Responsiveness of Internet Services with Automa7c Cache Placement Alexander Rasmussen – UCSD (Presen7ng) Emre Kiciman – MSR Redmond Benjamin Livshits – MSR Redmond Madanlal Musuvathi – MSR Redmond 1
Caching in Internet Services • Sa7sfying user request involves calling many external components, aggrega7ng data • Want to cache computa7on performed by some components to improve performance – Disk‐intensive opera7ons, DB queries, etc. • What you cache and when depends on a number of factors – Workload, architecture, SLAs, ... 2 2
Caching in Internet Services • Choice of what, where, how much to cache is usually very ad‐hoc – Programmer intui7on – Localized profiling • “Best” choice can change rapidly over 7me; too quickly for humans to respond manually • Need an automa7c solu7on! 3 3
Fluxo ‐ Automa7c Cache Op7miza7on A ... Fluxo <1234567890, B, C, x> B + <{A, B}, 50 MB> <1234567941, C, D, x’> <1234567890, A, B, x’’> <{B, E, C}, 256 KB> <1234567892, B, E, y> E C <1234567921, E, C, y’> ... D • Describe Internet service as dataflow graph • Gather run7me request traces • Simulate and op7mize to converge on reasonably good cache placement policy 4 4
Fluxo Dataflow Graphs • Source node produces request as tuple • Sink node consumes response as tuple • All other nodes are components which may call external services 5 5
Sample Service ‐ Weather Report Zip Code to Weather Split Join Source Build Sink HTML IP to City City to Weather 6 6
Weather Service ‐ Sample Input Zip Code to Weather Split Join Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 Split Join Source Build Sink HTML 137.110.222.250 IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 Split Join Source Build Sink HTML La Jolla, CA IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 Split Join Source Build Sink HTML La Jolla, CA IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 Split Join Source Build Sink HTML 72 F, Sunny IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 Split Join 72 F, Sunny Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 Split Join 72 F, Sunny Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 <p>72 F, Split Join Sunny</p> Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 <p>72 F, Split Join Sunny</p> Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 92093 Split Join Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather 72 F, Sunny Split Join Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather Split Join 72 F, Sunny Source Build Sink HTML IP to City City to Weather 7 7
Weather Service ‐ Sample Input Zip Code to Weather Split Join Source Build Sink HTML IP to City City to Weather 7 7
Caching {IP to City, City to Weather} Zip Code to Weather Split Join Source Build Sink HTML $ Cache Contents: IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML $ Cache Contents: IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML $ Cache Contents: IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML $ Cache Contents: IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ 137.110.222.250 Cache Contents: IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ Cache Contents: 137.110.222.250 IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ Cache Contents: La Jolla, CA IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ Cache Contents: La Jolla, CA IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ Cache Contents: 72 F, Sunny IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ 72 F, Sunny Cache Contents: IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join 72 F, Sunny Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join 72 F, Sunny Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 <p>72 F, Split Join Sunny</p> Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 <p>72 F, Split Join Sunny</p> Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather 72 F, Sunny Split Join Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather Split Join 72 F, Sunny Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather Split Join Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 8 8
Caching {IP to City, City to Weather} Zip Code to Weather Split Join Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 9 9
Caching {IP to City, City to Weather} Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 9 9
Caching {IP to City, City to Weather} Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 9 9
Caching {IP to City, City to Weather} Zip Code to Weather 137.110.222.250 Split Join 92093 Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 9 9
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ 137.110.222.250 Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 9 9
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join Source Build Sink HTML $ 72 F, Sunny Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 9 9
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join 72 F, Sunny Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 9 9
Caching {IP to City, City to Weather} Zip Code to Weather 92093 Split Join 72 F, Sunny Source Build Sink HTML $ Cache Contents: 137.110.222.250 : “72 F, Sunny” IP to City City to Weather 9 9
Recommend
More recommend