Amod Malviya

@amodm

Boundary Conditions: Reviewing mental models of hardware & software

Submitted Sep 14, 2024

Description

All of us have some mental models around the hardware & software we use, e.g. “stack is faster, heap is slower”. Most of these rules/models have a good reason behind them - simplified abstractions allow us to think at a higher plane without being distracted by low level details.

However, sometimes this can lead to ignorance about the reasoning behind these rules, and/or writing inefficient code leading to bloated costs & poor user experience.

In this talk, we review some such models by showing some code, making predictions about its behaviour, observing the actual behaviour, and then explaining the delta (usually in terms of computer architecture). You can thus also think about this talk as Computer Architecture via Code.

The talk is designed to be participatory in nature, with predictions and explanations being put out by members of the audience, with the speaker mostly being a catalyst for these conversations.

Areas that we’ll end up touching upon (subject to change):

  1. Memory
  2. CPU architecture - branch prediction, pipelining etc.
  3. CPU vs GPU

Please note that the talk is not expository in nature, though there will be some explanations. It is instead designed to provoke members of the audience to pursue further study offline.

Target Audience & Prerequisites

The talk targets to be relevant for both early career folks & experienced ones.

As the talk is designed to be participatory in nature, if you’re familiar with low level systems, you can choose to help me & the group with explanations. If you don’t have such a background, you can focus on applying your current mental models & basic reasoning.

In terms of pre-requisites, a basic exposure to CPU architecture would help. You might find this playlist on DRAM architecture to be quite informative. If you time to spare, and can tolerate poor audio quality, feel free to go through a few lectures I’ve conducted on CPU Architecture and GPU Architecture.

If you attended the fantastic talks by Vivek & Simrat at BlrSys #1, and were able to follow along, you should be well set. But if you didn’t, that’s ok too, we’ll try to be as inclusive as possible, plus this talk is designed to provoke further study anyway.

Speaker Intro

Amod is an engineer, entrepreneur & investor. He’s a co-founder of Udaan, was the CTO of Flipkart prior to that, and has been in a variety of different tech sectors.

His 22yrs in the industry spans high level & low level things, and he’s a strong proponent of the idea that systems thinking is meant for not just the low level stuff, but provides a toolkit to reason about at all levels of software & product, even extending to things outside of it.

He loves creating puzzles around technology, some of which you can read up on his blog.

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

Bengaluru Systems Meetup