JAX : Can you sum up your JAX London session/workshop in 140 characters?
GJ: See the JVM provide hypervisor-like ability to run multiple applications side-by-side without changing a line of code. Smaller faster Java.
JAX: Why is the theme of your session important to developers right now? What issues does it tackle?
GJ: Multitenancy is all about running more applications on a given piece of hardware. Memory constraints are usually the limiting factor in high-density Java deployments and our multitenant JVM addresses this problem by reducing the amount of memory required to run an application (2-5x) by aggressive sharing of runtime artifacts. By reducing memory footprint less hardware is needed to do the same work which results in energy and admin savings.
JAX: What are you most looking forward to at JAX London?
GJ: Meeting new people and learning about new tech. It’s always cool to hear about what others are building and the challenges they faced and overcame. JAX has experts on a wide variety of topics so there’s definitely lots in the ‘new’ category, and the plethora of JVM language talks look particularly interesting.
JAX: How did you get into coding and how old were you when you first started?
GJ: I first started coding on the Apple II when I was about 12. Like most kids, I was into games and this lea to writing demos (sprites, simple sound stuff) which got me into programming.
JAX: Which area, or specific projects, within the industry are catching your eye at the moment?
GJ: I’m a programming languages guy at heart and both Rust and Go languages look interesting and are on my to-do list to experiment with. As a former tool builder I’m interested in the shift of IDEs to the cloud (Eclipse Orion / Cloud9) and looking forward to the day when I can use these for C/C++ development.
JAX: What does the future hold for Java and the JVM?
GJ: Efficient access to data, and movement of data is a big challenge. Streamlining Java access to native data structures and easier foreign function calling is an area I predict will drive language and JVM evolution (unsigned types anyone?). Efficient zero-copy data movement is the other angle: RDMA libraries and support in hypervisors is improving rapidly and Java needs a good answer for moving lots of data between machines efficiently.
JAX: What’s the soundtrack to your work?
GJ: Noisy electronic stuff or 90’s industrial. Lots of Daft Punk lately.
JAX: And finally, would you rather fight one horse-sized duck or 100 duck-sized horses? Explain your reasoning.
GJ: Duck-sized horses for sure. I’m Canadian and having seen the attitude a dog-sized Canada goose brings to the table I imagine a horse-sized duck would be a formidable foe. I’m assuming that the horses can’t fly so eliminating the possibility of aerial attack also seems prudent.
Graeme Johnson (Java 7 Technical Lead, Architect JVM Customizations for Cloud) has been developing virtual machines and debuggers since he joined IBM in 1994, and has worked on both VisualAge for Java and IBM/OTI Smalltalk runtimes.Recently Graeme has been focusing on making Java a better runtime for the Cloud by building in support for multi-tenant applications and improving cooperation with hypervisors. In past lives Graeme worked on the VM interface for the Apache Harmony project, Java/PHP runtime support for IBM’s Project Zero (http://projectzero.org), and JIT/Debugger interfaces to the JVM.Some of Graeme’s previous talks include: Apache Harmony at JavaOne 2006, Multi-Platform C Development at EclipseCon 2007, and an examination of the PHP runtime at International PHP 2006 (also published in International PHP Magazine).