It treats all processors as equivalent. Any processor can do the work of any other processor. Applications are separated into threads that can run simultaneously on any available processor. Any processor in the pool can run the OS kernel and implement user-written threads.