Hardware and software development is going full-steam ahead for ARM servers. After Calxeda and AppliedMicro server SoCs – based respectively on Cortex A9 and ARMv8 architecture – have been announced and Ubuntu focusing further ARM development on Servers (Calxeda, Marvell and ARMv8), Oracle has released the Java SE server compiler – a throughput optimizing JIT compiler – for ARMv7. The ARMv7 server compiler is part of Java SE for Embedded 7 Update 2.
First, some quick explanations on the 2 JIT compilers available for Java SE:
- Client: The client compiler is a fast start-up, lightly optimizing compiler. It’s better suited for smaller footprint systems and those running applications that require fast start-up such as Android applications.
- Server: The server compiler is optimizing code for throughput and produces highly-optimized code but incurs a start-up cost in achieving that.
The server compiler only works on ARMv7 processors with hardfloat (VFPv3 FPU), and initial server compiler tests on ARMv7 showed improvements between 19 to 40% compared with the client compiler.
There are even individual test results that show an insane 152 times performance improvement between the server and client compiler (CaffeineMark 3 Logic Test on Pandaboard).
Java SE for Embedded 7u2 also contains serviceability enhancements, performance improvements and bug fixes. Oracle also released Java SE for Embedded 6u30 (ARMv6/ARMv7) which includes performance improvements and bug fixes.
The two releases of Java SE for Embedded for ARM support the following:
- Latest features and fixes of standard SE
- Headless support for ARMv5 soft-float and ARMv6/v7 hard-float
- Headful support for ARMv7
- Multi-core support for ARMv7
- Server JIT compiler support for ARMv7 (7u2 release only)
You can download Java SE Embedded 7u2 and 6u30 to run them on your ARM board(s).
Here are the requirements to run the latest JAVA SE for embedded 7 on different ARM architecture:
Java SE for Embedded 7 on ARM EABI, Little-Endian, Linux
|
||||
---|---|---|---|---|
|
||||
CPU | ARM v5 | ARM v6/v7 | ARM v7 | |
|
||||
OS* | Linux: kernel 2.6.28 or higher; glibc 2.9 or higher | Linux: kernel 2.6.28 or higher; glibc 2.9 or higher | Linux: kernel 2.6.28 or higher; glibc 2.9 or higher | |
|
||||
FP | Soft Float | Hard Float (VFP) | Hard Float (VFP) | |
|
||||
Headful | No | No | Yes. X11R6 or higher | |
|
||||
RAM | 32MB or more for Java | 32MB or more for Java | 64MB or more for Java | |
|
||||
ROM/Flash/Disk | 41MB or more for Java | 41MB or more for Java | 48MB or more for Java |
For further details, you can read the release notes for Java SE Embedded 7u2 and Java SE Embedded 6u30 on Oracle website.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress