Affinity: A Concurrent Programming System for Multicomputers

Steele

Category: Concurrent Computing

Overall Rating

2.3/5 (16/35 pts)

Score Breakdown

  • Cross Disciplinary Applicability: 4/10
  • Latent Novelty Potential: 5/10
  • Obscurity Advantage: 4/5
  • Technical Timeliness: 3/10

Synthesized Summary

Affinity presents an interesting academic exploration of data-driven concurrency via atomic actions, triggers, and relaxed consistency, representing a path explored in the DSM era.

While its specific model is novel in its combination of features, its practical limitations regarding debugging complexity, performance unpredictability under contention, and the field's shift towards more explicit and robust distributed system models make it unlikely to offer a unique, actionable path for impactful modern research compared to established paradigms.

It is primarily a historical artifact demonstrating a less-favored approach to distributed programming.

Optimist's View

Affinity introduces a distinct programming model based on reactive, data-driven "actions" operating atomically on shared "data blocks," scheduled implicitly via "triggers" set on data dependencies.

Affinity's implicit coordination via data state changes and system-managed conflict resolution (abort/retry) offers a different angle on simplifying distributed programming complexity...

The core concepts of Affinity – data-driven computation, atomic state updates, and implicit dependency tracking – are highly abstract and can be applied across various domains dealing with distributed state and concurrent events.

Modern cloud infrastructure... could provide a much more powerful and portable foundation for implementing the Affinity model in software.

Skeptic's View

Affinity's core assumption rests on providing shared-memory semantics over distributed-memory hardware, a paradigm explored heavily in the Distributed Shared Memory (DSM) research of the late 80s and early 90s...

Affinity likely faded due to a combination of factors: Niche Hardware Coupling... Complexity of Reasoning about Relaxed Coherence... Lack of Overwhelming Practical Advantage... Limited Ecosystem.

Relaxed Read-Set Incoherence is a Fundamentally Difficult Model...

Performance Unpredictability via Optimistic Execution and Abortion...

Final Takeaway / Relevance

Ignore