Network Protocols: Design and Analysis Polly Huang EE NTU

Slides:



Advertisements
Similar presentations
Implementing A Simple Storage Case Consider a simple case for distributed storage – I want to back up files from machine A on machine B Avoids many tricky.
Advertisements

EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Chapter 9 Application Layer, HTTP Professor Rick Han University of Colorado at Boulder
An Analysis of Internet Content Delivery Systems Stefan Saroiu, Krishna P. Gommadi, Richard J. Dunn, Steven D. Gribble, and Henry M. Levy Proceedings of.
1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for.
Chapter 2: Application Layer
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
What’s a Web Cache? Why do people use them? Web cache location Web cache purpose There are two main reasons that Web cache are used:  to reduce latency.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Web Caching Robert Grimm New York University. Before We Get Started  Interoperability testing  Type theory 101.
1 Web Proxies Dr. Rocky K. C. Chang 6 November 2005.
Internet and Intranet Protocols and Applications Section V: Network Application Performance Lecture 11: Why the World Wide Wait? 4/11/2000 Arthur P. Goldberg.
Dynamic parallel access to replicated content in the Internet Pablo Rodriguez and Ernst W. Biersack IEEE/ACM Transactions on Networking, August 2002.
Web Caching Robert Grimm New York University. Before We Get Started  Illustrating Results  Type Theory 101.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
Web, HTTP and Web Caching
HTTP and TCP: A Review Carey Williamson iCORE Chair and Professor Department of Computer Science University of Calgary.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Accessing Multiple Mirror Sites in Parallel: Using Tornado Codes to Speed Up Downloads John Byers, Boston University Michael Luby, Digital Fountain, Inc.
P2P File Sharing Systems
HTTP; The World Wide Web Protocol
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
SAINT ‘01 Proactive DNS Caching: Addressing a Performance Bottleneck Edith Cohen AT&T Labs-Research Haim Kaplan Tel-Aviv University.
On the Scale and Performance of Cooperative Web Proxy Caching University of Washington Alec Wolman, Geoff Voelker, Nitin Sharma, Neal Cardwell, Anna Karlin,
Protocol(TCP/IP, HTTP) 송준화 조경민 2001/03/13. Network Computing Lab.2 Layering of TCP/IP-based protocols.
The Case for Persistent-Connection HTTP Telecommunication System LAB 최 명길 Western Research Laboratory Research Report 95/4 (Proceedings of the SIGCOMM.
Web Caching and Content Distribution: A View From the Interior Syam Gadde Jeff Chase Duke University Michael Rabinovich AT&T Labs - Research.
ECO-DNS: Expected Consistency Optimization for DNS Chen Stephanos Matsumoto Adrian Perrig © 2013 Stephanos Matsumoto1.
1 Welcome to CSC 301 Web Programming Charles Frank.
Transport Layer3-1 Announcements r Collect homework r New homework: m Ch3#3,4,7,10,12,16,18-20,25,26,31,33,37 m Due Wed Sep 24 r Reminder: m Project #1.
TCP behavior of a Busy Internet Server: Analysis and Improvements Y2K Oct.10 Joo Young Hwang Computer Engineering Research Laboratory KAIST. EECS.
CSE 461 HTTP and the Web. This Lecture  HTTP and the Web (but not HTML)  Focus  How do Web transfers work?  Topics  HTTP, HTTP1.1  Performance Improvements.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
In-class Paper Review #2 “Improving World Wide Web Latency” By Venkata N. Padmanabhan Department of Computer Science Southern Illinois University Edwardsville.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
ICP and the Squid Web Cache Duanc Wessels k Claffy August 13, 1997 元智大學系統實驗室 宮春富 2000/01/26.
Empirical Quantification of Opportunities for Content Adaptation in Web Servers Michael Gopshtein and Dror Feitelson School of Engineering and Computer.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
Network Protocols: Design and Analysis Polly Huang EE NTU
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP) Ion Stoica Nov 20, 2001 (*)
CS 6401 The World Wide Web Outline Background Structure Protocols.
1 COMP 431 Internet Services & Protocols HTTP Persistence & Web Caching Jasleen Kaur February 11, 2016.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
HyperText Transfer Protocol (HTTP) Deepti Kulkarni CISC 856: TCP/IP and Upper Layer Protocols Fall 2008 Acknowledgements Professor Amer Richi Gupta.
Web Proxy Caching: The Devil is in the Details Ramon Caceres, Fred Douglis, Anja Feldmann Young-Ho Suh Network Computing Lab. KAIST Proceedings of the.
On the scale and performance of cooperative Web proxy caching 2/3/06.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
Performance Evaluation of Redirection Schemes in Content Distribution Networks Jussi Kangasharju, Keith W. Ross Institut Eurecom Jim W. Roberts France.
Network Protocols: Design and Analysis Polly Huang EE NTU
Accelerating Peer-to-Peer Networks for Video Streaming
WWW and HTTP King Fahd University of Petroleum & Minerals
Reddy Mainampati Udit Parikh Alex Kardomateas
Web Caching? Web Caching:.
Proposal: A General Infrastructure for Efficient Application-Level Protocols Steven Czerwinski Goal: To investigate ways to make.
On the Scale and Performance of Cooperative Web Proxy Caching
Computer Communication & Networks
CSE 461 HTTP and the Web.
HTTP and TCP Carey Williamson Department of Computer Science
HyperText Transfer Protocol
EE 122: HyperText Transfer Protocol (HTTP)
Hypertext Transfer Protocol (HTTP)
Carey Williamson Department of Computer Science University of Calgary
CSCI-351 Data communication and Networks
Presentation transcript:

Network Protocols: Design and Analysis Polly Huang EE NTU

Web Performance [Padmanabhan95a] [Wolman99a]

Persistent HTTP [Padmanabhan95a]

Polly Huang, NTU EE4 Key ideas original HTTP had more latency than necessary –overhead from doing multiple connenction proposes some fix –use one connection for multiple requests

Polly Huang, NTU EE5 FTP Review FTP uses two TCP connections –control: send commands –data: retrieve data (directory listings, files, etc.) HTTP motivation: just use one connection –goal: avoid server-side state –use a simpler protocol clientserver pub lib etc connect, user johnh password? xyz OK directory? OK, port 1234 cd pub OK … (application-level exchanges)

Polly Huang, NTU EE6 HTTP Basics clientserver GET / Hello world! the idea, at the HTTP level clientserver SYN SYN-ACK ACK GET / Hello world! ACK FIN-ACK ACK FIN and at TCP

Polly Huang, NTU EE7 Web Page Content But web pages consist of multiple objects –HTML –images –(also maybe Java, or CSS, or other things) HTTP/1.0: each object is a separate HTTP request, and so is a separate TCP connection

Polly Huang, NTU EE8 HTTP/1.0 in Practice clientserver GET / Hello world! GET /h.png [h.png data] [Padmanabhan95a,figure 3-1]

Polly Huang, NTU EE9 What are the problems here? TCP/HTTP costs –connection setup/tear-down –also slow-start keeps TCP at less than full speed for first few packets –TCP requires TIME-WAIT info to be kept around –if you have state (ex. authentication) then it is very expensive to have to rebuild this state for every connection

Polly Huang, NTU EE10 Proposed Solutions Peristent connections (P-HTTP): –use one TCP connection for multiple HTTP request/responses –in HTTP/1.1 Pipelining: –don’t wait for complete response before sending next request –try to send multiple requests at same time (in same packet) –suggestions: GETALL, GETLIST not standardized

Polly Huang, NTU EE11 Persistent Connection Example Client Server ACK DAT ACK 0 RTT 1 RTT 2 RTT Server reads from disk Client sends HTTP request for HTML Client parses HTML Client sends HTTP request for image Image begins to arrive DAT Server reads from disk DAT

Polly Huang, NTU EE12 P-HTTP Questions How to multiplex requests? –how to distinguish multiple requests and multiple responses from each other in the TCP bytestream –server can specify length but this requires server to know length ahead of time –blocking/chunking –(control connection) –pro: allow persistent connection, con: either add overhead or complexity

Polly Huang, NTU EE13 Complement: Parallel Connections Open multiple TCP connections (4) –first done in Netscape pros: –could be much faster (at least in terms of time to render with incremental rendering) –by doing setup & slow-start in parallel, pay the cost once at the same time for all connections cons: –overhead (setup, slow-start) is still there –much harder on the network; connections may conflict with each other –doesn’t reduce number of packets or time-wait problems

Polly Huang, NTU EE14 Pipelining Serialized requests still have extra RTTs Pipelining requests –GETALL – request HTML document and all embeds Requires server to parse HTML files Doesn’t consider client cached documents –GETLIST – request a set of documents Implemented as a simple set of GETs (but which ones to list?) Also could prefetching –but risk getting data you may not need

Polly Huang, NTU EE15 Persistent Connection Performance Benefits greatest for small objects –Up to 2x improvement in response time Server resource utilization reduced due to fewer connection establishments and fewer active connections TCP behavior improved –Longer connections help adaptation to available bandwidth –Larger congestion window improves loss recovery

Polly Huang, NTU EE16 Performance Results up to 2x w/10 images and pipelining RTT ~70ms, bottleneck bandwidth: 1.5Mb/s

Cooperative Web Caching [Wolman99a]

Polly Huang, NTU EE18 Key ideas improving web performance by caching look at cooperative caching –having multiple caches collaborate, share info take moderate scale measurements (traces), extrapolate that to millions clients

Polly Huang, NTU EE19 Simple Web Caching server-side caching client-side caching disk server cache proxy caching proxy cache

Polly Huang, NTU EE20 Distributed Web Caching proxy hierarchy hierarchical proxy caching cooperative proxy caching cooperative protocol

Polly Huang, NTU EE21 Caching Questions Does {server, client, proxy, hierarchical, cooperative} help? –relative benefits? latency bandwidth –relative costs? latency and bandwidth overheads –do they vary as a function of population? size homogenity

Polly Huang, NTU EE22 Cooperative Caching: Internet Cache Protocol Upon cache miss –… proxy sends request to all other peer proxies using UDP –peers respond if they have a hit Key result –Number of UDP messages with ICP increases by 2 orders of magnitude –… but ICP can increase hit rate Question: what are the trade-offs?

Polly Huang, NTU EE23 Web Page Popularity Access to Web pages follows Zipf’s law –The number of times the ith most popular document –… is accessed is proportional to i -a

Polly Huang, NTU EE24 Caching Performance? Access to Web pages follows Zipf’s law The hit ratio of large caches –Grows logarithmically with the client population –or with the number of requests seen by the cache Should nearby caches exchange their contents to improve performance? –What are the limits to this performance improvement?

Polly Huang, NTU EE25 Methodology Collect Web traces simultaneously from two large organizations simultaneously –University site (U-Washington) –Large corporation (Microsoft) Can study the benefits of cache cooperation at two levels of granularity –Between departments at the university –Between the large organizations Traces collected in the absence of caching –But can use these to infer the impact of caching Methodological issues –Infinite cache size assumptions –Practical (conforms to HTTP control directives) vs. ideal (assuming all documents are cacheable) caching

Polly Huang, NTU EE26 Impact of Client Population Higher ideal hit rate –Due to a more homogeneous accesses from MS compared to UW But, comparable hit rates with only cacheable documents –Current cacheability constraints limit performance –Many images marked uncacheable (why?) Knee of performance curve –2500 users, so cooperative caching can help if merging smaller groups [Wolman Figure 1]

Polly Huang, NTU EE27 Latency and Bandwidth Latency –Caching can reduce latency –Difference between practical and ideal Bandwidth –Caching reduces bandwidth –But the bandwidth reduction is insensitive to client population

Polly Huang, NTU EE28 Cooperative Caching Can provide some benefits –About 10% higher hit-rates than if the proxies at the organization level did not cooperate There exists little affinity of access within an organization For large populations, not much increased benefit to cooperative caching

Polly Huang, NTU EE29 Analytic Model to complement the trace analysis, they develop an analytic model –approximate hit rate, latency, bandwidth savings –set parameters from traces, then explore alternatives results similar to trace results –big win (hit rate, latency) to caching up to users; little benefit beyond that

Polly Huang, NTU EE30 Summary Most benefit from small populations –But this can be served by a single proxy, so why bother with cooperative caching Some benefit for collections of small, diverse populations Greater benefits obtainable from increasing the cacheability of documents

Question?