Forums

ARM (with jazelle) vs Intel Atom for Java apps

Started by shani July 10, 2009
Hi
We are re-designing a SBC and evaluating different processors.

All application that ran on the previous system has been ported to Java so
our customer is now facing performance issues.

We are considering Intel Atom, but I am still open to other options.

I have read a about Jazelle in the ARM cores, but am still unable to
answer the following questions:

1. Does it REALLY improve performance?
2. I believe the OS needs to have built-in support for it to work. Is this
something we will have to integrate ourselves in whatever BSP we are going
to use? (We will be running on a WinCE platform)
3. What processor cores could we possible use to harness Jazelle based
features? (TI OMAP 3xx and i.MX51 seem to use this but could not get much
information about Jazelle from their website)

Would much appreciate if somebody could give some pointers.

Thanks
Shani




On Jul 10, 8:39=A0am, "shani" <samie.gha...@plexus.com> wrote:

> We are re-designing a SBC and evaluating different processors. > > All application that ran on the previous system has been ported to Java s=
o
> our customer is now facing performance issues. > > We are considering Intel Atom, but I am still open to other options. > > I have read a about Jazelle in the ARM cores
There's always the buy eval boards and get enough of the software running on each to do benchmarks method... but that can be hard if someone is pushing to start the PCB process yesterday.
cs_posting@hotmail.com wrote:
>On Jul 10, 8:39=A0am, "shani" <samie.gha...@plexus.com> wrote: >> We are re-designing a SBC and evaluating different processors. >> >> All application that ran on the previous system has been ported to Java so >> our customer is now facing performance issues. >> >> We are considering Intel Atom, but I am still open to other options. >> >> I have read a about Jazelle in the ARM cores
>There's always the buy eval boards and get enough of the software >running on each to do benchmarks method... but that can be hard if >someone is pushing to start the PCB process yesterday.
It isn't obvious what eval boards and software are available that can let you use Jazelle, all the info on the ARM website just tells you to contact them. The issues are the same as in the "Hi-Tech Software..." thread, ARM are putting up a bit of a barrier to use. Robert Swindells
On Jul 10, 10:42=A0am, Robert Swindells <r...@fdy2.demon.co.uk> wrote:

> It isn't obvious what eval boards and software are available that can > let you use Jazelle, all the info on the ARM website just tells you to > contact them.
Have you tried that? I mean if you ask and they ignore you because you aren't a big enough customer, that would be different. I don't personally like it when they don't post key information on the web site, but it probably is worth asking.
"shani" <samie.ghauri@plexus.com> wrote in message news:WrSdnb-e34IRq8rXnZ2dnUVZ_hKdnZ2d@giganews.com...
> Hi > We are re-designing a SBC and evaluating different processors. > > All application that ran on the previous system has been ported to Java so > our customer is now facing performance issues. > > We are considering Intel Atom, but I am still open to other options. > > I have read a about Jazelle in the ARM cores, but am still unable to > answer the following questions: > > 1. Does it REALLY improve performance? > 2. I believe the OS needs to have built-in support for it to work. Is this > something we will have to integrate ourselves in whatever BSP we are going > to use? (We will be running on a WinCE platform) > 3. What processor cores could we possible use to harness Jazelle based > features? (TI OMAP 3xx and i.MX51 seem to use this but could not get much > information about Jazelle from their website) > > Would much appreciate if somebody could give some pointers.
There are (at least) 4 different ways of executing Java: 1. interpretation 2. direct hardware execution 3. JIT compilation 4. AOT compilation In order to answer your question of whether an ARM core with Jazelle would improve performance you first need to state what you are currently using, which core and what speed. If you use an interpreter, anything will give a good speedup. Note there are 2 versions of Jazelle: DBX which executes byte codes directly (various ARM9's and all ARM11's support this). This gives around 4x speedup over interpretation and has no memory or startup overheads. There is also an optimizer which can improve performance at runtime. However rather than generating native instructions like a JIT, it optimizes the bytecode itself. Jazelle-RCT supports either JIT or AOT compilation into the Thumb-2EE instruction set (Cortex-A8/Cortex-A9). This gives near native performance but when using a JIT you get the usual startup and memory overheads (although far less than when using x86 due to ARM's better code density). Wilco
Thanks very much all the information everybody provided.

Shani