| JBlade Hemi™ is a Java library used to communicate with IPMI enabled systems for the control of CPUs, Fans, lights and BIOS parameters without the presence of an operating system. Hemi can read IPMI sensors including temperature, voltage and Boot sensors. Hemi includes the JBlade Retuli library that implements the IPMI 2.0 specification. |
| IPMI was introduced by Intel over 12 years ago and is the world wide standard for interfacing with the low level hardware on practically every computer sold. JBlade Hemi™ is the largest Java IPMI library in the world and is battle tested in products ranging from fanless embedded systems to a Data Ceter System Managers. |
Hemi is available in three different configurations that differ in performance and the interface with the IPMI hardware. The three Hemi editions are:
- Hemi EM - for embedded java applications
- Hemi CX - System Managers using less than 50 clients per JVM
- Hemi DC - massively parallel DCIM applications with high message rates
The Java API for the IPMI data is identical between Hemi CX and Hemi DC editions but they differ on the Java constructors used to create Hemi and how it connects over the network to the remote server. Hemi EM does not implement any network connectivity and shares only 50% of the Hemi CX and DC API. |
| Benefits |
Use Hemi to interact with hardware resources using the Java object oriented model familiar to millions of programmers. With Hemi you can control:
- Fan Speeds
- Servos for air vents in Data Centers
- Multi Line LCD displays
- LED color and brightness
- Relays or PDUs for power distribution
Use Hemi to read inventory information such as part number, manufacturer name and serial number. Read sensors for:
- CPU Temperature
- Air inlet and exhaust temperature
- Voltages
- Chassis intrusion
- Accelerometers
- Chassis intrusion
- Humidity
- Battery levels
Hemi provides a high level consistent interface to hardware implementing IPMI. Unlike open source solutions Hemi is a single library that is compatible between all Operating Systems. Applications built with Hemi work without modification on Windows, Linux, MacOS and Solaris. Hemi users can extend the IPMI command set without additional JBlade software or help. |
|
| Hemi Editions |
| The JBlade Hemi™ EM library is used in embedded systems that access a BMC using the SMBus System Interface (SSIF) systems. Using Hemi reduces CPU processing by directly accessing the IPMI information without the using C language or creating C language objects that are then converted to Java Objects. This allows embedded systems to use cheaper CPUs and in some cases dramatically reduce costs by removing all Fans. |
| Hemi CX |
| The JBlade Hemi™ CX library is used in System Managers and utilities needing network access to a Computer, Raid, Router network appliance that is IPMI enabled. Collect temperature and voltages readings, configure boot options and interact with the BIOS setup screens without physical access to the device. |
| Hemi DC |
| The JBlade Hemi™ DC is used by DCIM developers or Data Center operators needing high speed network access concurent access to thousands of servers in a single JVM. This eliminates the CPU threads and IPMI data conversion overhead of open source tools(IpmiTool, OpenIPMI, etc) allowing a System Manager to scale to large numbers of servers. |
| Hemi Edition Comparison |
| |
Hemi EM |
Hemi CX |
Hemi DC |
| Target System |
Embedded |
Small System Manager |
DCIM Data Center System Manager |
| Maximum managed CPUs per Hemi instance |
1 |
1 |
500 |
| JVM Threads per Hemi instance |
4 Threads per target SMBus |
5 Threads per 1 IPMI Service Processor |
6 Threads per 500 IPMI service Processors |
| Sensor read rate/second |
Dependent on SMBus speed |
30 |
100 |
| Max IPMI Message per Second per target CPU |
Dependent on SMBus speed |
100 |
3000 |
| IPMI Interface |
SMBus System Interface |
Network RMCP |
Network RMCP |
| IPMI Serial Over Lan support |
No |
Yes |
Yes |
| Jar size after Proguard |
800 Kb |
1.6 MB |
1.7 MB |
| Avaliability |
Waiting for JSR 360 |
Now |
Now |
| Minimum Developement Cost/Year (US Dollars) |
8,000 |
12,000 |
65,000 |
|
|
| System Requirements |
| Java 7.0.9 |
|