Title: Jini Meets the Grid
1Jini Meets the Grid
University of Portsmouth, UK October 29th
2001 http//www.dcs.port.ac.uk/mab/talks/
2Contents
- Why Jini and What is Jini.
- Jini technologies and architecture.
- Jini services
- Discovery,
- Lookup,
- Joining.
- Leases, Transactions and Events.
- Object activation and security.
- Jini summary
3Contents (contd.)
- The Grid
- Application types,
- Grid vision and requirements,
- Globus.
- Jini and the Grid
- Fundamental interactions,
- Usage Scenarios,
- Interactions,
- Use Cases,
- Design Issues.
- Summary.
4Why Jini?
- Distributed computing is more difficult than
local computing because of - Network latency,
- Concurrency issues,
- Memory management,
- Partial failure.
5Why Jini?
- Provides Network plug and work.
- Enables a service-based architecture.
- Spontaneous networking.
- Erase the distinction between hardware and
software. - A distributed computing infrastructure to makes
writing distributed programs easier.
6What is Jini
- Jini addresses the problems of distributed
computing using a set of simple interfaces and
protocols. - Jini enables spontaneous networks of software
services (and devices) to assemble into working
groups of objects, or Federations. - Jini enables self-healing when one or more
devices are removed from the Federation - Jini builds on the Java 2 Platform.
7What is Jini
- Jini can be used with both hardware as well as
software services - Everything is represented by Java Objects.
- Everything is located and accessed through Java
Interfaces.
8Jini Technology Builds on Java Technology
- Feature
- Java virtual machine,
- Portable object code,
- Downloadable code,
- Unified type system
- Benefit
- Homogeneous network,
- Architecture independence,
- Dynamic environment.
9Simple, Reliable, and Flexible
- Based on the Java programming language.
- Interfaces are designed for robustness.
- Services come and go without administration.
- Federation, not central control the community
view of computing!
10Jini Technologies
11Jini Architecture
12Jini Extends the Java Platform
13Lookup service
- Repository of available services a database!
- Stores each service as an extensible set of Java
objects. - Service objects may be downloaded to clients as
required. - May be federated with other lookup services a
distributed database!! - Lookup service interface provides the usual
- Registration, Access, Update, Search, Removal.
14Jini Lookup Service
- Repository of available services.
- Stores each service as Java objects.
- Clients download services on demand.
15Registering a Service
16Finding a Service
17Discovery and Join Protocols
- Used to find and join a group of services.
- Based on UDP multicast Unicast discovery also
supported also. - Services advertise capabilities.
- Provide required software drivers.
- Establish reference with lookup service.
18Discovery Protocol
19Join Protocol
20Steps in Discovery and Join
- A Jini enabled Object (representing a hardware
and/or software service) multicasts a packet with
a reference to itself. - The service receives an RMI reference to one or
more Lookup service. - The service joins a Federation by placing an
object representing its capabilities into the
Lookup service for other clients and services to
use.
21Finding a Service
- To find a service, a Jini client locates a
service by querying a Lookup Service by type
(Java Interface). - Code moves from service to client via Lookup
Service. - Code needed to use service is dynamically loaded
on demand.
22Finding a Service
23Using a Service
- Communication is between service and its proxy.
- Independent of wire protocol due to the use of
the service API. - Protocol can change without affecting client.
- RMI semantics core to functionality.
24Using a Service
25Jini Lookup
26Why Distributed Leasing?
- Problem partial failure in distributed systems
can lead to unchecked resource consumption. - Traditional solution system administration
- Error-prone,
- Costly,
- Only happens when it is too late.
27Distributed Leasing in Jini
- Protocol for managing resources using a
renewable, duration-based model. - Contract between objects just like a contract
that would be made if you rented something like a
apartment. - Resources can be shared or private
- Provides a method of managing resources in an
environment where network failures can, and do,
occur.
28Leases Summary
- Time-based grants of resources or services.
- Loose contracts between grantor and holder.
- Negotiated for a set period of time.
- Can be shared or exclusive.
- Provides a method of managing resources in an
environment where failures can, and do, occur.
29Distributed events in Jini
- Enables Java event model to work in a distributed
network. - Register interest, receive notification.
- Allows for use of event managers.
- Can use numerous distributed delivery models
- Push, pull, filter...
- Uses leasing protocol.
30Transaction model in Jini
- Designed for distributed object coordination
light weight, object-oriented. - Supports
- Nested transactions
- Various levels of ACID properties (Atomicity,
Consistency, Isolation, Durability). - Uses leasing protocol.
- Implemented in Transaction Manager service
another Jini service (mahalo).
31Object Activation
- The RMI Activation Daemon (rmid) allows us to
register servers (objects). - The daemon starts servers on an as-needed basis.
- The servers terminate themselves when they are
idle. - This reduces the resources required since it only
runs active objects.
32Security in Jini
- Security for Jini is based on the JDK 1.2
security model. - In Java a Security Manager is used to grant or
deny access to resources. - The security manager makes use of a security
policy. - This is typically given in a policy file, which
is stored in some default location or specified
at runtime.
33Summary
- Discussed Jini and how it tries to bridge the
perceived problems with distributed systems. - Looked at
- Lookup
- Registration and Discovery
- Leasing
- Events and Transactions
34 35Why Grids?
- A biochemist exploits 10,000 computers to screen
100,000 compounds in an hour. - 1,000 physicists worldwide pool resources for
Petaop analyses of Petabytes of data. - Civil engineers collaborate to design, execute,
analyze shake table experiments. - Climate scientists visualize, annotate, analyze
Terabyte simulation datasets. - An emergency response team couples real time
data, weather model, population data.
36Why Grids? (contd.)
- A multidisciplinary analysis in aerospace couples
code and data in four companies - A home user invokes architectural design
functions at an application service provider - An application service provider purchases cycles
from compute cycle providers - Scientists working for a multinational soap
company design a new product - A community group pools members PCs to analyze
alternative designs for a local road
37Grid computing
- Analogous to electrical power grid
- Electricity is available seamlessly (user can
only see the wall socket) - Characteristics of Grid computing systems
- Geographically diverse resources.
- Consisting of a potentially large numbers of
commodity resources (computers/networks/devices). - Aims
- To provide more computing capacity.
- To provide better solutions for complex problems.
- Practically unlimited computing and storage
capacity.
38The Globus Project
- Close collaboration with real Grid projects in
science and industry. - Development and promotion of standard Grid
protocols to enable interoperability and shared
infrastructure. - Development and promotion of standard Grid
software APIs and SDKs to enable portability and
code sharing. - The Globus Toolkit Open source, reference
software base for building Grid infrastructure
and applications. - Global Grid Forum (GGF) Development of standard
protocols and APIs for Grid computing.
39Layered Grid Architecture
40Fabric Protocols Services
- Just what you would expect the diverse mix of
resources that may be shared - Individual computers, Condor pools, file systems,
archives, metadata catalogs, networks, sensors,
etc. - Few constraints on low-level technology.
- Defined by interfaces not physical characteristics
41Connectivity Protocols Services
- Communication
- Internet protocols IP, DNS, routing, etc.
- Security Grid Security Infrastructure (GSI)
- Uniform authentication, authorization, and
message protection mechanisms in
multi-institutional setting - Single sign-on, delegation, identity mapping
- Public key technology, SSL, X.509, GSS-API
- Supporting infrastructure Certificate
Authorities, certificate key management,
GSI www.gridforum.org/security
42Resource Protocols Services
- Grid Resource Allocation Mgmt (GRAM)
- Remote allocation, reservation, monitoring,
control of compute resources. - GridFTP protocol (FTP extensions)
- High-performance data access transport.
- Grid Resource Information Service (GRIS)
- Access to structure state information.
- Network reservation, monitoring, control.
- All built on connectivity layer GSI IP.
GridFTP www.gridforum.org GRAM, GRIS
www.globus.org
43Collective Protocols Services
- Index servers aka metadirectory services (GIIS)
- Custom views on dynamic resource collections
assembled by a community . - Resource brokers (GRAM)
- Resource discovery and allocation.
- Replication services.
- Co-reservation and co-allocation services (GARA).
- Workflow management services.
- etc.
44(No Transcript)
45Resource Management Architecture
46Online Access to Scientific Instruments
Advanced Photon Source
wide-area dissemination
desktop VR clients with shared controls
real-time collection
archival storage
tomographic reconstruction
DOE X-ray grand challenge ANL, USC/ISI, NIST,
U.Chicago
47Data Grids forHigh Energy Physics
Image courtesy Harvey Newman, Caltech
48Mathematicians Solve NUG30
- Looking for the solution to the NUG30 quadratic
assignment problem. - An informal collaboration of mathematicians and
computer scientists. - Condor-G delivered 3.46E8 CPU seconds in 7 days
(peak 1009 processors) in U.S. and Italy (8
sites).
14,5,28,24,1,3,16,15, 10,9,21,2,4,29,25,22, 13,26,
17,30,6,20,19, 8,18,7,27,12,11,23
MetaNEOS Argonne, Iowa, Northwestern, Wisconsin
49Network for EarthquakeEngineering Simulation
- NEESgrid national infrastructure to couple
earthquake engineers with experimental
facilities, databases, computers, each other. - On-demand access to experiments, data streams,
computing, archives, collaboration.
NEESgrid Argonne, Michigan, NCSA, UIUC, USC
50Home ComputersEvaluate AIDS Drugs
- Community
- 1000s of home computer users.
- Philanthropic computing vendor (Entropia).
- Research group (Scripps).
- Common goal advance AIDS research.
51For More Information
- Globus Project
- www.globus.org
- Grid Forum
- www.gridforum.org
- Book (Morgan Kaufman)
- www.mkp.com/grids
- Grid Support Centre
- www.grid-support.ac.uk
52Jini and the Grid
- Put all services from Grid community into Jini
community
CoGDesk
MPJ
Lapack/Blas
Printer Service
Globus Toolkits
Visualisation
53Fundamental Interactions
- Two fundamental types of interaction
- Use Jini services from the Grid,
- Use Grid services from Jini.
- Obviously there could be mixed interactions, but
if the two fundamental issues are solved, then
this area is not a problem.
54Recap on the use of Jini Services
- Service
- Registration of service, and the existence of a
service interface. - Client
- Discover LUS,
- Search through LUS for service.
- Access service via its proxy service interface.
- Reliability ensure leasing paradigm OK.
- Cancellation and abort (events/trans)
55Usage Scenarios
- Want to permit serial and parallel jobs.
- Native (Java) and Non-Native (Fortran/C) access
to Jini service (s). - Want to use
- Jini service (s) from the Grid e.g.
visualisation system or MPJ (Java SPMD
environment). - Grid service (s) from Jini batch system like
PBS or a Cave. - Likely that Jini-side will be predominantly Java
and Grid-side non-Java (C/Fortran).
56Usage Scenarios
- Two interaction scenarios
- Direct heavyweight client
- Intelligent Client!
- Up-front knowledge of usage needed.
- Direct Jini/Grid usage.
- No intermediate broker.
- Indirect lightweight client
- Simple Client.
- Up-front knowledge NOT needed.
- Indirect Jini/Grid usage.
- Intermediate resource broker.
57Use Case (Direct ) Grid Job
- Native access from the Grid (C/Fortran Job)
- Discover find LUS, need to ensure evidence of
LUS is stored in GIS and LUS can be found. - Search need to download the LUS interface and
search for services needed. - Access after service is found, need to access
it via its interface using RMI then use sockets
directly. - Problems (some)
- RSL Parsing maybe Jini/Grid Markup Language.
- Find LUS (hardwired) and its attributes.
- Wrapper and transfer for non-Java jobs.
- Security Certs, Digital Signatures, SSL.
58Direct Interaction Grid-Jini
Jini Enabled
Jini
Grid
GIS
LUS
GIS/LUS Interface
Service Proxy
Grid Client
Cert
Cert
Service
59Direct Interaction Grid-Jini
Jini Enabled
Jini
Grid
GIS
LUS
GIS/LUS Interface
Service Proxy
Grid Client
Cert
Cert
60Indirect Interaction Grid-Jini
Jini
Grid
LUS
GIS
Jini Enabled
LUS Interface
Resource Broker
Service Proxy
Grid Service
Service
Cert
Cert
61Use Case (II) Jini Job
- Non-Native access from the Jini (Java Job)
- Discover find LUS, and locate a Grid
Information Service (LDAP). - Search - need to download the LUS interface to
GIS and search for services needed. - Access after service is found, need to access
it via its interface using a well defined
protocol. - Problems
- Find GIS and its attributes.
- Java access to non-Java service go via service
proxy, so need to deal with non-Java access.
62Direct Interaction Jini - Grid
Jini
Grid
GIS
LUS
LUS/CoG Interface
Jini/CoG Enabled
Grid Service
Cert
Client
Cert
63Indirect Interaction Jini - Grid
Jini
Grid
LUS
GIS
LUS Interface
Jini/Cog Enabled
Resource Broker
Grid Service
Cert
Cert
Client
64Design Issues Scalability
- Jini designed to be used in a LAN setting
dependant on multi-cast. - No infrastructure for supporting Jini communities
distributed over a wide area. - An interesting research topic and critical for
widespread take up of Jini and the Grid. - Could use
- Over lapping LUSs.
- P2P environments JXTA.
- Well known Jini gateways.
- New protocols.
65Design Issues Search Flexibility
- Can search LUSs
- Exact matches,
- Service attributes,
- Jini ID,
- Vague print, or ?rint.
- Probably want a fuller search capabilities to be
more flexible and adaptable.
66Design Issues Markup Language
- Need to match Jini terminology with that of the
Grid. - Probably scope to develop matalanguage JiniGrid
Markup Language (JGML). - Parsing of RSL to JGML.
67Summary
- Described the basic Infrastructure of Jini and
Grid architectures. - Briefly outlined Grid and Jini usage of each
others services. - Looked at various different integration
scenarios - Direct - using Jini dynamic ability.
- Indirect introducing an intelligent broker.
- Discussed some of the integration design issues
discovery, parsing, wrapping, security, etc.
68Conclusions
- Integrating Jini and the Grid together is useful
for a number of reasons - Proof of concept integrating two distributed
environments with similar goals but radically
different implementation details. - Increasing numbers of Grid and Jini-based
environments and so the need for interaction is
more and more likely. - Issue raised are ongoing research efforts.