Many of the possible project below involve SigmaOS, because that
is what I am thinking about, but it is not a requirement to use
SigmaOS (or use any suggestion from the list). Some of the
suggestions can probably be morphed into a SigmaOS-independent
direction. Most of the suggestions below are not well-defined
projects; they are a starting point for brainstorming.
- Paper focused:
- Take any from the papers and implement it yourself, or
measure/extend the authors' implementation in interesting
ways.
- Application focused:
- build/port Ray-like system to SigmaOS
- build a gg-like system for SigmaOS
- implement ExoFlow in SigmaOS's MapReduce library
- Infrastructure focused:
- implement WASM-based procs
- support Python in SigmaOS
- support many named's backed by one (or more) etcd's
- use image-less containers to speed up Kubernetes
- make SigmaOS run across clouds
- make a vector-db cache
- migrate procs
- Fault-tolerance focused:
- extend kvd's replicated state-machine library with blocking ops
- make kvd store its state persistently
- chain replicate kvd shards instead of using etcd's RAFT
- make state of microservices fault tolerant
- Security focused:
- fuzz the proc-container interface
- make a proc escape its realm in an interesting way
- avoid running docker service as root
- Utilization/performance focused:
- Measure/study cgroup-based performance isolation
- Measure/study Kubernetes controler and make it faster
- Explore using swapping for BE and LC procs to share memory
- Make kvd elastic with load changes
- Use bidding/spot market for realms
- Hardware focused:
- Use RDMA to speed up, for example, non-linearizable reads
in etcd
- Allow procs to use GPUs