cs4000 final exam

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/45

flashcard set

Earn XP

Description and Tags

Parallel Computing

Last updated 8:31 PM on 4/26/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

46 Terms

1
New cards

run mpiexec locally on three cores

mpi exec -np 3

2
New cards

program uptime command

mpiexec uptime

3
New cards

specifying hosts with mpi exec

mpiexec -host sg09,sg08 hostname

4
New cards

running mpiexec with multiple hosts on a file

mpiexec -hostfile file.txt

5
New cards

MPI_Init(Null,Null)

Starts up the mpi environment. Must be called before any other MPI function.

6
New cards

MPI_Comm_size(MPI_COMM_WORLD, &numprocesses)

Initializes the number of processes

7
New cards

MPI_Comm_rank(MPI_COMM_WORLD, &procnum)

used to decide which chunk of work each cpu handles.

8
New cards

MPI_Finalize()

SHuts down the MPI environment. MUst be the last MPI call

9
New cards

MPI_Send(buf, count, type, dest, tag, comm)

Sends count elements of type from buf to process dest. Blocks until the message is safely handed off.

10
New cards

MPI_Recv(buf, count, type, src, tag, comm, &status)

Receives a message from process src into buf. Blocks until message arrives.

11
New cards

MPI_Bcast(buf, count, type, root, comm)

Root process sends buf to all other processes.

12
New cards

MPI_Reduce(&send, &recv, count, type, op, root, comm)

Combines values from all processes using op and stores the result only on root.

13
New cards

MPI_Allreduce(&send, &recv, count, type, op, comm)

Same as MPI_Reduce but the result goes to all processes, not just root. Used when everyone needs to know the combines results.

14
New cards

Race Condition

Accessing data at the same time, results in non-deterministic outcomes

15
New cards

Critical section

A piece of code that must not be executed by more than one process at a time. CAn use omp critical or mutex lock and unlocks.

16
New cards

Deadlock

When two or more processes are waiting for the other process to release a resource, so none of them can ever proceed.

17
New cards

Process Synchronization

Mechanisms to coordinate processes so they dont interfere with each don't. INcludes barriers, semaphores, mutexes, mpi_barrier

18
New cards

Thread Safety

Code is thread safe if it works when called simultaneously by multiple threads.

19
New cards

Amdahls Law

1/(1-p) + p/N

20
New cards

Efficiency

E=Speedup/N

21
New cards

Speedup

T_serial / T_Parallel

22
New cards

Parallel Algorithms

Divides work across multiple processors simultaneously

23
New cards

Public/Private key cryptogtaphy

Asymetric encryption using a key pair.Public key encrypts, private key decrypts.

24
New cards

Client

Any application program, makes a request, awaits a response

25
New cards

Server

always running, awaits a request, computes an answer, issues a response

26
New cards

Ping

Used to determine if a server is alive. sends a packet to a server and awaits a response. Records the change in time and packets lost.

27
New cards

traceroute

shows all the routers a packet goes through to get ot the destination

28
New cards

mtr

fancy parallel traceroute

29
New cards

nslookup

returns the domain name for an ip address or the reverse

30
New cards

DNS

Map a domain name to an IP address

31
New cards

SSH

secure shell, uses tcp connection to pass data

32
New cards

Electronic Mail

Memos sent from one user to another. COntain only a few impoprtant keywords, To, From,

33
New cards

SMTP

Mail transfer, internet standard, specifies tranfer from machine to machine

34
New cards

IP prefix

which network or organization it belongs to

35
New cards

IP suffix

Which computer on that network it is

36
New cards

how necessary is www

it’s unnecessary

37
New cards

IP vs Ports

IP identifies computers ports identify applications on computers

38
New cards

Statically assigned ports vs dynamically assigned ports

Statically assigned ports are reserved for well known programs like email. Dynamically assigned ports are available fro user applications

39
New cards

generate public private key pair

ssh-keygen

40
New cards

Copy key to computer

ssh-copy-id user.computer

41
New cards

Distributed programming

Computing that does not happen on a single machine

42
New cards

Semaphore

A signaling mechanism used to control accesss to a common resource

43
New cards

Barrier

All threads must reach a certain point before continuation

44
New cards

Static scheduling

Iterations divided into fixed sized chunks

45
New cards

Dynamic scheduling

Iterations are broken into chunks and assigned to threads on-demand during runtime. When a thread is finished with a chunk it asks for the next available chunk.

46
New cards

Guided Scheduling

Designed to reduce the overhead of dynamic scheduling. Starts wiht large chunks to reduce overhead then progressively decreases the chunk size as it reaches the end of the loop.