One idea to avoid keeping all the flag tokens in memory is to populate them dynamically based on information known at request time. For instance, if the request is scoped to a user and application, we can fetch the flag tokens related to that user and application in request handler middleware. Slap an LRU cache on it, and the performance is pretty good.
This doesn't work as well if feature flags need to target based on tokens that aren't known at request time, since you can't always asynchronously fetch additional flag tokens from a synchronous context. But, you can provide a separate async API for these situations.
Author here. I ordered them based on time of publication, and evaluated them based on the contents of the paper. My summary wasn't meant to be a substitute for actually reading the papers either, the Borg paper states that it started out as a centralized scheduler and has evolved over time, and also that it's been in production for over a decade. Clearly, it predates Mesos and Omega.
I've heard varied things about the use of Omega in production. The Borg paper mentions that it runs 98% of machines at Google, but that number is apparently dated. One person said that Omega runs all the batch work, and is being rolled out further. However, I've also heard it's being phased out.
You have to be intrinsically motivated to succeed at getting a PhD, which normally means being strongly interested in your area of research. It's a lot of hard work; I wasn't kidding when I said I pulled three weeks of 16 hour days in a row (and that paper wasn't even accepted!).
If you've gotten an undergraduate and master's degree in computer science, you should already have a pretty good feel for the different areas. Choose the one you really want to immerse yourself in for reasons of pure interest, and pursue that one. Once you have the PhD, you can go on and do whatever you want afterwards. You don't have to stay in the same subarea as your thesis; lots of professors (my advisor included) have changed areas based on the times.
I'm no longer at Berkeley, but I'm sure there are any number of professors or grad students who'd be happy to talk to you. I'd talk to Armando Fox if you want to get into research, he works with a lot of undergrads. He also runs a website (Research Match? something like that) which lists projects looking for undergraduates.
The CSGSA also hosts an undergraduate "research mixer" which is a chill way of speed dating a bunch of projects.
This doesn't work as well if feature flags need to target based on tokens that aren't known at request time, since you can't always asynchronously fetch additional flag tokens from a synchronous context. But, you can provide a separate async API for these situations.