Columbia University researchers have developed Peregrine, software designed to improve the reliability and security of multithreaded computer programs.
"Our main finding in developing Peregrine is that we can make threads deterministic in an efficient and stable way: Peregrine can compute a plan for allowing when and where a thread can 'change lanes' and can then place barriers between the lanes, allowing threads to change lanes only at fixed locations, following a fixed order," says Columbia professor Junfeng Yang. "Once Peregrine computes a good plan without collisions for one group of threads, it can reuse the plan on subsequent groups to avoid the cost of computing a new plan for each new group."
The researchers say the program gets at the root cause of software problems, enabling Peregrine to address all of the issues that are caused by nondeterminism. They note that Peregrine can handle data races or bugs, is very fast, and works with current hardware and programming languages.
From Columbia University
View Full Article