Big Rocks First
By Cary Chin
Up on the wall in the hallway by the printer at my office, there’s an article by a management consultant entitled, “PUT THE BIG ROCKS IN FIRST!” It describes the demonstration that has been conducted and described many times by many consultants and motivational speakers over the years. Starting with an empty bucket, place large rocks in the bucket until it is full. Repeat by shaking and adding gravel until full again. Repeat with sand, then water.
The experiment is intended to demonstrate that it’s important to prioritize. The big rocks represent the things that are the most important. If you start filling the bucket with the finer materials, you will not have room for the most important items. In terms of planning your day, if you don’t reserve time for big deliverables, you will certainly be interrupted with enough little things that the big ones never get done. In terms of family time, if you don’t commit time (sans company phone) with your family, you will always be “too busy” to lead a balanced lifestyle. Ditto for your health, your budget, your personal development, whatever is really important to you. (HINT: Today is Valentine’s Day. You should stop reading right now and take your spouse to lunch!) Of course, we engineers tend to think this way anyway. The “Big Rocks” methodology isn’t very different that the hierarchical design methodology that we employ to control complexity (okay, the analogy breaks down slightly, but if you think of the rocks as hollow.)
From a low-power standpoint, we’ve packed the big, important rocks pretty well into our bucket. We have evolved our implementation and verification tools, technologies, and methodologies over the last decade, enabling incredible progress in low-power design. Despite relatively constant battery capacity, we’ve improved all other aspects of capability dramatically. The flagship smartphone in 2003 was the Treo 600, with a 144MHz processor, 24MB of memory, and 160×160 color display. Compared with the current iPhone 5, with dual 1.2GHz processors (not including 3 GPU cores), 64GB of memory, and 1136 x 640 retina display, we’re looking at about 16x+ compute, 2600x storage, and 28x display capabilities packed into a smaller form factor. Battery capacity of the Treo 600 was around 6.6 Wh, slightly more than the iPhone 5 at 5.4 Wh. And yes, people complained about battery life back then as well.
Does this mean we’re “done” with power-efficiency improvements? Hardly. In fact, using our “big rocks” analogy, we’re just now ready to start adding some gravel! One of the key areas of improvement in recent years has been the development of technologies, methodologies, and tools for supporting power shutdown and voltage control. These are all-important capabilities in our struggle to reduce energy consumption and improve efficiency. Now that we have well-defined and proven flows for power shutdown and voltage control at a course-grained level with relatively simple power domains (the “big rocks”), we are positioned to extend those ideas to improve energy efficiency with architectures that are finer-grained, both in space (size of region to control) and time (period of inactivity).
Of course, none of this is easy. Finer-grained approaches can explode the power complexity of a design. Significant hurdles in technology, tools, and methodologies must all be overcome. Which leads us to another solution to the “my bucket is already full of big rocks” problem, breaking the big rocks into smaller ones!
—Cary Chin is director of marketing for low-power solutions at Synopsys.