Live data from Hacker News

One VM to Rule Them All [pdf]

lafo.ssw.uni-linz.ac.at

61–70 of 90 posts

Re: One VM to Rule Them All [pdf]

#61

Earlier quoted context omitted.

You are correct that the JVM is ubiquitous in server software but not nearly as much as you assume and there has been a shift away from it in recent years for reasons having nothing to do with Oracle etc. I've been designing high-performance server engines since the 1990s and have watched the architectures and tool chains evolve. Five years ago most new server engine development was done on the JVM. Since then there…

I think the key point you are missing is developer productivity. Every potential performance gain C++ might have is completely negated by having to touch that complete clusterfuck of a language.

You are talking about Java right?

Re: One VM to Rule Them All [pdf]

#62

Earlier quoted context omitted.

You are correct that the JVM is ubiquitous in server software but not nearly as much as you assume and there has been a shift away from it in recent years for reasons having nothing to do with Oracle etc. I've been designing high-performance server engines since the 1990s and have watched the architectures and tool chains evolve. Five years ago most new server engine development was done on the JVM. Since then there…

I think the key point you are missing is developer productivity. Every potential performance gain C++ might have is completely negated by having to touch that complete clusterfuck of a language.

In the really large server-side systems we're talking about here (banks, defense, etc.) both developer productivity and maximum speed rank way, way below other factors, such as having long-lived processes.

Re: One VM to Rule Them All [pdf]

#63
post #40

First Time there is any public numbers on Topaz, the RPython / PyPy implementation of Ruby. Note: Only Two benchmarks presented in the Paper, and as with any benchmarks take it with a grain of x. If it wasn't for JVM Truffle, Topaz is the fastest implementation of Ruby. And by a large margin. Assuming Ruby 2.0 was 5x faster then Ruby 1.8, Topaz is 8-10x faster then Ruby 2.0! And Truffle is about 1.5-2.5x faster then…

Huh? Where is there any benchmark of Topaz in the paper? All there is involving Topaz is the percentage of RubySpec passed — nothing about performance!

um......Its right there in the performance chart?

Re: One VM to Rule Them All [pdf]

#64

Earlier quoted context omitted.

Yes, but it's GPL right? So if it's a really fine piece of software, it can be forked (not arguing if that would be good or not). Edit: and indeed it would be nice to know if a company like Google etc uses OpenJDK or the Oracle one.

I think Google already had a lot fun with Oracle while not using their code. If you fork, be prepared for a patent-infringement lawsuit as soon as you earn some money with it. I'm pretty sure most companies have realized that staying the hell away from Oracle isn't a stupid move.

Anybody can sue for anything. Google won that lawsuit.

Re: One VM to Rule Them All [pdf]

#65
post #33

Earlier quoted context omitted.

The SVM here is unrelated to the LLVM project. The SVM allows you to take a Java program (with some restrictions) and turn it into single static binary that is the JVM, libraries and the program all compiled and optimised together. So you can compile our Ruby implementation and get a ruby binary just like MRI - no JVM needed at runtime. Then startup time is about the same as MRI.

Which representation is used to produce the static binary? Is it a native binary? What is the backend? Gcc, LLVM?

It's just a Java program that writes bytes to a file in the object format and machine code of whatever system you're targeting. It doesn't use any other assembler or compiler apart from Graal (which is also in Java).

Re: One VM to Rule Them All [pdf]

#66

Earlier quoted context omitted.

Yes, but it's GPL right? So if it's a really fine piece of software, it can be forked (not arguing if that would be good or not). Edit: and indeed it would be nice to know if a company like Google etc uses OpenJDK or the Oracle one.

I think Google already had a lot fun with Oracle while not using their code. If you fork, be prepared for a patent-infringement lawsuit as soon as you earn some money with it. I'm pretty sure most companies have realized that staying the hell away from Oracle isn't a stupid move.

Actually, most companies that aren't Google (finance, government, military, enterprise) realized that simply sticking with Oracle is even a better move. I don't know if you know this, but Oracle is making more money (profit) than Google (Oracle is also a much larger company than Google). They wouldn't be doing that if people were staying away from them. Lawsuit aside, even Google itself (and Facebook, and Twitter) runs most/much of its software on Oracle technology, so I guess they're doing something right. It's just that HN is skewed in favor of smaller-scale software. When you're in the major league, Java is often the only smart option.

Re: One VM to Rule Them All [pdf]

#67
post #45

Earlier quoted context omitted.

I thought I knew most of what is hot and fresh on the software development front, but I've never heard of any "server engines." Mind explaining what it is? Virtualization containers perhaps?

A "server engine" (usually called a kernel actually) is like a userspace operating system kernel that is purpose-built for a class of server workloads and attempts to optimally manage system resources for that workload. The server application is built on top of that kernel. When people refer to e.g. "database kernels", this is what they are referring to. It reimplements the operating system resource management servic…

Thanks for the explanation!

Re: One VM to Rule Them All [pdf]

#68

Earlier quoted context omitted.

The Graal OpenJDK project is available open source with a GPL license ( http://openjdk.java.net/projects/graal/ ). The Truffle API includes a Classpath exception allowing language implementors free choice of license ( http://mail.openjdk.java.net/pipermail/graal-dev/2013-August... ). We welcome anybody who wants to work with us on moving language implementations co-existing on a single platform forward.

The problem is that nobody trusts Oracle. Have a look at what happened to Google. Their code didn't even originate from Oracle and they still got sued for made-up, bullshit reasons. It of course sucks for those who invested their time in hacking the Oracle stack, but I think many people these days outside the Oracle bubble see Oracle as a dead-end. Most people don't have a war chest full of money to hire the best law…

But you see, this is exactly the wrong kind of conversation. You can't say "nobody trusts Oracle" while Oracle is bigger and more profitable than Google, and while the majority of important software worldwide is built on Oracle technology. Oracle won't pay attention to this kind of statement because it's obviously false. The truth is that most companies do trust Oracle.

What we can and should say is that Oracle is losing the trust of the Silicon Valley startup crows, and that this is a very important population segment. It's like a candidate being elected but gradually losing the young vote – it's a bad sign that Oracle would do well to consider.

Re: One VM to Rule Them All [pdf]

#69
post #29

So what is the Substrate VM? The main presentation appears to be about Truffle, a language-implementation framework, which looks neat by itself. The "Substrate VM Execution Model" slide talks about Ahead Of Time Compilation, which makes it sound like it might actually be the LLVM-based Substrate VM: http://vmkit.llvm.org . Alternatively, could it be a version of Maxine? AOT as an option certainly sounds interesting..…

Graal is Maxime's successor. Oracle is planning eventually to replace the C++ based JIT with Graal in some version following 8.

That is really, really, cool.

Re: One VM to Rule Them All [pdf]

#70
post #29

Earlier quoted context omitted.

Graal is Maxime's successor. Oracle is planning eventually to replace the C++ based JIT with Graal in some version following 8.

Source? I'd like to read up a bit more about this. Update: found this: http://lafo.ssw.uni-linz.ac.at/papers/2012_SPLASH_Truffle_Sl...

http://wiki.jvmlangsummit.com/images/8/8e/GraalJVMSummit2011...

http://java.sys-con.com/node/2166548

http://www.slideshare.net/vinayhulgar/java-8-selected-update... - Just a brief reference on the item list for possible upcoming features

Post reply on HN