Improving a Supercomputer: creating an application for DelftBlue

One computer that can do it all: quantum mechanics, weather forecasting, molecular modeling, aerodynamics, nuclear fusion research, and even cryptoanalysis. Not just any computer, a supercomputer! That’s the DelftBlue, TU Delft’s own supercomputer. Computer Science & Engineering bachelor student Rūta Giedrytė worked on an application that can improve DelftBlue.

“I wanted to work on a software engineering project, the application that we made schedules algorithm evaluations"

Which bachelor's programme are you doing, and why did you choose this one?

I am doing the Computer Science & Engineering bachelor's. I wanted to do a bachelor's that had a good balance between logic or mathematics and some creativity or engineering, something that's not purely theoretical. So I think this bachelor is a good combination of these things.

Are you working on a specific project within your bachelor?

I just finished a big project that we had to do in teams of five students. And in that project we made an application for the Algorithmics Group of the faculty of Electrical Engineering, Mathematics and Computer Science. We made an application for the DelftBlue Supercomputer, which is TU Delft's supercomputer. DelftBlue is a cluster of computers. It contains 17,000 processor (CPU) cores in more than 300 nodes. And you can log onto it remotely.

The application that we made schedules algorithm evaluations for the DelftBlue. There are several programs that represent different algorithms, and the goal is to determine which one performs the best by testing them on various inputs. To do this, each program is combined with each input in all possible ways, which can result in a huge number of combinations. To manage this, a supercomputer is used to run the tests. However, setting this up can be quite challenging, with numerous commands to type and configurations to adjust. So, we developed a program that simplifies the entire process.

For now, the application is in the hands of the Algorithmics Group and its PhD students. I hope that at some point it will become an open source application. So that it can be used, not only on DelftBlue, but on other supercomputers as well. The Algorithmics Group has already suggested that if we have time, we can work on some issues. So we are planning to help maintain it. And then perhaps if our help is needed, also help in the future.

What was your motivation to choose this project?

Unlike other students, my team didn't really want to do a project that involved AI or machine learning. We wanted to do something that involved software engineering. We wanted to create something new that would actually be usable. And this project seemed to fit the bill. Our main question for this project was: Have we managed to build the software that answers the client's needs? In this case, the Algorithmics Group was our client. And I think it's safe to say that we successfully built the application.

And what's the societal impact of the project?

By simplifying the process of running tasks on supercomputers, our application might slightly increase the system's power usage. And we've prioritized making it highly user-friendly and accessible to various groups, ensuring it doesn't exclude anyone. We believe the use of this application for DelftBlue will have an impact on both education and research.

Were there any challenges within this project?

I think in terms of building the application, things went well. We decided what we ideally wanted to do in the weeks that we had, and we stuck to our planning. We also had additional requirements and we could choose if we wanted to do them or not, depending on if we had the time or not. So we could adjust our planning.

I do think we had some issues with communication. We would, for example, forget to send an e-mail. We did not have that much experience yet, with things like organizing meetings and sending out agendas, etc. And then the client would sometimes be like: guys, you didn't sent an e-mail. It was our first time having clients, so we learned a lot in that sense.

It was definitely a learning experience for me that software engineering does not have to be the hardest part of the project. It was harder to manage writing the report and going to teamwork lectures and going to technical writing lectures and sending emails and organizing meetings and keeping agendas, than actually building the software.

What do you like about studying at TU Delft?

I like the people at TU Delft, like my classmates, lecturers and people that I meet as a teaching assistant. I think it's a very nice community. For example, we had such a great team for our second-year project, and we collaborated really well. We even met on Sundays for dinner, cooked for each other, and discussed the project. It was a really positive experience. 

I think I’ve learned a lot. I appreciate that the bachelor program offers a balance between experiencing a corporate work environment in the second year and, in the third year, transitioning to a more academic setting. 

I think the community might be the most important part for me, but the environment at TU Delft is also great. I think it's very nice when you go outside and see flowers and tall grass and trees. The subjects are great. The extracurricular ways to develop yourself upgrades overall. Great place.

Do you have any tips for future students?

Sleep. Take care of your mental health. Fight imposter syndrome. Touch grass.

What are your plans for the future?

We have variants in our program and I did the data variant, but then turns out I don't like data as much as I thought, so I am reconsidering. So perhaps I will not go into machine learning after all.

Rūta Giedrytė

Computer Science