Upload
lani-atkinson
View
10
Download
0
Embed Size (px)
DESCRIPTION
Computer Science 320. Parallel Computing Overview of the Course. Who Am I?. Dr. Lambert Office: Parmly 406 Phone: 8809 Email: [email protected] Home Page: home.wlu.edu/~lambertk Course Page: home.wlu.edu/~lambertk/classes/320. Principal Topics. Hardware for parallel computing - PowerPoint PPT Presentation
Citation preview
Computer Science 320
Parallel ComputingOverview of the Course
Who Am I?
Dr. Lambert
Office: Parmly 406
Phone: 8809
Email: [email protected]
Home Page: home.wlu.edu/~lambertk
Course Page: home.wlu.edu/~lambertk/classes/320
Principal Topics
• Hardware for parallel computing
• Software (languages and programs)
• Applications
Applications
• Image analysis (MRI scans)
• Cryptography
• Climate modeling (weather predictions)
• Bioinformatics
How Do I Solve a Problem Faster?
• Get a faster processor (Moore’s Law has a limit)
• Find a faster algorithm (for example, reduce O(n) to O(log2n))
• Distribute the work among several processors (potential speedup of running time/p)
Closely Related Terms
• Timesharing – multiple users running single applications on a single processor simultaneously
• Multiprocessing – a single user running multiple applications on a single processor simultaneously
• Multithreading – A single application employing multiple threads on a single processor to solve a problem
Closely Related Terms
• Distributed computing – a single application employing multiple processors on different computers to solve a problem
• Multicore computing – A single application employing multiple processors on a single computer to solve a problem
Closely Related Terms
• Concurrent programming – a set of software techniques for solving problems using multiple processes or threads
• Can give the illusion of parallelism on a single processor
What Is a Process?
• An abstraction of an executing program
• A chunk of memory for the program and its data, along with the program’s current state (the address of next instruction, the values in the registers for that program, etc.)
• Lots of overhead in switching between processes (save and restore the states)
What Is a Thread?
• A lightweight version of a process
• Includes code to run, but not its own memory for data
• Context switches are much faster