Distributed systems 29.4.2004 Exercise 10 No X-exercises this week. Last lecture at Wed 28.4.2004 2nd intermediate exam at Tue 4th May 08.00 -- 10.00 at T/B106. Please fill in the course evaluation form (http://cs.joensuu.fi/~arvio/english.html) 46) Design a binary protocol for dinner time agreement (basic version & algorithm of exercise 3). Assume that we use persistent TCP connections, i.e., the pair of hosts keep the connection if they expect to transfer more data later on. Specify each byte and bit of the message. Make sure that the receiving end can always reliably interpret the contents of the message. Assume first that we are agreeing the time only for one day, and that only full hours are used. 47) Refine the previous protocol to support a variable sized list of times with more accuracy and longer time span. (At least minutes accuracy, at least several months time span). In the following exercises we estimate the performance of a situation where a single server and multiple clients are connected by the Internet. In all cases, compute the performance 1) with SSL handshake, 2) without SSL handshake. In addition to the throughput computation, state also the possible bottleneck of the transaction. A SSL handshake includes 6 messages of total length 1000 bytes. The key generation and checking of the SSL handshake takes 500 million operations for both participants (client and server). After SSL handshake, the communication proceeds using symmetric encryption (which also takes time). If there is not SSL handshake (e.g., continuing an earlier session), the participants directly start with encrypted request and reply. The following table presents these and other values needed to calculate the performances. Those values that are in italics have several values in the following exercises. B is byte, b is bit. CPU speed (Moper/s) 2000 Average reply length (B) 20000 Server number of CPUs 1 Session decrypting speed (oper/B) 1000 Client network bandwidth (kb/s) 28 Network delay (ms) 50 Server network bandwidth (Mb/s) 20 SSL handshake total length (B) 1000 Average request length (B) 200 # of SSL handshake messages 6 Session encryption speed (oper/B) 2000 SSL handshake oper/participant 5*10^8 48) How long (real, wall-clock time) it takes for a client to make and complete a request (from start to finishing the decrypting of the reply) if the client network connection speed is a) 28 kbit/s (modem), b) 512 kbit/s (ADSL). 1) with SSL handshake, 2) without SSL handshake. You need to compute also the time used by the server. 49) How many new requests/second the server can handle a) with one processor, b) with 10 processors, c) with 1000 processors if the server Internet connection speed is 20 Mbit/s. 1) with SSL handshake, 2) without SSL handshake. The "new" stands for the fact that even if each request takes more than 1 second, it does not require 1 second of server resources, and thus the server can time-share its resources for several concurrent clients. In other words, compute the throughput. 50) Recompute the performance of the previous exercise (a, b, c, 1, 2) if server Internet connection speed is 625 Mbit/s.