BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Parallel Programming Content on InfoQ

Articles

RSS Feed
  • Designing for Concurrency: the Hilbert’s Hotel Problem in Go

    In this article, we want to show how achieving concurrency is the result of an appropriate design. A concurrent solution may turn out to be more elegant and easier to reason about than an equivalent sequential algorithm. To illustrate these concepts we use, as an example, the Hilbert’s Hotel mathematical problem.

  • The Book of F# - Review and Interview with Dave Fancher

    The book of F#, authored by Dave Fancher examines the concepts associated with F# with the help of comprehensive explanation and relevant source codes. Towards the end of the book, Fancher provides coverage of advanced topics such as asynchronous and parallel programming.

  • From Imperative Programming to Fork/Join to Parallel Streams in Java 8

    The authors compare different methods to compute the variance of a large data set using an imperative style, The fork/join framework and the new Streams API in Java 8

  • PyParallel: A Fast Parallel Version of Python

    By combining asynchronous I/O with a shared-nothing architecture, PyParallel research project is able to execute code in a parallel context faster than it can using CPython’s normal interpreter. And it does this without removing the GIL. The secret, no reference counting or garbage collection of any kind.

  • Joe Duffy on Uniqueness and Reference Immutability for Safe Parallelism

    We interviewed Joe Duffy, author of Concurrent Programming on Windows, about his research into the use of type systems to ensure safe parallelism. This work was presented in the paper titled Uniqueness and Reference Immutability for Safe Parallelism. We asked for this interview because there seemed to be a lot of misconceptions about this research project.

  • Interview and Book Review: Programming Concurrency on the JVM

    In his latest book "Programming Concurrency on the JVM" author Venkat Subramaniam talks about the concurrency techniques using different JVM programming languages. He also discusses Software Transactional Memory (STM) and Actor-based Concurrency. InfoQ spoke with Venkat about his new book.

  • Joe Duffy on the Future of Concurrency and Parallelism

    Joe Duffy, author of Concurrent Programming on Windows, talks about the future of concurrency and parallelism. This interview covers his thoughts on the language designs, libraries, and patterns that are becoming increasing important in modern programming.

  • Joint Forces: From Multithreaded Programming to GPU Computing

    In this IEEE article, authors Frank Feinbube, Peter Troger and Andreas Polze discuss two major hardware trends in the desktop parallel programming space, multi-core CPU architectures and Graphics Processing Units (GPUs). They also talk about the best practices for GPU code optimization like algorithm design, memory transfer, control flow, instructions and precision.

  • Profiling java.util.concurrent locks

    IBM’s Yao Qi, Raja Das, and Zhi Da Luo describe jucprofiler, an alphaWorks tool designed to profile multicore applications that make use of the java.util.concurrent classes introduced in Java 5.

  • Do Java 6 threading optimizations actually work? - Part II

    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.

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

BT