lect3..ppt - 09/13/04 cis 4100 systems performance and evaluation lecture 4 by zornitza genova...
TRANSCRIPT
![Page 1: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/1.jpg)
Lect3..ppt - 09/13/04
CIS 4100 Systems Performance and Evaluation
Lecture 4
byZornitza Genova Prodanoff
![Page 2: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/2.jpg)
ZGP002
Lecture Outline
Chapter 2:• Types of networks• Network protocols• Client/Server Model• Peer-to-Peer Model• Web services protocols
![Page 3: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/3.jpg)
ZGP003
The client (process)
• Runs on a desktop• Makes requests for services• Executes a portion of the application code
The server (process)• Executes a set of functionally related services• Never initiates a message exchange with a client• Implements a queue to hold client requests as they arrive
Request-reply protocol: client sends requests and server replies
Queue of client requests at the server
Server throughput is the number of requests served per unit time
Client/Server Communication
![Page 4: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/4.jpg)
ZGP004
Client/Server Communication (continued)
![Page 5: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/5.jpg)
ZGP005
• Fig. 2.14a shows that if only one request is served at a time,
the resources at the server machine may be underutilized, the server throughput (number of requests served per time unit) may be low, and response time to clients will increase as the load on the server increases
• Fig. 2.14b shows that most servers create multiple processes or multiple threads of execution in a single process to handle the queue of incoming requests
Client/Server Communication (continued)
![Page 6: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/6.jpg)
ZGP006
Client/Server Communication (continued)
![Page 7: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/7.jpg)
ZGP007
• Using multiple threads or processes has an interesting
effect on response time as shown in Fig. 2.15.
• The figure shows two response time curves: one for an arrival rate of 2.5 requests/sec and the other for 3.6 requests/sec. It is assumed that each request uses 0.07 sec of CPU time and 0.2 sec of disk time.
Client/Server Communication (continued)
![Page 8: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/8.jpg)
ZGP008
Client/Server Communication (continued)
![Page 9: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/9.jpg)
ZGP009
• As the curves illustrate, when the number of threads
increases from one to two, the response time decreases because of the decrease in the time spent by a request waiting for an available thread.
• However, as the number of threads increases beyond this point, the additional time spent by a request contending for the same hardware resource dominates the decrease in thread waiting time, leading to a net increase in response time.
• The average number of active threads will not increase. When the number of threads becomes large enough, the thread waiting time becomes negligible (given a constant arrival rate)
• Response time does no longer vary with the number of threads
Client/Server Communication (continued)
![Page 10: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/10.jpg)
ZGP0010
• Two-tier vs. three-tier model
• “Fat” vs. “thin” clients
• Use caches to relieve the server from some of the load. −If 30% of 900 requests are serviced by the cache, then
only (1-.30) x 900 = 630 requests are serviced by the server.
−Trade-offs are:−Updates of cache content are needed to maintain
consistency (a fresh copy of the files)−Overhead processing for misses: first check the cache
then request from server vs. request from server directly
Client/Server Communication (continued)
![Page 11: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/11.jpg)
ZGP0011
Client/Server Communication (continued)
![Page 12: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/12.jpg)
ZGP0012
Server Types:• File servers• Database servers• Application servers• Groupware servers• Object servers• Web servers• Software servers
Client/Server Communication (continued)
![Page 13: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/13.jpg)
ZGP0013
• Hypertext Markup Language (HTML)
−Integrate images and other multimedia objects, as well as software applications
• Application layer protocol• Runs on top of TCP/IP
Hyper Text Transfer Protocol (HTTP)
![Page 14: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/14.jpg)
ZGP0014
• HTTP 1.0 vs. HTTP 1.1
• HTTP 1.0−Allows for embedded documents in the HTML file−The client browser opens a separate connection with
the server for each requested file: html, image, etc.−Client does not need to wait for connection termination
before another connection request is sent−Images are downloaded transparent to user: HTTP
response, containing the URL for the image is parsed before a new connection request is made
Hyper Text Transfer Protocol (HTTP) (continued)
![Page 15: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/15.jpg)
ZGP0015
• HTTP 1.1
−Allows for embedded documents in the HTML file−“Persistent connections”: The client browser opens a
(single) connection with the server for the html file. Then, embedded documents are requested within this same TCP connection
−Pipelined requests: multiple requests are sent without waiting for response (ACK)
−Pipelined HTTP 1.1 outperforms parallel connection based HTTP 1.0
Hyper Text Transfer Protocol (HTTP) (continued)
![Page 16: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/16.jpg)
ZGP0016
![Page 17: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/17.jpg)
ZGP0017
• Figure 2.17: HTTP 1.1 vs. HTTP 1.0
−HTTP 1.1. results in 3 RTTs (vs. 4 RTTs with HTTP 1.0)−Improving performance with HTTP 1.1−Reducing the number of packets sent −Better affect on network performance (less congestion)
• It has been shown that pipelined request based HTTP 1.1 outperforms HTTP 1.0 even if parallel TCP connections are initiated with HTTP 1.0
Hyper Text Transfer Protocol (HTTP) (continued)
![Page 18: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/18.jpg)
ZGP0018
Peer-to-Peer Model
• Problems with C/S model−Server seen as a central node:
− Scalability − Reliability
• Peer-to-Peer model: a collaborative and distributed approach to computing
• A study conducted at a major company with 10,000 workstations
−75% of CPU cycles in the workstations or network nodes such as routers are idle
−50% of disk space is free
![Page 19: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/19.jpg)
ZGP0019
Peer-to-Peer Model (continued)
• 10 billion MHz & 10,000 TB not utilized at the edges of the Internet (see openP2P.com)
• The size of the networks and the complexity/requirements from the protocols steadily increase
• Bandwidth consumption attributed to popular file sharing applications reaches 60% of the total Internet traffic
• Must be able to locate the resources efficiently
![Page 20: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/20.jpg)
ZGP0020
• Peer-to-Peer model: sharing of resources available at the
edges of the Internet
• In a P2P system, distributed computing nodes of equal roles or capabilities exchange information directly with each other
• Resources could be content, storage, CPU-cycles, bandwidth
• P2P paradigm has many plausible characteristics:−Scalability−No centralized authority, −Robustness−Cooperation, sharing−Anonymity
Peer-to-Peer Model (continued)
![Page 21: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/21.jpg)
![Page 22: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/22.jpg)
ZGP0022
Routing Indexes
• No-indexing (Gnutella)• Centralized index (Napster)• Distributed index (FreeNet)
Peer-to-Peer Model (continued)
![Page 23: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/23.jpg)
ZGP0023
Advantages of Peer-to-Peer model: • Performance gain with much less cost • Self-organization• Load balancing • Adaptation • Fault-tolerance• Mobile devices
Peer-to-Peer Model (continued)
![Page 24: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/24.jpg)
ZGP0024
Open problems:• Locating and addressing • Caching of passing through objects• How to identify an Object• Network usage and participation
Peer-to-Peer Model (continued)
![Page 25: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/25.jpg)
ZGP0025
• Queries propagate across nodes, each node does some
processing and uses resources
• Bandwidth: The average over a set of representative queries of the aggregate BW consumed (in bytes) over each edge on behalf of the query
• Processing: The average over a set of representative queries of the aggregate processing power consumed at each node on behalf of the query
Peer-to-Peer Model (continued)
![Page 26: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/26.jpg)
ZGP0026
• Gnutella: BFS technique is used with depth limit of D, where
D= TTL of the message. At all levels < D query is processed by each node and results are sent to source and at level D query is dropped.
• Freenet: uses DFS with depth limit D. Each node forwards the query to a single neighbor and waits for a definite response from the neighbor before forwarding the query to another neighbor (if the query was not satisfied), or forwarding the results back to the query source (if query was satisfied).
Peer-to-Peer Model (continued)
![Page 27: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/27.jpg)
ZGP0027
Services provided to users via the Web
Web service architecture:• Provider • Registry• Requester
• A service is an application available for use by requesters that fit the prerequisites specified by the service provider
• Web services can be composed with other services
• Services are deployed on the Web by service providers
Web Service Protocols
![Page 28: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/28.jpg)
ZGP0028
Examples:• Stock Quotes• User Authentication• Payment Authorization• Airplane Ticket Purchase • Hotel Reservations
Web Service Protocols (continued)
![Page 29: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/29.jpg)
ZGP0029
Automating:• Service Discovery• Service Execution• Service Composition• Service Interoperation
Web Service Protocols (continued)
![Page 30: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/30.jpg)
ZGP0030
What is Web Service Discovery?
• Automatically locating services that perform given task and exhibit the requested properties
What is Web Service Composition and Interoperation?
• Includes selection of adequate Web services to perform a given task
Web Service Protocols (continued)
![Page 31: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/31.jpg)
ZGP0031
Web Service Protocols (continued)
• Uniform service description format• Uniform service discovery protocols• Upper layers represent service interoperability protocols
![Page 32: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/32.jpg)
ZGP0032
Simple Object Access Protocol (SOAP)• A World Wide Web Consortium (W3C) draft• Specifies how to use Extended Markup Language (XML) and
HTTP together• A uniform way of disseminating XML-encoded structured data
Web Service Protocols (continued)
![Page 33: Lect3..ppt - 09/13/04 CIS 4100 Systems Performance and Evaluation Lecture 4 by Zornitza Genova Prodanoff](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ec75503460f94bd34f7/html5/thumbnails/33.jpg)
ZGP0033
SOAP consists of three parts:• An envelop that defines a framework – specifies message
fields• A set of encoding rules – how to represent instances of
application defined data types• Syntax for remote procedure calls and responses -
SOAP results in no need to share a common programming language or distributed object infrastructure
Web Service Protocols (continued)