Iterators are at the core of .NET programming. Only rarely do developers actually work against indexed data, preferring to use for-each loops for most tasks. But is this inherently sequential access method appropriate as we turn more to multi-threaded applications?
In this article, which was originally published on InfoQ Japan, Daisuke Maki describes some of the challenges of developing responsive AJAX applications, and presents Concurrent.Thread as a solution to easing the complexity involved in asynchronous communcation in AJAX.
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.
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.
When .NET 2.0 SP 1 was released with .NET 3.5, the thread pool underwent some significant changes. As Michael C. Kennedy discovered, not all were for the best.
Microsoft and Intel have recently announced a $20 million joint investment into parallel computing over the next 5 years.
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 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.
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.
Fibers were recently in the Ruby 1.9 branch. The Coroutine-like concept has many uses, such as implementing lightweight concurrency and others. We look at the concept and influences of Fibers in Ruby 1.9, as well as code samples.
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.
Exclusive InfoQ interview with Rails deployment guru Ezra Zygmuntowicz. The topics include scaling Rails, Ruby threading, and Ezra's venture Engine Yard, an interesting new Rails hosting service that employs Xen and virtualization to provide scalable service.
Visual Studio 2007 will have a new lock called ReaderWriterLockSlim. According to Joe Duffy, in addition to being faster, it solves some of the nastier design flaws of its predecessor.
With multi-core CPUs finding their way into server farms and the desktop not far behind, new techniques to take advantage of them are desperately needed. Microsoft is seeking to address these with Parallel LINQ, a research project to add automatic multithreading to LINQ queries.
Two recent items on the internet have looked at the topic of multi-core processors and Java. A recent article by Randall Scarberry of JavaWorld.com looks at using the Java concurrency API to write multi-threaded algorithms. Billy Newport of IBM also recently written a blog post detailing how Java may not be well suited for multi-core processors.