Sometimes, perfection can be the enemy of the good—especially for computers.
“A computer only needs to be as perfect as the person using it,” says Joshua San Miguel, who joined the faculty of the Department of Electrical and Computer Engineering as an assistant professor in spring 2018.
San Miguel, who completed his PhD at the University of Toronto in 2017, is highly regarded in the fast-growing field of approximate computing, which gives programs a little leeway to sometimes return inaccurate results in return for huge gains in efficiency and energy savings.
Approximate computing is based on the premise that not every calculation needs to be absolutely perfect. Instead, depending on the context in which a device is meant to be used, occasional mistakes might not only be tolerable, but could, in fact, improve the entire system.
For situations where many answers to a question might be equally acceptable—for example, identifying the best restaurant in a city—approximation lightens the computational load while still steering humans toward a satisfying meal.
Another application where users might not mind a little bit of imperfection is streaming video. Most people’s senses aren’t acute enough to notice an occasional dropped frame. What’s more, depending on who’s watching and on what type of screen, super-crisp images could be more desirable than immersive sound experiences, or vice versa.
“If the user doesn’t need something perfect, they’re not going to ask for something perfect, and we shouldn’t build them something that works that way,” says San Miguel.
Identifying where there’s wiggle room for inaccuracies, however, is a major challenge for approximate computing. Right now, computers cannot tell the difference between the bits of information that code for crucial bank account details and those that represent more trivial content like GPS coordinates or social media posts.
“Computers have been built in a digital world that is blind to the user and blind to the underlying circuitry. Computers process a string of bits, but don’t know what the bits represent,” says San Miguel.
One of San Miguel’s main goals is to give computers some context along with the strings of ones and zeros that encode digital information. He calls the concept “reading between the bits.”
Teaching computers to read between the bits and occasionally return inaccurate answers represents a substantial departure from traditional programming. However, as computers become integrated into more and more everyday objects, people are beginning to value battery life and portability almost as much as processing power.
“A lot of what we were doing before—building super-fancy giant computers that can do incredibly sophisticated calculations—is excessive and wasteful,” says San Miguel.
He predicts that programmers will need to relearn some old habits and stop striving for perfection in all situations for approximate computing to become widespread. Additionally, San Miguel envisions that computer users should play a more active role—giving their devices feedback to identify situations where imprecision is acceptable.
Users are used to turning a device on and having its processes run to completion, but San Miguel would prefer a scenario where people only keep programs going for as long as the results are satisfactory. He dubbed the notion “hold-the-power-button” computing.
Such a concept could be folded into digital photography applications by gradually increasing image quality and resolution for as long as users hold down the shutter button.
Both “hold-the-power-button” and “reading between the bits” have garnered accolades from the computer architecture community. San Miguel’s conference publications were recognized multiple times as top picks, and he’s becoming an increasingly in-demand reviewer for research articles as approximate computing comes to the forefront.
“Even people who are skeptical of the notion of imperfect computers are starting to realize it’s an important area,” says San Miguel.
The vibrant computer architecture community at UW-Madison was one of the major factors that attracted San Miguel to UW-Madison. Already, the new faculty member is initiating collaborations across campus to apply his expertise to problems ranging from quantum computing to computer security.
In addition to familiarizing himself with the campus and establishing his lab, San Miguel is teaching the advanced graduate course ECE 757 during spring 2018. In the class, students evaluate, critique and improve upon commercially available programs. He reports that the participants have been enthusiastic and highly motivated.
San Miguel is currently recruiting students for his research group.