InfoQ Homepage Performance & Scalability Content on InfoQ
-
Article: Ruby Concurrency, Actors, and Rubinius - Interview with MenTaLguY
Actors, Fibers/Coroutines, Rubinius' Multi-VM and other Concurrency topics have come up recently. To put all these concepts into perspective, we talked to Ruby's MenTaLguY, who's been working on Ruby fastthread, Ruby Actors implementations, Rubinius, and much more. Also: a glimpse at MenTaLguY's next project.
-
Comet: Sub-Second Latency with 10K+ Concurrent Users
Comet - technology that allows a sever to send over HTTP a message to the client when an event occurs, without the client having to explicitly request it - has been considered by some to scale poorly in the past. Recent tests using Cometd and Jetty as well as Lightstreamer production implementations prove the opposite.
-
Skynet, A New Ruby MapReduce
The MapReduce design pattern to distribute data processing was introduced by Google in 2004, and came first with a C++ implementation. A new Ruby implementation is now available under the name of Skynet released by Adam Pisoni. InfoQ had the chance to catch up with Adam about its features and how it compares to an existing Ruby implementation called Starfish.
-
Is XMPP the Future of Cloud Services?
The Extensible Messaging and Presence Protocol (XMPP) has proven itself as a winner for instant messaging, but could it also be the protocol of choice for service integration in the future?
-
Introducing Windows HPC Server 2008
A new version of the Windows Compute Cluster Server 2003, rebranded as Windows HPC Server 2008, is in the works. This adds a host of monitoring and configuration tools on top of Microsoft's MPI 2 based clustering technology.
-
Inside the full speed Rubinius debugger
Debugging Ruby code just got much faster - at least with Rubinius. Unlike the debuggers for MRI or JRuby, the Rubinius full speed debugger allows programs to run at normal speed while they're debugged. We take a look at how the Rubinius VM's transparent design made this possible.
-
MPI for .NET
MPI or Message Passing Interface is the standard for distributed programming such as that used in supercomputers and implementations can be found for FORTRAN, C, and C++. There are several projects in the works to bring that power to .NET. Today we look at two of them.
-
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.
-
Presentation: Leveraging the Web for Services at Yahoo!
In a presentation recorded at QCon, Mark Nottingham, a "Principal Technical Yahoo!", provided some insight into how the Yahoo! Media Group uses the Web, and not Web services, to build its SOA variant. According to Mark, the Yahoo! Media Group gains significant advantages by using HTTP RESTfully, especially by exploiting caching opportunities.
-
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.
-
Presentation: Managing a high performance rails app without tearing your hair out
Rails has gained popularity for its clean implementation of MVC and slick APIs. But what happens when your Rails app grows up, gets popular but can't keep up with requests? This presentation by James Cox will get you started with optimizing web applications by giving practical tips and pointing out common bottlenecks.
-
Book Excerpt and Review: Release It!
Release It!: Design and Deploy Production-Ready Software by Michael Nygard discusses what it takes to make production-ready software, and explains how this differs from feature-complete software. InfoQ spoke with Michael Nygard and asked him several questions related to the book and some of the issues it raises.
-
Ruby 1.9 released
Ruby 1.9 has just been released, bringing a host of new features and improvements. Speed improvements come from the new YARV VM, concurrency features were updates with native threading and Fibers, and language changes such as a new Hash literal syntax tighten the language. We take a look at some of the features and where to find information about Ruby 1.9.
-
Declarative, Imperative, and Task-based Parallelism in .NET
Daniel Moth has released four videos on Parallel Extensions for .NET. These cover the new declarative, imperative, and task-based parallelism APIs for the .NET framework.
-
Monitoring Ruby
Developing Ruby and RoR apps might be easy - but what to do when something goes wrong, the interpreter misbehaves or memory leaks spring up. We look at the current options for taking a peek inside Ruby applications.