David Goldblatt Profile
David Goldblatt

@davidtgoldblatt

Followers
1K
Following
1K
Media
77
Statuses
974

Low-level perf stuff mostly. At various points, I've done llvm, wg14/wg21/sg1, jemalloc, thrift, folly. @[email protected]

Joined October 2015
Don't wanna be here? Send us removal request.
@davidtgoldblatt
David Goldblatt
4 years
BTW: So long as this is my pinned tweet, I'm happy to chat via DM about introductory systems-y things (like compilers, OSs, language runtimes, concurrency, etc.) or early-career stuff at BigCos in those kind of tracks. No obligation to know me IRL or on here or anything.
1
2
55
@davidtgoldblatt
David Goldblatt
3 days
Anyone have any recommendations for a GPU version of Shen and Lipasti's "Modern Processor Design"? I'm ~90% certain such a thing doesn't exist. Maybe the closest approximation is the Synthesis Lectures "General-Purpose Graphics Processor Architectures"?.
1
0
10
@davidtgoldblatt
David Goldblatt
5 days
Just had a Zoom call with a solar contractor and 5 minutes in he was like "Look, I'll be straight with you: we're booked through the end of the year, so you're not gonna go with us." And so we spent the rest of the call talking about how to pick one of his competitors.
0
0
1
@davidtgoldblatt
David Goldblatt
7 days
I think my answer is physics -- the min fixed cost is big for disk and small for RAM, and transactional-ish strategies impose per-access penalties. So if you assume that the average transaction is small, fixed costs dominate for disk and per-access costs dominate for RAM.
0
0
3
@davidtgoldblatt
David Goldblatt
7 days
To ponder: transactional interfaces have ~won for persistent storage (if you're unopinionated, you'll get a SQL database by default), but ~lost for transient storage (i.e. RAM). Why?.- Physics (i.e. one medium is better for one strategy).- Norms.- Research investment.- Other?.
3
0
4
@davidtgoldblatt
David Goldblatt
13 days
I feel like every day I see some post that's like "LLMs can now do research-level mathematics", and then I try to ask it to do something I'd expect to be solvable by like a competent "intro to OS"-level student and it just falls over.
1
0
5
@davidtgoldblatt
David Goldblatt
13 days
Has anybody done a writeup on using AI tooling for low-level/systems-y stuff? I'm having much more trouble getting reasonable C code out of it in a perf-sensitive domain than I think is common for e.g. more business-logic-y things.
5
0
6
@davidtgoldblatt
David Goldblatt
21 days
Highly recommend it btw for any Bay Area people -- Dandelion Chocolate, in SF.
1
0
3
@davidtgoldblatt
David Goldblatt
21 days
Wife and I finally got around to going to the makeup chocolate-making class that we had originally scheduled for April 2020.
1
0
2
@davidtgoldblatt
David Goldblatt
23 days
I bet the Jeremy Renner app would have been popping off about this.
0
0
0
@davidtgoldblatt
David Goldblatt
23 days
I wish there were some website I could go to that would feed me constant updates, riffs, etc., on my favorite topic: the details of the infidelities of B2B SAAS executives.
1
0
3
@davidtgoldblatt
David Goldblatt
25 days
Remembering when Steve Ballmer gave a talk at my college a little while after Vista came out and in answering a question he was like "To a first approximation, Microsoft will live or die by the quality of the last Windows release. <pause> I mean, the last two Windows releases.".
0
0
2
@davidtgoldblatt
David Goldblatt
1 month
(I would love to find out I'm wrong about this and there's some good strategy that avoids all these issues).
1
0
0
@davidtgoldblatt
David Goldblatt
1 month
Today the choice is between "one big commit per feature" which is hard to review, "lots of small commits" which hurts reading history and obscures motivation, and "keep this info in some out-of-tree review system", which means you always need to look in two places for context.
2
0
0
@davidtgoldblatt
David Goldblatt
1 month
A workflow I wish git supported better was subdividing commits into subgroups without losing linear history. I.e. "in this chunk of 5 commits, we're accomplishing X high-level task", and then each commit in that chunk could be as small as feasible.
2
0
1
@davidtgoldblatt
David Goldblatt
1 month
(Norman Rockwell Four Freedoms guy): We should upzone Sunnyvale.
@himbopresident
Himbo President 🇵🇸
1 month
it really shouldn't be necessary to upzone Sunnyvale or whatever, Linkedin should be headquartered in a skyscraper.
1
0
3
@davidtgoldblatt
David Goldblatt
1 month
becomes almost trivial to implement if we assume that both processes periodically call a quiesce() function -- just pass off ownership in sequence. (2/2).
0
0
0
@davidtgoldblatt
David Goldblatt
1 month
My answer: the hardware has a laxer API, in that it has weaker liveness requirements (if it sets a signal in the shared state, it "knows" that whoevers listening on the other side will acknowledge and respond to that signal). By comparison, software mutual exclusion (1/?).
@davidtgoldblatt
David Goldblatt
1 month
A similar puzzle in memory models: Peterson's algorithm implements two-process flicker-free mutual exclusion of writes to shared state, but it's implemented on hardware units communicating via shared state (voltages on wires) that don't natively provide that abstraction. How?.
1
0
1
@davidtgoldblatt
David Goldblatt
1 month
(It relies fundamentally on the guarantee provided by the coherence implementation that there's one winner on writes to the turn variable, which more or less reduces to solving mutual exclusion; it just happens at the level of the coherence protocol).
1
0
0
@davidtgoldblatt
David Goldblatt
1 month
A similar puzzle in memory models: Peterson's algorithm implements two-process flicker-free mutual exclusion of writes to shared state, but it's implemented on hardware units communicating via shared state (voltages on wires) that don't natively provide that abstraction. How?.
@shachaf
shachaf
2 years
Puzzle: Why don't distributed transaction protocols solve the two-generals problem?.
1
1
6
@davidtgoldblatt
David Goldblatt
1 month
Anyone know of any experimental data on:.- (For GC'd languages) Gap between last access of an object and the time it becomes unreachable.- (For manual-MM languages) Gap between last access and the time it becomes free.?.
0
0
2