Alex2

Github | alexalex@mit.edu | Resume

Hello There! I’m a PhD student at MIT working with Professor Daniel Sanchez.

Some of my current interests include podcasts, tinkering with Linux, and, yes, Taylor Swift.

Research

I want to do research in computer architecture where I apply techniques from classical algorithms and data structures. I’m not yet quite sure what this entails, but it will probably have something to do with accelerators, compilers, and/or hardware-software co-design. Ideally, I would be able to focus on maximizing efficiency, free from the limitations of existing architectures.

During my undergrad, I collaborated closely with Nikola Samardzic on accelerating Fully Homomorphic Encryption—encryption that allows running programs on secret data without decrypting it.

CraterLake
CraterLake: A Hardware Accelerator for Efficient Unbounded Computation on Encrypted Data
Nikola Samardzic, Axel Feldmann, Aleksandar Krastev, Nathan Manohar, Nicholas Genise, Srinivas Devadas, Karim Eldefrawy, Chris Peikert, Daniel Sanchez

CraterLake is the state-of-the-art hardware accelerator for FHE, providing speedups of 5,000× over CPU on a broad range of applications. Building upon F1’s functional units, CraterLake introduces a novel architecture that significantly reduces on- and off-chip data movement.

I came up with the way computation is distributed across the chip (Sec. 4), designed the on-chip network (Sec. 5.3), and designed the KeySwitch hint generator (Sec. 5.2).

F1
F1: A Fast and Programmable Accelerator for Fully Homomorphic Encryption
Axel Feldmann*, Nikola Samardzic*, Aleksandar Krastev, Srini Devadas, Ron Dreslinski, Christopher Peikert, Daniel Sanchez

F1 was our initial proposal for an FHE accelerator. F1 proposes novel high-throughput FHE functional units, but suffers from excessive on-chip data movement that prevents it from scaling to large FHE application. As a result, F1 is about 5,000× faster than a CPU on small applications (similar to CraterLake), but only 400× faster on large ones (11× slower than CraterLake).

I designed the first SRAM-only, fully-pipelined transpose unit (Sec. 5.1), which is a crucial component of F1’s novel FFT and automorphism units.

Side Projects

Nitwit

A programming language that uses prefix notation for amusement purposes: for example, a = (b + c) * d looks like = a * + b c d. Nitwit is imperative, strongly typed, and uses reference-counting garbage collection. The Nitwit compiler produces C code, which can then be compiled to an executable.

Retroactive Priority Queue

A priority queue that supports adding and removing updates (insert and delete_min) on past versions of the data structure. Retroactivity differs from persistence in that the effects of changing past operations propagate to the present (think, Back to the Future). I implemented the data structure proposed by Demaine, Iacono, and Langerman, which performs all operations in logarithmic time.

Stealth

A top-down 2D game where you collect coins while avoiding guards on patrol. The area each guard sees (their visibility polygon) is computed in O(n log n).

Gemini

A two-player platformer where players cooperatively solve puzzles made out of logic gates. Provides real-time multiplier using WebSockets.

vali.li

In Bulgarian, “Vali li?” means “Is it raining?” This website has the answer!

Classes I've Taken

Advanced Computer Science
# Name Term
6.5120 [6.822] Formal Reasoning About Programs Spring 2023
6.1810 [6.039] Operating System Engineering Fall 2022
6.S983 [6.888] Secure Hardware Design Spring 2022
6.5900 [6.823] Computer System Architecture Spring 2021
6.5840 [6.824] Distributed Systems Spring 2021
6.5230 [6.851] Advanced Data Structures Spring 2021
6.5400 [6.840] Theory of Computation Fall 2020
6.5350 [6.890] Matrix Multiplication and Graph Algorithms Spring 2020
Base Computer Science
# Name Term
6.1810 [6.033] Computer Systems Engineering Spring 2022
6.UAR Seminar in Undergraduate Advanced Research Fall 2021
Spring 2022
6.2000 [6.002] Circuits and Electronics Fall 2021
6.3400 [6.02] Introduction to EECS via Communication Networks Fall 2021
6.1020 [6.031] Elements of Software Construction Fall 2020
6.1010 [6.009] Fundamentals of Programming Spring 2020
6.1910 [6.004] Computational Structures Fall 2019
6.3900 [6.036] Introduction to Machine Learning Fall 2019
6.100A [6.0001] Introduction to Computer Science ASE
Humanities, Arts, and Social Sciences
# Name Term
21M.301 Harmony and Counterpoint I Fall 2023
21M.051 Fundamentals of Music Spring 2022
24.211 Theory of Knowledge Fall 2021
24.118 Paradox and Infinity Spring 2021
21M.600 Introduction to Acting Spring 2021
14.02 Principles of Macroeconomics Fall 2020
14.01 Principles of Microeconomics Spring 2020
24.900 Introduction to Linguistics Spring 2020
24.00 Problems in Philosophy Fall 2019
Math and Science
# Name Term
18.703 Modern Algebra Spring 2023
7.012 Introductory Biology Fall 2020
18.600 Probability and Random Variables Spring 2020
3.091 Introduction to Solid-State Chemistry Fall 2019
18.01 Single Variable Calculus ASE
18.02 Multi Variable Calculus ASE
18.03 Differential Equations ASE
8.01 Classical Mechanics ASE
8.02 Electricity and Magnetism ASE