Note for Prospective Students
Ideal Qualities for doing Research in Computer Architecture*
- Technical (T)
- T1. Good Programming Skills C/C++, Python, shell scripting (e.g. bash) so that you can hack (if not build) into architectural simulators, such as gem5 and multi2sim.
You can browse through simple simulators, such as ChampSim , Ramulator, .... to get a feel of what is required.
If you are good at programming then it does not mean that you will be able to do good research. However, if you are not good at programming, it will be really difficult to finish your research.
- T2. Software engineering/code management/debugging Skills
Creating make and patch files.
Version control systems, such as git.
File processing with sed and awk.
Debugging tools, such as gdb and valgrind.
- T3. Good background in Computer Systems
Digital Logic, Computer Architecture, and (optionally) Operating Systems.
For a good understanding, please refer these awesome books: Computer Architecture: A Quantitative Approach by Hennessy and Patterson and Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau .
You can also go through the following video lectures:
(i) First 22 lectures (if not all) of CMU 18-447, (ii) CS6810 from Utah, (iii) CS 422 from IITK (Skip the first two lectures as audio quality is not up to the standard), and (iv) CSL 373/633 from IITD
- Non-technical (NT)
- NT1. Passion
Passionate to learn about Computer Architecture and Systems. I expect you to learn new things and teach me and your peers regularly.
- NT2. Persistence & Perseverance (Grit)
You will fail more often in your research. Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. - Samuel Beckett
- NT3. 3H (Honesty, Hard work, and Humility)
Honest about what you do, how you do, and why you do.
- NT4. Thick Skin
Thick skin in details :)
- If you have NT qualities with good enough T1 ad T3 (willing to have better T qualities), then please contact (drop by my office if you are a student in IITK else just email me). Please go through how to email before emailing. Note that I do not expect you to have all these qualities (we live in a non-ideal world), but you need to convince me that you are passionate about it and can develop these qualities over time.