Ellis Michael

39 Followers
41 Following
29 Posts

Brett Saiki on our recent Herbie work with @pavpanchekha and team:
https://uwplse.org/2024/05/09/Herbie-Numerical-Compiler.html

We're rethinking Herbie to be target-platform-aware; i.e., for accuracy-aware codegen. Brett also overviews of Herbie's architecture and history. Thanks to DOE for the support!

UW PLSE | Herbie, the Numerical Compiler

In today's episode of finishing thesis revisions procrastination, I wrote up my thoughts on an important liveness (hyper-)property of distributed systems.

https://ellismichael.com/blog/2023/01/19/deadlock-freedom/

Deadlock Freedom: Beyond Liveness

@marcbrooker Interesting blog post! This reminds me of a problem I came up with about a year ago (but never got around to seriously thinking about).

Namely, in a geodistributed system with geodistributed clients, can erasure coding yield any benefits for the latency experienced by those clients in accessing some piece of data? Specifically, here, I'm neglecting the message handling cost entirely and only considering the network latency.

Here's the problem statement I came up with:

Given a graph G = (V, E), latencies for each edge l: E -> R+, an assignment of readers to nodes r: V -> N, d \in N data chunks, and a threshold t <= d, we want to find the optimal placement of these data chunks. That is, we want a function p: V -> N such that \sum_{v \in V} p(v) = d. The latency experienced by a reader at node v is the (maximum) latency between v and a set of nodes whose total weight under p is at least t (minimized across all such sets, of course). Optimal here could mean average (weighted by r) or worst-case etc.

The non-coded case is when t=1.

The question is, keeping G, l, r, and d/t constant (i.e., storing the same amount of data), can increasing t (and changing p accordingly) yield latency benefits under any of our definitions of optimality?

As a distributed systems researcher, I’d like to thank the House of Representatives for demonstrating that leader election protocols can’t be guaranteed to terminate.
I just posted my newest movie, which is about my 16-year project to run the length of every street in Pittsburgh ("Pac Tom"):
https://youtu.be/1c8i5SABqwU
How I ran the length of every street in Pittsburgh: PAC TOM

YouTube

@emichael I've never worked on the implementation of layout software, but I have some training in writing both types of notation, by hand and using software, and I've read with interest about the implementation challenges, so I'll try to point to a few things.

First, layout even of modern notation is highly complex. The word "engrave" is used for the process (e.g. in `gregorio --help`) because highly manual techniques like engraving on metal plates and photolithography from hand-stenciled 🧵

Further reinforcing my decision to never, ever buy a Tesla.

Recently, they decided to go back to a camera-only passive sensor package as well (which is insane).

Mistyped in the terminal and was suggested `gregorio`. Interesting. No man page, might as well just run the thing and see what happens.

$ gregorio --help
Usage: gregorio [OPTION]... [-s | INPUT_FILE]

Engrave Gregorian chant scores, convert a gabc file to GregorioTeX.

🤔