InfoQ Homepage Concurrency Content on InfoQ
-
JavaOne: Garbage First
In a JavaOne presentation, Sun Microsystems’ Tony Printezis provided more details on Garbage First, a replacement for the CMS garbage collector particularly targeted at long running server applications.
-
Parallel Processing Framework JPPF 1.1 Supports TCP Multiplexer and JMX Monitoring
The latest version of JPPF, a java based open source parallel processing framework, includes a networking tool called TCP port multiplexer to enable JPPF work in secure firewall environments. JPPF team released the version 1.1 of the framework which also includes JMX based node monitoring and management features.
-
Are Special Purpose Chips an Answer to the Multicore Crisis?
Adapting to multicore paradigm is one of the emerging challenges in the software industry. What if the solution lays at the hardware level? Bob Warfield suggests that creation of chips optimized for running specific virtual machines could reduce the gap between the potential performance of processors and the actual capacity of software to take advantage from it.
-
Parallelism with Fork/Join in Java 7
As the number of processor cores available on modern hardware increases, it's becoming ever more important for developers to develop in ways that take advantage of the new hardware. The Fork/Join library in Java 7 helps solve this problem.
-
Software Transactions: A Programming Language Perspective
Erlang has recently generated a lot of interest as a language that can deal both efficiently and elegantly with concurrency. In particular, there is no shared memory between "process" instances which only communicate via asynchronous messages. Nevertheless, Shared Memory Concurrency remains an intense research subject especially for multicore applications.
-
Common Ruby MVM API research kicked off
Research on the topic of Multiple VM (MVM) Ruby will be conducted at the University of Tokyo together with Sun's JRuby team. The work will investigate issues such as communication between VMs and a common API across all Ruby implementations, with solutions provided initially for Ruby and JRuby.
-
Rubinius adds Multi-VM support
Rubinius adds a new feature called "Multi-VM", which allows to run multiple Ruby VMs inside an OS process. We talked with Evan Phoenix of the Rubinius project about the benefits and implementation of this feature.
-
Consistency vs. availability: eventual consistency by Werner Vogels
Until the mid nineties, achieving distribution transparency and data consistency has often been the priority. As large Internet systems started to arise, availability became another important concern to be taken into consideration. Werner Vogels outlines some principles, abstractions and consistency/availability trade-offs related to large scale data replication with focus on eventual consistency.
-
Parallel Processing Framework JPPF offers Load Balancing, Failover and J2EE Integration
Java Parallel Processing Framework (JPPF) project team recently announced the first Release Candidate (RC1) of Version 1.0 of the product. JPPF is an open source grid computing framework that can be used to run Java applications in parallel in a distributed execution environment. JPPF team is planning on Version 1.0 GA release next month.
-
Confusing unit-of-work with threads
Most server-side applications and many desktop applications contains data that is tied to a particular task that’s being executed. A common solution is to keep that kind of data in thread-local storage; to keep the data in variables bound to the executing thread. Convenient, but a practice based on a faulty assumption.
-
Stephan T. Lavavej on the future of C++
On the Microsoft Visual C++ blog Stephan T. Lavavej, a library developer, speculates about the future of the C++ language.
-
Programming for Parrallelism: The Parallel Hierarchies Pattern
Multi-core processors offer new performance opportunities. Shekhar Borkar from Intel highlighted, however, that software development practices have to be retooled to leverage this potential. In this vein, Prof. Jorge L. Ortega-Arjona from the National Autonomous University of Mexico has recently introduced a new architectural pattern for parallel programming: Parallel Hierarchies pattern.
-
Erlang's Mnesia - a distributed DBMS for highly scalable apps
Not every application has the scalability requirements of Google, Flickr or Amazon, however the ideas behind the Mnesia DBMS are compelling: a fast, in-process DBMS that takes advantage of concurrency, with the ability to replicate tables across distributed nodes for high scalability and fault tolerance.
-
Is Erlang the Java for the concurrent future?
The future of computing is going to be concurrent. Even desktop CPUs are multicore nowadays, and when customers are buying more and more CPUs to their servers, they expect their applications to scale well to utilize their new investment. But that's not going to happen with many software systems of today. Can Erlang help?
-
Rubinius Internals: Threading, ObjectSpace, Debugging
We continue the interview with Rubinius creator Evan Phoenix and talk about internals of how the VM uses bytecode manipulation for fast debugging, problems of implementing ObjectSpace and Threading.