Download grid - The University of Hong Kong

Document related concepts
no text concepts found
Transcript
The Grid as a Parallel
Computer
Francis C.M. Lau
Department of Computer Science
The University of Hong Kong
www.cs.hku.hk/~fcmlau
Greetings from Hong Kong!
Systems research @ HKU
www.srg.cs.hku.hk
hkgrid.org
HKGrid – the initial setup (2004)
www.cngrid.org
The 500th
machine at
11/2005 has a
peak of 2.9
Tflops
The 1st
(DOE/BlueGene)
has 0.37 Pflops
(11/2002)
Agenda
Parallel computing state of affairs
Parallel computing many faces
Grid as a parallel computer
Our first attempt – G-JavaMPI
Some thoughts for the future
The State of High
Performance Computing
“Oxen vs. chickens”
• “If you were plowing a field, which would
you rather use? Two strong oxen or 1024
chickens?” - Seymour Cray (’25–’96)
• Your choice?
Will time tell?
• “At best, clusters are a loose collection of
unmanaged, individual, microprocessor-based
computers … Most cluster [experts] know now
that users are fortunate to get more than 8% of
the peak performance in sustained performance.”
- Dr. Paul Terry, CTO, Cray Canada, 2004
Never to predict the future?
• “No one will need more than 640 kb of
memory for a personal computer.” (Bill
Gates, 1981, wrongly attributed?)
You need cpu, cpu, …
Software
complexity
Subramanian, 1999
Is Grid New?
Many faces of “parallel” computing
• Distributed computing (DC)
– Multiple computers remote from each other, each having a role
in a computation problem
– Loose parallelism
• Cluster computing (CC)
– DC on a LAN, with homogeneous processing nodes (typically
PCs), to form what appears to be a single, highly-available
system
• Grid computing (GC)
– A potentially very large DC operating
as an anarchy
– As large as the Internet/WWW
– Parallelism at stake?
• Cluster: chicken farm
• Grid: animal zoo
– Enterprise grid: a private zoo in the backyard
• Distributed system: a “static” zoo where
the animals are tame
From cluster to grid
• One of the main ideas of cluster
computing is that, to the outside world, the
cluster appears to be a single system,
which is also the reason for clustering’s
extreme successes
• A cluster can be programmed like a single
computer, almost
• Can a grid? Should a grid?
Grid vs. service oriented computing
• To many, the two are almost synonymous
– Just as Web and the Internet are almost synonymous
• SOC refers to binding to Web services at
runtime
– Grid is about the provisioning of resources
– The current grid’s use of Web services was out of
convenience (my opinion)
– But the service paradigm should
not be the only possible form of
computing with the grid
• You want a hamburger
– you can either go to
Macdonalds or do it yourself
• SOC applied to the Web (as a grid) is
probably best for commercial applications
(Macdonalds)
• For scientific or grand challenge problems,
we need to program the grid (DIY)
The Grid as a Computer?
• Cluster: more nodes than microprocessors
in each node (MPI)
• Constellation: A node has more
microprocessors than # nodes (OpenMP)
• Tightly integrated MPP
• Grid?
Grid vs. clustering
• Grid: heterogeneous resources
(computation, storage, networking, OS,
etc.)
• Grid: dynamic (resources come and go)
• Grid: distributed over a local or wide area
• Grid: increased scalability (no
latency/proximity limits)
• Grid: multiple ownerships
• Grid and cluster are complementary
Issues
•
•
•
•
Heterogeneity
Availability
Latencies
Security and
trustworthiness
• Load balancing!
• Towards single system
image (SSI)
Grid: heterogeneous resources (computation,
storage, networking, OS)
Grid: dynamic (resources come and go)
Grid: distributed over a local or wide area
Grid: increased scalability (no
latency/proximity limits)
Grid: multiple ownerships
Grid and cluster are complementary
Load Balancing is Key
Parallel applications
• Multiple processes, multiple threads
• Application types
– SIMD (Single Instruction, Multiple Data)
• SPMD (Single program, multiple data)
– MIMD (Multiple Instruction, Multiple Data)
MIMD
Need for process/thread migration
• SIMD: Remapping (re-partitioning) of data
works
• For MIMD, “processes” might grow or
shrink, or come and go
– Remapping of processes = process migration
– Processes with large footprints (i.e., many
threads) might benefit from spreading their
threads across machines
• Process migration
– Initially (load distribution)
– Dynamic
– State capture and resume
• Thread migration
– Threads are often tightly coupled and share
much data
– Beneficial?
– A big challenge
Sidetrack: Thread Migration
Thread migration works!
• Probably not suitable for grid, fine for
cluster where latencies are upper-bounded
• Our experience: the JESSICA2 system
– A distributed JVM
– Dynamic Java thread migration
– JIT compilation
– Global object space
– I/O redirection
Java
Enabled
Single
System
Image
Computing
Architecture
JESSICA2 Architecture
A Multithreaded
Java Program
Thread Migration
JIT Compiler Mode
Portable Java Frame
JESSICA2
JVM
JESSICA2
JVM
Master
JESSICA2
JVM
Worker
JESSICA2
JVM
Worker
JESSICA2
JVM
Worker
Global Object Space
JESSICA2
JVM
Worker
Worker
G-JavaMPI
Towards “grid as a parallel
computer”
• M-JavaMPI
– “M” stands for
migration
– For cluster
• G-JavaMPI
– An outgrowth of
M-JavaMPI
– “G” for grid
G-JavaMPI
A Grid Middleware for Transparent MPI Task
Migration and Runtime Scheduling
Policy space
Organization
Task migration (Grid traveler)
Warranted
Identity
mapping
Organization
• Grid-enabled implementation of the Java language
bindings of the MPI v1.1 standard
• On top of Globus Toolkit (e.g., job startup, security) and
MPICH-G2 (MPI communication)
• Combining the high-level message passing interface with
the Java language to support portable messagingpassing programming in a grid
• It allows you to run MPI applications written in Java
across multiple machines with different architectures
belonging to multiple organizations
• Classes of problems implemented in C-MPI (for example,
MPICH) can be easily ported to G-JavaMPI, but with
additional support of process migration
• A better choice for those people who enjoy objectoriented programming style more
Special features
• Transparent dynamic process migration
– Load balancing
– Fault tolerance
– Resource co-allocation
• Fine-grain access control through
delegation
– Multi-hop delagation
– Cross-organization resource sharing
G-PASS
• Globus operates at the level of users, G-PASS
at the level of processes
• A process can be migrated multiple times across
multiple grid nodes
• The process (a “traveler”) obtains his/her
privileges via a security instance (the “passport”)
instead of from the hosts
• Permission to access a resource in the
destination host is granted by simply checking
the signature in the security instance
Instance-oriented delegation
GSI = Grid Security Infrastructure
Main components of G-JavaMPI
Runtime analysis
• Based on JVMTI (Tool Interface) –
dynamically add instrument code in Java
bytecode
• Identify the execution hotspots in the
process
• Analyze process synchronization
relationships for per-process
computational requirement, and
communication workload
Dynamic instrumentation
hotspot
hotspot
Communication performance
JMPI-BLAST cost breakdown
Ray tracing experiment
Message passing daemons
• Manage messages in queues
• Send/receive messages on behalf of
processes
• Support multiple simultaneous applications
• Profiling of communication behaviors
Grid
node
Grid
node
Grid
node
Grid
node
Messaging
Daemon
Daemon
Daemon
Daemon
MPICH-G2
Migration
• Capture process status through JVMDI (JVMTI
in latest Sun J2SE 1.5)
• Recognize branching code in Java bytecode,
find appropriate location to stop execution
• Recognize file operations
• Instrumentation of
Process
Migration
migration
Process
Process
exception
Status
JVMDI
JVMDI
Status
restoration
handlers
dump
File
File
Frames and Runtime States
Restoration
Migration in action
Migration-transparent message
passing
• Mapping virtual process ranks to physical
locations in location tables
• Processes during message passing not
allowed to migrate
• Sequencing the messages, collecting
legacy messages in previous node, resending them to new node
•N-body simulation (body shape: loop,
10000 bodies, 16 processes)
•Periodical random process migrations, for
demo purpose
•Ray tracing application on CNGrid
•The scheduler periodically checks the
workload in grid nodes and moves
some processes to idle nodes
•The Java applet displays the result and
migration information
To find out more
• L. Chen, T.C. Ma, C.L. Wang, F.C.M. Lau, and
S.P. Li, “G-JavaMPI: A Grid Middleware for
Transparent MPI Task Migration”, in Engineering
the Grid: Status and Perspective, American
Scientific Publishers, 2006, to appear.
• T.C. Ma, C.L. Wang, L. Chen, and F.C.M. Lau,
“G-PASS: An Instance-oriented Security
Infrastructure for Grid Travelers”, Concurrency
and Computation: Practice and Experience, to
appear.
http://www.cs.hku.hk/~lchen2/G-JavaMPI/
The Future of Grid
What next?
• Grid computing today is like
a “pot luck” supper
– Everyone brings and
contributes a dish
– And … surprise!
• There really is “no free lunch”
– Everyone shares some of the
costs
– Is it worth it?
POTLUCK DINNER
• To minimize the “surprises” (quality of service)
– Let the pros - the chefs - do it
– You sit back, relax, and enjoy, and pay for and only for
what you consume
• Grid now is a private club
• But eventually it should be like …
– Ubiquitous
– Invisible (the machinery behind)
– It’s my “cup of coffee”
The “pervasive grid” – everyone’s club
The grid (invisible
computing)
Thin clients
“To use a computer
is fun, but not to
manage it”
Edge computing
• Person …
device …
middleware
(proxies) ...
Internet
• The abstract
cloud moves with
the client –
personalized
“cuddleware”,
nomadic
computing
proxies united
metropolis
client
Internet
Problems worth pursuing
• Edge computing → “seamless”
– New protocols for the edge
• The continuum → the network is the computer
– Collaborative models and mechanisms, esp. at the edge
• The global grid → invisible, “PC” disappearing
• The device
– Adaptation
• On-demand code composition
– The SOC approach?
• Content
– HTML
• UI description languages
– New paradigms for user interaction in small devices (input and
output)