InfoQ Homepage Concurrency Content on InfoQ
-
Interview: Joe Armstrong About Erlang
In this interview filmed during QCon London 2008, Joe Armstrong, designer of Erlang, speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days due to its native ability to scale on multi core systems.
-
More Languages on top of Erlang Virtual Machine
Erlang virtual machine – BEAM – hosts an increasing number of languages. Reia, a Python/Ruby like scripting language and Lisp Flavoured Erlang have recently been released. Debasish Ghosh reflects on this trend while other authors try to outline other possible language variants inspired by Ruby or Haskell.
-
Presentation: Concurrency: Past and Present
In this presentation from QCon London 2008, Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, Software Transactional Memory, the history of concurrency, alternatives to threads, Erlang, Scala, and recommendations for concurrency in Java.
-
Fibers Roundup: NeverBlock Now Rails Compatible, "Poor Man's" Fibers For 1.8
NeverBlock released a new version of their library - this time with support for Rails and Ruby 1.8. The 1.8 support uses Amun Gupta's "Poor Man's" Fiber code which implements Fibers using Threads.
-
Article: Using Ruby Fibers for Async I/O: NeverBlock and Revactor
Ruby 1.9's Fibers and non-blocking I/O are getting more attention - we talked to Mohammad A. Ali of the NeverBlock project (which provides support for MySQL and PostgreSQL) and Tony Arcieri of the Revactor project.
-
Databases Roundup: Data Sharding for ActiveRecord and Faster Postgres IO
In this databases roundup we take a look at DataFabric, FiveRun's recently open sourced data sharding plug-in for ActiveRecord. Also: a look at speeding up Postgres data access using the asynchronous client API and Ruby 1.9's Fibers.
-
New Java Concurrency Feature: Phasers
A new type of concurrency barrier called 'Phasers' has been introduced into JSR-166y, scheduled for inclusion in Java SE 7.
-
Article: Do Java 6 threading optimizations actually work? - Part II
In part 2 of "Java 6 threading optimizations" article series, author Jeroen Borgers examines various threading optimizations and JVM arguments to manage them. He also talks about factors like On Stack Replacement (OSR), Heap Management and Lock object data size which could significantly affect the performance of multi-threaded java applications.
-
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.