Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Slides:



Advertisements
Similar presentations
European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Experiences.
Advertisements

Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
Parallel Programming Yang Xianchun Department of Computer Science and Technology Nanjing University Introduction.
ICS 556 Parallel Algorithms Ebrahim Malalla Office: Bldg 22, Room
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500 Cluster.
More information Examination (date: 19 december) Written exam based on: - Reader (without paper 12 by Marsland and Campbell) - Awari paper (available from.
Summary Background –Why do we need parallel processing? Applications Introduction in algorithms and applications –Methodology to develop efficient parallel.
FUNDAMENTALS OF PROGRAMMING SM1204 Semester A 2010/2011.
Parallel Programming Henri Bal Rob van Nieuwpoort Vrije Universiteit Amsterdam Faculty of Sciences.
Introduction in algorithms and applications Introduction in algorithms and applications Parallel machines and architectures Parallel machines and architectures.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Transposition Driven Work Scheduling in Distributed Search Department of Computer Science vrijeamsterdam vrije Universiteit amsterdam John W. Romein Aske.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Lecture 1: Introduction to High Performance Computing.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University.
Parallel Programming Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović
Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500, clusters,
Lecture 2 CSS314 Parallel Computing
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
By Garrett Kelly. 3 types or reasons for distributed applications Data Data used by the application is distributed Computation Computation is distributed.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500, clusters,
CLUSTER COMPUTING TECHNOLOGY BY-1.SACHIN YADAV 2.MADHAV SHINDE SECTION-3.
CSci6702 Parallel Computing Andrew Rau-Chaplin
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
1 CS145 Lecture 24 What’s next?. 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis.
1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?
Computer Science at USF Greg Benson Professor and Chair.
Wide-Area Parallel Computing in Java Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences vrije Universiteit.
CSci6702 Parallel Computing Andrew Rau-Chaplin
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 3.
INTRODUCTION TO COMPUTER ENGINEERING (ECE 001) Dr. Ahmed Bayoumi Dr. Shady Yehia Elmashad 1.
Parallel Computing on Wide-Area Clusters: the Albatross Project Aske Plaat Thilo Kielmann Jason Maassen Rob van Nieuwpoort Ronald Veldema Vrije Universiteit.
HPC University Requirements Analysis Team Training Analysis Summary Meeting at PSC September Mary Ann Leung, Ph.D.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Computer Vision COURSE OBJECTIVES: To introduce the student to computer vision algorithms, methods and concepts. EXPECTED OUTCOME: Get introduced to computer.
Sub-fields of computer science. Sub-fields of computer science.
GCSE Computer Science Content Overview
Introduction To Computer Engineering (ECE 001)
Web: Parallel Computing Rabie A. Ramadan , PhD Web:
Syllabus Introduction to Computer Science
Course Outline Introduction in algorithms and applications
The University of Adelaide, School of Computer Science
Summary Background Introduction in algorithms and applications
Course Outline Introduction in algorithms and applications
MPJ: A Java-based Parallel Computing System
CS1301 – Where it Fits Institute for Personal Robots in Education
Distributed Computing:
CS1301 – Where it Fits Institute for Personal Robots in Education
GCSE Computer Science.
CS1301 – Where it Fits Institute for Personal Robots in Education
Vrije Universiteit Amsterdam
Presentation transcript:

Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam

Overview What is this large display?? What is parallel programming? Why do we need parallel programming? Organization of this course Specialization Parallel Programming & Visualization Practicum Parallel Programming

Parallel Programming Sequential programming Single thread of control Parallel programming Multiple threads of control Why parallel programming?

Parallel Programming Sequential programming Single thread of control Parallel programming Multiple threads of control Why parallel programming? Eases programming? Not really.

Parallel Programming Sequential programming Single thread of control Parallel programming Multiple threads of control Why parallel programming? Eases programming? Not really. Performance? Yes!

Parallel Processing Many applications need much faster machines Sequential machines are reaching their speed limits Use multiple processors to solve large problems fast Microprocessors are getting cheaper and cheaper

Grand Challenges Applications with high impact on industry or society Require extraordinary performance: 1 Teraflop = operations/sec Several Teraflop parallel machines exist See

Challenging Applications Analyzing video images Aircraft modeling Ozone layer modeling Climate modeling Ocean circulation Quantum chemistry General: computational science Computer chess Protein folding

About this Course Goal: Study how to write programs that run in parallel on a large number of machines. Focus on programming methods, languages, applications Prerequisites: Some knowledge about sequential languages Little knowledge about networking and operating systems

Aspects of Parallel Computing Algorithms and applications Programming methods, languages, and environments Parallel machines and architectures

Course Outline Introduction in software and applications Parallel machines and architectures Overview of parallel machines Cluster computers (Myrinet) Programming methods, languages, and environments Message passing (SR, MPI, Java) Higher-level languages: Linda, Orca, HPF Applications N-body problems, graphics, game tree search World-wide parallel computing (Globus)

Course Information Examination Written exam based on: - Reader - Handouts - Lectures More information (slides, recommended books):

Specialization Parallel Programming &Visualization New specialization in 5-year Computer Science program Official start in 2002/2003 Together with Physics-Applied Computer Science (Division of Physics and Astronomy)

Courses Parallel programming (this course) Parallel programming practicum Computer graphics Scientific visualization

Practicum Parallel Programming Separate practicum (6 ECTS) Implement ASP + SOR algorithms in C/MPI Implement IDA* search algorithm in Orca or Java/RMI Test and measure the programs on our DAS cluster

More information Register by to (Rob van Nieuwpoort) now Starts after MPI lecture (27 October) See for a complete description