As reported by the MIT News Office, May 13, EECS professor Martin Rinard and his Computer Science and Artificial Intelligence Lab (CSAIL) team have developed a system that automatically looks through computer code for areas where a little bit of accuracy can be traded for significant increases in speed.
In one set of tests, the system halved the time that it takes to encode video data for transmission over the Internet, with no noticeable effect on the video quality (see the related video). The same approach could have advantages for any system that needs to process data in real time, such as stock traders’ analytic software, or location-tracking or environmental-monitoring systems that use networks of sensors. It could also pay dividends for systems that need to look for patterns in huge masses of data, such as the recommendation engines at sites like Netflix or Amazon.
The researchers unveiled their system last week, at the International Conference on Software Engineering in South Africa. In a paper they presented there, they concentrated on a version of the system that alerts programmers to sections of their code where accuracy could be traded for speed. But the system could just as readily make that tradeoff automatically, on the fly. For instance, video-chat software running on a laptop could use the standard method of encoding data when the laptop’s processor was otherwise idle. But if the processor got overburdened trying to handle several applications at once, the video-chat software could switch to the less computationally intensive version of the encoder.
"Websites that can take a punch" MIT News Office, March 17, 2010