Who is actually sharing physical RAM in a distributed sytem that has virtual shared memory? (Server and/or clients.) There is a business with about 100 computers used by employees, and one high-powered server.  It's called a "distributed system" by the system architect.  It uses Distributed Shared Memory (DSM).  There's also middleware, and the server is hosting Virtual Machines (VMs) which are running the applications that the employees see.

The question is: does the DSM come from physical memory that the server is sharing, creating virtual shared memory, or does the memory come from those 100 computers (or both)?  Aside from the possible speculation here, could portions of the physical memories of the 100 computers even be utilized as DSM in this setup?

Thanks

(Please note that distributed systems and shared memory are course topics in data science programs. That's why I'm posting this here. Data science isn't just data mining - it's a lot more.  The nuts and bolts behind doing it are included.)
Either the host server or the clients can create DSM, or both.  It's likely that a server hosting the applications would manage this.  The host server may create shared memory, or it may direct the clients to do this, and share the memory among themselves, preserving its own memory.  

Distributed Shared Memory is an abstraction.  A "server" creates shared memory, and a "client" makes a copy of it in its own memory.  The O/S or middleware keeps them in sync. A "client" for purposes of working of host server, may be a "server" regarding creating shared memory.  This client/server terminology is used in both contexts. When you read about shared memory you will often see the terminology used this way - the computer initiating the creation of DSM (distributed shared memory) is the "server" for that purpose.