Cindy Phillips zooms in on impact in the fast-moving world of computing.
Computer scientist Cindy Phillips knew by junior high her career would be something technical, and like many science-minded kids, she decided to become a veterinarian. But she realized it wasn’t a good fi t when she developed terrible allergies to animals. So she switched her goal to math professor. Her conclusion in college that applied math was more fun than pure math led her to computer science. “From there it was, ‘Programming is awesome!’” she says.
She studied computer science in grad school, still with the thought of academia. Then her physician husband’s career brought the couple to Albuquerque for his residency at the University of New Mexico, their No. 1 choice for its combination of a good radiology program, quality of life — and the possibility she could get a job. She fi nished her dissertation on Theoretical and Experimental Analyses of Parallel Combinatorial Algorithms, and joined Sandia.
Phillips intended to remain for only the four years of her husband’s residency. “But we stayed. He was offered a faculty position and I wanted to stay here,” Phillips says.
That’s common for Sandians of her generation. “There are a bunch of us who started around 1990 thinking we’d have a taste of the Southwest and a taste of the national labs, and we just never left,” she says. “We loved who we were working with, the interdisciplinary nature of the work and the fact that interesting problems come to you; you don’t have to dream them up.”
Multidisciplinary, team-oriented research
Much of her research has been supported by the Department of Energy’s Office of Science and Sandia’s Laboratory Directed Research and Development (LDRD) program, directed at forward-looking research. Phillips gives a nonstop recounting of LDRD projects she’s been part of, leaning forward, often using the word “we” in acknowledgement of Sandia’s multidisciplinary, team-oriented nature.
A senior scientist, she works largely on shorter-term projects in specialized areas as a member of Sandia’s Center for Computing Research. “We are people who do mathematical optimization, an area that can be applied in so many practical problems, but if you really want to solve them effectively you have to know something about the application,” she says. “So we have to learn something about water distribution networks or wireless networks and communication. We’re also usually trying to learn computer and math sub-disciplines like statistics, data mining or machine learning.”
Learning is great, but “the real fun part is actually working on the problems with other people,” Phillips says. “I think the lab can be the best of academia and the best of industry, where you make sure what you’re working on is important, that it’s going to have impact.”
Rather than focus on narrow applications of particular problems, “we can think more generally and look to solve classes of problems and from there metaclasses of problems. After solving several specific problems you can have the luxury of stepping back and asking what the general lesson was and really making breakthroughs,” she says.
Early in her career, she led an LDRD project on network interdiction, looking at how someone could use limited resources to damage networks such as an enemy supply line. Next she headed a three-year bioscience project on multiple sequence alignment and phylogenies, or evolutionary trees, to predict protein properties. She also led an early project to create a massively parallel integer programming code, a complicated concept she explains with a simple example of building factories, represented as an optimization problem to minimize costs. Without so-called integer constraints, the program suggests an eighth of a factory in one location, a sixteenth somewhere else, a smaller piece in a third place and half a factory somewhere else. “Your math problem assumes you’re getting this fractional benefit. Of course you’re not going to get an eighth of the benefit from building an eighth of a factory; you’re going to get no benefit,” she says. Instead, an intelligent search procedure using the structure of the problem leads to solutions “that tell you exactly where to build your factories.”
Phillips, named Fellow of the Society of Industrial and Applied Mathematics and a distinguished member of the Association of Computing Machinery, now heads an LDRD project on advanced data structures, useful for cybersecurity, which allow large streams of information to be rapidly accepted and saved for later searching.
She says working on specific projects with concrete goals prepared her for the “much more squishy and challenging problems that are coming now, where you kind of know what the problem is, but how you exactly define it, how to make progress on it, can really be hard.”
Some of her off-hours time is still work-related, such as duties as vice president of the Society of Industrial Applied Mathematics or helping collaborators outside Sandia publish research on projects that have ended. She skis and likes to bike to work when she can. She’s a trustee for Albuquerque’s Manzano Day School — her Sandia badge dangles from a red school lanyard — although her children have long since left the private elementary school. A New England native, she says her addiction to the Red Sox devours free time from April to September, “sometimes a little longer if they make the post-season.”
Finding ways to connect data can be challenging when you have a huge amount of information. For computer scientist Cindy Phillips it’s also fascinating research.
Let’s say Counterterrorism Agency A and Law Enforcement Agency B each store data about the relationships between people, but they’re forbidden to share that data. Agency A wishes to understand the connection between two people. How can the agencies pool their information to connect the dots without revealing sensitive information?
The solution could lie in “geographically distributed graph algorithms.” Graphs are a common way to show how people or objects relate to each other. Here, people are the objects (nodes) in each agency’s graph, and the edges of the graphs connect two people known to have a relationship. The goal is to design ways to answer the question without combining the graphs.
Finding a connection between two nodes in a graph is like finding a route between two places in a road map. In this case, two entities have different overlapping parts of the map and must determine if there is a connection without revealing the route.
Sandia researchers and academic colleagues correctly and securely determined if two nodes are connected using “secret sharing” during communication. Although the conversation must find a route — connections between two people using intermediary people — it reveals no other names. Thus, Agency B learns the question (the connection between people) and both learn the answer.