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.
Lan Vuong shows how to optimize the performance of an application by leveraging the write-behind caching pattern which sends batch updates to the back-end database asynchronously within a user configurable interval of time, instead of doing sychronous write-through updates typical in web apps.
In part two of InfoQ's interview with the FlightCaster team, we discuss scaling Rails on Heroku, the problems of integrating data from multiple providers and mobile smartphone applications.
This article presents a library supporting development of highly-scalable applications that take advantage of an underlying multi-core hardware. The library is part of the Amino Library Project. 10
FlightCaster, a flight delay prediction site, uses Clojure and Hadoop for the statistical analysis, with a Rails/Heroku frontend. We talked to Bradford Cross about Clojure and functional programming. 1
Microsoft and IBM have benchmarked against each other in an attempt to prove which platform is better: .NET or WebSphere. 12
In this article Alex Devine explains how Java developers can take advantage of Perf4J, an open source toolset for adding code timing statements and for logging, analyzing and monitoring the results. 6
James Leigh looks at eight isolation levels that can be used within a web app, and explores the pros and cons of each level of isolation, ranging from read uncommitted to serializable consistency.
In this article, Andreas Grabner analyzes the performance implication of using the SharePoint Object Model, specifically displaying and editing lists, one of the most used SharePoint objects. 9
Nick Gunn provides a practical introduction CCR for .NET. CCR radically changes the way multi-threaded applications are written in .NET, shifting the focus from threads to asynchronous tasks. 5
Alois Reitbauer specifies several architectural anti-patterns that one should stay away from and which can downgrade an application’s performance. 28