When one of the processing cores in a computer reserves more data than it needs, says Michael Spear, there’s a cost: another core cannot access that data, and has to wait.
Spear, assistant professor of computer science and engineering, seeks to eliminate these delays in massive computing systems with an inherently speculative technique, based on transactions. NSF has recognized his work in transactional memory with a five-year CAREER Award.
Transactional memory allows a system to perform distinct operations—or transactions—simultaneously, while avoiding the conflicts that can arise when two or more transactions are using the same underlying data.
“You need to protect the data in your memory to ensure that one section of the system doesn’t interfere with another,” says Spear. “Traditionally, you would just lock huge chunks of data. But that can hurt performance, as cores have to wait for access. In most cases, though, two cores won’t need to access the same data, so there is no conflict. Transactional memory allows you to avoid locking so multiple cores can operate at the same time.”
It does this, says Spear, by allowing the core, when it detects a conflict, to reset the system to a point that precedes the conflict. “When things don’t go the way you planned, however, you can’t always analyze the transactions to discover what’s wrong. So we have also invented a mechanism that will allow you to see inside if you aren’t getting the results you expect.”
Spear is working with Intel and Oracle to make transactions easier to use. “Transactional memory requires changes at the lowest levels of a computer system. It takes new compilers, new programming languages and, in some cases, new hardware.
“Once a system gets big enough, you can’t tell how the parts are going to interact. It’s true in individual programs, and that’s why we need transactions. But it’s true in computer systems too, which makes for great research opportunities. You get to work across the entire stack, from applications all the way down to the hardware itself.”