The CASS of Joy - A Doctoral Fellow’s Perspective

15 minutes read

A note of caution before you start. This post is about my personal experiences in the CASS-2018 (Computer Architecture Summer School) organized in IITK during the first week of July, 2018. This post is really long and detailed, so you need have a lot of patience to complete it. Any type of feedback / comment / query is always welcome and the disqus comment section is the best space to go about it. Of course, you can do mail me or message me if needed. Typos/errors if found, please let me know. Let’s start.

The loaded first semester at IITH of my Ph.D., was just about to finish with only one exam pending. And, I received a mail from my guide (Sparsh sir), that there is this summer school happening in IITK with the link given to the CASS-2018 page. I quickly glanced through the page and saw who are the speakers, and how the program is structured. Although the program was not fully timetabled, but it gave me a thrill that I would get to listen to some of the really great computer scientists and professors of the country. This was it, I replied back to my guide that I would apply for this summer school and without making any delay I applied on the same day. I also booked train tickets for the event, since the availability is limited.

Almost one month passed and, I was eagerly waiting for the schedule to get updated and possibly receive the confirmation from the organizers. To my surprise, although one of my friends, who also applied from IITH got the confirmation but I did not. I was a bit sad, consolidated myself that it’s okay, never mind and better luck next time. I just informed my guide that I did not receive a confirmation and also queried Manu sir, if there was any technical glitch (if my application was actually received) and also requested to reconsider. The next day, I see my name was there on the list and I received the mail of confirmation too. I was again happy and excited to be there and eventually experienced the following.

Fast forward one more month and the journey started for this 5-day Computer Architecture Summer School (CASS) at IITK on 29th June, 2018. Just before a week of my travel I got a viral infection and suffered a lot from it (fever, dehydration and other issues). I was skeptical if I could really go there, but eventually my determination to go dominated and I started the journey. And I came to Kacheguda Station of Hyderabad at around 10 PM, the train was scheduled to depart at 11:20 PM, but was delayed by almost 3 hours, I just sat back at the station chatting with some friends over phone just not to go asleep. Finally, the train came at around 1 AM, and after the cleaning staff did their job, I boarded the train. I slept at around 3 AM, after the TTE finally verified my details.

The next day was to be spent completely on the train and eventually I did watch some episodes of Mr. Robot (TV Series), read some random articles and books, listened to some music on my iPad. The next morning, I was supposed to reach the Kanpur Central Station, however the train was delayed by almost 8 hours and I reached at around 10 AM at Kanpur instead of having an early morning arrival. I did book an “auto rickshaw” directly to the campus on Ola (other options were quite costly), however the auto was on the other side of the station and the driver said it would take 15-20 minutes to arrive and would charge extra money. And there was another auto guy looking for a customer and I did ask him, “Bhaiyya, kalyanpur jana hai, kitna lenge?” He told “Ola ka hi rate de dijiye”, I told “Hall 7 tak chaliyega”, he told “Ji Bilkul, aap jahan bole”. I cancelled the booking, boarded this auto and declared that Rs.200/- is the fare just to avoid any confusion.

Then in about an hour, I finally arrived at “Hall 7 of IITK” and was feeling a lot hungry, had some Parle-G biscuits (which I had in my backpack) after checking into the room. While getting the key at the Hall-7 office, I met two guys who eventually became my new friends in the CASS, that’s Bernard and Phrang (Frank) from NIT Meghalaya. I did have some small and quick talks and then got into the room and it was quite dusty, but I did not think much about it (later it was perfectly cleaned by the hostel staff). I just had a quick shower and went on to have the lunch, and surprisingly the lunch was really tasty with paneer, aloo and mix veg paratha, took one each and a bit of rice, dal etc… Had a hearty meal and then there was a time to meet with one of my friends, Shivesh from IITP, who is interning on theoretical computer science, we ended up having a fairly long chat in the room. Meanwhile, a delhiwala young dude knocked the door and asked, if we had any WiFi credentials. We did not have, he had to get disappointed but we got introduced to each other and this delhiwala young dude (Sarthak) was actually from Bulandshahr and he did react “Bhaiyya ji Namaskar” when he came to know that I am a Ph.D. fellow (this is probably one of the perks of being a Ph.D. fellow! :D). Later, Shivesh left and I took a fairly long sleep and the evening went just like that, had dinner and again it was time to sleep, since the train journey was a bit on the rougher side. The big day was about to arrive, to meet all these new faces, get some energy and start varieties of discussions.

It was Monday, 2nd of July, and me along with Sarthak and some other IIITD guys, joined in the RM-101 room of the elegant Rajeev Motwani building at around 8:45 AM, after having an early breakfast and a walk of 2 km (approx.) in a fairly humid morning. The day, started off with Biswa(sir)’s basic set of introductory statements, some stats on how lucky we were, motivation of this CASS-2018, and eventually the stage was handed over to Lavanya mam for the first technical session. It was a warm up session for many of us and eventually turned out to be a highly energetic one. She made sure that things were interactive and sort of informal, bypassing the complexities yet peeling off the abstractions. The way she encouraged the participants to speak up is something, I am very fond of, and would like to follow when I am on that side of the stage.

The basic thing any computer architect should know is, how to evaluate (count/calculate) performance of a system (because then you would realize the bottlenecks and eventually improve upon them) and this was what the discussion started off with. Then it was slowly taken into the processor-instruction model, how does a processor get to know, what to do? It is an instruction that makes the processor understand what exactly to do. But, how do we establish the language of putting these instructions up? That is where the instruction set architecture (ISA) kicks in and you formalize a language (the language is ISA) to communicate with the processor. Actually the abstract idea is that, any program gets translated to a byte/machine code (by compiler) and then the machine code into many CPU micro-instructions (via the ISA). Eventually, the need of an ISA, the core design principles to formulate an ISA, how an operand (data) is to be specified in an instruction (addressing modes), the potential applications and limitations of various existing types of ISAs, why is RISC-V important and many more details were beautifully established.

This was followed up with a small break of chai-samosa, it was nice seeing so many new faces, getting introduced to, listening to, putting questions to etc. I did talk to the two guys, Phrang and Bernard from NIT Meghalaya, a bit more, what they are planning to work on, how are the basic qualifier requirements (coursework, seminar etc.), what they have been researching/studying very recently and even the status of the proposed permanent campus and also discussed my situation and experiences at IITH so far. Then there was the session on caches and their organization by Biswa, this was less of a talk and more of an interrogative interaction, where most concepts were made self-taught by the candidates themselves. I have always been a big fan of interactive learning and the style of Biswa impressed me a lot, possibly when I get to teach someday, I would try to adapt his model. Then there was the lunch break, and we being in a group usually walked to and fro to Hall-7 every day. This used to consume some time, but we could have some extra chit-chats on the walk and also burn some calories. Some people used to use those Ola pedals (bicycles on rent via the Ola app) available in the campus.

Then it was followed up with a hands on session, where a small assignment related to exploiting spatial locality was given (use of tiling/blocking in addition and multiplication of matrices). The special thing about the assignment I observed was, the focus on learning rather than making you feel you are doing some rocket science. This was done mostly by giving most of the code prewritten and expecting only the logic part to be added and even explored/tinkered. This philosophy continued till the very last day, which possibly was a big component that made the learning so much better and enjoyable. I used to find people (including myself) wait eagerly for the hands on sessions. There was one more samosa-chai break in the evening too. Although later the samosa was changed to alternative items in the subsequent days (which many appreciated :D), but the short chai-pe-charcha used to make my brain get refreshed. The evening tea break, was followed up with another short introductory talk on the pipelining idea and then followed up with a doubt clearing session which was again a good thing, since learning speed varies from person to person, keeping some extra buffer helps many times.

At the end of day 1, I was pretty much exhausted and by the time I came back to the hostel room it was almost 7:30 pm and I was hungry too, so I just got refreshed a bit and then went for the dinner (again tasty dinner, I would post the menu here at the bottom, won’t bore you discussing the menu). There was still some time left to talk to my parents, (girl)friend(s) and check some updates on phone and eventually fall asleep. And, wait in dreams for the next day to arrive…!

This cycle of learning, eating, exploring, discussing and on… continued for the next 4 rocket fast days. By the time we were in the 5th Day, we all had known many faces, their interests, their plans and so on, helping us all in being tied in some bonds with at least few of our favorites. I could just go on writing in detail and there are 100s of magical moments, I can share and bore you…! So let me not….! But, there were a few great highlights that I must mention, before I end my blog.

On the second day, there were a couple of talks by Govind sir, and they were truly ultimate to me. I loved listening to each of his words and the way he had organized the content. That’s the experience aspect probably. But, undeniably all the talks in the entire CASS-2018 program were great, and making us learn things in a very structured and detailed way. The interaction with Biswa was ultimate, probably because we shared quite a lot of thoughts, a special language (Odia, our mother tongue), the district we are from and some more…! Arka sir’s talks on Paging and TLB, felt like the most organized one and the flow of content kept gradually growing on us, on the contrary Manu sir’s talk introduced the less formal and more interactive dimensions. I did learn some more about storage systems and and some characteristics of SSDs, and even had an offline discussion for some of my curious doubts and queries. On the fourth day, there were a couple of talks from Mainak sir, that were a bit new to me, so the learning was probably on the higher side in his lectures. His experience and expertise were reflecting in the way the content details were covered.

On the 5th Day, there was a panel discussion on research career, the prospects of research, why industry needs it, why people do it and so on. That was the best part of the entire CASS-2018 experience. When the talk started with “Why do research?”, there was an informal reply from Newton (bhaiyya) that “Agar hum research na karein, toh Intel aur AMD ka kya hoga???” ;) And, to a great extent this slight sarcasm is actually true, because even Kanishka and Anasua had admitted and credited that much of the academic research goes into products, but with a lot of further studies/evaluations. During the talk, I got some of my personal doubts also cleared and felt even more motivated. (spoiler: X = M or D) The comments from Govind sir about the XL community were hilarious, my interests do fall somewhere in the middle of XL and systems research though. The reality that the XL applications have become so popular and useful these days, traces back to the significant systems research in the last two decades or so. A huge credit goes to the super-computation power of the systems, that is nothing but a byproduct of the contributions of the systems community and Moore’s law. Of course, since Moore’s law has stalled, the go to people for computation enhancement are systems people. :D Anyway, coming back to the flow, the industry sessions appealed a lot to me, and I believe many found it thrilling. I did get to learn a lot from both Kanishka and Anasua during the talks and even had some personal queries get resolved offline. The grand dinner was something that would be remembered for many days, the delicious food, the great people, and the geeky discussions. There’s one thing that did play a big role in making this entire stay and learning great, and that was the arrangements in hostel, the food and the overall management of the event. I wholeheartedly congratulate and thank Biswa and the entire team for the successful coordination and the hassle-free experience we ended up having. We should also thank IITK, Intel and AMD for sponsoring this event.

I feel very lucky and motivated by having met these people, the spectrum of the people present was huge and that was one more reason why we had very dynamic involvement and mutual exchange of thoughts and ideas. There were youngsters who had just completed the first/second year of B.Tech and enthusiastically exploring and learning things and there were people who had 10+ years of experience and working in the industry with heavy dynamics, there were people who pursued academics out of love, and there were people who were going for the exposure and expanding knowledge. Meeting people like Newton, Arun, Anirudh, Samuel, Aditya, Swapnil, Harshit, Kaustav and many more, possibly brought me new ways of thinking, new perspectives on life, some guided me and I guided some. All in all, this has been one of the best experiences of my life so far.

Thank you for reading through my views and expressions, I hope you enjoyed it.

Some of you might feel, it was a bit unfair to stop the flow of details and conclude early. But, I think some details are better experienced than told. You may anyway click on the CASS-2018 - Slides and Videos link and find the detailed presentations and videos of the event. (will be uploaded soon, if some content is unavailable right now)

And, those who are still looking to start a career in computer systems, a summer school like CASS-2018 is a boon, I would highly recommend any systems enthusiast to attend the coming iterations of it. This is a big initiative by the entire CASS team, I hope it continues further in building this community stronger and larger with increasing motivation and passion every time.

Finally, here I leave you with some collages and pics, that beautifully portray some of the experiences depicted above.

Stay Curious and Take Care!

Leave a Comment