Where's the Next 100x?

Beyond 2PL: rethinking concurrency

Two-Phase Locking is just one option in a sea of alternatives. The next 100× performance leap demands fundamentally different architectures. Non-locking systems, timestamp ordering, and micro-granularity approaches that defy traditional limits.


The Opportunity Space

In the real world, most schedules aren't conflict-serializable under 2PL. Yet, there are countless valid schedules we can safely execute.

Nested hierarchy: S2PL inside 2PL inside Conflict-Serializable inside Serializable

Each ring outside S2PL is untapped potential. Valid, safe schedules that today's S2PL-based databases refuse to run. The Serializable − CS ring and the CS − 2PL ring are both real schedules a smarter scheduler could safely admit.


Three Paths to the Next 100x

Micro-Locking: Surgical Precision

How it works:
• Fine-grained locks on specific data elements
• Lock only what you need
• Advanced deadlock detection algorithms
• Hierarchical locking for scalability

Performance: Maximum safe concurrency
Trade-off: Complex lock management overhead
Best for: High-contention concurrent systems

LSM-Tree Approach: No Locks Needed

How it works:
• Append-only writes to immutable structures
• No update-in-place operations
• Background compaction merges data
• Reads from multiple levels

Limits: Needs value to be mergeable (e.g., likes += 1)
Performance: Unlimited write throughput
Trade-off: Eventually consistent reads
Best for: Write-heavy workloads (logs, time-series, IoT)

Timestamp Ordering: Global Sequencing

How it works:
• Assign unique timestamps to all operations
• Execute operations in timestamp order
• Abort conflicts, not wait for locks
• Deterministic without coordination

Performance: No lock contention delays
Trade-off: May abort late operations
Best for: Distributed systems, global ordering needs


Choosing Your Path

For Analytics Workloads

Use LSM Trees or columnar stores. Append-only writes with background compaction eliminate lock contention entirely.

Examples: ClickHouse, BigQuery, Snowflake

For Distributed Systems

Use Timestamp Ordering with vector clocks. Global ordering without distributed locking protocols.

Examples: Spanner, Calvin, FaunaDB

For High-Value Transactions

Use Micro-Locking with sophisticated deadlock detection. Maximum concurrency with safety guarantees.

Examples: PostgreSQL, SQL Server, Oracle


Case Studies: Architecture at Scale

One line: When you see "high write throughput," "global coordination," or "fine-grained contention," think beyond 2PL to these architectural alternatives.

TikTok's Viral Video Storm

Problem: Video goes viral during Super Bowl halftime. 10M concurrent users like, comment, share, and follow the creator simultaneously. The single video entity becomes the hottest contention point in the system.

Approach: Micro-Locking.

Design: separate locks for like_count, comment_list, share_count, follower_count. Field-level locking instead of entity-level. Lock-free atomic counters for simple increments. Sophisticated deadlock detection.

Performance: 10M ops/sec on a single entity. 99.9% concurrency vs. 0.01% with entity locks.

Why: entity-level lock means 1 operation at a time. Field-level locks let 4 operations run in parallel. Atomic counters eliminate locks entirely for simple increments.

Spotify's Play Counter Chaos

Problem: Ed Sheeran's new song gets 10M plays in the first hour. Every play increments counters for total plays, daily plays, monthly plays, artist stats, genre stats, and playlist positions. Traditional locking creates massive contention bottlenecks.

Approach: LSM-Tree (no locks).

Design: append all play events to immutable SSTables. Background process aggregates counts. Real-time estimates from recent events. No write-write conflicts possible.

Performance: 500K writes/sec, 50ms lag for exact counts, unlimited throughput.

Why: 2PL would serialize all counter updates. 10M concurrent incrementers means 10M lock waits, versus append-only writes that never conflict.

AI Agent Collaboration Platform

Problem: 10,000 AI agents simultaneously update a shared knowledge graph for real-time research. Each agent reads facts, derives new knowledge, and writes back discoveries. Traditional 2PL creates deadlock storms between interdependent agents.

Approach: Timestamp Ordering.

Design: each agent gets a unique timestamp when starting an operation. All updates are applied in timestamp order. Conflicts are detected by comparing timestamps. Late agents abort and retry with a new timestamp.

Performance: 1M operations/sec, 5% abort rate, deterministic results.

Why: 2PL with 10K agents creates circular wait chains. Global timestamp ordering eliminates deadlocks. Conflicts resolve by the "first timestamp wins" rule.