3 ms·
Location: Seattle area Remote: Yes Willing to relocate: No Technologies: C/C++, Python, Java, SQL, Linux, DB engines, systems programming Résumé/CV: https:/
by senderista 5y ago
Location: Seattle area
Remote: Yes
Willing to relocate: No
Technologies: C/C++, Python, Java, SQL, Linux, DB engines, systems programming
Résumé/CV: https://www.linkedin.com/in/tobinbaker/ https://www.linkedin.com/in/tobinbaker/, https://github.com/senderista/ https://github.com/senderista/
Email: tobin.d.baker@gmail.com
I've been working for the last 2 years on an in-memory MVCC DB engine in C++, built from scratch. The engine incorporates several innovative design features, including some I've invented myself. It has completely nonblocking transaction open and commit, incremental and concurrent GC, and direct shared-memory access to data from client processes with zero-copy reads. All critical paths are lock-free and some are wait-free (e.g., transaction validation). Performance is a work in progress but currently scales up to 50K TPS at 8-16 threads, and plateaus at around 25K TPS even after full CPU oversubscription (128 threads on 64 cores), thanks to the lock-free design.
Before starting this project, I worked on a distributed analytical database, supporting multiple scientific users:
https://myria.cs.washington.edu/ https://myria.cs.washington.edu/
https://github.com/uwescience/myria https://github.com/uwescience/myria
https://homes.cs.washington.edu/~magda/papers/wang-cidr17.pdf https://homes.cs.washington.edu/~magda/papers/wang-cidr17.pd...
I'm most interested in developing high-performance database engines in low-level languages, but open to any challenging systems programming project. I've been working in C++ for the last 2 years, but have written nontrivial projects in Rust and Java as well (e.g., https://github.com/senderista/rotated-array-set https://github.com/senderista/rotated-array-set, https://github.com/senderista/hashtable-benchmarks https://github.com/senderista/hashtable-benchmarks). I would enjoy using Rust or Zig on a new project, but I consider the project itself to be much more important than the language it's written in. I am not interested in cryptocurrency, adtech, or fintech projects.