BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Concurrency Content on InfoQ

  • Opinion: Multiple Processor Computing Challenges go Beyond Purely Technical Issues

    In his position statement for the International Computer Music Conference 2008, Peter Van Roy raises a number of issues related to the emergence of multi-core processors and loosely coupled systems and suggests possible solutions. Though challenges brought by these two forms of concurrency computing are very different in their nature, both they go beyond purely technical problems.

  • Kilim - actors and message passing in Java

    Message passing and the actor model of concurrency is one promising way for the massive parallelization needed to utilize current and especially future CPUs. Erlang has it built in from the start and Scala incorporated the Scala Actor library into it’s framework. But there is also a pure Java solution - Kilim.

  • The multicore crises: Scala vs. Erlang

    There has been a somewhat heated debate about Scala vs. Erlang on the blogosphere recently. The future will be multi-cored, and the question is how the multi-core crises will be solved. Scala and Erlang are two languages that aspire to be the solution, but they are a bit different. What are the pros and cons with their approaches?

  • Article: Do Java 6 threading optimizations actually work?

    Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking are all designed to increase concurrency by allowing more effective sharing amongst application threads. But do they actually work? In this two part article, Jeroen Borgers explores these features and attempt to answer the performance question with the aid of a single threaded benchmark.

  • Presentation: Erlang - software for a concurrent world

    We get more and more cores in our CPUs, but does our software run linearly faster? In most cases - no. We've hit a trend change when it comes to faster CPUs. We'll get more and more cores, but each core will be slower as the number of cores increase. In his talk, Joe Armstrong introduces Erlang and the ideas of Concurrent Oriented Programming which is one way to solve the problem.

  • Concurrency Presentation Scheduled for the PDC Pre-Conference Sessions

    Microsoft's The Parallel Computing Platform team will be presenting on Concurrent, Multi-core Programming for Windows and .NET during the PDC pre-conference Sessions. These sessions are day-long, in-depth presentations on specific topics. Held the Sunday before the main conference, a separate registration is required.

  • Article: Scalability Principles

    At the simplest level, scalability is about doing more of something. This could be responding to more user requests, executing more work or handling more data. This article presents some principles and guidelines for building scalable software systems.

  • 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.

BT