Kartikay's Blog

Research

There was a moment in my life when I thought all research was a scam. And I was one of the scam artists. I will try to not make it technical, so don’t worry if computer architecture research is not your field.

I was involved in computer architecture research in college. I was looking into increasing the efficiency of integrity checks for Non-Volatile Memories. This was done by making use of Bonsai Merkle Forest Topologies. Basically, the goal was to decrease the average height of the path in the topology that every read and write instruction hitting the main memory took.

I achieved this using some advanced tree shenanigans. But I did all this at the software level. Everything has a hardware cost, which I was not accounting for. So, I did what I did best; I got obsessed. I studied the memory access patterns that the memory controller was generating for my benchmarks, stripped down the code to the bare essentials, and thought about how things are translating to hardware. I considered how a smart compiler could cache things just right. I tested how good my compiler actually was and had the itch to just write my own (I realised smarter people have done this and I am better off using theirs).

After all the stripping down, I bottomed out against the fundamental problem of sorting certain values—something I couldn’t go around. No matter how smart I or my compiler was, I needed these values sorted, and sorting would cost me each time.

With this conclusion, I went to my guide, dejected. I told her about the hardware cost of sorting and how if we account for that, we might be doomed. That the best I can do now is actually write RTL and make the hardware gates to actually calculate the overhead and then wash my hands of this. Months of work wasted. She just laughed.

She showed me a research paper that had done something similar. They needed sorting but hadn't accounted for the overhead. They just reported it and went on their way. I was shocked. This was a top-tier journal. For a moment, I wondered if research was fake, an elaborate trick. Then my guide showed me another paper, one working in an adjacent hardware field and needing to keep the data sorted anyway. Then a third person who connected them both and made a new breakthrough.

This is what research is. You do the best you can. You report things with proper data. Honestly state the limits you come across. That’s it. You might think it’s not much, but it could be a solid foundation for a new breakthrough just around the corner.

Now that is cool!