Question
A TLB is provided that is indexed by the first 57 bits of the address provided by the process, and achieves a 80% hit rate.
A TLB is provided that is indexed by the first 57 bits of the address provided by the process, and achieves a 80% hit rate. A main memory access takes 60 ns while an access to the TLB takes 20 ns. The maximum memory read bandwidth is 200 GB/s. (i) What is the effective memory access latency? [4 marks] (ii) A colleague suggests replacing the system above with one that provides 80 GB/s memory read bandwidth and main memory access latency of 80 ns. Explain whether you should accept the replacement or not, and why. [8 marks 7 Regular Languages and Finite Automata
(a) Suppose that L is a language over a finite alphabet with the property that
for each number ` > 1 there is some string w in L with length(w) > ` such that
no matter how w is split up into three pieces w = u1vu2 with length(u1v) 6 `
and length(v) > 1, there is some n > 0 for which u1v
n
u2 is not in L. Prove
that L cannot be a regular language. [12 marks] Let's consider how peer 4 updates its state: 1. Peer 4 replaces its first successor (peer 5) with its second successor (peer 8). 2. Peer 4 then asks its new first successor (peer 8) for the identifier and IP address of its immediate successor (peer 10). Peer 4 then makes peer 10 its second successor. In the homework problems, you will be asked to determine how peer 3 updates its overlay routing information. Having briefly addressed what has to be done when a peer leaves, let's now consider what happens when a peer wants to join the DHT. Let's say a peer with identifier 13 wants to join the DHT, and at the time of joining, it only knows about peer 1's existence in the DHT. Peer 13 would first send peer 1 a message, saying "what will be 13's predecessor and successor?" This message gets forwarded through the DHT until it reaches peer 12, who realizes that it will be 13's predecessor and that its current successor, peer 15, will become 13's successor. Next, peer 12 sends this predecessor and successor information to peer 13. Peer 13 can now join 2.6 PEER-TO-PEER APPLICATIONS 155 the DHT by making peer 15 its successor and by notifying peer 12 that it should change its immediate successor to 13. DHTs have been finding widespread use in practice. For example, BitTorrent uses the Kademlia DHT to distributed tracker. In the BitTorrent, the key is the torrent identifier and the value is the IP addresses of all the peers currently participating in the torrent [Falkner 2007, Neglia 2007]. In this manner, by querying the DHT with a torrent identifier, a newly arriving BitTorrent peer can determine the peer that is responsible for the identifier (that is, for tracking the peers in the torrent). After having found that peer, the arriving peer can query it for a list of other peers in the torrent. 2.7 Socket Programming: Creating Network Applications Now that we've looked at a number of important network applications, let's explore how network application programs are actually created. Recall from Section 2.1 that a typical network application consists of a pair of programsa client program and a server programresiding in two different end systems. When these two programs are executed, a client process and a server process are created, and these processes communicate with each other by reading from, and writing to, sockets. When creating a network application, the developer's main task is therefore to write the code for both the client and server programs.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started