Ben Bitdiddle has written a style checker intended to uncover writing problems in technical papers. The program

Question:

Ben Bitdiddle has written a “style checker” intended to uncover writing problems in technical papers. The program picks up one sentence at a time, computes intensely for a while to parse it into nouns, verbs, and the like, and then looks up the resulting pattern in an enormous database of linguistic rules. The database was so large that it was necessary to place it on a remote service and do the lookup with a remote procedure call. Ben is distressed to find that the RPCs have such a long latency that his style checker runs much more slowly than he hoped. He wonders if adding multiple threads to the client could speed up his program.

a. Ben’s checker is running on a single-processor workstation. Explain how multiple client threads could reduce the time to analyze a technical paper.

b. Ben implements a multithreaded style checker and runs a series of experiments with various numbers of threads. He finds that performance does indeed improve when he adds a second thread and again when he adds a third. But he finds that as he adds more and more threads the additional performance improvement diminishes, and finally adding more threads leads to reduced performance. Give an explanation for this behavior.

c. Suggest a way of improving the style checker’s performance without introducing threads. (Ben is allowed to change only the client.)

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Related Book For  book-img-for-question

Principles Of Computer System Design An Introduction

ISBN: 9780123749574

1st Edition

Authors: Jerome H. Saltzer, M. Frans Kaashoek

Question Posted: