How hard would it be to record every action youve ever taken on your PC? How much would that be worth? It would probably cost a lot less than youd willingly pay.
This came to mind after a talk by Neil Puthuff, director of hardware engineering at Green Hills Software. He was on the agenda at last months Fall Processor Forum in San Jose, Calif., talking about the improvement thats needed in software debugging if we dont want technologys progress to hit the wall.
“Without improved debug facilities, higher performance executes more bugs faster,” Puthuff warned, adding that conventional debugging techniques dont suit dynamic systems that depend on fast-paced interactions.
Software developers commonly hunt bugs today by setting breakpoints: locations in their code, or conditions of processor state, where execution halts to provide a chance to see what doesnt look right. Millions have been spent on tools to do this, but Puthuff argues that its time to move on. “Breakpoint debugging is like tuning a car engine by throwing a wrench into it to stop it so you can look at it,” he observed. “It destroys the real-time characteristics of the process.”
Debugging by looking at tiny snapshots of processor state made sense when on-chip memory was expensive and when bandwidth between the CPU and the rest of the world was limited. Cheap memory and high-bandwidth debugging interfaces—notably, the Nexus 5001 Forum Standard (IEEE-ISTO 5001-2003)—shift the balance, inviting developers to think in terms of “massive trace collection,” as Puthuff put it. “Its always on; it captures everything. From power-on reset to the present, youve got a complete record of every instruction executed and every data value accessed,” he said.
Theres more at www.nexus5001.org, but Puthuffs talk made me think about the same ideas in a larger context. How much space, as I asked before, would it take to log your life—at least the piece of it that happens on your PC?
A 4.7GB DVD stores about 0.7 hours of video per gigabyte, but thats highly compressed. Presumably, your actions dont have the predictability that enables effective video compression algorithms. The raw DV file from a digital camcorder is a more representative starting point, at roughly 0.07 hours per gigabyte—but even at your most productive pace, I dont think it takes full video bandwidth to track your actions one keystroke or one mouse click at a time. Moreover, I dont propose to capture any videos or images that you choose to display on your screen, only to capture the changes resulting from your inputs and from application outputs.
Given that definition of success, Id estimate that we could record your work at something between 100 and 10,000 times the raw video ratio of hours per unit of storage. A gigabyte would then represent something like 7 to 700 hours of everyday work activity, archived and time-stamped and available for random access to what you were seeing and what you were doing at any instant during that time.
Reality check: The last four months of my own output, excluding multimedia work product, amounts to about a megabyte a month. Thats about 180,000 hours of work per gigabyte—orders of magnitude above the high end of the range that I just proposed—but thats also the finished product rather than a moment-by-moment record of how I got there. I think Im in the right ballpark for tracking the everyday things that people do.
This implies that you could capture a 20-year career of 50-hour workweeks in something between 70GB and 7,000GB—call it 700GB (geometric mean), which today would be about $500 worth of hard disks, depending on how you package them and how aggressively you shop. In a few more years, youll see a holographic storage module with that much capacity (but slower access speed than a hard drive) priced below $200.
Would you pay that much for a box that plugged into your PC and allowed you to go to any date and time to see what you were doing or regenerate your work? So would I.
Peter Coffee can be reached at [email protected]
Check out eWEEK.coms for the latest news, reviews and analysis on enterprise and small business storage hardware and software.