Skip to content

9618 · 15.1

Processors, Parallel Processing and Virtual Machines — FAQ

Frequently asked questions for 9618 Processors, Parallel Processing and Virtual Machines. Direct answers first, then deeper explanation — then practise with marking.

What is the difference between multi-threading and multi-core processing?

Multi-core processing uses hardware (multiple physical cores) to run multiple threads truly simultaneously. Multi-threading is a software concept where a process is broken into smaller threads that can be managed by the OS. On a single-core processor, these threads are not truly parallel; the CPU just switches between them very quickly (concurrent execution). On a multi-core processor, these threads can be assigned to different cores to run in true parallel.

Is a virtual machine always slower than a physical machine?

Generally, yes, but the difference can be very small. There is always some performance overhead because the hypervisor needs CPU and RAM to run, and it has to translate requests from the guest OS to the physical hardware. For modern Type 1 hypervisors with hardware-assisted virtualization, this overhead can be minimal (e.g., 1-5%) for many workloads, making VMs a very practical solution.

Why would anyone use SIMD if MIMD is more flexible?

Because for certain tasks, SIMD is vastly more efficient and powerful. Think of graphics rendering or scientific calculations on large datasets. These tasks involve performing the exact same operation on millions of data points. A SIMD architecture, like a GPU with thousands of simple cores, can do this in parallel far faster and more power-efficiently than a general-purpose MIMD CPU with a few complex cores.

Can you have pipelining inside each core of a multi-core processor?

Yes, absolutely. In fact, this is standard practice in all modern processors. Each individual core in a multi-core CPU has its own sophisticated pipeline to maximise its own instruction throughput. Multi-core architecture then provides another layer of parallelism on top of this.