Much like computing itself, the landscape of computer memory is rapidly changing. In addition to random-access memory (RAM), caches and hard drives, we now have technologies like non-volatile memory, non-uniform memory access and encrypted memory.
The problem, according to Assistant Professor Joe Izraelevitz of the Department of Electrical, Computer and Energy Engineering, is that this new memory landscape is not visible to the programmers who are writing code for today’s machines.
“There are these distinctions about memory that the programmer might not be aware of,” he said. “There are actually a lot of layers in between the processor and memory.”
Izraelevitz plans to use a recent CAREER Award from the National Science Foundation to begin providing that visibility. He wants to develop extensions to programming languages that would allow coders to explicitly control where data is stored.
He uses the example of network-accessible memory, which is directly readable by a remote computer. Programmers wouldn’t want to rely on that type of memory for sensitive data, but they currently have to trust the hardware to make the best decision about where to store information. They may also need to know about persistent memory, which helps assure that data isn’t lost in a power outage.
“We’re looking at how to expose this complicated landscape to the programmer in an efficient way,” Izraelevitz said. “By agreeing on a common language between the programmer and the rest of the stack, we can enforce that and make the programmer say, ‘I want this secret’ or ‘I want this persistent.’ Then we can take action through the compiler.”
He said these memory challenges have existed for a while, but the penalty for not solving them has mainly been performance issues, rather than safety and data security.
“I can't just assume the hardware is going to do the right thing,” Izraelevitz said. “The downside of it guessing wrong isn’t a performance hit. It's data loss or secrets lost or data inaccessible.”
Izraelevitz, who served as a U.S. Army officer between finishing his undergraduate degree and starting his PhD, believes that intersection with security makes the research area a promising one for those with a military background. He plans to use part of the CAREER Award to provide financial support to students on a GI Bill who need to build their technical skills with a master’s degree before pursuing their PhD.
Izraelevitz earned his PhD from the University of Rochester and was a postdoctoral researcher at the University of California San Diego before joining the CU Boulder faculty in 2019. He also completed research internships at Oracle and HP Labs, as well as a limited-stay postdoc at IMDEA Software in Madrid.
CAREER Awards provide approximately $500,000 over five years for junior faculty members “who have the potential to serve as academic role models in research and education and to lead advances in the mission of their department or organization.” In addition to the funding provided, Izraelevitz said the award was a chance to reflect on the future trajectory of his research.
“It's an interesting exercise to write this grant proposal because I've been forced to think so long term about where to go with my research,” he said. “It makes you really think about where the research, technology, science and industry are going and how you can have an impact there.”