Unit 7 Flashcards
A computer system with at least two processors. This computer is in contrast to a uniprocessor, which has one, and is increasingly hard to find today.
Multiprocessor
Utilizing multiple processors by running independent programs simultaneously.
Task-level parallelism or process-level parallelism
A single program that runs on multiple processors simultaneously.
Parallel processing program
A set of computers connected over a local area network that function as a single large multiprocessor.
Cluster
A microprocessor containing multiple processors (“cores”) in a single integrated circuit. Virtually all microprocessors today in desktops and servers are multicore.
Multicore microprocessor
A parallel processor with a single physical address space.
Shared memory multiprocessor (SMP)
Speed-up achieved on a multiprocessor without increasing the size of the problem.
Strong scaling
Speed-up achieved on a multiprocessor while increasing the size of the problem proportionally to the increase in the number of processors.
Weak scaling
A uniprocessor.
SISD or single instruction stream, single data stream
A multiprocessor.
MIMD or multiple instruction streams, multiple data streams
The conventional MIMD programming model, where a single program runs across all processors.
SPMD or single program, multiple data streams
The same instruction is applied to many data streams, as in a vector processor.
SIMD or single instruction stream, multiple data streams
Parallelism achieved by performing the same operation on independent data.
Data-level parallelism
The basic philosophy of blank is to collect data elements from memory, put them in order into a large set of registers, operate on them sequentially in registers using pipelined execution units, and then write the results back to memory.
vector architecture
One or more vector functional units and a portion of the vector register file. Inspired by lanes on highways that increase traffic speed, multiple lanes execute vector operations simultaneously.
Vector lane
Increasing utilization of a processor by switching to another thread when one thread is stalled.
Hardware multithreading
A thread includes the program counter, the register state, and the stack. It is a lightweight process; whereas threads commonly share a single address space, processes don’t.
Thread
A process includes one or more threads, the address space, and the operating system state. Hence, a process switch usually invokes the operating system, but not a thread switch.
Process