1 / 10

Computer Science 320

Computer Science 320. Parallel Computing Overview of the Course. Who Am I?. Dr. Lambert Office: Parmly 406 Phone: 8809 Email: lambertk@wlu.edu Home Page: home.wlu.edu/~lambertk Course Page: home.wlu.edu/~lambertk/classes/320. Principal Topics. Hardware for parallel computing

Download Presentation

Computer Science 320

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Science 320 Parallel Computing Overview of the Course

  2. Who Am I? Dr. Lambert Office: Parmly 406 Phone: 8809 Email: lambertk@wlu.edu Home Page: home.wlu.edu/~lambertk Course Page: home.wlu.edu/~lambertk/classes/320

  3. Principal Topics • Hardware for parallel computing • Software (languages and programs) • Applications

  4. Applications • Image analysis (MRI scans) • Cryptography • Climate modeling (weather predictions) • Bioinformatics

  5. 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)

  6. 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

  7. 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

  8. 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

  9. 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)

  10. 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

More Related