1 678 topics covered (1) part a: foundation socket programming thread programming elements of...

21
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

Upload: alaina-fisher

Post on 12-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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)

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

Quick Revision

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

7

678 Topics Covered (1)

Part A: Foundation Socket Programming Thread Programming Elements of Parallel Computing

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

8

Java SocketsServerSocket(1254)

Socket(“128.250.25.158”, 1254)

Output/write stream

Input/read stream

It can be host_name like “mandroo.cs.mu.oz.au”

Client

server

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

9

P PP P P PMicrokernelMicrokernel

Multi-Processor Computing System

Threads InterfaceThreads Interface

Hardware

Operating System

ProcessProcessor ThreadPP

Applications

Parallel Computing Elements

Programming paradigms

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

10

678 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

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

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

Sequential Applications

Parallel ApplicationsParallel

Applications

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

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.

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

13

SSI Levels

SSI levels of abstractions:

Application and Subsystem Level

Operating System Kernel Level

Hardware Level

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

14

Code-GranularityCode ItemLarge 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-lTask i-l Task iTask i Task i+1Task 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 )=..

++ xx LoadLoad

PVM/MPI

Threads

Compilers

CPU

Levels of Parallelism

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

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.

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

16

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 (Concepts and Industry

Trends)

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

17

Grid Resources and Scheduling

2100 2100 2100 2100

2100 2100 2100 2100

Single CPU(Time Shared Allocation)

SMP(Time Shared Allocation)

Clusters(Space Shared Allocation)

Grid Resource Broker

User Application

Grid Information Service

Local Resource ManagerLocal Resource Manager Local Resource Manager

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

18

Core Middleware

Gridbus User Console/Portal/Application Interface

Grid Info Server

Schedule Advisor

Trading Manager

Gridbus Farming Engine

RecordKeeper

Grid Explorer

GE GIS, NWSTM TS

RM & TS

Grid Dispatcher

G

G

CU

Globus enabled node.A

L

DataCatalog

DataNode

Unicore enabled node.

$

$

$

App, T, $, Optimization Preference

workload

Gridbus Broker

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

19

Deadline (D) and Budget (B) Constrained Scheduling Algorithms

Algorithm

Execution Time (D)

Execution Cost (B)

Compute Grid

Data Grid

Cost Opt Limited by D

Minimize Yes Yes

Cost-Time Opt

Minimize if possible

Minimize Yes

Time Opt Minimize Limited by B

Yes Yes

Conservative-Time Opt

Minimize Limited by B, jobs have guaranteed minimum budget

Yes

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

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?

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

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 :