JIMS Extensions for Resource Monitoring and Management

1
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
JIMS Extensions for Resource
Monitoring and Management
of Solaris 10
Marcin Jarząb, Damian Wieczorek,
Kazimierz Balos, Krzysztof Zieliński
Department of Computer Science, AGH-UST
Kraków, Poland
2
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
Agenda
•
•
•
•
•
•
Introduction to JMX
JIMS Overview
Solaris 10 features
JIMS Extensions for Solaris 10
JIMS usage scenarios
Summary
3
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
Java Management Extensions
• Java Management Extensions (JMX) technology is a general
framework for distributed resource management
• It offers a general architecture suitable for construction
of monitoring systems and management applications written
in Java
• Managed resources are represented as Managed Beans
(MBeans), the simple Java objects installed in MBean Server
In stru m e n tatio n
L a yer
D is trib u te d S erv ic es
L a yer
S erv e r L a ye r
C o nn ec to r 1
O b je c t 1
M Bean
O b je c t 2
M Bean
Ins tru m en ta tion
L a ye r M B e a n s
P ro x y M B ea ns :
- O b je c t 1
- O b je c t 2
M B e an S erv er s erv ice s
S erv ice 1
M B e an
C o nn ec to r 2
(H T T P , R M I)
S erv ice 2
M B e an
M B e an S e rve r
J M X c lien t
P ro to c o l A d ap to r
(H T M L, S N M P )
M B ea n S erv e r Ja v a V irtu a l M a ch in e
M B S C o nn e ctio n
pro toc o l e n a bled
clien t, w e b
bro w s er, etc .
C lie n t J av a V irtu a l M ac h in e
• Provides many ready-to-use services
– MLet (dynamic modules downloading)
– Notification
– Discovery services
4
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
JIMS Overview
• JIMS = JMX based Infrastructure Monitoring System
• Current implementation supports both Linux
and Solaris platforms monitoring and management
Client Application Layer consists of applications
connected to the JIMS system, which are
consumers of the information produced by the
system.
Integration Layer enables discovery of all
accessible clusters and provides an overall view
of the Grid using Global Discovery mechanism.
Interoperability Layer provides a common point
of communication with Computational Nodes (also
called Worker Nodes or WNs) in clusters through
dedicated access nodes (Access Node - AN).
Instrumentation Layer provides infrastructure
and Java application monitoring information
using specially-designed sensors & effectors
modules installed in the JIMS Monitoring Agent
(JIMS M.A.).
Client
Applications
Layer
JIMS Clients
Visualization,
Monitoring
Integration Layer
Global Discovery
Interoperability
Layer
JIMS Gateway
JIMS Gateway
Access Node
Access Node
Instrumentation Layer
JIMS M.A.
JIMS M.A.
JIMS M.A.
JIMS M.A.
CPU,Mem,Network,
Processes, SGE
CPU,Mem, Network
Processes
JVM 5.0
J2EE AS
Computational Node 1
Computational Node N
Cluster A
Computational Computational
Node 1
Node 2
Cluster B
5
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
JIMS Characteristics
• Uniform representation of diverse resources
– OS resources
– Applications (JVM, Grid Engines)
– Networking hardware
• Auto-configuration
– Automatic adaptation to underlying system
– Discovery mechanisms
– Minimized manual configuration (HTTP module
repository address, Gateway address)
• Easy maintenance (automatic modules
downloading)
• Extensibility (through additional modules)
6
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
Solaris 10 Features
•
•
•
•
Zone virtual „isolated” operating system instance (owning IP addresses,
booting capabilities, filesystem)
– 1 OS instance = 1 global and N local Zones
Solaris Container = Zone + Resource Controls
– Resource Controls; per-Process resource limits extended to the Zone, Project
and Tasks entities:
• Project provides a network-wide administrative identifier for related work
• Task collects a group of processes into a manageable entity that represents
a workload component
– Dynamic Resource Pools; used for dynamic adjusting machine resources
Resource Controls
– Examples:
• zone.cpu-shares, zone.max-lwps
• project.cpu-shares, project.max-lwps, project.max-cpu-time
• task.max-lwps, task.max-cpu-time
• process.max-cpu-time, process.max-data-size, process.max-address-space
– Each resource control may have limit specified and reaction to exceeding that
limit:
• denying consumption request
• sending signal to process or log event
• no action (useful for monitoring and logging)
Extended Accounting – logs historical resource usage data (zones, projects, tasks)
7
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
Solaris 10 Features (continued)
• Rich virtualization and resource management
facilities
Source: „Consolidating Applications with Solaris Containers”, Sun Microsystems Technical Whitepaper, November 2004
8
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
JIMS Extension for Solaris 10 Requirements
• Reading administrative information about Solaris 10
entities (zones, projects) and performing administrative
operations
• Provide real-time information about resource usage
of zones and projects, allow to set limits using resource
controls
• Extract Extended Accounting data and store it in central
database
• Operating within global or local zone (adaptation to
environment i.e. detect whether it’s running in global
or local zone and adjust expose interface)
• Notifying interested parties about changes in the system
(changes of entities and resource usage)
9
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
JIMS Extension for Solaris 10 Design
•
•
•
MBeans enable reading and changing properties of zones
and projects (i.e. resource controls, member users etc.)
and also operations that change zone state
MBeans use various methods to interact with the OS to collect
information about zones and projects; read configuration files or
use JNI. Changes in configuration are applied by executing shell
scripts and system commands
MBeans are able also to emit JMX notifications to inform
interested parties about changes in the system (e.g. changed
resource usage)
Multiple access protocols
RMI Connector
HTTP Connector
Uniform management interface
Diverse interfaces
Solaris 10
JIMS module
Solaris 10 access adaptation layer
JNI + C API
Runtime.exec + CLI
config file, logs
Real-time resource usage (/proc)
Extended Accounting (libexacct)
Zones / projects management
& Resource Controls commands
Zones/projects config files
/var/adm/messages
Solaris 10 Global Zone
Zone 1
Virtualized resources
Java / JIMS
JIMS abstractions - MBeans
Common access interface
Access methods
SNMPAdaptor
Project
1
Project
2
Zone 2
Project
1
Project
2
Solaris 10
Zone 3
Project
1
Project
2
10
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
JIMS Application Scenario
Rich Hardware and Software Platforms
Linux
JIMS Gateway
Modules Repository
Solaris 10
Solaris 10
JIMS MA
Global Zone
Tomcat
Tomcat
Zone 1
Tomcat
JIMS MA
JBoss
Zone N
Global Zone
Node1
Node10
Linux
Linux
JIMS MA
JIMS MA
Sun Grid Engine
Tomcat
Node11
Node18
11
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
JIMS in Action
12
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
Autonomic Management of
Resources with JIMS
• Autonomic computing is a vision of the future in which
computing systems will manage themselves in accordance
with high-level objectives specified by humans
• Because JIMS supports monitoring and management, might
be used as a translation layer between resources and
autonomic manager
Autonomic Management
layer
Connectivity layer
Common open JIMS Agent Services
interface
Resource Abstraction
layer
Autonomic Manager
Obervation
Learning
Understanding
SOAP
Connector
RMI
Connector
SNMP
Adapter
HTML
Adapter
Discovery
Auto-conf.
Self-organ.
Dyn. loading
Managed Element
Managed Element
MBean
MBean
Resource interface
MBean
MBean
Resource interface
Resource access layer
Access
method
Managed resources
Access
method
Resource
Access
method
Resource
Access
method
Access
method
Resource
Access
method
Resource
Planning
Executing
JIMS
Gateway
Security
Managed Element
MBean
MBean
Resource interface
Access
method
Access
method
Resource
Access
method
Resource
• Our current effort is to integrate JIMS with IBM’s Policy
Management for Autonomic Computing (PMAC) toolkit
13
ICCS 2006 (GSRM'06)
JIMS Extensions for Resource Monitoring and Management of Solaris 10
Summary
• JIMS extension for Solaris 10 platform
– Extensible, automatically configurable framework
for infrastructure monitoring and management
of Solaris 10 clusters
– Uses various methods for accessing rich native
Solaris 10 monitoring and management
mechanisms, but exposes uniform interface using
MBeans
– Provides base functionality for autonomic
management software
• JIMS for Linux platform has been successfully
deployed in some Grid installations (EU IST
CrossGrid project, Polish national project Clusterix)