You are on page 1of 3

S.

No

Session

Content and Source

Teaching
Methodology
Oral /PPT

REFERENCE

Need for ever increasing performance, need to write


parallel programs
parallelizing serial programs

Oral /PPT

T1:1.3,1.4,1.6

Flynns classification

Oral /PPT

T1:2.3.1

Shared memory programming with pthreads:


process, thread, pthreads
Pthread preliminaries: starting, running, stopping :
Pthreads:matrix-vector multiplication
Critical sections: Pi calculation
Pi calculation with Busy Waiting, mutex
the von-Neumann model,
Modification of the von-Neumann model

Oral /PPT

T1: 4.1

5
6
7
8
9
10

5
6
7
8
9
10

Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT

T1: 4.2, 4.3


T1: 4.4
T1: 4.5, 4.6
T1: 4.5, 4.6
T1:2.1
T1:2.2.1,2.2.2

11

11

Shared memory programming with


OpenMP:Pragma,strtol,parallel
Shared memory programming with
OpenMP:Pragma,strtol,parallel
OpenMP trapezoidal rule program: mutual exclusion
OpenMP trapezoidal rule program: mutual exclusion
Distributed memory programming with
MPI:MPI_Init,MPI_Finalize,Communicators
MPI predefined, derived data types, Semantics of
MPI_Send&MPI_Recieve

Oral /PPT

T1:5.1

12

12

13
14
15

13
14
15

16

16

17
18

17
18

Trapezoidal Rule In MPI, I/O In MPI

Oral /PPT
Oral /PPT

19

19

20
21
22
23
24

20
21
22
23
24

25

25

26
27

26
27

Design and analyze Tasks and communications for


Parallel Trapezoidal Rule
Implementation a tree-structured global sum.

Virtual memory: Swap space, page table,TLB


Pipelining, Arithmetic pipeline,
Instruction pipeline,
RISC pipeline
Handling pipelining conflicts: operand
forwarding&interlocking, delayed branch, branch
prediction, performance improvements
Handling pipelining conflicts: operand
forwarding&interlocking, delayed branch, branch
prediction, performance improvements
Interconnection networks: shared memory
Interconnection networks: distributed memory

T1:1.1,1.2

Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT

Oral /PPT

T1:5.1
T1:5.2
T1:5.2
T1: 3.1.1 3.1.4
T1: 3.1.5 3.1.12. 3.5
T1: Table 3.2
T1: 3.2, 3.3
T1: 3.2

Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT

http://cs.usfca
.edu/~peter/cs
220/
T1:2.2.4
T2:
T2:
T2:
T2:

Oral /PPT

T2:

Oral /PPT
Oral /PPT

T1:2.3.3
T1:2.3.3

28
29
30
31

28
29
30
31

Interconnection networks: distributed memory


Cache coherence: snoopy based approach
Cache coherence: directory based approach
Parallel software issues: caveats(non determinism ,thread
safety)
Evaluating parallel programs: Speedup ,and efficiency
,scalability
Designing and building parallel programs
Produce-consumer synchronization and semaphores

32

32

33
34
35

33
34
35

36
37

36
37

Barriers and condition variables

38
39
40

38
39
40

Pthread Read-write locks


Multi threaded linked list

41

41

42

42

43
44

43
44

Pthreads: cache coherence, false sharing, thread


safety- multi threaded tokenizer
Pthreads: cache coherence, false sharing, thread
safety- multi threaded tokenizer
OpenMP:Scope of variables,Reduction clasue

45

45

46

46

47

47

48

48

49

49

Use named and unnamed semaphores to solve the


synchronization problem in
sending messages
Implement a barrier using a busywaiting, mutex, condition and semaphores

A Pthreads linked list program that uses readwrite locks, one mutex for each list node

OpenMP:Parallel for directive-Caveats,Data


dependences,finding loop carried dependences
OpenMP:Parallel for directive-estimating pi,more on
scope
Loops in OpenMP:Bubble sort, odd-even transposition
sort
Loops in OpenMP:Bubble sort, odd-even transposition
sort
Scheduling Loops: schedule
clause,static,dynamic,runtime schedule types- guidedtrapezoidal rule

Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT

T1:2.3.3
T1:2.3.4
T1:2.3.4
T1:2.4

Oral /PPT

T1:2.6

Oral /PPT
Oral /PPT
Oral /PPT

T1:2.7
T1: 4.7
T1: 4.7

Oral /PPT
Oral /PPT

Oral /PPT

T1: 4.8
T1: 4.8.1,
4.8.2, 4.8.3
T1: 4.9
T1: 4.9.2
T1: 4.9.2,
4.9.3
T1: 4.10, 4.11

Oral /PPT

T1: 4.10, 4.11

Oral /PPT
Oral /PPT

T1:5.3,5.4
T1:5.5:5.5.1,5.5.2,5.5
.3

Oral /PPT
Oral /PPT
Oral /PPT

Oral /PPT
Oral /PPT
Oral /PPT
Oral /PPT

Oral /PPT
Scheduling Loops :guided-trapezoidal rule

50

50

51

51

OpenMP Producers and consumers:Queues,message


passing, sending message, Receiving
message,Temination detection, startup
OpenMP Producers and consumers: The atomic
directive, critical sections and locks,using locks in the
message passing program, some caveats

Oral /PPT

Oral /PPT

T1:5.5.4
T1:5.6: 5.6.1,
5.6.2
T1:5.6: 5.6.1,
5.6.2
T1:5.7:
5.7.1,5.7.2,5.7
.3,5.7.4
T1:5.7:
5.7.1,5.7.2,5.7
.3,5.7.4
T1:5.8:
5.8.1,5.8.2,5.8
.3,5.8.4,
5.8.5,5.8.6
5.8:
5.8.7,5.8.8,5.8
.9,5.8.10,

5.8.11
52

52

53

53

54

54

55
56

55
56

57

57

58

58

59
60

OpenMP: cache coherence, false sharing-matrix vector


multiplication, thread safety-multi threaded tokenizer
Collective Communication(Allreduce, Broadcast),
predefined reduction operators in MPI

Oral /PPT

Collective Communication(Scatter: reading and


distributing a vector, Gather: printing a distributed
vector, Allgather: matrix vector multiplication)
Collective Vs Point-point Communication

Oral /PPT

Oral /PPT

T1:5.9,5.10
T1: 3.4.1,
3.4.2, 3.4.4 3.4.6
T1: 3.4.7 3.4.9

Oral /PPT
Oral /PPT

T1: 3.4.3
T1: 3.4.6,
3.4.9

Performance Evaluation of MPI programs: matrix


vector multiplication
Parallel Sorting Algorithm: bubble sort, odd even
transposition sort

Oral /PPT

T1: 3.6

Oral /PPT

59

MPI implementation of parallel odd-even


transposition sort

Oral /PPT

T1: 3.7.1,
3.7.2
T1: 3.7.2

60

Thread safety in MPI

Oral /PPT

MPI program that multiplies a matrix by a


vector, MPI vector sum

T1: 3.7.3,
3.7.4

You might also like