Now, well behaving multi-processor computers
A Washington University computer scientist is trying to conquer the chaos in modern, multiprocessor computers.
Luis Ceze, a UW assistant professor of computer science and engineering, says a lot of today's computers behave in highly unpredictable ways.
He says: "With older, single-processor systems, computers behave exactly the same way as long as you give the same commands. Today's computers are non-deterministic. Even if you give the same set of commands, you might get a different result."
Ceze and UW associate professors of computer science and engineering Mark Oskin and Dan Grossman and UW graduate students Owen Anderson, Tom Bergan, Joseph Devietti, Brandon Lucia and Nick Hunt have now come up with a way to get modern, multiple-processor computers to behave in predictable ways, by automatically parceling sets of commands and assigning them to specific places. Sets of commands get calculated simultaneously, so the well-behaved program still runs faster than it would on a single processor.
Bergan will present a software-based version of this system next week at the International Conference on Architectural Support for Programming Languages and Operating Systems in Pittsburgh. This could be used on existing machines. It builds on a more general approach the group published last year, which was recently chosen as a top paper for 2009 by the Institute of Electrical and Electronics Engineers' journal Micro.
Old computers had one processor. But today's computers come with dual-core processors, and even quad-core machines have been developed. Then there are supercomputers and servers that can house hundreds, even thousands, of processing units.
An advantage of multiple servers is that computers run faster, cost less and use less power for the same performance delivered on a single processor. But these also create elusive errors that freeze Web browsers and crash programs.
Ceze says: "With multi-core systems the trend is to have more bugs because it's harder to write code for them.
"And these concurrency bugs are much harder to get a handle on."
Taking about their invention, he says: "We've developed a basic technique that could be used in a range of systems, from cell phones to data centers.
"Ultimately, I want to make it really easy for people to design high-performing, low-energy and secure systems."
In 2009, Oskin, and Peter Godman, a former director at Isilon Systems, floated a company to commercialise their technology. PetraVM is initially named after the Greek word for rock because it hopes to develop "rock-solid systems," says Ceze. The Seattle-based firm will soon unveil its first product, Jinx, which makes any errors that are going to crop up in a program happen quickly.
Ceze says: "We can compress the effect of thousands of people using a program into a few minutes during the software's development.
"We want to allow people to write code for multi-core systems without going insane.
"If this erratic behavior irritates us, as software users, imagine how it is for banks or other mission-critical applications." (ANI)
ANI / Yahoo news