1 678 topics covered (1) part a: foundation socket programming thread programming elements of...
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 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
9
P PP P P PMicrokernelMicrokernel
Multi-Processor Computing System
Threads InterfaceThreads Interface
Hardware
Operating System
ProcessProcessor ThreadPP
Applications
Parallel Computing Elements
Programming paradigms
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
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
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 Level
Operating System Kernel Level
Hardware Level
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
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.
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)
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
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
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
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 :