It's Thursday afternoon on the 2nd floor of Lewis Science Library, and a brightly-furnished conference room is filling up fast. A few excited regulars have shown up early: grad students and research scientists eager to keep moving their research forward. Newcomers—some apprehensive, some curious—trickle in, signing in at the laptop by the door.
Inside, each guest is joined at their laptop by an expert, where they discuss cutting-edge research problems—in geosciences, politics, biophysics, and more—and the computational tools for solving them. This isn't a hackathon, though its resemblance to those events is more than superficial. It's the help session offered by Princeton Research Computing, a consortium of campus groups led by the Princeton Institute for Computational Science & Engineering (PICSciE), OIT Research Computing and key academic departments.
At the twice-weekly sessions, PICSciE and OIT Research Computing staff and graduate students offer help in everything from programming and visualization to unlocking the power of the university’s high-performance computers.
"Nearly everyone of us has a PhD in something," says Jonathan Halverson, Research Software & Programming Analyst, "and we've been hired to cover a wide spectrum of scientific domains. It's hard to not find somebody who knows what they’re talking about."
Each year, hundreds of Princeton researchers—engineers, biologists, and sociologists alike—from undergraduates to faculty, tackle their computing problems at the help sessions, allowing them to answer new research questions, faster and with more confidence. Though most visits are researchers from the natural sciences and engineering, a growing number hail from the social sciences — 58 of them in 2019.
"A lot of fields these days, even those traditionally not very computational at all, see the value of having a lot of computational power" says Lucas Sawade, a PhD student in geosciences who assists at the sessions, "because you can analyze so much data."
Many researchers come first asking how best to run their programs on one of Princeton's supercomputers—Traverse, Tiger, Della, Perseus and Adroit. Laura Leal, a fourth-year PhD student in Operations Research and Financial Engineering, was one of them. Near the end of her first year, she arrived at the help session with a few questions about SLURM, the software used to schedule users’ time on the clusters.
Even after she got her code running on the clusters, she says, she returned again and again because "they're able to help with advanced research on the coding side as well." Leal’s research uses machine learning to understand the dynamics of the stock market, and from debugging to discussing the best way to structure software to run on Princeton's clusters, the helpers have given Leal pointers every step of the way.
“My projects are very empirical," she says, so "it's great to have in-house expertise to discuss these topics with." Like Leal, Yaojun Zhang regularly attends the help sessions to improve already-working software. An associate research scholar at the Center for the Physics of Biological Function, Zhang runs coarse-grained molecular dynamics simulations of intracellular phase separation—which can take days or weeks to run even on the high-performance computers. "The bottleneck of my work is computing," says Zhang, so "speeding up this computational time is crucial." Working with the team, Zhang re-coded her simulations to run nearly twice as fast, saving her months of time and accelerating her research. The sessions, she says, is ‘a treasure’ for Princeton's research community.
The sessions provide the perfect complement to Research Computing's email help service, allowing researchers and helpers to meet face-to-face and hash out a solution.
"I always prefer meeting in person," says Carolina Roe-Raymond, visualization analyst, who regularly fields questions about data wrangling and presentation at the help sessions. "You get immediate feedback on what’s coming across as helpful versus not, and, for visualization especially, drawing things out is so helpful!"
Roe-Raymond, like most of the PICSciE and OIT RC staff at the help sessions, has a PhD herself (in Resource Ecology & Management), so "it's very easy to put myself in researchers' shoes," she says. "I've been exactly where they are. There's a lot to learn, you have a lot to do, and it can be overwhelming, but when you have people to help you it feels within reach."
"They give you all the confidence in the world," says Elmira Kalhor, a postdoc at the Woodrow Wilson School who studies how humans adapt to climate change. Kalhor's research uses massive databases tracking how people move in response to climate-associated disasters, like hurricanes and fires. When she first saw the data, she said, she expected to take months organizing it before she could even start her project—but a few trips to the help sessions helped her sort it out. "They came up with new ways of dealing with this large dataset," says Kalhor, "saving me months of trial and error. There's a strong support system there for your research."
The researchers who come to the sessions aren't the only ones learning. Christina Kreisch, a PhD student in astrophysics, says she started working as a graduate student helper at the sessions because "it seemed like a great opportunity — I could continuously refine my computing skills by helping people."
"In the help sessions, I've gained more experience handling dependency issues, editing non-standard code, and seeing how people in other fields approach things differently," she says. "It's helped me advise undergraduate researchers in my group as well. It's especially helpful I've learned how to communicate computational ideas well, because it's like teaching a different language." "It's been nice joining the team at Princeton Research Computing," says Sawade, the geosciences grad student. "Everyone is very welcoming. It's been a great experience."
A Growing Resource
"I'd certainly recommend the sessions to anyone who needs to discuss software topics," says Leal. The number of attendees has grown significantly each year, with 355 attending sessions in 2019, more than triple attendance in 2016, their first year. A growing number of undergraduates are attending the sessions as well — their attendance has nearly doubled in the last three years — allowing Princeton's supercomputers to help senior theses and other independent work.
"If it's related to doing research on a computer, you can come to a help session to ask your question," says David Luet, senior software and programming analyst, who coordinates the sessions. "Even if we don't know the answer, we'll try to direct you to someone on-campus who will be able to help you."
The number of people attending the sessions grows every year, but they’re still "an underutilized resource," says Halverson. "You just show up and people will go to work for you. Once you get going, it's one-on-one, you get the person's undivided attention."
"The help sessions," says Kalhor, "were probably the best thing that happened for our research."