-
Notifications
You must be signed in to change notification settings - Fork 59
Dev Roadmap Milestones
jhellerstein edited this page Dec 14, 2011
·
2 revisions
Lead: Srinivasan
-
Completion of Bud v0.1.0. Target: SW release 2/1
- current push-based implementation cleaned up, including docs, sandbox and benchmarks.
- address NTT benchmark concerns
- Note: I had originally thought that I'd optimize the current design, but I think it must be done in the new setting.
-
Design/prototype of new architecture for Bloom 1.0. Target: SW release 6/1
- Restructured Bloom language as a standalone piece, not a DSL embedded in a host language. Will still follow Ruby conciseness.
- Typed schemas for primitives, but "Object" type allowed. Explicit casting will of course have to be allowed.
- type and monotonicity annotations for external and built-in functions
- expression language.
- better module composition.
- multi-language target design, with well-defined Bloom-level keywords/functions and host-language access to collections.
- first prototype target to Scala, just so that I am not spending inordinate amounts of time with two different language environments.
- concentration on getting the design of Joins correct and performant
- compiler written in Java/Scala.
- rigorous performance goals and testing
- Restructured Bloom language as a standalone piece, not a DSL embedded in a host language. Will still follow Ruby conciseness.
-
Second language target for Bloom 1.1. Target: SW release 11/1
- Javascript backend, including the equivalent of the sandbox bundled as a package.
- One option is to have someone from IIT here do an internship and add stuff to the package.
Lead: Alvaro. Target: SW release and research paper, 3/1
-
Visual debugger
- visual dataflow diagrams with monotonicity analysis (points of order)
- visualization of trace-driven flow weights to drive program variants
- visual timestep debugging
-
Code synthesis
- augmentation of programs with customized coordination logic for points of order that minimizes the participants in the coordination
- augmentation fo programs with taint-tracking logic and optional "boundary memory" for flows lacking CALM coordination
-
Case study
- configurable-consistency key-value store or an HDFS-style filesystem
Lead: Alvaro. Target: SW Release 2/1
Replaces bud sandbox with tested, documented suite of core distributed systems libraries. Building off work done in the Fall 2011 Program the Cloud course.
- delivery protocols
- best-effort
- reliable
- ordered
- reordered
- drop-inducing
- membership
- multicast
- alarms
- heartbeats
- counters
- queues
- voting
- vector clocks
- leader election
- consensus protocols
- 2-phase commit
- multipaxos
- concurrency protocols
- 2-phase locking
- timestamp
- read-write quora with session guarantees
- read-your-writes
- monotonic reads
- majority
Lead: Conway. Target: SW code freeze and research paper, 2/1.
- Language and runtime
- Bud extensions to support arbitrary lattices and morphisms between them
- Suite of core lattice types including Sets, MaxInts, BooleanLattices and Vectors
- morphisms between key lattice types
- CALM analysis via lattices
- overcome specific roadblocks in logic-based CALM analysis
- aggregate threshhold logic
- shopping carts example
- revisit Bloom Core with lattices
- simplify, analyze, optimize
Lead: Marczak. Target: unknown
Experimental runtime for lattice-enabled Bloom using rich Haskell type system and lazy evaluation.