06/06/08 :: [Computing] RoadRunner: Who Moved My MIPS? [permalink]
The world's first hybrid supercomputer has broken through the "petaflop barrier" of 1,000 trillion operations per second...
the machine was designed by IBM and uses Cell Broadband Engine chips—originally developed for video game platforms—in conjunction with x86 processors from AMD...
Roadrunner is twice as fast as the world-leading Blue Gene, which is itself three times more powerful than the remaining contenders on the industry's Top500 list of supercomputers. ... [it] has the computing power of 100,000 of today's most powerful laptops
Their capability improves by a factor of 1000 every decade, propelling the global economy as more business sectors begin to ride the industry's advantageous price/performance curve.
The three pillars Computer Science -as I see them- include: Computing, Information Systems and Middleware (as in any "wares" in the middle of computing nodes or information systems - soft & hard). All systems are made of any number of these 3 constituents. These constituents are atomic, they cannot be further decomposed, only recombined.
I am not sure everyone makes this distinction. I am not sure everyone understands that computing parallelism is different from distributed Information Systems. I am not sure everyone understands the difference between middleware protocols and interactions.
If you want to see the consequence of people mixing up these concepts look no further than Mark Little's latest post. Yeah, we are in a real mess. Wait until Erlang is thrown at SOA because people are mixing up parallel "processing" with business "process". This is bound to happen. Another month or two and an Erlang "furious" will come up with this great idea, claim that BPEL is a piece of crap and all business processes in the world can -of course- be executed in a single Erlang engine, because it is so scalable. I can't wait until someone write a posts along these lines.
If you want further proof that people mix all these concepts, look no further than the reference to Anne's post when she claims:
.. the most important thing to understand from a technical perspective is that a service should support access via multiple styles of interface. It should enable an application to interact with it using whatever means it wants:
- A method-oriented interface (e.g., SOAP)
- A message-oriented interface (e.g., JMS)
- A resource-oriented interface (e.g., HTTP)
If we agree on the most important point which is SOA is technology independent, in other words, no technology has the monopoly on building a successful SOA, as I read Anne's words, I read that she does not make a clear distinction between middleware protocols and connected information systems interactions. As long as these kinds of confusion (distributed vs connected and message exchange vs interaction patterns) will happen, we will loose ourselves in infinite conjectures and more importantly drive scores of architects and developers in the wrong direction.
So no Anne, any of these technologies can be used to exchange messages within a connected system, but the interaction patterns have to be layered on top of it. Services do need (inter)actions, events and resources whether you use SOAP, HTTP or JMS. The middleware protocol should be selected based on non-functional requirements such as scalability, security,... but the use of the middleware protocol should not constrain you to a particular type of inter-action (or lack there of).