Trading Processor Cycles for Communication Arnab Paul * Rahul Ray † Umakishore Ramachandran ‡ Georgia Tech Technical Report GIT-CERCS-04-05 Abstract “Trade computation for communication whenever possi- ble” has been the conventional wisdom to save bandwidth and power in wireless domain. We glanced at the merg- ing trends of technology and the applications, and identi- fied a number of areas where the processor cycles can be traded for network bandwidth. These areas are - file trans- fer, shared document edits, remote authentication, and veri- fication of remotely available codes. We collect and present some of the theory-paradigms that have given birth to re- sults potentially usable towards saving bandwidth at the cost of computation. We hope to make a case for incorpo- rating the insights collected in this paper from various fields of complexity theory, into the design of network protocols for the future. In the penumbra of this over-arching goal, we also suggest how the engine of “Probabilistic Check- ing of Proofs” (PCP) can be used for remote authentica- tion purposes, resulting in much smaller network overhead and leading to very efficient usage of bandwidth and power. While this seems to be an interesting route, we then present the algorithmic challenges that need be solved and argue why such a theoretical cranking may be just as worth. 1 Introduction Exchange of information between two (or multiple) parties can be effected in various modes. On one extreme, the entire information is generated at one site and then disseminated to the rest of the group. In another extreme, every party (if possible) computes the information indepen- dent of the others and no one needs to go to the network. Real life, however, often presents scenarios situated in the middle, i.e., when parties hold partial information and they need to both compute and communicate. In fact, many a times, it is possible that computation can be traded off with communication and vice versa. It so turns out that the possibility of such a trade-off can be used to various * College of Computing, Georgia Tech, arnab@cc.gatech.edu † Max-Planck-Institut fuer Informatik (MPII), rahul@mpi-sb.mpg.de ‡ College of Computing, Georgia Tech, rama@cc.gatech.edu advantages to handle resource limitations more efficiently. In this paper we explore one direction for this trade-off, viz. trading computation for communication. First, we survey why and when this could be helpful. And next we will suggest some theoretical techniques that, although awaiting certain mathematical and algorithmic challenges to be met, could prove extremely helpful. Why Save Communication? Although modern wireless technology has advanced quite rapidly, it is yet to catch up with the remarkable speed of the CPUs that have been achieved. The primary obstacle behind this lag is the presence of natural physical noise that any wireless signal has to wade through, especially in the domain of long range transmission. Consequently, still now, for many wireless applications, bandwidth is a more priced resource than the processor. Moreover, as computing is becoming ubiquitous in nature, and more and more pervasive applications are surfacing, there is a plethora of devices in the market that are small, wearable or hand-held, connected on wireless and operating on battery; for such devices power consumption is quite critical. Sadly, long range wireless transmission is extremely expensive compared to on-chip computing as far as the currency of energy is concerned. For example, according to an observation made by Pottie and Kaiser, that dates back couple of years, transmission of one bit over a long range wireless is equivalent to few thousands of cycles in modern processors [10]. If the scenario has changed in next few years, it is only to the favor of processing power and speed. Where Can Communication be saved Bandwidth and power are the two motivating factors be- hind conserving communication for mobile wireless sys- tems. There are numerous situations in which communica- tion can be saved by additional computation; here is a short list: • Compression while transferring files : This is the most common scenario. Large files can be compressed, the 1