Duplexing of Coupling Facility (CF) structures in IBM Parallel Sysplex is a high-availability technique that keeps two synchronized copies of a CF structure so that the system can continue operating even if one CF or structure instance fails.
It is essentially:
A real-time replication mechanism for CF structures across two Coupling Facilities (or two instances) to eliminate single points of failure.
1. What is being duplexed?
A CF structure can be:
-
Lock structure
-
Cache structure
-
List structure
With duplexing enabled:
-
One structure is the primary
-
The other is the secondary (backup copy)
Both exist in separate CFs or separate CF logical instances.
2. Why duplexing is needed
Without duplexing:
-
CF failure = loss of structure state
-
leads to recovery delays or service interruption
With duplexing:
-
No loss of state
-
Instant failover capability
👉 Goal: continuous availability of sysplex services
3. Types of duplexing
A. Synchronous duplexing (full duplex)
-
Every update is written to both CF structures at the same time
-
Both copies stay identical in real time
✔ Highest consistency
❌ Slightly higher latency
B. Asynchronous duplexing (less common conceptually)
-
Primary CF is updated first
-
Secondary is updated shortly after
✔ Lower latency
❌ Small window of inconsistency (rarely used for critical structures)
4. How duplexing works (step-by-step)
Step 1: Request arrives
A z/OS system issues a CF operation:
-
lock request
-
cache update
-
list update
Step 2: Primary CF processes request
-
Primary CF executes the operation immediately
-
Updates its structure state
Step 3: Secondary CF replication
-
Same operation is sent to secondary CF
-
Secondary applies identical update
Step 4: Acknowledgment
-
Only after both CFs confirm (in synchronous mode)
-
Request completes back to system
5. What is actually kept in sync?
Depending on structure type:
Lock structures
-
Lock ownership state
-
Wait queues
-
Lock compatibility matrix
Cache structures
-
Data blocks
-
Directory entries (ownership/sharing state)
-
Valid/invalid flags
List structures
-
Queue entries
-
Order of elements
-
Head/tail pointers
6. Failure handling (key benefit)
If primary CF fails:
-
Secondary CF becomes active immediately
-
All systems switch transparently
-
No loss of structure state
👉 This is called CF structure recovery by takeover
7. Duplexing modes in practice
IBM Z supports:
A. User-managed duplexing
-
z/OS application or sysplex services control it
B. System-managed duplexing
-
CF automatically maintains synchronization
-
Preferred in modern systems
8. Performance trade-offs
| Factor | Impact |
|---|
| Availability | Very high |
| Latency | Slight increase (due to dual writes) |
| CPU overhead | Minimal but non-zero |
| Complexity | Hidden from applications |
9. Why duplexing is different from normal replication
Unlike database replication:
-
CF duplexing is synchronous and hardware-assisted
-
Happens at microsecond scale
-
Maintains exact structural state, not just data
👉 It is more like mirrored shared memory, not log-based replication.
10. Relationship to sysplex resilience
Duplexing works alongside:
-
XCF (communication + membership)
-
STP (time consistency)
-
CF lock/cache structures (shared state)
Together they ensure:
-
no single point of failure
-
continuous data availability
-
seamless workload continuity
11. Simple mental model
Think of CF duplexing as:
A real-time mirrored memory system where every structural update is instantly copied to a second Coupling Facility, allowing instant failover with zero loss of shared state.
Key takeaway
Duplexing of CF structures ensures:
-
Real-time replication of CF lock/cache/list structures
-
Synchronous consistency between two Coupling Facilities
-
Instant failover without losing shared system state
-
High availability for Parallel Sysplex workloads