Sporting events aside, the Olympics are a testbed for new technologies, especially when it comes to matters of scale. As millions of fans worldwide check out results, it simply must be able to handle the load. What follows below is the story of how they’re testing the Olympics web site performance in preparation for the event itself.
Known as CloudTest, SOASTA’s testing tool taps into 17 cloud services around the world, including Amazon EC2 and Microsoft Azure as well as similar services from IBM, the Texas-based Rackspace, and smaller outfits such the San Francisco-based GoGrid. In testing the Olympics website, the company simulated activity from servers running everywhere from the United States to Europe to Hong Kong, hitting the site with traffic from as many as 500,000 virtual machines at any given time.
via How Do You Break the Olympics Website? Throw a Cloud at It | Wired Enterprise | Wired.com.
Here’s an interesting story from The Economist:
LAST year Eddie the pig took Chile by storm. The iPhone game “ePig Dash”, featuring Eddie, dislodged “Angry Birds” to become the number-one paid game on the Chilean App Store. By itself, the story of a cute, if flatulent, pig pushing a bunch of irate birds off the top spot is nothing unusual. What is odd is that the creator of “ePig Dash”, a conjuror and economics teacher, knew little or nothing about programming. Instead he used GameSalad, a do-it-yourself tool for app-makers.
via Do-it-yourself apps: Make your own Angry Birds | The Economist.
Some more information about GameSalad:
GameSalad is an online community that empowers everyone to express and share their ideas through games. Our company was founded on the belief that all people should have the tools to make popular games, limited only by the boundaries of their imaginations. GameSalad provides a platform used by creators to rapidly design, publish and distribute original games that have been played by millions of people worldwide.
Parallelizing applications for scalable performance can be a daunting task, not least because multi- and many-core processors make you think in two separate directions. One skill set is required to address threading – analyzing the workload, spawning threads to do the work while preventing races and other forms of contention, retrieving and ordering results, and so on. Another skill set is required to address vectorization: how to exploit powerful built-in instructions that process arrays of data-elements stored in vector registers.
The latter can be done with inline assembler, of course. But that’s difficult, and won’t scale forward easily as vector registers become wider and wider over successive chip generations (in today’s multicore CPUs, 256-bit-wide vector registers are the norm; whereas in Xeon Phi’s exponentially greater number of cores, vectors are now 512 bits wide). Auto-vectorization – code-analysis and vectorization by the compiler – offers a potential stopgap solution, for some parts of some codebases. But native serial code semantics are often too ambiguous – containing too many implicit dependencies – for today’s compilers to vectorize directly.
A better answer, as more and more C/C++ developers are discovering, is Intel Cilk Plus: an extended syntax with compiler enhancements and a runtime engine (plus associated tools) for building parallel applications that exploit vectorization and multithreading in limited, but extremely powerful ways.
via Parallel Programming Simplified – Intel Cilk Plus Webinar Brings Clarity, Offers Performance Insight.