Another hard distinction is UP vs SMP.
However, this diagram shows a hybrid UP/SMP virtual machine. There are two UP UMLs which both map in another runt UML which contains not much more than a filesystem, the block layer, and a block driver. They both mount that filesystem locally and access it as a local device. Since that is accessed as a local filesystem by two UMLs, that code needs to be SMP.
So, the two UMLs, while they are UP, would execute SMP code while running in that shared filesystem.