For example, if you have two groups with MEMORY_LIMIT = 30%/50%, the size of global shared memory is (100 - 30 - 50) = 20(%).
Global shared memory is shared among groups. For a transaction, it allocates slot memory firstly, (if hits the limit) then resource group shared memory, (if hits the limit) then global shared memory.
Global shared memory is available only to resource groups for now.
Thanks, I have one more, I noticed for some big queries, the mdw host resource group memory gets consumed and the query fails before it's sent to the segment hosts (I think it fails at planning stage before sent to the segments to run?) Even explain Analyze fails as it executes the query, how can we debug this if we can't even run explain analyze on it?