Jim Hurley has just announced that the
Building Large Systems at Google
A Google talk on “Building Large Systems at Google” by Narayanan “Shiva” Shivakumar (via Greg Linden).
He talks about some of the larger software systems:
I have mentioned Big Table before with a talk that Jeff Dean gave at the University Of Washington.
Nothing about
10th Jini Community Meeting in Brussels
The 10th
Jini sub projects on java.net
As part of the (proposed) migration of
Gregg Wonderly has taken responsibility for setting up a Jini project site at jini.dev.java.net. The idea is to provide a “home” for anyone with a Jini related project (outisde of the main Jini development which will be taking place on Apache.org). Gregg has just announced that the site is set up and is ready for business!
Several of the sub projects from jini.org have already been moved over to the new site. Things are looking good!
May 29, 2006
Some stuff for the Bank Holiday weekend.
- Programming without a call stack – Event-Driven Architecutures – some thoughts on building Event Driven Systems by Gregor Hohpe (of Google)
- SmartFrog from HP – a configuration system from Steve Loughran of HP Research Labs (down the road in Bristol)
- Tenth Jini Community meeting – Brussels – Sept 13/14 2006
- Tim Bray is rambling about Grids
Also got to do some reading on Pi Calculus:
- Steve Ross Talbot
- W3 discussion from a couple of years back
Biology, crowds and VERY large scale systems
One of the things I want to spend some time thinking about in this new blog is how we might build massive scale (as oppposed to merely
Last year
Systems of this size are highly fluid in nature. Individual nodes within the system will come and go almost constantly as hardware, software or user failure/action/error causes localised problems. Even with highly reliable hardware and a mean time between failure of components measured in hundreds of thousands (or even millions) of hours – with millions of nodes in a system the law of averages means that you will get failures hourly. Add in coding errors, support screw ups and end user errors and it very quickly ends up looking like a digital massacre. Somehow the application that is sitting on top of this quantum flux of failure must be able to deal with all the chaos and provide a stable and coherent user experience.
With all this failure it begs the question: “Is it even possible to build systems of this size and complexity?”
Trying to deal with this flux in a deterministic, synchronous or Turing style organised system manner is clearly a non starter. The management overhead will be horrendous. The overall system will be highly brittle and subject to the most extreme strain.
If we are unable to muscle the system into the desired shape we need to think about different approaches. The application needs to deal with the flux as a fact of life and embrace it. As
As Werner points out in his talk there are many highly complex biological and organic systems that are capable of scaling to massive degrees with virtually no centralised control mechanism in place. These systems are
The classic example is the ant colony or bee hive where each individual ant or drone goes about its own business and yet adds to the collective good. Cells within the human body are capable of acting in a highly consistent and coherent manner, displaying highly complex behaviour (you try programming a system to fight viruses or even breathe!) despite minimal directed management. Even humans are capable of forming complex, self organising systems with minimal direct interaction – think of markets and other forms of large scale crowd behaviour.
How do these systems come about? How do they manage to create such stable environments? How do they fail and what are their weak points?
Blog moved!
My New Years