My Bachelor's thesis journey at TUM
10 min read
In this post, I talk about the entire process of finding a thesis, the research, the writing, and the defense at TUM. I’ll try to pass on my lessons learned and maybe give you an idea of what to expect and how to prepare yourself for every step of the journey.
Summary of my Bachelor’s thesis:
- Topic: Lightweight low-latency virtual networking
- Faculty for informatics (computer science)
- Chair of Network Architectures and Services ( Website)
- Graded: 1.0 (best possible grade)
- Time allotted: about 30h / week for about 16-20 weeks
- Download: thesis.pdf - final_talk.pdf
Finding a topic (1-2 months)
Before finding a topic, I had to find out which topics of computer science interest me. I started to actively look for a thesis in January 2022. Since I was about to finish the iLab practical course, which taught me intermediate concepts of networking beyond the fundamentals lecture, of course, I looked for theses at the networking chair. Initially, I checked out the physical posters at my chairs exhibition area and found a couple of interesting posters about creating a virtual iLab. I reached out to the listed people but didn’t hear back in a long while. Later it turned out, that the posters were not updated since before COVID-19 and the advertised thesis was no longer available.
On the website of the chair, I found a couple of advertisements for theses that seemed up to date. Many of them were about topics I had a hard time placing - I barely knew any of the abbreviations mentioned. Intimidating! Two theses struck me: both of them were about SR-IOV and virtualization, which I had previously experienced with. I put together a small application letter of about 300 words. Please note, that this is just an example and you should work on a personal letter yourself.
Since I am one of the few students who are currently attending iLab1, and it is one of my
favorite courses in the computer science curriculum at TUM, I would like to apply for a
bachelor thesis at the networking chair. In particular, I saw the posting "Lightweight
low-latency virtual networking", which I am interested in.
Over the years, I dedicated some time to learning more about working with Linux
kernel-based operating systems. For example, regarding virtualization, I set up
PCI-passthrough for a GPU with KVM and spent hours reading documentation about topics such
as CPU pinning, static huge pages, and virtual network interfaces. In my small home lab, I
experimented with docker since containers appear to be less dependent on the system,
lightweight, and faster to spin up, which I find convenient.
While PCI-passthrough or my casual docker experiments might not be relevant for a thesis
concerning SR-IOV, it helped me to acquire a basic understanding of virtualization
solutions, which I would like to improve further. I believe the iLab helped me to develop
the right mindset for solving problems I initially only posse a rather general overview
of; I am interested in deepening my knowledge and curious to learn more.
Is this thesis still available for the upcoming summer term? Finally, I do not insist on
this particular topic or a particular language (de/en are both fine) to write the thesis
in; I am happy to pick up any opportunity to learn more about Linux, automation and
networking and - in the best case - work on something I am interested in. I would be happy
to receive a reply and - if the thesis is still available - to be taken into
consideration.
Promptly I was invited for a small interview, where I first talked about myself about 5-10 minutes, my previous knowledge and experiences at TUM and interests. Then my future advisor introduced the topic to me and gave me more information about technical details. It was a lot to take in and I probably didn’t remember more than 10%, but it sounded like something I could figure out.
Next, I took about 5 days to research the given details and figure out if I wanted to accept the thesis. After messaging them back, I was given another appointment to receive access to their infrastructure and information about the process. This appointment was scheduled to be on the 2nd of March.
Timeline:
- Initial talk - shortly before the official start
- Official start - 15th of the month
- Mid talk - after ~ 2 months of work
- Deadline - 15th of the month, 4 months after the start
- Final talk - weeks after the deadline
Putting together a proposal
After receiving all the details of the thesis and actual git projects, I started to formulate a small 2-page document detailing what my thesis would be doing - commonly known as the proposal. Since I was speaking English for years daily I decided that I would be writing the thesis in English. I filled out the required documents for the administration and set the official starting date to be the 15th of April (theses only start on the 15th at TUM). So I had plenty of time left to submit a proposal and discuss it with my professor.
From then on I had weekly virtual meetings scheduled with my advisors. During the proposal time, I would upload my document each week and they would comment on it during our meetings. This already clarified many questions I had and made it much clearer to me, what the goal of the thesis should be. I would say, the proposal is an integral part of the thesis especially for yourself to know what you are gonna get yourself into. Remember, you can decline a thesis within the first third without repercussions.
The initial talk with Prof. Carle happened towards the end of March and was extremely valuable to me. While I was scared shitless before, it turned out to be extremely relaxed and enriching. Prof. Carle remarked on a couple of details and advised what exactly I should focus on. Going back over my protocol of the meeting, he remarked upon details I was able to work out and put into my thesis. Valuable. Don’t underestimate the experience of a professor who has been doing research in the field for decades! They surely know where to poke to get valuable results.
The project period
Most of the work on the project is supposed to be done during this time. A thesis is considered to take 20 h per week, so you really should not slack and start with your research and implementation right away. Don’t underestimate the amount of time it takes to handle the measurement and evaluation part of your thesis. It’s often not trivial to test your prototype in a scientifically correct manner.
A word on the weekly meetings: Weekly meetings still happen, where I got to discuss problems with my advisors. You should always be prepared for such a meeting; don’t waste the precious time of your advisors. I always made a small document, where I quickly wrote what I did since the last meeting, problems I was facing, questions, and finally my plan for the upcoming week.
I enjoyed this part of the project. I got access to state-of-the-art hardware such as AMD EPYC 7551P and Intel X710 10 GbE with special time stamping capabilities. Really fun stuff!
During that time I was frequently working 11-12 hours a day, well into the night. It was probably the most intense part. It paid out: after just a couple of weeks I implemented a basic prototype. I thought I would take some quick measurements and be done; I could chill for the remaining time. Oh boy, was I wrong. It had barely started. Getting the measurement setup right was a task that would accompany me until the last weeks. There is so much complexity involved when it comes to timestamping packets; I recommend reading Chapter 6 of the thesis to get an impression of my final setup.
The mid talk
When the two-month period approached, we scheduled my mid-talk. I was supposed to prepare a couple of slides and talk for exactly 10 minutes about my topic, related work, my approach, and preliminary results. Luckily I was able to finish a basic testing setup to record and show off some latency measurements. Not every student gets to present results already at this stage, although it is desired.
I was told the mid-talk is not TUM specific, but an exclusive thing to the chair. It is supposed to give students the chance to have another discussion with the professor and maybe get nudged in another direction. The weeks before I prepared my slides and discussed them with my advisors. This time around, I was not as scared as for the initial talk. Regardless, I practiced my talk a whole bunch and had an interesting discussion with Prof. Carle.
Writing the thesis
Up until now, I had only worked on the project but not written a word of my thesis. The week after the mid-talk I started to put together a structure and work on the first sections. Meanwhile, I still had to fix up my measurement setup. Initially, I was extremely insecure about my structure and what to put into each section. I ended up moving around sections a lot in the process.
I was allowed to send in chapters to my advisors and they would correct them. In our weekly meeting, we would discuss my mistakes. This part was integral for me in learning about academic writing, the necessary formalities, and expectations. I already wrote down most of my mistakes in another post.
work. Lots of mistakes were spotted and corrected. Also, my advisor took a last look over In week 15 of the official handling time, I had my girlfriend and family proofread my the finished thesis. There is still one honest mistake in the PDF. Did you spot it? The next step was to get 3 printed versions of the thesis. One for the examination office, one for Prof. Carle, and one for my advisors. A firm in Munich, printy, offers such services. It cost me about 20 € per printout (70 pages, double-sided).
** Please make sure to consult your faculty’s formalities regarding cover and the next few pages. ** Also check the deadline and potential public holidays and calculate for traffic when handing it in. The drop-off point was only open for a couple of hours.
The defense / final talk
My final talk was scheduled for the 9th of September, so about 3 weeks after the deadline. I prepared my slides, got feedback on them in the weekly meetings, and even had a dress rehearsal with my advisor. He provided invaluable feedback so that I would not make (obvious) mistakes in my real final talk.
For my final talk, I was not terribly excited. I practiced my talk a couple of times before, but not too much. I was almost looking forward to presenting my exciting results and having a discussion with Prof. Carle. The talk went well; the professor seemed happy with the results and scope; I was able to answer all his questions. The final talk is a 20 minute presentation of my results and in addition to that about 5-15 minutes of questions or rather a discussion. If you put as much work into the thesis as I did, you should not need to prepare specifically for this part.
Key Takeaways
- start your work early
- be prepared for every meeting; it is part of your grade
- talk to your advisors! They are here to help you; they have supervised many theses; they (mostly) know how to avoid mistakes.
- avoid easy mistakes -> my list