Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Slides:



Advertisements
Similar presentations
Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
Advertisements

Consoles and Hardware Status Erik Gottschalk. Overview Consoles will be installed Dec. 19 & 20 Network installation will begin Dec. 11 Installation of.
Introduction CSCI 444/544 Operating Systems Fall 2008.
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.
Advanced Computational Research Laboratory (ACRL) Virendra C. Bhavsar Faculty of Computer Science University of New Brunswick Fredericton, NB, E3B 5A3.
Summary Background –Why do we need parallel processing? Applications Introduction in algorithms and applications –Methodology to develop efficient parallel.
Parallel Programming Henri Bal Rob van Nieuwpoort Vrije Universiteit Amsterdam Faculty of Sciences.
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.
Welcome – Glenn Bresnahan Scientific Computing and Visualization: Linux Clusters and Tiled Display Walls July 30 – August 1, 2002 Slide 1 Scientific Computing.
Parallel Rendering Ed Angel
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
CS 732: Advance Machine Learning Usman Roshan Department of Computer Science NJIT.
Chapter 13 The First Component: Computer Systems.
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.
07/14/08. 2 Points Introduction. Cluster and Supercomputers. Cluster Types and Advantages. Our Cluster. Cluster Performance. Cluster Computer for Basic.
Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays Paper by Kenneth Moreland, Brian Wylie, and Constantine Pavlakos Presented.
Digital Graphics and Computers. Hardware and Software Working with graphic images requires suitable hardware and software to produce the best results.
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.
Parallel Rendering 1. 2 Introduction In many situations, standard rendering pipeline not sufficient ­Need higher resolution display ­More primitives than.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500, clusters,
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
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.
Parallel Rendering. 2 Introduction In many situations, a standard rendering pipeline might not be sufficient ­Need higher resolution display ­More primitives.
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.
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
Parallel Rendering Ed Angel Professor Emeritus of Computer Science University of New Mexico 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E.
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,
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Big data Usman Roshan CS 675. Big data Typically refers to datasets with very large number of instances (rows) as opposed to attributes (columns). Data.
Advanced Computer Networks Lecture 1 - Parallelization 1.
Computer Science at USF Greg Benson Professor and Chair.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Wide-Area Parallel Computing in Java Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences vrije Universiteit.
CSci6702 Parallel Computing Andrew Rau-Chaplin
CS 732: Advance Machine Learning
A Pattern Language for Parallel Programming Beverly Sanders University of Florida.
CPU Transforms Input and Output Each computer contains one Collection of electronic circuits Processor Interpretates and execute instructions in a program.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
CS 221 – May 8 Course objectives – Assemble computer cluster – Linux and C – Practice basic parallelizing technique Stay tuned: I will provide some useful.
Parallel Computing on Wide-Area Clusters: the Albatross Project Aske Plaat Thilo Kielmann Jason Maassen Rob van Nieuwpoort Ronald Veldema Vrije Universiteit.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Constructing a system with multiple computers or processors 1 ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson. Jan 13, 2016.
Accelerating K-Means Clustering with Parallel Implementations and GPU Computing Janki Bhimani Miriam Leeser Ningfang Mi
Computer Vision COURSE OBJECTIVES: To introduce the student to computer vision algorithms, methods and concepts. EXPECTED OUTCOME: Get introduced to computer.
Parallel Algorithm Design & Analysis Course Dr. Stephen V. Providence Motivation, Overview, Expectations, What’s next.
GCSE Computer Science Content Overview
Web: Parallel Computing Rabie A. Ramadan , PhD Web:
Course Outline Introduction in algorithms and applications
Constructing a system with multiple computers or processors
Summary Background Introduction in algorithms and applications
Course Outline Introduction in algorithms and applications
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
CSE8380 Parallel and Distributed Processing Presentation
Constructing a system with multiple computers or processors
Dr. Barry Wilkinson University of North Carolina Charlotte
Hybrid Programming with OpenMP and MPI
MPJ: A Java-based Parallel Computing System
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 Parallel Programming & Visualization Practicum Parallel Programming

ICWall A large display suitable for: – Education (classroom) – Modern scientific applications that need to visualize large data-sets – 3D applications

ICWall: an "off-the-shelf" video wall High-end graphics is very expensive Use tiled display with many projectors Use standard (inexpensive) components – PCs, graphic and network cards – 'PowerPoint' video projectors (~ 1 kg) Similar idea as cluster computing, but applied to graphics

Setup 4x2x2 projectors – 1024x768 pixels (4096x1536 total) Screen – Back-projection, ~5.5m x 2m PC cluster – 8 nodes + 1 server – Myrinet network – Dual AMD Athlons – Nvidia GeForce 3

Problems – Mechanical alignment of projectors is difficult – Projectors have different colors, brightness, etc. Solution – Project test image – Observe image with a camera – Analyse difference between original and observed image – Compensate for differences in software Making a single image

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 algorithms 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, search algorithms Grid computing

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

Related Courses Parallel programming practicum Computer graphics Scientific visualization (together with Physics)

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

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