1 678 Topics Covered (1) Part A: Foundation Socket Programming Thread Programming Elements of Parallel Computing Part B: Cluster Computing Elements of.

Slides:



Advertisements
Similar presentations
Nimrod/G GRID Resource Broker and Computational Economy
Advertisements

Libra: An Economy driven Job Scheduling System for Clusters Jahanzeb Sherwani 1, Nosheen Ali 1, Nausheen Lotia 1, Zahra Hayat 1, Rajkumar Buyya 2 1. Lahore.
Introduction to Grid Application On-Boarding Nick Werstiuk
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
SLA-Oriented Resource Provisioning for Cloud Computing
Parallel Programming Models and Paradigms Prof. Rajkumar Buyya Cloud Computing and Distributed Systems (CLOUDS) Lab. The University of Melbourne, Australia.
Chapter 1: Introduction
Parallel Programming Models and Paradigms
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
WORKFLOWS IN CLOUD COMPUTING. CLOUD COMPUTING  Delivering applications or services in on-demand environment  Hundreds of thousands of users / applications.
Computer System Architectures Computer System Software
Assignment 3: A Team-based and Integrated Term Paper and Project Semester 1, 2012.
GCC 2006 Panel: Grid Research and Engineering Vs Standards Dr. Rajkumar Buyya Grid Computing and Distributed Systems (GRIDS) Laboratory Dept. of Computer.
Ali YILDIRIM Emre UZUNCAKARA
Cloud Computing 1. Outline  Introduction  Evolution  Cloud architecture  Map reduce operation  Platform 2.
Nimrod/G GRID Resource Broker and Computational Economy David Abramson, Rajkumar Buyya, Jon Giddy School of Computer Science and Software Engineering Monash.
Software Architecture
DISTRIBUTED COMPUTING
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
The Limitation of MapReduce: A Probing Case and a Lightweight Solution Zhiqiang Ma Lin Gu Department of Computer Science and Engineering The Hong Kong.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
Headline in Arial Bold 30pt HPC User Forum, April 2008 John Hesterberg HPC OS Directions and Requirements.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
Ames Research CenterDivision 1 Information Power Grid (IPG) Overview Anthony Lisotta Computer Sciences Corporation NASA Ames May 2,
LOGO Development of the distributed computing system for the MPD at the NICA collider, analytical estimations Mathematical Modeling and Computational Physics.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Economic and On Demand Brain Activity Analysis on Global Grids A case study.
International Symposium on Grid Computing (ISGC-07), Taipei - March 26-29, 2007 Of 16 1 A Novel Grid Resource Broker Cum Meta Scheduler - Asvija B System.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
Background Computer System Architectures Computer System Software.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
SYSTEM MODELS FOR ADVANCED COMPUTING Jhashuva. U 1 Asst. Prof CSE
INTRODUCTION TO GRID & CLOUD COMPUTING U. Jhashuva 1 Asst. Professor Dept. of CSE.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Chapter 1: Introduction
Chapter 1: Introduction
Clouds , Grids and Clusters
Operating Systems : Overview
Chapter 1: Introduction
Chapter 1: Introduction
Parallel Programming By J. H. Wang May 2, 2017.
Parallel Algorithm Design
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Parallel Programming in C with MPI and OpenMP
Convergence Characteristics for Clusters, Grids, and P2P networks
CLUSTER COMPUTING.
Chapter 1: Introduction
Introduction to Operating Systems
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Introduction to Operating Systems
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Parallel Programming in C with MPI and OpenMP
Chapter 1: Introduction
Presentation transcript:

1 678 Topics Covered (1) Part A: Foundation Socket Programming Thread Programming Elements of Parallel Computing Part B: Cluster Computing Elements of Cluster Computing Cluster Architecture and Components Single System Image: Concepts and Levels Parallel Programming Models and Paradigms MPI Programming

2 678 Topics Covered (2) Part C: Grid and Cloud Computing Elements of Grid Computing Grid Resource Management and Grid Economy Enterprise Grids and the Aneka Middleware Nimrod-G Grid Resource Broker Economic Scheduling Algorithms Gridbus Broker for Data-Intensive Computing Globus Toolkit Cloud Computing and Aneka

3 Exposure to Industrial Developments Unique “ feature ” of this subject: CLOUDS Lab supported speakers Industry Speakers (one or more) Microsoft (HPC Specialist) Sun (Senior Director of Grid Computing) Amazon (Architect, Amazon Cloud Computing) Microsoft HPC Server Cluster Computing Commercial Applications Sun Grid Engine (SGE) Seamless scaling from Clusters to Grids Story on idea  successful commercialisation Amazon EC2/S3 Computing as utility (pay-as-you-go services for IT) AWS Marketplace

4 678 Practical Skills Acquired (1) Part A: Foundation Socket Programming Thread Programming How to write multi-threaded servers and clients Part B: Cluster Computing Parallel Programming: MPI Programming Coordination of multiple processes and load balancing Performance Evaluation on real Clusters

5 678 Practical Skills Acquired (2) Part C: Grid/Cloud Computing Report Writing Team-based projects Medium scale software development Developing skills in “ Grid ” computing technology: Writing a simple Grid resource management system Client with coordination ability QoS-based scheduling User-Interface design for network applications Cloud Computing (Concepts and Industry Trends)

Quick Revision

7 678 Topics Covered (1) Part A: Foundation Socket Programming Thread Programming Elements of Parallel Computing

8 Java Sockets ServerSocket(1254) Socket(“ ”, 1254) Output/write stream Input/read stream It can be host_name like “mandroo.cs.mu.oz.au” Client server

9 PPPPPP  Microkernel Multi-Processor Computing System Threads Interface Hardware Operating System Process Processor Thread P P Applications Parallel Computing Elements Programming paradigms

Topics Covered (1) Part B: Cluster Computing Elements of Cluster Computing Cluster Architecture and Components Single System Image: Concepts and Levels Parallel Programming Models and Paradigms MPI Programming

11 Cluster Architecture Sequential Applications Parallel Applications Parallel Programming Environment Cluster Middleware (Single System Image and Availability Infrastructure) Cluster Interconnection Network/Switch PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software Sequential Applications Parallel Applications

12 What is Single System Image (SSI)? SSI is the illusion, created by software or hardware, that presents a collection of computing resources as one, more whole resource. In other words, it the property of a system that hides the heterogeneous and distributed nature of the available resources and presents them to users and applications as a single unified computing resource. SSI makes the cluster appear like a single machine to the user, to applications, and to the network.

13 SSI Levels SSI levels of abstractions: Application and Subsystem LevelOperating System Kernel LevelHardware Level

14 Code-Granularity Code Item Large grain (task level) Program Medium grain (control level) Function (thread) Fine grain (data level) Loop (Compiler) Very fine grain (multiple issue) With hardware Task i-l Task i Task i+1 func1 ( ) {.... } func1 ( ) {.... } func2 ( ) {.... } func2 ( ) {.... } func3 ( ) {.... } func3 ( ) {.... } a ( 0 ) =.. b ( 0 ) =.. a ( 0 ) =.. b ( 0 ) =.. a ( 1 )=.. b ( 1 )=.. a ( 1 )=.. b ( 1 )=.. a ( 2 )=.. b ( 2 )=.. a ( 2 )=.. b ( 2 )= x x Load PVM/MPI Threads Compilers CPU Levels of Parallelism

15 Methodical Design or Stages of Parallel Programs Partitioning Decomposition of computational activities and the data into small tasks – there exist number of paradigms – e.g. master worker, pipeline, divide and conquer, SPMD, and speculation. Communication Flow of information and coordination among tasks that are created in the portioning stage. Agglomeration Tasks and communication structure created in the above stages are evaluated for performance and implementation cost. Tasks may be grouped into larger tasks to improve communication. Individual communications can be bundled. Mapping / Scheduling Assigning tasks to processors such that job completion time is minimized and resource utilization is maximized. Even the cost of computation can be minimized based on QoS requirements.

Topics Covered (2) Part C: Grid and Cloud Computing Elements of Grid Computing Grid Resource Management and Grid Economy Enterprise Grids and the Aneka Middleware Nimrod-G Grid Resource Broker Economic Scheduling Algorithms Gridbus Broker for Data-Intensive Computing Globus Toolkit Cloud Computing (Concepts and Industry Trends)

17 Grid Resources and Scheduling 2100 Single CPU (Time Shared Allocation) SMP (Time Shared Allocation) Clusters (Space Shared Allocation) Grid Resource Broker User Application Grid Information Service Local Resource Manager

18 Core Middleware Gridbus User Console/Portal/Application Interface Grid Info Server Schedule Advisor Trading Manager Gridbus Farming Engine Record Keeper Grid Explorer GE GIS, NWS TM TS RM & TS Grid Dispatcher G G C U Globus enabled node. A L Data Catalog Data Node Unicore enabled node. $ $ $ App, T, $, Optimization Preference workload Gridbus Broker

19 Deadline (D) and Budget (B) Constrained Scheduling Algorithms AlgorithmExecution Time (D) Execution Cost (B) Compute Grid Data Grid Cost OptLimited by DMinimize Yes Cost-Time Opt Minimize if possible Minimize Yes Time OptMinimizeLimited by B Yes Conservative -Time Opt MinimizeLimited by B, jobs have guaranteed minimum budget Yes

20 Convergence of Paradigms/Communities  Realisation of Leonard ’ s “ computer utilities ” Vision Web Data Centres Utility Computing Service Computing Grid Computing P2P Computing Cloud Computing Market-Oriented Computing … -Ubiquitous access -Reliability -Scalability -Autonomic -Dynamic discovery & composiability -QoS -SLA - … } + Paradigms Attributes/Capabilities ? -Trillion $ business - Who will own it?

21 SES (Subject Experience Survey) Q4, subject is well taught - can be interpreted as: I feel good about what I learnt, genuine effort by teachers 5. Strongly agree : 4. Agree : 3. Neutral : 2. Disagree : 1. Strongly disagree :