Post by IanDThey are interactive sessions which often spin off batch jobs to
complete workloads. The batch jobs are the system killers
There's a long history of that happening with batch jobs. Memory
usage, locking contention, etc. Priority inversions does tend to
degrade interactive performance, though slogging through lock priority
problems with priority boosts does usually avoid the deadlocks.
Post by IanDThe i2 before it simply couldn't keep up. The i4 does the job except
when locking gets excessive, mysync ramps up. One cpu is dedicated to
locking and it helps. I think if we were to add another 200 odd users
the system would succumb to the drastic mysync death spiral
Synchronization issues are why gonzo numbers of cores aren't viable
designs for many applications, and why adding cores and sockets to a
server configuration can reduce performance. Cache-coherent
multiprocessors get slower as more cores are added, and designs such as
NUMA aren't a panacea.
Post by IanDBetter inter process syncing mechanisms are needed but that's not just
VMS that suffers this.
There's a decent range of those on OpenVMS, ranging from spinlocks to
message-passing to lock management to semaphores to turd files to...
Always better to have and to need less synchronization, where that's
possible. Sharding and partitioning of loads, where that's workable.
Scheduling batch off on cloned read-only data where that's feasible,
too. Distributed scheduling and process management are also weak
areas of OpenVMS, requiring local tools or third-party tools or the
fragility and complexity of scheduling via the queue manager. Having
something akin to libdispatch would be handy, as POSIX is a bit of a
slog — though it's certainly feasible to use the existing queue
primitives to get something akin to that, less the integration and
tooling.
Post by IanDI was reading a users experience with windows 10 the other day with a
trail of one of the AMD recently released cpu's and they claimed all
the cpu's were showing 25% usage with little workload
Across various platforms, there are interesting discussions of what
measurements are taken and what particular measurements are showing,
too. Whether the systems are doing useful work, or are waiting in user
mode for something to happen, both can legitimately be considered user
activity, but the latter case masks what can be idle processors; where
some other aspect of the system configuration is the constraint and not
the processor. I look at what's available to developers and end-users
with Instruments and dtrace on macOS, and no easy analogs for most of
those tools over in OpenVMS.
Post by IanDI wonder what issues will come out of the woodwork when we go to x86
based cpu's with their higher clock speeds. Are there any race
conditions awaiting in VMS I wonder
Faster processors have broken timing assumptions in VMS application
code since the second VAX, certainly. Or what issues around memory
page protections might arise, an area that VSI is undoubtedly exploring
as part of the port. Or what other mechanisms might become available
for coordinating activity or improving performance, for that matter.
--
Pure Personal Opinion | HoffmanLabs LLC