I was brought up in an era before computers and computer science degrees and so of necessity did an engineering degree. This leaves me at a disadvantage when discussing the details of computer science such as the nuances of OO or the latest search algorithms. Like all black clouds however it does have an advantage because much of my engineering training covered how to understand different domains such as schedule, budgets, power and heat as well as the required functionality. In addition how to do trade offs between these different domains was extensively and sometimes painfully drummed into us. This is of course much of what computer architecture is about; not so much coding as test, schedule, etc.
I was reminded of this the other day when I went to see a major trading bank in the city. The nice thing about working with city institutions is that they seem to have a large number of very smart people there; not that I am saying there aren’t smart people elsewhere, its just there seem to be more of them in the city. Must be these huge salaries I keep reading about (Note to self: “Why do I work for a pittance at Microsoft?”). I had a long meeting with a couple of their chief architects where we discussed many and varied topics ranging over a wide range of domains. I felt drained at the end of it but it was fun, I think they thought it was too, one commented that “it is great to sharpen my mind every now and again” which is much how I felt.
Anyway one of the topics that came up was power and space, not typically a subject that comes up in application architecture discussions. The architect explained that they support new applications by adding more blades to the racks in their computer centre. The previous week they had added another blade for a new application and it had overloaded the rack. This in turn had overloaded the space power and so a large section of their DP centre had powered down. This of course had very serious implications to their business. So the Architects question was “how can we avoid this in the future”? Should the application designer provide power requirements for their application, especially in this day of services and distributed design? Whose responsibility is it to ensure that the power consumption of a new application (a strange concept) doesn’t overload the DP centre? How can this be monitored and verified? All good questions without simple answers (we don’t have a Windows power centre manager.. yet J).
This of course fits well into the DSI initiative and the SDM; you could add power requirements as part of the application design, this would be stored in the SDM. Then the infrastructure architect would add the power constraints of the DP centre as part of the data centre designer. Finally a validation program would check one against the other. Whilst all these concepts are supported by
This whole area of engineering in computing seems like a rich vein of interest so I will revisit it in future blogs.