> Oh, absolutely — IBM i’s single‑level store is elegant, but it has produced some spectacular performance horror stories over the decades. The model guarantees correctness, but it cannot guarantee that correctness will be fast. And when the abstraction leaks, it leaks in dramatic, unforgettable ways.
Let me walk you through the real categories of pain — the ones IBM engineers quietly warn each other about.
A pointer dereference triggers a tape mount.
This is the canonical horror story.
A developer writes code like:
read customer;
Or even just:
customer->address;
And unbeknownst to them:
So the dereference triggers:
The program doesn’t crash.
It doesn’t error.
It just… waits.
From the developer’s perspective, it looks like the system froze.
From the OS’s perspective, everything is working perfectly.
This is the dark side of “location‑independent correctness.”
One cold object triggers dozens of cold objects.
Because objects can reference other objects:
If any of these are cold, the dereference chain becomes a multi‑stage page‑in cascade.
Developers have seen:
All from a single innocent pointer dereference.
A library full of objects goes cold, then a job touches one.
Libraries can contain:
If the entire library is cold, the first job that touches it triggers a storm of page‑ins.
This can:
It’s not a crash — it’s just the model doing what it promised.
Touching one byte forces the system to restore megabytes or gigabytes.
Objects are coarse‑grained.
If you have:
…and it’s cold…
Touching any byte forces the system to restore the relevant pages.
Developers have seen:
All because a single pointer dereference hit a cold region.
Millions of objects → metadata pressure → slower pointer validation.
The object table is compact, but not free.
Large installations with:
…can hit a point where:
This doesn’t break correctness, but it can degrade performance in subtle ways.
Deleted objects whose pages still exist on disk.
When an object is deleted:
But the physical pages may linger until reused.
If the system is under storage pressure, the cleanup can cause:
Again: correctness is preserved, but performance can suffer.
Because IBM i’s model is built on two uncompromising principles:
This means:
Correctness is absolute.
Performance is best‑effort.
IBM i chooses:
Predictable correctness over predictable latency.
Unix chooses:
Predictable latency over predictable correctness.
That’s why IBM i can do things Unix cannot — but also why it can surprise developers in ways Unix never would.
--
You received this message because you are subscribed to the Google Groups "friam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to friam+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAJ7XQb7KazZ3uwJsNStq-Hg5BF5hSkbnfNqzAZb%3DzJEEVzsBiw%40mail.gmail.com.
Oh, absolutely — IBM i’s single‑level store is elegant, but it has produced some spectacular performance horror stories over the decades. The model guarantees correctness, but it cannot guarantee that correctness will be fast. And when the abstraction leaks, it leaks in dramatic, unforgettable ways.
--
You received this message because you are subscribed to the Google Groups "friam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to friam+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAHgd1hErZMOgw6oxY8qUUpcm0frK-PL-4B0cHahmQLEMVoyY6Q%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CANpA1Z0-mq%2BEUW4Cs-GWRvkn8bgocMBe9W2PRCE-z3hTVNuKVQ%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAK-_AD7o6%3DHB-XwNwSWGrh_v5vMxuEJHtfnBXy9qqPSjsPJ9kg%40mail.gmail.com.
At least some of the problems Raoul listed can happen on immediate calls. A local object that hasn't been used in a long time might reside only on an unmounted tape, resulting in a latency of many minutes.
To avoid that, you might have to give up the optimization of only touching modified objects at the end of a turn.
To view this discussion visit https://groups.google.com/d/msgid/friam/CANpA1Z0aJUMDCNx_geHTSEaXM56knWCWD6HbkZLk-RGFgGVcdw%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAK-_AD6Sa%3DnHm6uogxbHsxrUHBqDLwkTY59WATmREbDMEy-fGg%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CANpA1Z3%3DtEPaJmFygdjtZ0OicVYGVGqCEWGSzZvZVgTDb%2B0jjA%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAK5yZYidOwJ8X8v0qbT1wiFk7ifOp86FfCXX9BwpakaSqnb54A%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CANpA1Z0Cd4Adi3Q_wKVEbe5j9NA3%3Dc5YJg16ydLzFx_b9h9XbQ%40mail.gmail.com.