Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Red Hat Devs Working On ARM64 OpenJDK Port

Unknown Lamer posted about 2 years ago | from the that's-quite-the-hotspot dept.

Java 63

hypnosec writes "Developers over at Red Hat are busy porting OpenJDK to ARM's latest 64-bit architecture — the ARMv8, also known as the AArch64. The current OpenJDK ARM situation is rather unsatisfactory: for the current 32-bit ARM processors, there are two versions of the HotSpot JVM for OpenJDK — Oracle's proprietary JIT, and a less sophisticated free JIT that performs poorly in comparison. To avoid a similar situation for the 64-bit platform, the developers are working on an entirely Free Software port of HotSpot to 64-bit ARM."

Sorry! There are no comments related to the filter you selected.

Orcale (0)

Nyder (754090) | about 2 years ago | (#41771581)

will sue.

Re:Orcale (0)

Anonymous Coward | about 2 years ago | (#41771635)

So what? Red Hat has the money to defend itself.

Re:Orcale (3, Interesting)

Billly Gates (198444) | about 2 years ago | (#41771639)

RedHat has an agreement with Sun that Oracle inherited. They can't do anything about it at this point.

Re:Orcale (0)

Anonymous Coward | about 2 years ago | (#41771729)

Who's Orcale?

Re:Orcale (1)

Anonymous Coward | about 2 years ago | (#41774751)

Who's Orcale?

A killer whale of a company.

Re:Orcale (0)

Anonymous Coward | about 2 years ago | (#41771747)

explain your point.

Re:Orcale (4, Interesting)

SplashMyBandit (1543257) | about 2 years ago | (#41771873)

Incorrect. They cannot sue OpenJDK. Sun had an explicit grant in the license for their JDK which allows compatible implementations to use all their patents. OpenJDK was created under these conditions. The restriction is that the trademark "Java" cannot be used unless you have passed the Test Compatibility Kit to ensure that the Java Write Once Run Anywhere promise is upheld. This is what shafted Microsoft's incompatible implementation in year's past (since it broke that promise to users).

Google were sued by Oracle for breaching copyright (in a clearly ridiculous case). This does not apply to OpenJDK because it was created under the Gnu General Public License (GPL). So OpenJDK will remain free forever - which is the whole point of the GPL (companies can't change their mind and shaft users; Stallman foresaw that possibility after his printer driver travails with Xerox way back in 1980).

So be happy, you can confidently rely on OpenJDK being around for decades.

Re:Orcale (0)

Anonymous Coward | about 2 years ago | (#41772595)

MySQL AB required a copyright assignment for all MySQL code changes. Sun, then Oracle purchased the full copyright to MySQL so Oracle can, in fact, close source it.

I know your response (it's my response, too): so what? The previous source code is still available.

And every "GPL is more free than BSD!" argument just died.

Re:Orcale (1)

SplashMyBandit (1543257) | about 2 years ago | (#41773355)

Meh. I use Postgresql. Technically betterer, legal betterer. There is no problem.

Re:Orcale (1)

devent (1627873) | about 2 years ago | (#41774669)

Look here: MaraDNS [maradns.org] . It is a fork of MySQL, incorporates all free available changes from MySQL and makes some improvements.

Re:Orcale (1)

jawtheshark (198669) | about 2 years ago | (#41775315)

Aren't you mixing up with MariaDB [mariadb.org] ? This looks more like a DNS implementation that a database.

Re:Orcale (1)

Lennie (16154) | about 2 years ago | (#41775497)

It rather use PowerDNS, as it supports DNSSEC. It also uses PostgreSQL a superior solution in many situations. PowerDNS supports many backends it can also serve from bind zone files for example.

Re:Orcale (2)

Terrasque (796014) | about 2 years ago | (#41775567)

I am intrigued by your ideas, and want to subscribe to your newsletter detailing how to switch a SQL based storage system to a DNS based storage system.

Would that qualify as a NoSQL system, by any chance? I hear that is a frightfully innovative buzzword, and should ideally be applied to all new processes, to ensure "hipsterness" and "webscale", whatever that means. It would also means that our investors would contribute with even bigger gobjaws of money, and you just can't have enough money, you know.

Re:Orcale (1)

devent (1627873) | about 2 years ago | (#41802029)

You are so right. I meant of course MariaDB [mariadb.org] the fork of MySQL. I don't know why I wrote MaraDNS, maybe because they sound a-like. I'm sure one of the poster have corrected me already.

Re:Orcale (0)

Anonymous Coward | about 2 years ago | (#41773273)

shhhh... what are you doing? Can't you see the anti-java shills are trying to spread FUD?!!

Re:Orcale (1)

bill_mcgonigle (4333) | about 2 years ago | (#41774129)

This does not apply to OpenJDK because it was created under the Gnu General Public License (GPL).

I'd like to look in on the mirror universe sometime where Google decided to base Davlik on OpenJDK and avoided the whole lawsuit thing and had a performant vm to boot.

So be happy, you can confidently rely on OpenJDK being around for decades.

Longer than Oracle Java, I'd bet good money.

Re:Orcale (1)

SplashMyBandit (1543257) | about 2 years ago | (#41774633)

> Longer than Oracle Java, I'd bet good money.
There is very little actual difference between 'Oracle' Java and OpenJDK. They share the same source base. The primary difference is legal: license conditions and ownership.

Re:Orcale (1)

Raenex (947668) | about 2 years ago | (#41775775)

Google were sued by Oracle for breaching copyright (in a clearly ridiculous case). This does not apply to OpenJDK because it was created under the Gnu General Public License (GPL).

They also sued over patents, but those are also covered by the license for the JDK. Even better, Oracle lost on both the copyright and patent fronts in its lawsuit against Google.

Re:Orcale (1)

lister king of smeg (2481612) | about 2 years ago | (#41772075)

as long as its gpl oracle can shove it because they were stuck with the licence sun chose for it

Great idea (5, Interesting)

SplashMyBandit (1543257) | about 2 years ago | (#41771795)

This is excellent news.

It will also be awesome when OpenJDK is ported to Android (it'll probably never make it to iOS due to Apple blocking it, which is a real shame). The IcedRobot project is attempting to do this. Just image, if you could write your application in Java and it would work nearly seamlessly on all the Windows, Linux, Unix, Mac, BSD and Android devices you have to look after. Sure, there are gotchas on each platform but you are usually 99% of the way there (at least, that has been my experience) and your unit and integration tests allow you to quickly find and address any platform quirks.

For all its flaws (and it certainly has them) Java's goal of having a single enterprise-quality language (and, far more importantly, a broad amount of *standardized* libraries ) available on all platforms is a great thing. Only those companies with an vested interest in keeping the IT world silo-ed in islands resist such standardization. Sure, innnovate in your own languages but don't try and balkanize or block standard Java on your platform. Most of us want to amortize their development investment across multiple platforms (and the broadest swathe of the market), and making us use niche tools just for only your platform is painful for us. Our ideal is to develop once and sell everywhere. Portability is what made C great, and for modern development is the single most important feature of Java as a language for huge-scale development projects (nothing else comes close; other languages are portable but their libraries are often not).

Go RedHat!

ps. queue the Java haters. For me the language is less important than the goal: Write Once Run Everywhere (& Test Everywhere, this is the real world after all). Skilled Java developers can get pretty damn close to this ideal.

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41771885)

Fuck the haters, there's room for everyone. Here's hoping Mono will also be working on ARM64 soon....

Re:Great idea (1)

viperidaenz (2515578) | about 2 years ago | (#41772335)

Here's hoping Mono will also be working on x86

Re:Great idea (-1)

Anonymous Coward | about 2 years ago | (#41772049)

Why would I want Java shit eating up my iPhone battery?

Re:Great idea (3, Insightful)

dreamchaser (49529) | about 2 years ago | (#41772449)

Why would I want Java shit eating up my iPhone battery?

Good point, since because of deliberate designed obsolescence you can't replace it or carry a spare. A lot of people might want to run Java applications on their phones. A lot of those people have the option to carry spare batteries or, heaven forbid, get an extended life battery. Pity that Apple doesn't allow that on their iShiny devices.

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41772615)

Replacing the battery is pretty simple and there are tons of portable battery packs and charger cases for iPhones. What planet do you live on?

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41785615)

Apparently GP doesn't live on 'I suck dead Steve's dick' world like you do. The average person isn't going to be replacing an iPhone battery.

Re:Great idea (1)

codepunk (167897) | about 2 years ago | (#41773699)

No he is correct it is why iphone apps smoke the android apps for performance. The overhead introduced by java just means you need at least 20% more cpu,ram etc just to get equal performance.

Re:Great idea (1)

dreamchaser (49529) | about 2 years ago | (#41785653)

No he is correct it is why iphone apps smoke the android apps for performance. The overhead introduced by java just means you need at least 20% more cpu,ram etc just to get equal performance.

Yeah that's why most apps on Android don't benefit much if at all when native code (like the NDK lets you write) is used. Keep drinking that KoolAid though. It must be delicious.

I have an iPhone and an Android tablet. Both are pretty quick and there is no noticeable difference between the platforms. Well that's not true. The Asus tablet is noticeably faster but that's not fair because it's a quad core Tegra 3 with twice the RAM.

Java is already on Android, kinda (1)

coder111 (912060) | about 2 years ago | (#41772095)

Um, I already have Debian Kit installed into my rooted Android mobile with ARM CPU (Samsung Galaxy Ace). And Debian does include OpenJDK, although 32 bit. I can compile & run console Java applications just fine. I even have some experimental X windows server there, but most X apps still either crash or run out of memory. Xeyes runs fine though. I read somewhere that people had better luck with headless X windows server and Android VNC client displaying whatever is displayed on that server. I'll have to try that some day, if this setup doesn't run out of memory.

Samsung Galaxy Ace is underpowered to run Java or X with anything complex on it though... I need to check out IcedRobot.

Oh, and I agree- Java is great for many things. Some people will still hate it, but I use it every day and I still cannot find better technology for what I do (mostly serverside enterprise stuff).

--Coder

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41772141)

Java is great.

Re:Great idea (1)

pnot (96038) | about 2 years ago | (#41772307)

For me the language is less important than the goal: Write Once Run Everywhere (& Test Everywhere, this is the real world after all).

Indeedy. But these days you can use the Java platform without using the Java language. Next time I'm writing something for the JRE, I'm going to give Scala a shot. (And if it's riddled with gotchas, I can always come back to Java...)

Re:Great idea (2)

codepunk (167897) | about 2 years ago | (#41773687)

Interviewed with a gamer shop recently and they where telling me how unstable their platform was. They where hoping I could help them out, then proceeded to tell me they where using scala for production work. My response was this, hmm no thanks I cannot help you.

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41773939)

where wear we're were

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41774779)

I work with Scala daily at VMware and we've had no significant problems. One shitty little "gamer shop" is hardly an indication of anything.

Re:Great idea (-1)

Anonymous Coward | about 2 years ago | (#41774789)

So you're an unemployed loser that interviewed with a small incompetent company? What exactly are you trying to tell us?

Re:Great idea (1)

codepunk (167897) | about 2 years ago | (#41779615)

Hey no need for attacks, and far from unemployed and far from being a small gamer company. Hey I am not knocking scala if you want to write in it go ahead. I am just saying it does not exactly have a long proven history as of yet. Just like I love node.js it is bad ass, however I would hesitate to run it in a critical production system as I have experienced instability with it. Just sayin I tend to play it a bit safer when it comes to production work.

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41794887)

Problem is, the platform is the nasty bit. I'd consider using Java if it compiled to a nice binary without heavy library dependencies like C. It's cleaner than C++ in many ways.

Re:Great idea (-1)

Anonymous Coward | about 2 years ago | (#41772351)

The "Write Once Run Everywhere" idea is a good one, but it will never be realized by Java.

Java is a fuckawful mess stewarded by an actively user hostile organization. (Oracle)

In practice, you can't even "Run Everywhere" your apps between minor Java releases. About the only thing that /does/
Run Everywhere" on Java nowadays is exploits and viruses.

Re:Great idea (1)

SplashMyBandit (1543257) | about 2 years ago | (#41773373)

> The "Write Once Run Everywhere" idea is a good one, but it will never be realized by Java.
As a practitioner in the field I have to disagree with you. Too bad you're an AC so we can't debate this properly and you can provide better evidence for your assertion. The rest of your post is without merit - it is hyperbole, since it either applies to all software or ignores the fact that the Free Software OpenJDK is where the real innovation is and Oracle has been shown not to hold the reigns.

Re:Great idea (0)

codepunk (167897) | about 2 years ago | (#41773641)

Java is fucking awesome!

I am a systems engineer and java takes a ass load of hardware to run on. Job Security!

Re:Great idea (1)

SplashMyBandit (1543257) | about 2 years ago | (#41774629)

lol. I've had to write Java applications to run on cheap single board computers that have the same amount of RAM as a PS3 (that is, fsck all by modern standards - so little you'd have trouble buying such a small amount for a PC these days). The Job Security is the fact it runs anywhere (both a large run of hardware scales, and operating systems).

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41774605)

Agreed. The goal is what's important. I praise what is considered standard C and standard javascript for these reasons. Java is somewhat different because it is in a real sense controlled by a large for-profit company rather than a free and well established standard. Yes, there's Open JDK, but with developers not appreciating the distinction and writing software which relies on features form the latest Oracle JIT we're stuck in a game of catch-up and patent problems. This is why "Java" is simply not suitable for the Write Once Run Everywhere ideal. "Open JDK" might be but considering this as the collection of developers that actively make the distinction, Open JDK probably has a significantly smaller mindshare than Python3.

Re:Great idea (1)

devent (1627873) | about 2 years ago | (#41774705)

It's a shame that even Sun did not believed in the "Write Once Run Everywhere" of Java.
They could have had something like Android years before of Google, in fact Google approached Sun to create Android together (see Oracle vs. Google). But instead Sun created JavaME.

Re:Great idea (0)

Anonymous Coward | about 2 years ago | (#41774769)

Android is an operating system, Java is a programming language ... apples and oranges ...

Hmmm (-1)

Anonymous Coward | about 2 years ago | (#41771811)

I believe if i invented a filter that blanked out any news story with the word ARM in it... this site would get very empty.

And if you blanked out anything with the word apple too.... slashdot itself would be totally empty.

Why just 64bit? (1)

Anonymous Coward | about 2 years ago | (#41771825)

What's stopping them from doing this for 32bit ARM while their at it?

Re:Why just 64bit? (0)

Anonymous Coward | about 2 years ago | (#41772273)

JIT is pretty hairy. I don't know anything about ARM64 but I'm guessing the opcodes differ enough that it's not trivial to port from one to the other. So maybe, given limited resources, they're going for the future, rather than the present (soon to be past).

Re:Why just 64bit? (1)

pavon (30274) | about 2 years ago | (#41772383)

Also, RedHat doesn't care about mobile devices; they care about ARM servers. 64bit will be more more relevant in that area, as java backend code often needs as much memory as you can give it.

Re:Why just 64bit? (1)

Anonymous Coward | about 2 years ago | (#41773177)

There already is a JIT for 32 bit OpenJDK.

Avoiding a similar situation (1)

SSpade (549608) | about 2 years ago | (#41772109)

I wonder how they're planning to prevent Oracle releasing a more sophisticated proprietary JIT for 64 bit ARM?

Re:Avoiding a similar situation (1)

viperidaenz (2515578) | about 2 years ago | (#41772357)

File a patent based on existing JIT patents that adds "... on a 64 bit ARM core" to the claims

Re:Avoiding a similar situation (0)

Anonymous Coward | about 2 years ago | (#41774773)

We can't prevent that from happening: we'll just do the best job we
can. However, this will eventually be a full server JIT, so unless
Oracle want to write a whole new optimization framework outside
OpenJDK there won't be an enormous amount more that they can do.
These days, improvements of a few percent are cause for celebration.

Having said that, we really hope that Oracle will choose to use (and
support) this open ARM64 port.

Secret ARM opcodes can execute JVM bytecode (1)

kriegsman (55737) | about 2 years ago | (#41772345)

Many ARM-based chips include the "Jazelle DBX" (Direct Bytecode eXecution) hardware CPU extension, which lets "95% of [JVM] bytecode" be executed directly by the CPU -- without need for recompilation to 'native' ARM/Thumb instructions. (See http://en.wikipedia.org/wiki/Jazelle [wikipedia.org] )

However, unlike most of the ARM universe which is fairly open, Jazelle DBX's specs, implementation, and operating details are apparently a closely held secret, shared by ARM only with select JVM implementors. I'll be interesting to see if ARM decides to help out the OpenJDK people. Googling around, it looks like so far the answer has been "No."

Re:Secret ARM opcodes can execute JVM bytecode (2, Informative)

Anonymous Coward | about 2 years ago | (#41772543)

Jezelle is slow and is not intended for performance. It was intended for low power execution.
The HotSpot JVM is and adaptive compiler. Java Byte codes are converted into native instructions during executions. Over time, critical paths will become fully optimized. "Hot spots" in the execution will be further dynamically executed.

You see, running native is fast. There's no difference between what the JVM can compile to native and, say, a c compiler. In light of being able to simply parse and convert byte code directly to the underlying assembly, something like Jazelle really doesn't offer much. It's not like it has magic instructions that will somehow be faster then the execution units in the CPU.

Of course, the compiling costs time and therefore power. Something less good, perhaps, on mobile. (Though caching the binaries from a first run isn't that hard.) On an ARM server you wouldn't care about the compile time spent, because execution time is better in native.

It's also important to point out that most ARM implementations only support Jazelle at the ISA level. That is, they don't map directly to any kind of Java-execution hardware. Instead, microcode simply maps it to regular arm to get simple instructions. This is quite a bit slower than what the JVM would produce, since it does no dynamic optimizations based on the run time profile. (additional loop unrolling, method inlining where appropriate, etc)

ugh. "aarch64" (0)

Anonymous Coward | about 2 years ago | (#41773219)

for god's sake, quit with these awful names. I have to type "x86_64" or "x86-64" far too often already here in gnuslashlinux world, even though no-one should mind using "x64" like microsoft (in a weird flash of sanity) does (personally I was okay with "amd64" actualy). And now "aarch64" ? "arm64" just too sensible and straightforward or something? Hell, I can see the occasional person being worried about "a64" being confused with alpha, but alpha is EOLed anyway. We could have had "x64" and "a64" for the two most important extant architectures today, but nooo... Now we've got "x86_64" (with a fucking underscore? Seriously?) and "aarch64".

Gaaah. It makes me so mad.

Re:ugh. "aarch64" (0)

Anonymous Coward | about 2 years ago | (#41776781)

You're mad because you have to type "x86_64" all the time? Seriously? You're a fucking nincompoop.

Java comeback (1)

Pecisk (688001) | about 2 years ago | (#41774171)

If we look more practically it has never left, it just returns to desktop environment. Tons of very useful Java applications are made and used by millions of users. Main sales point - yes, one binary works (with tweaks and testing) on at least 10 different platforms. For example, OpenStreetMap has an excellent editor for advanced mappers JOSM - while Linux for example has their native editors for OSM, JOSM wins hands down in portability and universality. That means a developer can hack together a plugin for JOSM using Linux desktop, and after one good testing and bug hunting phase, it just works everywhere. Also user experience is much easier to share.

Of course using JVM have drawbacks and we all know them, and you won't use it for resource sensitive cases. But in many cases positives outweigh them.

PowerPC please, please, please! (0)

Anonymous Coward | about 2 years ago | (#41775787)

We use PowerPC a lot where ARM can't handle the heavy lifting. A good free fast JVM would cut our embedded development time in half -- we still do the real work in C++, but all the management (often more than half the job) can be in Java.

But will it be hardware accelerated? (1)

kriston (7886) | about 2 years ago | (#41777049)

I hope it will be hardware accelerated. I have also wondered if Android's Dalvik VM took advantage of built-in hardware acceleration in ARM processors. It seems to be a waste if it's not used.

Look at me (0)

Anonymous Coward | about 2 years ago | (#41779687)

hello

Legal status? (0)

Anonymous Coward | about 2 years ago | (#41780111)

Does anyone know the legal status of OpenJDK? Most of the java files are under GPL + Classpath exception. Looking inside source code tree, hotspot is under pure GPL. Does this means that the hole OpenJDK is under pure GPL since Object.clone() etc is implemented in HotSpot source tree part?

The reason that I am asking is that JRE downloaded from Oracle is only free to use if the computer is under End-User control, meaning that if the user can install, use word processor or internet browser by him self. If you are selling a system that is pre-installed and written in Java and is the only application allowed to run (“embedded system”), Oracle wants an insane amount of money in license fees.

Terribly good news for me. (1)

boorack (1345877) | about 2 years ago | (#41787391)

Regardless of technicals and wherever you use arm64 or not, this means that there will be a well qualified team of engineers working on OpenJDK besides Oracle. This is Good News (TM), folks ! For last three years I was worried that Larry will do with Java what he does with all other products and technologies he puts his hands on - specifically, turn it into crap (uh, yes - money producing one - yet total crap from engineer/dev/admin perspective). Oracle might be good money sucking entity, yet it is a remarkably poor steward to technologies and standards they put their hands on (especially open ones).

So, this is very good news folks! I'd even urge you to support Red Hat in this regard and make sure all your pet projects work as charm on OpenJDK (in addition to Oracle JDK).

Terrible news (0)

Anonymous Coward | about 2 years ago | (#41794893)

One more opportunity to kill this horrible gloopy pile of shit is missed.

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?