Computer Architecture Summer School (CASS) 2018, IIT Kanpur

If you’re reading this, you might be looking for information about computer architecture or you followed some link that led you to this post. This short blog is about my experience attending the first Computer Architecture Summer School (CASS) 2018, organised by top researchers and architects at IIT Kanpur. Listening to their lectures and talking to them personally gives you a feel for the state of the art — what can be done, what cannot, and what it really means to pull up our socks and pursue research in computer systems. It ignites our minds with ideas and the striving for excellence. Coming from the northeastern region of India, I felt lucky and grateful to the organisers for selecting me to participate in CASS 2018.
I applied for the school and informed my friend Phrangboklang Thangkhiew (Phrang), who applied subsequently. We booked our train tickets and reached Kanpur on July 1st, Sunday at noon. We were expecting temperatures close to 40 °C, but Kanpur welcomed us with pleasant weather and a little rainfall. From Kanpur Central Station we made our way to IIT Kanpur. I was allocated Room 313 at Hall-VII. Phrang and I went straight to the mess for lunch — what surprised me was the cost of juice, just ₹12, which would easily cost ₹80 or more back in Shillong. That first day we walked from Hall-VII to the Rajeev Motwani Building (about 1.5 km) where the summer school was held.

Lavanya delivered a tutorial on performance metrics, moved on to ISA, and finally introduced us to RISC-V. Biswa walked us through the memory hierarchy. I really enjoyed Biswa’s teaching style — he kept asking question after question before giving the answer. This was great: it forced us to think and use our neurons, rather than being spoon-fed information we could never apply. Thanks, Biswa — I’ll apply your style if I secure a teaching position.
In one of the discussions, a question was raised on how to read a research paper. Mainak offered another angle: while reading a paper, before reading the solution, first think about what your own solution would be — another way to exercise the brain. The teaching assistants were great: Nayan (follow the link, his blog is interesting) and Sudhanshu — really an amazing experience with you folks.
On Day 2, Manu had us explore out-of-order pipelines and the components needed to make the pipeline OOO. The assignment was great — we pulled the ChampSim simulator and ran it on our laptops, tweaking it. It was a great pleasure to meet Arka, co-author of the gem5 simulator. Discussing with Arka really helped, giving exact direction on what can and cannot be done. The hands-on session was amazing, and Sudhanshu helped figure out the GPU bug in the Day 4 assignment — I was amazed by his skill at locating it so quickly.
Day 3: Arka introduced us to virtual memory concepts and how they interact with the OS. Govind gave an in-depth discussion on DRAM organisation. We were convinced that DRAM was the main component degrading throughput due to both the memory and bandwidth wall. The TLB hands-on session was an eye-opener on how we can control the page size in real systems.
Day 4: Mainak discussed shared-memory architecture and issues relating to the memory consistency model. We were excited about the industry talk, where Anasua presented on AMD’s Ryzen processor design and architecture.

We were moved by the amount of work AMD has been doing over the years and its ability to capture the market and compete with Intel. On the last day the hands-on session was amazing — it was my first time programming for a GPU system. Kanishka showed us how industry (in particular AMD) was doing performance analysis. He pinpointed why trace-driven simulation won’t work for real performance analysis and directed us on how to approach it — one example being event-driven simulation to capture server workloads where the dynamics of the system change. Kanishka’s personal life was itself a great motivation: don’t give up. Finally, there was a panel discussion that gave us direction on where to publish a research paper in top-tier conferences and journals. The following picture shows the list from the panel.


Thanks to Moumita Das for informing us about the course, and to Biswa and the organisers for selecting me to be one of the students at the 1st CASS 2018 at IIT Kanpur.