PORT (Performance-Optimal Read-Only Transaction)

PORT stands for Performance-Optimal Read-Only Transactions

If 14-SNOW Theorem asked:

How can we minimize the latency of a distributed read-only transaction?

PORT asks a broader question:

How close can a transactional read get to the overall performance of an ordinary, non-transactional read?

This includes both:

  • latency: how long one transaction takes
  • throughput: how many transactions the system can process per second

A performance-optimal read-only transaction must have the NOC Properties

However, the NOCS Theorem claims that NOC cannot be combined with strict serializability.

Why SNOW is not enough

SNOW defines latency-optimal properties of a read-only transaction. However, latency-optimal doesn’t necessarily mean throughput-optimal.

The SNOW Insight emphasizes the main optimzation principles as follows:

Move coordination overhead from reads to writes

This may ensure N + O properties, but the added work may cause more consumption of CPU time, network bandwidth, and memory, which leads to throughput reduction.

For example, a read might complete in one non-blocking round while writes send many additional background messages. The read has excellent latency, but the extra messages may reduce total system throughput.

Therefore, PORT studies all coordination work required to support transactional reads, not just messages visible on the read’s critical path.

Consequently, it intends to answer:

Can read-only transactions have the lowest latency, highest throughput, and strong consistency simultaneously?

NOC Properties: The Definition of Performance-Optimality

N: Non-blocking

Latency benefit

  • The transaction does not spend time waiting

Throughput benefit

  • Blocking can cause:
    • thread suspension
    • context switch
    • CPU underutilization
    • lock-management overhead

O: One-round communication

PORT’s definition of (O) is stronger and more throughput-aware than the simplified SNOW notion:

  • exactly one parallel round of on-path messages
  • no retries
  • no additional off-path messages

C: Constant metadata

Transactional reads use metadata to identify mutually consistent versions across shards.

Examples include:

  • timestamps;
  • transaction IDs;
  • dependency lists;
  • participating-server lists;
  • lists of concurrent transactions.

PORT requires the metadata processed for each read request to have constant size.

This consumes more:

  • CPU time for serialization and comparison;
  • network bandwidth;
  • memory;
  • cache capacity.

Performance-optimal definition

A read-only transaction is performance-optimal if it provides:

N + O + C

This is intended to make transactional reads perform as closely as possible to ordinary simple reads.

NOCS Theorem

NOCS Theorem: No read-only transaction algorithm can simultaneously be non-blocking, use only one round with no auxiliary messages, use constant metadata, and provide strict serializability.

This is the performance counterpart to the SNOW theorem.

Proof of NOCS Impossibility

Stable and unstable regions

System history is conceptually divided into two regions:

  • Stable region: contains sufficiently old writes whose ordering is completely resolved.
  • Unstable region: contains recent and concurrent operations whose relative ordering has not been fully established.
older history                newest activity
─────────────────────┬───────────────────────>
	stable region    │   unstable region
    order finalized  │   conflicts unresolved

Strict Serializability forces reads toward the unstable region

If write (W) completes before read (R) starts, then:

W < R

Therefore, R must see W, even if W is very recent.

The read cannot always choose a convenient old stable snapshot, because that could omit a write that completed before the read began.

This forces strictly serializable reads to interact with the unstable region.

NOCS versus SNOW

The two theorems answer related but different questions.

TheoremImpossible combinationMain concern
SNOW(S+N+O+W)Lowest read latency with strong transactions
NOCS(N+O+C+S)Best overall read performance with strict serializability
The important difference is:
  • SNOW includes (W), conflicting multi-object write transactions.
  • NOCS replaces (W) with (C), constant metadata.

Therefore NOCS establishes a stronger performance limitation:

Even if the database supports only simple writes—not distributed write transactions—strict serializability still cannot be combined with fully performance-optimal (NOC) reads.

It may be possible to have (N+O+S), but only by using metadata that grows with the system or workload.

NOCS is tight

Like SNOW, NOCS is tight: every combination of three properties is achievable.

The important new design target is:

N + O + C + strongest consistency possible below S

That target leads to PORT.

Design Space After PORT and SNOW

  • POS = process-ordered serializability;
  • S = strict serializability;
  • +W = support for conflicting transactional writes.