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-USTKrakó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
M BeanServer
O bject 1 M Bean
Serv ice 2 M Bean
Connector 1
Protoco l Adap tor (HT M L, SNM P)
M B eanServer Java V irtua l M ach ine
Connector 2 (HTT P, R M I)
O bject 2 M Bean
C lient Java V irtual M achine
Serv ice 1 M Bean
Proxy M B eans: - O bject 1 - O bject 2
M B S C onnection
JM X c lient
pro toco l enabled clien t, web browser, etc .
Instrum entation Layer
Server L ayer D istrib uted Services L ayer
Instrum entation Layer M Beans
M BeanServer serv ices
• 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
JIMS Gateway
Computational Node 1
Cluster A Cluster B
Access Node
JIMS M.A.
CPU,Mem,Network,Processes, SGE
JIMS M.A.
CPU,Mem, NetworkProcesses
Computational Node N
JIMS M.A.
JVM 5.0 J2EE AS
JIMS Gateway
Access Node
Global Discovery
Visualization, Monitoring
JIMS Clients
Integration Layer
Interoperability
Layer
Instrumentation Layer
Client
ApplicationsLayer
JIMS M.A.
Computational
Node 1
Computational
Node 2
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 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).
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 resourcecontrols
• 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 shellscripts 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)
Uniform management interface
Multiple access protocols
Common access interface
JNI + C API
Solaris 10 Global Zone
Runtime.exec + CLI config file, logs
JIMS abstractions - MBeans
Diverse interfaces
Solaris 10
Real-time resource usage (/proc)
Extended Accounting (libexacct)
Java / JIMS
Zones / projects management
& Resource Controls commands
Zones/projects config files
/var/adm/messages
Solaris 10 access adaptation layer
Access methods
Zone 1
Project 1
Project2
RMI Connector HTTP Connector SNMPAdaptor
Virtualized resources
Zone 2
Project 1
Project2
Zone 3
Project 1
Project2
Solaris 10JIMS module
Uniform management interface
Multiple access protocols
Common access interface
JNI + C API
Solaris 10 Global Zone
Runtime.exec + CLI config file, logs
JIMS abstractions - MBeans
Diverse interfaces
Solaris 10
Real-time resource usage (/proc)
Extended Accounting (libexacct)
Java / JIMS
Zones / projects management
& Resource Controls commands
Zones/projects config files
/var/adm/messages
Solaris 10 access adaptation layer
Access methods
Zone 1
Project 1
Project2
RMI Connector HTTP Connector SNMPAdaptor
Virtualized resources
Zone 2
Project 1
Project2
Zone 3
Project 1
Project2
Solaris 10JIMS module
10 ICCS 2006 (GSRM'06) JIMS Extensions for Resource Monitoring and Management of Solaris 10
JIMS Application ScenarioRich Hardware and Software Platforms
Linux
LinuxLinux
Node1
TomcatJIMS MA
Global ZoneZone 1 Zone N
Solaris 10Solaris 10
Tomcat
Node10
JIMS MA
Global Zone
Tomcat
Node11
JIMS MA
Node18
JIMS Gateway
Modules Repository
Sun Grid Engine
JIMS MA
JBoss
Tomcat
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 whichcomputing 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
Managed resources
Resource access layer
Resource Abstractionlayer
Connectivity layer
Common openinterface
Autonomic Managementlayer
JIMS
Auto-conf. Self-organ. Dyn. loadingDiscovery Security
RMI Connector
SNMP Adapter
HTML Adapter
SOAP Connector
Gateway
Resource Resource
Access
method
Resource interface
Access
method
Access
method
MBean MBean
Managed Element
Resource Resource
Access
method
Resource interface
Access
method
Access
method
MBean MBean
Managed Element
Resource Resource
Accessmethod
Resource interface
Accessmethod
Accessmethod
MBean MBean
Managed Element
Autonomic Manager
Obervation Learning Understanding Planning Executing
JIMS Agent Services
Managed resources
Resource access layer
Resource Abstractionlayer
Connectivity layer
Common openinterface
Autonomic Managementlayer
JIMS
Auto-conf. Self-organ. Dyn. loadingDiscovery Security
RMI Connector
SNMP Adapter
HTML Adapter
SOAP Connector
Gateway
Resource Resource
Access
method
Resource interface
Access
method
Access
method
MBean MBean
Managed Element
Resource Resource
Access
method
Resource interface
Access
method
Access
method
MBean MBean
Managed Element
Resource Resource
Accessmethod
Resource interface
Accessmethod
Accessmethod
MBean MBean
Managed Element
Autonomic Manager
Obervation Learning Understanding Planning Executing
JIMS Agent Services
• 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 successfullydeployed in some Grid installations (EU IST CrossGrid project, Polish national project Clusterix)