Grids - Digital Science Center

advertisement
Grids: Concepts,
Technologies and
Applications
Geoffrey Fox
Computer Science, Informatics, Physics
Pervasive Technology Laboratories
Indiana University Bloomington IN 47401
April 25 2005
gcf@indiana.edu
http://www.infomall.org
1
So what is a Grid?




Supporting human decision making with a network of at least
four large computers, perhaps six or eight small computers,
and a great assortment of disc files and magnetic tape units not to mention remote consoles and teletype stations - all
churning away. (Licklider 1960)
Coordinated resource sharing and problem solving in
dynamic multi-institutional virtual organizations
Infrastructure that will provide us with the ability to
dynamically link together resources as an ensemble to support
the execution of large-scale, resource-intensive, and
distributed applications.
Realizing thirty year dream of science fiction writers that
have spun yarns featuring worldwide networks of
interconnected computers that behave as a single entity.
2
Internet Scale Distributed Services



Grids use Internet technology and are distinguished by
managing or organizing sets of network connected resources
• Classic Web allows independent one-to-one access to
individual resources
• Grids integrate together and manage multiple Internetconnected resources: People, Sensors, computers, data
systems
Organization can be explicit as in
• TeraGrid which federates many supercomputers;
• Deep Web Technologies IR Grid which federates multiple
data resources;
• CrisisGrid which federates first responders, commanders,
sensors, GIS, (Tsunami) simulations, science/public data
Organization can be implicit as in Internet resources such as
curated databases and simulation resources that “harmonize a
community”
3
Different Visions of the Grid






Grid just refers to the technologies
• Or Grids represent the full system/Applications
DoD’s vision of Network Centric Computing is just a Grid
(linking sensors, warfighters, commanders, backend resources)
and they are building the GIG (Global Information Grid)
Utility Computing or X-on-demand (X=data, computer ..) is
major computer Industry interest in Grids
e-Science or Cyberinfrastructure are virtual organization Grids
supporting global distributed science (note sensors, instruments
are people are all distributed
Skype (Kazaa) VOIP system is a Peer-to-peer Grid (and
VRVS/GlobalMMCS like Internet A/V conferencing are
Collaboration Grids)
Commercial 3G Cell-phones and DoD ad-hoc network initiative
are forming mobile Grids
4
e-moreorlessanything and the Grid






e-Business captures an emerging view of corporations as
dynamic virtual organizations linking employees, customers
and stakeholders across the world.
• The growing use of outsourcing is one example
e-Science is the similar vision for scientific research with
international participation in large accelerators, satellites or
distributed gene analyses.
The Grid integrates the best of the Web, traditional
enterprise software, high performance computing and Peerto-peer systems to provide the information technology einfrastructure for e-moreorlessanything.
A deluge of data of unprecedented and inevitable size must
be managed and understood.
People, computers, data and instruments must be linked.
On demand assignment of experts, computers, networks and
storage resources must be supported
5
More Broad Classes of Grid Applications





Enterprise Grid supports information system for an
organization; includes “university computer center”, “(digital)
library”, sales, marketing, manufacturing …
Outsourcing Grid links different parts of an enterprise together
(Gridsourcing)
• Manufacturing plants with designers
• Animators with electronic game or film designers and
producers
• Coaches with aspiring players (e-NCAA or e-NFL etc.)
Customer Grid links businesses and their customers as in many
web sites such as amazon.com
e-Multimedia can use secure peer-to-peer Grids to link creators,
distributors and consumers of digital music, games and films
respecting rights
Distance education Grid links teacher at one place, students all
over the place, mentors and graders; shared curriculum,
6
homework, live classes …
e-Defense and e-Crisis

Grids support Command and Control and provide
Global Situational Awareness
• Link commanders and frontline troops to themselves and to
archival and real-time data; link to what-if simulations
• Dynamic heterogeneous wired and wireless networks
• Security and fault tolerance essential

System of Systems; Grid of Grids
• The command and information infrastructure of each ship is
a Grid; each fleet is linked together by a Grid; the President
is informed by and informs the national defense Grid
• Grids must be heterogeneous and federated

Crisis Management and Response enabled by a Grid
linking sensors, disaster managers, and first responders
with decision support
7
Types of Computing Grids




Running “Pleasing Parallel Jobs” as in United Devices,
Entropia (Desktop Grid) “cycle stealing systems”
Can be managed (“inside” the enterprise as in Condor)
or more informal (as in SETI@Home)
Computing-on-demand in Industry where jobs spawned
are perhaps very large (SAP, Oracle …)
Support distributed file systems as in Legion (Avaki),
Globus with (web-enhanced) UNIX programming
paradigm
• Particle Physics will run some 30,000 simultaneous jobs



Linking Supercomputers as in TeraGrid
Pipelined applications linking data/instruments,
compute, visualization
Seamless Access where Grid portals allow one to choose
one of multiple resources with a common interfaces
8
Utility and Service Computing




An important business application of Grids is believed to be
utility computing
Namely support a pool of computers to be assigned as needed to
take-up extra demand
• Pool shared between multiple applications
Natural architecture is not a cluster of computers connected to
each other but rather a “Farm of Grid Services” connected to
Internet and supporting services such as
• Web Servers
• Financial Modeling
• Run SAP
• Data-mining
• Simulation response to crisis like forest fire or earthquake
• Media Servers for Video-over-IP
Note classic Supercomputer use is to allow full access to do
“anything” via ssh etc.
• In service model, one pre-configures services for all programs
and you access portal to run job with less security issues
9
Some Important Styles of Grids






Computational Grids were origin of concepts and link computers
across the globe – high latency stops this from being used as
parallel machine
Knowledge and Information Grids link sensors and information
repositories as in Virtual Observatories or BioInformatics
• More detail on next slide
Education Grids link teachers, learners, parents as a VO with
learning tools, distant lectures etc.
e-Science Grids link multidisciplinary researchers across
laboratories and universities
Community Grids focus on Grids involving large numbers of
peers rather than focusing on linking major resources – links
Grid and Peer-to-peer network concepts
Semantic Grid links Grid, and AI community with Semantic web
(ontology/meta-data enriched resources) and Agent concepts
10
Information/Knowledge Grids


Distributed (10’s to 1000’s) of data sources (instruments,
file systems, curated databases …)
Data Deluge: 1 (now) to 100’s petabytes/year (2012)
• Moore’s law for Sensors




Possible filters assigned dynamically (on-demand)
• Run image processing algorithm on telescope image
• Run Gene sequencing algorithm on compiled data
Needs decision support front end with “what-if”
simulations
Metadata (provenance)
critical to annotate data
Integrate across experiments
as in multi-wavelength
astronomy
Data Deluge comes from pixels/year available
11
Repositories
Federated Databases
Database
Sensors
Streaming
Data
Field Trip Data
Database
Sensor Grid
Database Grid
Research
SERVOGrid
Education
Compute Grid
Data
Filter
Services Research
Simulations
?
GIS
Discovery Grid
Services
Customization
Services
From
Research
to Education
Analysis and
Visualization
Portal
Grid of Grids: Research Grid and Education Grid
Education
Grid
Computer
12
Farm
iSERVO in a nutshell

Designed to link data-sets (repositories and real time),
computations and earthquake scientists in ACES (Asia
Pacific) Cooperation
• Australia China Japan USA




Exemplified by SERVOGrid in USA led by JPL
Supports simulation and datamining as services
Adopts conservative WS-I+ Web Service
Interoperability standards
Builds full “Grid” in a library fashion as a Grid of Grids
• GIS (Geographic Information System) Grid built as a set of OGC
compatible Web Services “talking” GML
• iSERVO federates separate Grids in each
country/organization/function
• A Grid is “just” a collection of Services aka distributed programs


Multi-scale simulations supported by Grid workflow
13
Portals based on NSF Middleware Initiative NMI Open
Grid Computing Environment OGCE
DAME
In flight data
~5000 engines
~ Gigabyte per aircraft per
Engine per transatlantic flight
Airline
Global Network
Such as SITA
Ground
Station
Engine Health (Data) Center
Maintenance Centre
Internet, e-mail, pager
Rolls Royce and UK e-Science Program
Distributed Aircraft Maintenance Environment
14
NASA Aerospace Engineering Grid
Wing Models
•Lift Capabilities
•Drag Capabilities
•Responsiveness
Airframe Models
Stabilizer Models
•Deflection capabilities
•Responsiveness
Crew
Capabilities
- accuracy
- perception
- stamina
- re-action
times
- SOP’s
Human Models
Engine Models
•Braking performance
•Steering capabilities
•Traction
•Dampening capabilities
Landing Gear Models
•Thrust performance
•Reverse Thrust performance
•Responsiveness
•Fuel Consumption
simulations
are produced
by coupling
ItWhole
takes asystem
distributed
virtual organization
to design,
simulate
andall
build
a complex
system simulations
like an aircraft
of the
sub-system
15
Virtual Observatory Astronomy Grid
Integrate Experiments
Radio
Far-Infrared
Visible
Dust Map
Visible + X-ray
16
Galaxy Density Map
e-Chemistry Laboratory
Experiments-on-demand
Grid-enabled Output Streams
Simulation
Video
Diffractometer
Properties
Analysis
Structures
Database
GridGlobus
Resources
X-Ray
e-Lab
Properties
e-Lab
Fig. 23: A Combinatorial Chemistry Grid (Chapter 42)
17
CERN LHC Data Analysis Grid
18
OGSA-DAI
Grid Services
Grid
Grid Data
Assimilation
HPC
Simulation
Analysis
Control
Visualize
This Type of Grid
integrates with
Parallel computing
Multiple HPC
facilities but only
use one at a time
Many simultaneous
data sources and
sinks
Distributed Filters
massage data
For simulation
SERVOGrid (Complexity) Computing Model
19
Sources of Grid Technology







Grids support distributed collaboratories or virtual
organizations integrating concepts from
The Web
Agents
Distributed Objects (CORBA Java/Jini COM)
Globus, Legion, Condor, NetSolve, Ninf and other High
Performance Computing activities
Peer-to-peer Networks
With perhaps the Web and P2P networks being the most
important for “Information Grids” and Globus for
“Compute Grids”
20
The Essence of Grid Technology?



We will start from the Web view and assert that basic
paradigm is
Meta-data rich Web Services communicating via
messages
These have some basic support from some runtime
such as .NET, Jini (pure Java), Apache Tomcat+Axis
(Web Service toolkit), Enterprise JavaBeans,
WebSphere (IBM) or GT3/4 (Globus Toolkit 3/4)
• These are the distributed equivalent of operating system
functions as in UNIX Shell
• Called Hosting Environment or platform

W3C standard WSDL defines IDL (Interface
standard) for Web Services
21
Meta-data




Meta-data is usually thought of as “data about data”
The Semantic Web is at its simplest considered as
adding meta-data to web pages
For example, the hospital web-page has meta-data
telling you its location, phone-number, specialties which
can be used to automate Google-style searches to allow
planning of disease/accident treatment from web
Modern trend (Semantic Grid) is meta-data about webservices e.g. specify details of interface and useage
• Such as that a bioinformatics service is free or bandwidth
input is of limited amount

Provenance – history and ownership – of data very
important
22
A typical Web Service


In principle, services can be in any language (Fortran .. Java ..
Perl .. Python) and the interfaces can be method calls, Java RMI
Messages, CGI Web invocations, totally compiled away (inlining)
The simplest implementations involve XML messages (SOAP) and
programs written in net friendly languages like Java and Python
Web Services
WSDL interfaces
Portal
Service
Security
WSDL interfaces
Web Services
Payment
Credit Card
Catalog
Warehouse
Shipping
control
23
Typical Grid Architecture
Each Blob is a
Computer
Program!
System
Services
Portal
Services
User
Services
System
Services
Application
Service
Middleware
System
Services
System
Services
System
Services
“Core”
Grid
Raw (HPC)
Resources
Database
24
Classic Grid Architecture
Resources
Database
Database
Composition
Content Access
Netsolve
Security
Collaboration
Middle Tier
Brokers
Service Providers
Computing
Middle Tier becomes Web Services
Clients
Users and Devices
25
Peers
Database
Database
Service Facing
Web Service Interfaces
Event/
Message
Brokers
Event/
Message
Brokers
Event/
Message
Brokers
Peer to Peer Grid
Peers
User Facing
Web Service Interfaces
A democratic organization
26
Peer to Peer Grid
What is Happening?







Grid ideas are being developed in (at least) four communities
• Web Service – W3C, OASIS, (DMTF)
• Grid Forum (High Performance Computing, e-Science)
• Enterprise Grid Alliance (Commercial “Grid Forum” with a
near term focus)
Service Standards are being debated
Grid Operational Infrastructure is being deployed
Grid Architecture and core software being developed
• Apache has several important projects as do academia; large
and small companies
Particular System Services are being developed “centrally” –
OGSA framework for this in GGF; WS-* for
OASIS/W3C/Microsoft-IBM
Lots of fields are setting domain specific standards and building
domain specific services
USA started but now Europe is probably in the lead and Asia
will soon catch USA if momentum (roughly zero for USA)
continues
27
Technical Activities of Note





Look at different styles of Grids such as Autonomic (Robust
Reliable Resilient)
New Grid architectures hard due to investment required
Program the Grid – Workflow
Access the Grid – Portals, Grid Computing Environments
Low
Critical Services Such as
Level
WS-*
• Security – build message based not connection based
• Notification – event services
• Metadata – Use Semantic Web, provenance
• Fabric and Service Management
• Databases and repositories – instruments, sensors
• Computing – Submit job, scheduling, distributed file systems
• Visualization, Computational Steering
High Level
• Network performance
e.g. OGSA
28
Web services
Humans
Programs
Computational resources
message processing
service logic
BPEL, Java, .NET
Databases
SOAP and WSDL
• Web Services build
loosely-coupled,
distributed applications,
(wrapping existing codes
and databases) based on
the SOA (service oriented
architecture) principles.
• Web Services interact by
exchanging messages in
SOAP format
• The contracts for the
message exchanges that
implement those
interactions are described
via WSDL interfaces.
resources
Devices
<env:Envelope>
<env:Header>
...
</env:header>
<env:Body>
...
</env:Body>
</env:Envelope>
SOAP messages
29
Philosophy of Web Service Grids
• Much of Distributed Computing was built by natural
extensions of computing models developed for
sequential machines
• This leads to the distributed object (DO) model
represented by Java and CORBA
– RPC (Remote Procedure Call) or RMI (Remote Method
Invocation) for Java
• Key people think this is not a good idea as it scales
badly and ties distributed entities together too tightly
– Distributed Objects Replaced by Services
• Note CORBA was considered too complicated in
both organization and proposed infrastructure
– and Java was considered as “tightly coupled to Sun”
30
– So there were other reasons to discard
Plethora of Standards
• Java is very powerful partly due to its many “frameworks” that generalize libraries
e.g.
– Java Media Framework
– Java Database Connectivity JDBC
• Web Services have a correspondingly collections of specifications that represent
critical features of the distributed operating systems for “Grids of Simple Services”
– About 60 WS-* specifications introduced in last 2-3
years
– These are low level with higher level standards such as
access database (OGSA-DAI) or “Submit a job” built on
top of these
• Many battles both between standard bodies and between companies as each tries to
set standards they consider best; thus there are multiple standards for many of key
Web Service functionalities
• Microsoft a key player and stands to benefit as Web Services open up enterprise
software space to all participants
31
– e.g. MQSeries (IBM) and Tibco have to change their
WS-I Interoperability
• Critical underpinning of Grids and Web Services is
the gradually growing set of specifications in the
Web Service Interoperability Profiles
• Web Services Interoperability (WS-I)
Interoperability Profile 1.0a." http://www.ws-i.org.
gives us XSD, WSDL1.1, SOAP1.1, UDDI in basic
profile and parts of WS-Security in their first
security profile.
• We imagine the “60 Specifications” being checked
out and evolved in the cauldron of the real world
and occasionally best practice identifies a new 32
specification to be added to WS-I which gradually
Application Specific Grids
Generally Useful Services and Grids
Workflow WSFL/BPEL
Service Management (“Context etc.”)
Service Discovery (UDDI) / Information
Service Internet Transport  Protocol
Service Interfaces WSDL
Base Hosting Environment
Protocol HTTP FTP DNS …
Presentation XDR …
Session SSH …
Transport TCP UDP …
Network IP …
Data Link / Physical
Higher
Level
Services
Service
Context
Service
Internet
Bit level
Internet
(OSI
Stack)
Layered Architecture for Web Services and Grids
33
WS-* implies the The Service Internet





We have the classic (CISCO, Juniper ….) Internet routing the
flood of ordinary packets in OSI stack architecture
Web Services build the “Service Internet” or IOI (Internet on
Internet) with
• Routing via WS-Addressing not IP header
• Fault Tolerance (WS-RM not TCP)
• Security (WS-Security/SecureConversation not IPSec/SSL)
• Data Transmission by WS-Transfer not HTTP
• Information Services (UDDI/WS-Context not
DNS/Configuration files)
• At message/web service level and not packet/IP address level
Software-based Service Internet possible as computers “fast”
Familiar from Peer-to-peer networks and built as a software
overlay network defining Grid (analogy is VPN)
SOAP Header contains all information needed for the “Service
Internet” (Grid Operating System) with SOAP Body containing
information for Grid application service
Consequences of Rule of the Millisecond
• Useful to remember critical time scales
–
–
–
–
–
1) 0.000001 ms
– CPU does a calculation
2a) 0.001 to 0.01 ms – Parallel Computing MPI latency
2b) 0.001 to 0.01 ms – Overhead of a Method Call
3) 1 ms
– wake-up a thread or process
4) 10 to 1000 ms – Internet delay
• 2a), 4) implies geographically distributed
metacomputing can’t in general compete with
parallel systems
• 3) << 4) implies a software overlay network is
possible without significant overhead
– We need to explain why it adds value of course!
35
• 2b) versus 3) and 4) describes regions where method
Linking Modules
Closely coupled Java/Python …
Module
B
Module
A
Method Calls
.001 to 1 millisecond

Coarse Grain Service Model
Service
B
Messages
Service
A
0.1 to 1000 millisecond latency
From method based to RPC to message based to event-based
publish-subscribe Message Oriented Middleware
“Listener”
Subscribe
to Events
Service B
Publisher
Post Events
Message Queue in the Sky
Service A
36
What is a High Performance Computer?








We might wish to consider three classes of multi-node computers
1) Classic MPP with microsecond latency and scalable internode
bandwidth (tcomm/tcalc ~ 10 or so)
2) Classic Cluster which can vary from configurations like 1) to 3)
but typically have millisecond latency and modest bandwidth
3) Classic Grid or distributed systems of computers around the
network
• Latencies of inter-node communication – 100’s of milliseconds
but can have good bandwidth
All have same peak CPU performance but synchronization costs
increase as one goes from 1) to 3)
Cost of system (dollars per gigaflop) decreases by factors of 2 at
each step from 1) to 2) to 3)
One should NOT use classic MPP if class 2) or 3) suffices unless
some security or data issues dominates over cost-performance
One should not use a Grid as a true parallel computer – it can link
parallel computers together for convenient access etc.
37
What is a Simple Service?
• Take any system – it has multiple functionalities
– We can implement each functionality as an independent
distributed service
– Or we can bundle multiple functionalities in a single
service
• Whether functionality is an independent service or one of many method calls into a
“glob of software”, we can always make them as Web services by converting
interface to WSDL
• Simple services are gotten by taking functionalities and making as small as possible
subject to “rule of millisecond”
– Distributed services incur messaging overhead of one
(local) to 100’s (far apart) of milliseconds to use message
rather than method call
– Use scripting or compiled integration of functionalities
ONLY when require <1 millisecond interaction latency
• Apache web site has many projects that are multiple functionalities presented as
(Java) globs and NOT (Java) Simple Services
– Makes it hard to integrate sharing common security,38user
•
•
•
•
•
Grids of Grids of Simple Services
Link via methods  messages  streams
Services and Grids are linked by messages
Internally to service, functionalities are linked by methods
A simple service is the smallest Grid
We are familiar with method-linked hierarchy
Lines of Code  Methods  Objects  Programs  Packages
Methods
CPUs
Services
Clusters
Component Grids
Compute
Resource Grids
MPPs
Databases
Sensor
Federated
Databases
Sensor Nets
Data
Resource Grids
Overlay
and Compose
Grids of Grids
39
Component Grids?
• So we build collections of Web Services which we
package as component Grids
–
–
–
–
–
–
–
Visualization Grid
Sensor Grid
Utility Computing Grid
Person (Community) Grid
Earthquake Simulation Grid
Control Room Grid
Crisis Management Grid
• We build bigger Grids by composing component
Grids using the Service Internet
40
Flood CIGrid
…
Electricity
CIGrid
…
Gas Services
and Filters
Flood Services
and Filters
Collaboration Grid
Sensor Grid
Registry
Gas CIGrid
Portals
GIS Grid
Data Access/Storage
Visualization Grid
Compute Grid
Metadata
Core Grid Services
Security
Notification
Workflow
Messaging
Physical Network
Critical Infrastructure (CI) Grids built as Grids of Grids
41
Two-level Programming I


The paradigm implicitly assumes a two-level
Programming Model
We make a Service (same as a “distributed object” or
“computer program” running on a remote computer)
using conventional technologies
• C++ Java or Fortran Monte Carlo module
• Data streaming from a sensor or Satellite
• Specialized (JDBC) database access

Such services accept and produce data from users files
and databases
Service

Data
The Grid is built by coordinating such services
assuming we have solved problem of programming the
service
42
Two-level Programming II




The Grid is discussing the composition of distributed
services with the runtime Service1
Service2
interfaces to Grid as
opposed to UNIX
Service3
Service4
pipes/data streams
Familiar from use of UNIX Shell, PERL or Python
scripts to produce real applications from core programs
Such interpretative environments are the single
processor analog of Grid Programming
Some projects like GrADS from Rice University are
looking at integration between service and composition
levels but dominant effort looks at each level separately
43
What Should One Do?

Grids and Service Oriented Architectures will
• Change landscape in mature areas like enterprise software
• Support new distributed applications in Science,
Government, Education, Business and Community areas
• Encourage trends like outsourcing and globalization in all
activities



Web Service/Grid standards and infrastructure are still
in their infancy but broad principles reasonably clear
Many large scale software development activities are
inconsistent with modern architectures
Development of Application specific (XML-based)
standards is an important “safe” area
44
Download