COMP 409 Lecture Notes - Lecture 1: Speedup, Parallelizable Manifold, Uniprocessor System
Document Summary
Idea of concurrent programming: speed things up based on moore"s law. Based on moore"s law, we increased number of cores. We are looking at speeding things up by running concurrently. In fact, we are interested in things happening at the same time. (cid:314) parallelism: control the way things are happening at the same time. Concurrency: things might happen at the same time, we will set boundaries and constraints and have an os that guides what is happening. Processes: large heavyweight things, has own address space, file handles. Threads: lightweight (processes, shares address space, own independent flow of execution, efficiently switch between these things. Asynchronous execution: thread execute at their own rate. Os is like a black box, we do not know what happens inside, but we want the execution inside there to be correct. 1: no interaction (independent threads): embarrassingly parallel , shared memory, synchronize, coordinate, resource consistency. Thread: lightweight process, context, exec, flow of control.