InfoQ Homepage Runtimes Content on InfoQ
-
QoS for Applications: A Resource Management Framework for Runtimes
This article draws an analogy between QoS for networks and for applications, resulting in a mapping guide between the two and introducing a production solution for Java, (J)Ruby, and (J)Python apps.
-
Twitter Shifting More Code to JVM, Citing Performance and Encapsulation As Primary Drivers
While it almost certainly remains the largest Ruby on Rails based site in the world, Twitter has gradually been moving more and more of its stack to the JVM. Last year the company announced that its back-end message queue had been re-written in Scala, and more recently it moved the search stack to Java, making Twitter search around three times faster.
-
The Azul Garbage Collector
Azul's recently announced Zing product brings their Garbage Collector, which achieves both pauseless garbage collection and a high tolerance to the factors which typically impact collection and application responsiveness, to Java programs running on Intel and AMD based servers. This article takes a detailed look at how Azul has been able to achieve these design goals.
-
Asynchronous, Event-Driven Web Servers for the JVM: Deft and Loft
Asynchronous, event-driven architectures have been gaining a lot of attention lately, mostly with respect to JavaScript and Node.js. Deft and Loft are two solutions that bring "asynchronous purity" to the JVM.
-
The State of JRuby: 1.5, AOT, Java 7
InfoQ caught up with Charles Nutter to talk about the state of JRuby: the 1.5 release, Ahead of Time compilation, and what's coming up in 1.6 and with features in Java 7.
-
JSR 292 and the Multi-lingual JVM
Java 7 is looking to improve support for dynamic languages using the Java Virtual Machine for their runtime environment. John Rose has been leading a project to explore some options, and JSR 292 will standardise some of this work for Java 7. InfoQ takes a look at the problems JSR 292 solves, and talks to JRuby lead Charles Nutter to find out more about InvokeDynamic in practice.
-
Memory Barriers and JVM Concurrency
Memory barriers, or fences, are a set of processor instructions used to apply ordering limitations on memory operations. This article explains the impact memory barriers have on the determinism of multi-threaded programs. We'll look at how memory barriers relate to JVM concurrency constructs such as volatile, synchronized and atomic conditionals.
-
Service Dynamics: the lazy man's way
This article describes "the hardest topic in OSGi, how to deal with service dynamics," based on personal experience. Two factors, concurrency and direct service references, make the problem "fiendishly hard." An import and an export policy should form a comprehensive doctrine for dealing with service dynamics and the article explores two export policies with their corresponding doctrines.
-
Ruby's Roots: Smalltalk Comeback and Randal Schwartz on Smalltalk
Smalltalk, a language that has had a big influence on Ruby, is making a comeback. We take a look at the current situation and talk to Randal L. Schwartz about Smalltalk.
-
More Than Just Spin (Up) : Virtualization for the Enterprise and SaaS
Cloud services, such as Amazon EC2, have helped bring virtualization to the forefront of the IT conversation. Its full power however, also includes benefits such as high availability, disaster recovery, and rapid application provisioning. In this article, Contegix CEO Matthew Porter, discusses how virtualization can be used to bring these benefits to enterprise and Saas deployments.
-
Using Ruby Fibers for Async I/O: NeverBlock and Revactor
Rails 2.2 is schedule to be thread safe - but will blocking I/O libraries make it necessary to run multiple Ruby instances? We take a look at how non-blocking I/O and Ruby 1.9's Fibers help solve the problem. We talked to Mohammad A. Ali of the NeverBlock project and Tony Arcieri of the Revactor project.
-
Exploring LISP on the JVM
One of the most exciting things in the Java world right now is the work being done to get other programming languages to run on the virtual machine. There is a lot of buzz around JRuby, Groovy, Scala, and the JavaScript engine Rhino. But why stop there? If you really want to take a step outside the mainstream and dive into something completely different from Java, Lisp is a great option.