Limits of Optimization
Whether it’s space (volume or memory), time (performance), power, or communications, for every parameter that we optimize, the question that arises is, “how much is enough?” Can we build a chip (or an app) that is too fast or too small? Probably not, but any given application requires a certain amount of processing, and at some point additional speed is wasted (this is the law of diminishing returns).
For example, digital audio standards developed 30 years ago were defined based on the limits of human hearing, and even though we could easily increase both the sampling rate and resolution today, attempts to do so have largely failed commercially, indicating that the original solution was complete, and well-defined. In fact, most music today is stored in compressed form (mp3), indicating that storage space is still at a premium compared to the incremental audio fidelity.
Similarly, the march toward “smallness” for smartphones seems to already have reached its inflection point. Given the applications that have become requirements for our latest personal computers such as web browsing and movie watching, a 3.5” to 4” screen seems to be the minimum acceptable size, and some “size rebound” has already begun, which is heating up the market for small tablets as well.
On the digital video side, however, we are just getting to the point where “high-definition” video and “retina displays” challenge our ability to discern the incremental quality level. And given the enormous amount of storage required to store high-resolution video, this application will be on the optimization target list for some time.
Note that in each of these cases, the practical limit of optimization is related to the human interface; there’s no need to produce better audio than can be heard, nor higher resolution video than can be seen. Similarly, web browsers must respond at a humanly acceptable rate; and interactive programs and games must refresh fast enough for feedback to human input, but faster than that doesn’t get any extra credit.
In Computer Science, time and space are the classic tradeoff. We can compute a complex result each time it’s needed, or store the result for instant access on successive computations. This basic idea can be used to improve the speed of algorithms for everything from computer system design (memory caching), integrated circuit design optimization (synthesis), to searching and indexing the internet itself.
For today’s mobile computers, time and space are just the beginning. With the additional parameter of power, plus the requirement of wireless communication, which also has a significant and sometimes dominant impact on power, the solution space is multidimensional, and extremely complex.
Watching a movie on a tablet is a simple, common application. In a simple experiment, viewing a locally stored, 2GB movie (2.1 hours) used about 11.9Wh of energy on a 3rd generation iPad with retina display. Streaming the same movie from the cloud required 14.9Wh of energy, but the quality of the video in the 138MB version was only “adequate”. To get to a “nice” level of video, the file size was increased to 1.1GB, and streaming the movie now required 17.4Wh of energy (and also required an average data transmission rate of over 1.2Mbps). So, to save 2GB of local storage on the device, the energy cost is 550mWh for each viewing, plus the dollar cost of transmitting 1.1GB of data. Over a cellular connection, the transmission cost itself nearly justifies the cost of additional storage, but in the case of a WiFi connection the incremental cost is much smaller.
Even in this very simple case, the optimal tradeoffs are unclear. Are we optimizing for space? Energy? Video quality? Data rate? Device cost? Incremental cost? How often do we expect to watch movies on the device? What network connections will be available? How big of a movie library do we want to access? The optimal setup depends on the answers to all of these questions, and on top of that, the answers are likely to change over time.
So while the best possible tradeoffs may be impossible to pinpoint, it’s clear that today’s computing platform allows enough flexibility to enable many different usage models, so the application software can optimize the detailed settings on the fly.
Cloud on the Horizon
As computing models continue to evolve, space and time in our new paradigm increasingly refer to storage space in the cloud, and time to retrieve information from the cloud. It simply makes sense to have data “online” as much as possible - the inherent issues with device failures, backup procedures, and accidental deletion outweigh the benefits of most home grown solutions. This model frees up the local computing resource to focus on the personal human interface - translation, security, localized sensing, and ultimately, a more direct man-machine interface.
We still have some hurdles to clear on the security and privacy side of things, but biometric security measures are fast approaching, and at some point, we’ll just have to learn that anonymity as an excuse for bad behavior simply isn’t a good idea.
The tool of our time, our beloved smartphone, has in a few short years become the computer for the rest of us. As computing has become synonymous with communication, it’s now difficult to tell whether smartphones are just enabling
our means of communication, or helping to create
new ways to communicate and socialize.
Part of the success of today’s smartphone is certainly its uncanny ability to provide many different “killer apps” for many different people. From die-hard tweeters to Facebook fanatics, sports fans, finance gurus, politicos, hobbyists of every sort, journalists, professionals, and of course the gamers, the smartphone is the window onto a whole world of like-minded (and many vehemently opposed) individuals who want to talk about it. Oh, and it’s also handy if you’re just lost and want to find your way home, or simply want to make a phone call. All of this, available anytime, anywhere - and it’s right in your pocket.
As dawn breaks over the Olduvai Gorge, two figures can be seen huddled by a dying open fire in an attempt to keep warm until the sun renews the day.
The smaller figure seems enamored by a small object he is cradling in both hands.
The object has a screen, and shows two green dots next to a small orange dot in the center of the screen, when suddenly a bright blue dot appears in the corner.
The boy shrieks in fear, “Jaguar!”
The larger figure glances over toward his son with a broadening grin, “Yeah.
Text your friends--Let’s go have a look!”
About the Author
Cary Chin is Director of Technical Marketing at Synopsys Inc., and has 25 years of technical management experience in computer hardware and software design. Cary holds undergraduate and graduate degrees in Electrical Engineering from Stanford University, and has taught computer science and programming classes from second grade computer lab up to the collegiate level at Stanford. In his spare time he teaches violin and viola, serves as President of the Palo Alto Chamber Orchestra, and enjoys playing and coaching chamber music.