On Mon, Nov 14, 2022 at 3:33 PM Clem Cole <clemc(a)ccc.com> wrote:
On Mon, Nov 14, 2022 at 5:12 PM Paul Ruizendaal <pnr(a)planet.nl> wrote:
Following on from the exchange on TUHS about
DG-UX, it would seem to me
that the (Unix) unified cache was invented at least three times for Unix:
Not to quibble too much, but s/cache/memory/ I think is a fairer way of
saying that.
- John Reiser at AT&T
- At Sun
- At DG
- At CMU (Mach)
The interesting thing again, is that while they while all of these
implementations seem to have been technologically 'better' - only Mach
lived on from the original developers. And in the case of Mach, by the
time it was mainstream (macOS) the original implementation had been
replaced a few times - so while the concepts are there, I don't think much
of the Original CMU code is left in XNU/Darwin [or for that matter in the
OSF flavors -- Tru64 rewrote it but it died and the OSF/RI kernel never
went anywhere either].
Both FreeBSD and NetBSD re-wrote the vm layer. FreeBSD incrementally, and
NetBSD with a new uvm. At least for FreeBSD, this is when the buffer cache
was fully (or more fully?) unified because it wasn't quite complete in
4.4BSD as shipped IIRC (or maybe it was that it was really buggy, it's been
so long ago now that I've forgotten). Neither are, imho, as good as Sun's
in this respect, but both have been better tuned to scale better than
SunOS. IIRC from OS/MP days, the buffer cache lock contention started to
get bad around 8 or so CPUs (to be fair: SunOS was never MP, these were
Solbourne's locking modifications that weren't super-fine grained).
As I said, the lesson to TUHS -- as much as I'm a
techie and I am
interested in the 'proper' way of doing things ... "good enough" is
often
what rules.
Good enough, and a little more polish to make it even better :)
It's too bad none of the good memory
implementations made it into
>systems<< that lasted.ᐧ
Yea...
Warner