Trivedi honored by IEEE

kishor_trivedi05thumb.jpgIt may sound a bit odd, but computer software ages. However, unlike our skin as it ages, software can also be rejuvenated.

After the first description of software aging more than a dozen years ago, computer scientists have spent considerable time trying to better understand the phenomenon and to find ways to reverse it. These efforts have gone a long way toward improving the efficiency of computers, especially large-scale computer systems.

While many computer engineers focused on the more theoretical and/or commercial bases for software aging and rejuvenation, Duke’s Kishor Trivedi was one of a few who actually performed experiments and collected data to put a scientific underpinning to the phenomena and its solution.

For these efforts, the IEEE Computer Society bestowed upon Trivedi its 2008 Technical Achievement Award. He will officially be honored Nov. 17 during the society’s Board of Governors meeting in New Brunswick, N.J.

Although there are different aspects of software aging, Trivedi said the memory portion of the problem is the simplest one to explain.

“Before the mid-1990s, the conventional wisdom held that hardware ages and software doesn’t,” said Trivedi, Hudson Professor of Electrical & Computer Engineering and Computer Science, who joined the Duke faculty in 1975. “Any computer application interacts with a computer through its operating system, which provides it resources in the form of memory.

“As an application needs memory, it asks the operating system for it,” Trivedi continued. “Simply put, if the operating system has the memory, it provides it. If it doesn’t, the computer hangs or crashes. After the application completes its task, it is supposed to return the memory to the operating system. However, this often doesn’t happen, so over time, the operating system thinks it has less and less memory to provide. Since the failure rate, in the form of crashes, occurs more frequently over time, it behaves as if it were aging.”

The trick then, Trivedi explained, is to develop proactive strategies to prevent these hangs or crashes before they happen. In the case of memory, Trivedi and his team came up with a method for choosing the optimal time to bring computer systems down before they crashed and return the available, yet unrecognized, memory to the system.

In his letter of nomination, Mukesh Signhal, Professor and Gartner Group Endowed Chair in Networking at the University of Kentucky, wrote: “Trivedi (together with his graduate students) was the first to monitor and statistically analyze data for the validation of aging and to predict the time to exhaustion of various resources. This was the first paper which presented concrete quantitative evidence of software aging in large scale, general purpose computer systems.”