diff --git a/src/routes/blog/tumthesis/+page.md b/src/routes/blog/tumthesis/+page.md new file mode 100644 index 0000000..b347389 --- /dev/null +++ b/src/routes/blog/tumthesis/+page.md @@ -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) diff --git a/static/files/final_talk.pdf b/static/files/final_talk.pdf new file mode 100644 index 0000000..f98bc71 Binary files /dev/null and b/static/files/final_talk.pdf differ diff --git a/static/files/thesis.pdf b/static/files/thesis.pdf new file mode 100644 index 0000000..ff2b012 Binary files /dev/null and b/static/files/thesis.pdf differ