feat: add thesis journey
This commit is contained in:
parent
85c35af402
commit
be7bebe923
3 changed files with 205 additions and 0 deletions
205
src/routes/blog/tumthesis/+page.md
Normal file
205
src/routes/blog/tumthesis/+page.md
Normal file
|
|
@ -0,0 +1,205 @@
|
||||||
|
---
|
||||||
|
created: '2022-09-29'
|
||||||
|
title: "My Bachelor's thesis journey at TUM"
|
||||||
|
description: ''
|
||||||
|
keywords:
|
||||||
|
- thesis
|
||||||
|
- latex
|
||||||
|
- figures
|
||||||
|
- spellchecking
|
||||||
|
- academic writing
|
||||||
|
- journey
|
||||||
|
hidden: false
|
||||||
|
---
|
||||||
|
|
||||||
|
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](https://www.net.in.tum.de/homepage/))
|
||||||
|
- Graded: 1.0 (best possible grade)
|
||||||
|
- Time allotted: about 30h / week for about 16-20 weeks
|
||||||
|
- Download: [thesis.pdf](/files/thesis.pdf) - [final_talk.pdf](/files/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](https://ilab.net.in.tum.de/) 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](/blog/writingathesis).
|
||||||
|
|
||||||
|
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](/blog/writingathesis)
|
||||||
BIN
static/files/final_talk.pdf
Normal file
BIN
static/files/final_talk.pdf
Normal file
Binary file not shown.
BIN
static/files/thesis.pdf
Normal file
BIN
static/files/thesis.pdf
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue