1- Manually implementing parallel code is
A. hard
B. slow
C. bug-prone
D. All of the above
2- Which of the following is true about UMA
A. Not all processors have equal access time to all memories
B. Equal access and access times to memory
C. Typically, multiple SMPS, with access to each other's memories
D. D. None of the above
3- Which of the following is considered as pros of shared memory
A. Hard to scale
B. Programmer initiated synchronization of memory accesses
C. Easier to program with global address space
D. Adding CPUS (geometrically) increases traffic
4- Which of the following is considered as cons of shared memory
A. Easier to program with global address space
B. Typically, fast memory access (when hardware supported)
C. Hard to scale
D. All of the above
5- Which of the following is considered as pros of Distributed
Memory
A. Memory is scalable with number of processors
B. Local access is fast (no cache coherency overhead)
C. Cost effective, with off-the-shelf processor/ network
D. D. All of the above
6- Flynn's taxonomy depends on
A. Instruction streams
B. Data streams
C. A and B
D. None of the above
7- Flynn's classification
A. SISS, SIMD, MISD, MIMD
B. SISD, SIMD, MISD, MIMD
C. DSDS, SIMD, MISD, MIMD
D. ISDD, SIMD, MISD, MIMD
8- The notion of P-complete decision problems is useful in the
analysis of
A. which problems are difficult to parallelize effectively
B. which problems are difficult to solve in limited space
C. A and B
D. None of the above
9- The description of Sequential consistency model is
A. Global time based atomic ordering of all shared accesses
B. All threads see all shared accesses in the same order consistent with
program order --no centralized ordering
C. All threads see causally-related shared accesses in the same
order D. All threads see writes from each other in the order they
were made. Writes from different processes may not always be
seen in that order
10- The description of Causal consistency model is
A. Global time based atomic ordering of all shared accesses
B. All threads see all shared accesses in the same order consistent with
program order --no centralized ordering
C. All threads see causally-related shared accesses in the same order
D. All threads see writes from each other in the order they were made.
Writes from different processes may not always be seen in that order
11- The description of Strict consistency model is
A. Global time based atomic ordering of all shared accesses
B. All threads see all shared accesses in the same order consistent with
program order --no centralized ordering
C. All threads see causally-related shared accesses in the same order D. All
threads see writes from each other in the order they were made. Writes
from different processes may not always be seen in that order
12- The description of Processor consistency model is
A. Global time based atomic ordering of all shared accesses
B. All threads see all shared accesses in the same order consistent with
program order --no centralized ordering
C. All threads see causally-related shared accesses in the same order
D. All threads see writes from each other in the order they were made.
Writes from different processes may not always be seen in that order
13- The description of Weak consistency model is
A. Global time based atomic ordering of all shared accesses
B. All threads see all shared accesses in the same order consistent with
program order --no centralized ordering
C. All threads see causally-related shared accesses in the same order
D. Special synchronization based reordering -- shared data consistent
only after synchronization
14- What does the concept Multiprocessor mean
A. A computer system with only one processor.
B. A computer system with at least two processors.
C. A computer system with no processors.
D. All of the above
15- What does the concept Task-level parallelism or process-level
parallelism mean in parallel processing?
A. A single program that runs on multiple processors simultaneously
B. Utilizing multiple processors by running independent programs
simultaneously
C. A parallel processor with a single physical address space
D. A set of computers connected over a local area network that function as a
single large multiprocessor
16- What does the concept Cluster mean in parallel processing
A. A single program that runs on multiple processors simultaneously
B. Utilizing multiple processors by running independent programs
simultaneously
C. A parallel processor with a single physical address space
D. A set of computers connected over a local area network that function as a
single large multiprocessor
17- What does the concept Parallel processing program mean in
parallel processing
A. A single program that runs on multiple processors simultaneously
B. Utilizing multiple processors by running independent programs
simultaneously
C. A parallel processor with a single physical address space
D. A set of computers connected over a local area network that function as a
single large multiprocessor
18- What does the concept Shared memory multiprocessor (SMP)
mean in parallel processing?
A. A single program that runs on multiple processors simultaneously
B. Utilizing multiple processors by running independent programs
simultaneously
C. A parallel processor with a single physical address space
D. A set of computers connected over a local area network that function as a
single large multiprocessor
19- What does the concept Multicore microprocessor mean in parallel
processing
A. A single program that runs on multiple processors simultaneously
B. Utilizing multiple processors by running independent programs
simultaneously
C. A parallel processor with a single physical address space
D. A microprocessor containing multiple processors ("cores") in a single
integrated circuit.
20- What does the concept data-level parallelism mean in parallel
processing
A. A single program that runs on multiple processors simultaneously
B. Parallelism achieved by performing the same operation on independent
data
C. A parallel processor with a single physical address space
D. A set of computers connected over a local area network that function as a
single large multiprocessor
21- What criteria do we use when analyzing parallel algorithms
ما هي المعايير التي نستخدمها عند تحليل الخوارزميات المتوازية
A. Running time ()زمن التنفيذ
B. Number of processors ()عدد المعالجات
C. Cost ()الكلفة
D. All of the above ()كل مما سبق
22- What criteria do we use when defining Running time
ما هي المعايير التي نستخدمها عند تحديد زمن التنفيذ
A. Counting Steps ()خطوات العد
B. Lower and upper bounds ()الحدود الدنيا والعليا
C. Speedup )(زيادة السرعة
D. All of the above ()كل مما سبق
23- Using Vectorization in designing parallel algorithms is important in
A. SIMD استخدام طريقة المتجه في تصميم الخوارزميات المتوازية تكون مهمة في
B. SISD
C. MISD
D. MIMD
24- To calculate the cost in parallel algorithms, we use
A. C(n) = t(n) / p(n) لحساب التكلفة في الخوارزميات المتوازية نستخدم
B. C(n) = t(n) - p(n)
C. C(n) = t(n) + p(n)
D. C(n) = t(n) x p(n)
25- What are the two types of parallel activity
A. Data Parallel
B. Task Parallel
C. A and B
D. None of the above
26. What is shared-memory architecture
A single address space is visible to all execution threads.
27 What is NUMA memory architecture
NUMA stands for Non-Uniform memory access and is a special type of
shared memory architecture where access times to different memory
locations by a processor may vary as may also access times to the same
memory location by different processors.
28. Name some network architectures prevalent in machines
supporting the message passing paradigm.
Ethernet, Infiniband , Tree
29. What is data-parallel computation
Data is partitioned across parallel execution threads, each of which perform
some computation on its partition – usually independent of other threads.
30. What is Task-parallel computation
The parallelism manifests across functions. A set of functions need to
compute, which may or may not have order constraints among them.
31. What is task-latency
The time taken for a task to complete since a request for it is made.
32. What is task-throughput
The number of tasks completed in a given time
33. What is Speed-up
The ratio of some performance metric (like latency) obtained using a single
processor with that obtained using a set of parallel processors.
34. What is parallel efficiency
The Speed-up per processor
35. What is an inherently sequential task
On whose maximum speed-up (using any number of processors) is 1.
36. What is the maximum time speed-up possible according to
Amdahl's law
1/f, where f is inherently sequential fraction of the time taken by the best
sequential execution of the task.
37. What is SIMD
A class belonging to Flynn’s taxonomy of parallel architectures, it stands for
single instruction multiple data. In this architecture, different processing
elements all execute the same instruction in a given clock cycle, with the
respective data (e.g., in registers) being independent of each other.
38. What is cache coherence
Different processors may maintain their own local caches. This results in
potentially multiple copies of the same data. Coherence implies that access
to the local copies behave similarly to access from the local copy – apart
from the time to access.
39. What is a hypercube connection
A single node is a hypercube. An n node hypercube is made of two n/2
node hypercube, with their corresponding nodes connected to each other.
40. What is the diameter of an n-node hypercube
log n. The diameter is the minimum number of links required to reach two
furthest nodes.
16. How does OpenMP provide a shared-memory programming
environment
OpenMP uses pragmas to control automatic creation of threads. Since the
thread share the address space, they share memory. However, they are
allowed a local view of the shared variables through “private” variables. The
compiler allocates a variable-copy for each thread and optionally initializes
them with the original variable. Within the thread the references to private
variable are statically changed to the new variables