Sign in with
Sign up | Sign in
Your question

Taming the Wild Supercomputer

Last response: in Systems
Share
March 20, 2007 10:53:34 AM

Sam Holland believes supercomputers belong in the office. Here he discusses all the current barriers to getting them there.
March 20, 2007 11:58:51 AM

A very interesting article on the difficulties of managing a large scale super computer system. Ironically it leads me to believe that they in fact do not belong in the office...., period.

I don't believe todays technology is ready to support supercomputers in the office. Maybe in 20 to 50 more years with more processor shrinkage, efficiency or breakthrough's in computing power. Then I believe supercomputer power will be truly portable, and no your SLI or Crossfire high end video system doesn't count.
March 20, 2007 1:43:01 PM

Decent approach... what he misses is that the biggest challenge facing supercomputing is system interconnects. Infiniband is the flavor of the month and it still is way behind where we should be in interconnecting supercomputers. Low latency, high performing interconnects are the bottleneck these days. On the Linux thing.... Linux clusters perform great when they stay up (dirty little secret) and when they're given a single task like the linpack (for Top500 submission.) Give it a truly diverse workload of many users with varying needs and see how well it performs. Lastly, MPI is message passing interface, an API for allowing parallel systems to communicate.

On the office thing, you might want to replace your building's furnace with the output of your supercomputing complex. The heat is awe-inspiring.
March 20, 2007 6:22:02 PM

In what way is this proposed 'Office Supercomputer' cluster unlike a network of office desktops - a distributed processing system?

It seems, one solution, would be to have a sort of 'master computer' coordinating the work of any available processor/system on the network. I seem to recall that, once upon a time, some movie production company bought high-end workstations for their office workers and, after hours, used that network to crunch CGI for their movies.

I realize that a typical Cat-5 network probably couldn't handle true 'supercomputer' throughput - mainly because the definition of 'supercomputer' has changed as technology has progressed. The quad-core uber-gaming system currently available from Dell, a small box that sits on your desktop, has more power than many early 'supercomputers'. However, the technology exists to run a fiber-optic network - which ought to be able to handle massive bandwidth.

So, I wonder, why not use the experience from the various 'folding' and other distributed processing ventures to redefine the idea of 'supercomputer' again. Not as a single monstrous processing unit, not as a dedicated array of specialized processor-units, but as a network of general-purpose processors that all work together. The resulting super-computer-network would be eminently Scalable. After all, not every office needs the same level of 'super' in their computing.
Even more interesting, what if any one of the computers in the network, when faced with a difficult task, could automatically borrow extra clock-cycles from the rest of the network? Suddenly, you have a sort of supercomputer-on-demand - because most offices don't need a supercomputer all the time.

Anyway, just some random thoughts from a relative newbie.

Be Well!
Fireheart
March 21, 2007 11:33:23 AM

This is following in Fireheart's train of thought. Could it be possible in an office environment full of multicore workstations to allocate an entire processor from each system and then have a server set up just for management and distribution? Maybe using something like a Beowulf cluster? The way it works in my head (with my limited knowledge) is that each workstation would not suffer much heat increase and only marginal power consumption increases.
In an office with 100+ workstations, the processing power of just one core from each would provide a considerable amount of computational power. Probably not on par with normal supercomputers, but maybe a workable solution for smaller demands.

Anyhow, just my two cents. Probably already been tried and failed.
March 21, 2007 12:51:11 PM

Supercomputing platforms leverage network interconnects of performance never seen or imagined on CAT5. IBM's Federation Switch used for their supercomputing interconnects run at 2 GB/sec each and are configured in pairs for a total of 4 GBytes (not Gbits) per second bandwidth fully non-blocking to all other nodes in the cluster. You can argue that 10Gb Ethernet can handle that if you use multiples. But there is so much more to the equation. Latency. These interconnects are very low latency. Ethernet latency is well above 40 microseconds where Federation runs at between 7 and 14 microseconds. MPI which is used to glue these separate systems together requires these low latency connections. Using something like Ethernet moves you out of high performance and closer into the "SETI at Home" crowd (not really, just making a point that Ethernet isn't remotely in the same class of interconnect.)
March 21, 2007 1:33:44 PM

I think the comms over CAT5 may be OK, but CAT5E that works at Gigabit would be better. I've worked on many telecom systems that use CAT5 ethernet as the interconnects between the clusters. Some of the present telecoms equipments uses Gigabit, with the odd 10 Gig link.

One of the problems is co-ordinating all the processing. For this you could use a server or a very high end workstaion machine with 2 or more 10 Gig connections, multi cored, and a large amount of memory (16 gig for starters but I'm guessing). The 10 Gig links could use link agregation for resilience.

The connections to each core could be over multiple VLANS, with seperate VLANS for cluster co-ordination so control messages could get past loads of data to be processed. There would need to be 2 of each type of VLAN each going over a seperate links from the switch to the controlling cluster. You could use HSRP or BFD to switch between the VLANS of one of the 10 Gig links to the controlling cluster when down. I would not worry about dual connections to each worker cluster. If you have many worker clusters losing one of them is not a problem. Loosing half of them because one of the links from the controlling cluster goes down is a problem.

Multi threading and inter process communications are already available under Linux as far as I know. One of the systems I worked on before used an OS that was POSIX compliant. POSIX sets the API for mutli-threading, and inter process communications using message queues. On the project I worked on message queues were much more effecient than using stream based communications. This may not be the case on some systems however. This is relatively easy to test, so test it and go with the one that works best. The software to make this communications work over ethernet has been written many times and may already exist in the public domain. Maybe you could use SCTP for this.

For the worker clusters you could use the native linux if it is on the machine, but you could use VM ware and install linux as another OS. The worker clusters could all then use linux. The worker clusters would need to check if someone using the machine, and if they were limit the CPU bandwidth they used, keep it to 50% max on a dual care machine. The amount of memory used would need to be limited, so that it does not affect the user of the machine to much. As the worker clusters will not be using any GUIs I would hope the memory requirements would not be to high.

If the worker clusters needed disk storage then this opens up privacy problems, and if possible this would be best avioded. Maybe an area to store temp data would be possible, but some extra memory on the worker clusters may provide a solution to this.

The controling cluster would have to try and determine which jobs are going to use a set of processes and try to make sure that the job had all processes running on one worker cluster. This would cut down on traffic over the net, and inter process communications between local processes are much quicker. This would be a difficult task, and maybe the way to approach it would be to split large jobs up into smaller jobs self contained jobs.


This would leaves a machine to control access, and mantain user sessions. There is not much point going to this amount of trouble and having a "mini super" computer that no-one can use. This machine would have to do basic analysis of the job, so that jobs with obvious errors are rejected at this stage, not after they have used loads of CPU and network bandwidth. This machine may provide a GUI front end to the "mini super" computer. This may need a dedicated high spec machine similar to the controler cluster, or maybe it could be on the controling cluster. If this was on the controling cluster I would use the QoS settings to mark the VLANs used for control as the highest priority, the VLANs carrying data to the worker clusters as the next highest, and the VLANs for user sessions as the lowest priority.

Thats about it for a first stab.

Rob Murphy
March 21, 2007 2:40:46 PM

Quote:

On the office thing, you might want to replace your building's furnace with the output of your supercomputing complex. The heat is awe-inspiring.


The University of Minnesota's Supercomputing Institute used to heat their building with their Cray Supercomputers. This was enough to keep the building warm even in the sub-zero weather of a Minnesota winter.
March 21, 2007 5:50:12 PM

Quote:
Supercomputing platforms leverage network interconnects of performance never seen or imagined on CAT5. Ethernet isn't remotely in the same class of interconnect.)


Thanks, RISCguru, I didn't really expect CAT5 Ethernet to be up to the job of handling super-computing traffic and your information confirms it. In fact, I didn't expect any of the currently common infrastructure would serve the needs of this sort of super-computing scheme. Although, 1G Ethernet could probably handle a lower intensity of 'super'... After all, how 'super' does this 'office-level' supercomputer need to be? Consider scalability.
I had envisioned a Fiber-optic LAN with optimized switches and certainly a completely different protocol from TCP/IP. The super-computing traffic would need to run on a streamlined model - there's no time to go through the OSI layers. My understanding was that Fiber could handle multiple streams of data on different bandwidths, so there's no reason why the same LAN couldn't carry Ethernet connectivity as well.

So I'm thinking in terms of a step or two up from current infrastructure equipment and a more industry-wide approach to supercomputer design and creation. Not just contributions from processor and software engineers, but network communication engineers, as well.
Lokigreybush's concept of abstracting and dedicating a whole core from each workstation isn't so bad, but I was thinking of a more flexible model. I thought that every computer in the super-computing-network would contribute according to availability. Sure, it may be a Communistic system, but if "Joe in Accounting" is taking a long coffee-break, his computer can still contribute to the processing power of the company net. After all, the 'drones' down in the R&D lab need all of the clock-cycles they can get!

Err, and while I might wonder at the value of "SETI At Home", that model of distributed computing is the basic foundation for my idea - Actually, I was thinking of Folding@Home. Same concept, but technologically enhanced and concentrated.

The main 'problems' that I see with this idea is in the distributed nature of the system. Instead of a single 'hardened' power, cooling, communication and control system supplying a central unit, these services need to be supplied to every unit in the network. Of course, that need exists anyway... a super-computing-network just needs a bit more of everything.

Anyway, the central idea here, is that the processors are already there, on everyone's desktop. The controlling Server may already be there, as well and, if not, it shouldn't be that expensive. The network itself is already there, in concept. So, all that's missing is the controlling software - and for higher levels of 'super', the more powerful network infrastructure.


Of course, all of this ignores the question of whether current desktop systems can work at super-computing speed. Can the PCI bus handle the needed bandwidth at all? Or does super-computing require the sort of processor-to-processor connection provided by the System bus? Is even the System bus of the typical desktop machine robust enough to handle 'super' throughput?
What is the 'minimum hardware configuration' that can handle 'super' level computing? A 'server-farm'? A 'blade-server'? Is a giant, industrial cabinet the size of a refrigerator and stuffed with a million dollars worth of circuitry really necessary to be considered 'super'?

What do you think?

Be Well!
Fireheart
March 21, 2007 6:58:31 PM

Quote:
Thanks, RISCguru, I didn't really expect CAT5 Ethernet to be up to the job of handling super-computing traffic and your information confirms it. In fact, I didn't expect any of the currently common infrastructure would serve the needs of this sort of super-computing scheme. Although, 1G Ethernet could probably handle a lower intensity of 'super'... After all, how 'super' does this 'office-level' supercomputer need to be? Consider scalability.
I had envisioned a Fiber-optic LAN with optimized switches and certainly a completely different protocol from TCP/IP. The super-computing traffic would need to run on a streamlined model - there's no time to go through the OSI layers. My understanding was that Fiber could handle multiple streams of data on different bandwidths, so there's no reason why the same LAN couldn't carry Ethernet connectivity as well.


Or could get something like this.
March 21, 2007 8:43:11 PM

What business aplications would need the processing power of a supercomputer?
Maybe for experimental engineering firms or research and development labs, maybe for trying to find a cure for cancer or something, but not for spreadsheets and word processing.
Distributed computing, using the existing network infrastructure, would be far more efficient. Taking advantage of idle computers already connected to the network is what I would consider to be a better plan.
March 21, 2007 9:04:55 PM

I would still love to be a labrat in a supercomputer environment. Just maintaining that thing would be awesome!!!
March 22, 2007 2:29:39 AM

Quote:

On the office thing, you might want to replace your building's furnace with the output of your supercomputing complex. The heat is awe-inspiring.


The University of Minnesota's Supercomputing Institute used to heat their building with their Cray Supercomputers. This was enough to keep the building warm even in the sub-zero weather of a Minnesota winter.

While I'm not certain, I'm doubtful the whole building was heated by the Cray. They certainly made heat, but not that much. Modern systems are _much_ hotter.

P.S. I know, I am in charge of the systems at the University of Minnesota's Supercomputing Institute. ;) 
March 22, 2007 2:34:29 AM

Quote:
Ethernet latency is well above 40 microseconds where Federation runs at between 7 and 14 microseconds.


The latencies on modern interconnects are even lower, on the order of 1 microsecond. But, those numbers are meaningless by themselves as they are always measured with a zero byte payload, simple ping-pong. What matters is how the latency scales with the data payload and multiple messages moving across the fabric.
March 22, 2007 2:43:14 AM

Quote:
I would still love to be a labrat in a supercomputer environment. Just maintaining that thing would be awesome!!!


It's not as glamorous as it sounds.

But, if you want a job, you need a deep understanding of Linux, networking, specialized libraries, queuing systems, schedulers, maintaining environmental variables, LDAP, system provisioning, log management, and a whole lot more.

Let me know if you're looking for a job.
March 22, 2007 3:01:55 AM

Quote:
Supercomputing platforms leverage network interconnects of performance never seen or imagined on CAT5. Ethernet isn't remotely in the same class of interconnect.


Of course, all of this ignores the question of whether current desktop systems can work at super-computing speed. Can the PCI bus handle the needed bandwidth at all? Or does super-computing require the sort of processor-to-processor connection provided by the System bus? Is even the System bus of the typical desktop machine robust enough to handle 'super' throughput?

Modern supercomputers are almost all of a type referred to as a "beowulf cluster," which simply means they are comprised of commodity, off-the-shelf (COTS) components.

What this means is that most modern supercomputers are made of "current desktop systems." Ergo, the modern PCI bus does just fine ... sort of. Those high-speed interconnects that riscguru properly refers to are made of PCI adapters in the machines connected to a specialized switch (IB, Myricom, Quadrics, SeaStar, or whatever).

To your question of,

Quote:
Or does super-computing require the sort of processor-to-processor connection provided by the System bus?


This is almost exactly what Cray does in their current systems. They extend the hyper-transport bus from the AMDs to their own specialized SeaStar interface which then connects to all neighboring nodes in the cluster. In that respect you were right on the mark.
March 22, 2007 12:55:24 PM

I'm sure it's not glamorous at all bropers. And thanks for the offer, but I would have a significant learning curve to navigate first - communications systems are bad enough with convergence and all..........
March 22, 2007 5:58:23 PM

So, considering what all of you have contributed, the basic hardware infrastructure to create some version of a super-computing network does, indeed exist. All it needs is a software structure - an operating system.

Actually, I think that's sorta what Sam Holland, the author of the article, was saying. Not that the hardware was much of a challenge, except insofar as it might need to be tweaked to improve the effectiveness and Cost-effectiveness of an office supercomputer. Rather, that a more flexible and friendly OS was needed - was needed by all supercomputers.

As for applications, I'll admit many, even most offices would have no need for such a thing. If all they need to do is 'office', or Office programs and web-surfing, then any off-the-shelf Dell could do the job. However, for a larger, or more complex business, like one that does in-office pre-press or heavy graphics, video processing, CAD or the like, or one that needs more powerful database work, some level of 'super' computing could definitely be useful.
I admit, there are some projects and commands that I do with Dreamweaver which make my workstation say, "Okay, this will take a while - go get Lunch and check with me later." Especially if I'm multi-tasking across several programs.

It would be interesting to hear more specifically from Mr. Holland about just how or where he envisions office-level super-computing to be effective and valuable. As it is, he merely states the difficulties of dealing with supercomputers and the opinion that they should be moved into an office environment.
Intriguing thoughts, interesting challenges, but no proposed applications or benefits.

I can envision a few applications, but they are purely situational, occasional, or temporary - where a supercomputer would be appropriate for a few minutes a day, or for one hour a week. I'm not sure that a 'real' supercomputer would be cost-effective under those circumstances.

Be Well!
Fireheart
March 22, 2007 7:03:06 PM

Thanks Fireheart - I think you, and others, have the idea...

The hardware is easy - perhaps even easier than designing a PC, as long as commodity parts are used. However, the electro-mechanical structure takes innovative effort because of size, heat and power.

The OS needs to be faaassst - particularly in processor to processor message passing. That implies a fast fabric and a much smaller and simpler OS.
(By the way, InfiniBand, for instance, can be configured for processor to processor communication latency, at the application level, in about a microsecond at a bandwidth of > 6GB - yep, us & gigabytes.)

Application codes have almost no support for handling multithreads and array processing. Yes there is compiler extensions but they are very clumsy.

A supercomputer, placed in an office environment, implies innovative solutions to electro-mechanics, OS software and application development. By the way, all is possible using current technology.

Best of luck!

Sam Holland
March 22, 2007 7:34:29 PM

Quote:


A supercomputer, placed in an office environment, implies innovative solutions to electro-mechanics, OS software and application development. By the way, all is possible using current technology.


With all due respect,
That still seems like a rather narow scope of applications for such a powerful machine.

Electro-mechanics as in opening doors, turning lights on and off, running machinery/robots? Or what about critical/sensitive systems?

Wasn't HAL2000 a supercomputer? Colosus? or the MPU from Tron?
All ficticious, I know, but still.......

Ok, from a techie pov........would it/could it be modular?
Adding processors as work loads demand.

How many "processors" before it earns the title "super"?

Oh, and so many points of failure......will there be redundancy?

Couple that with the increase in space, heat and power consumption and I fail to see the benifit - for a majority of enterprises.
March 22, 2007 7:43:26 PM

I agree with you Labrat636,

It doesn’t make much sense to put a supercomputer in an office environment, let alone run run office software.

However, If a supercomputer was to be placed in an office - then the implied problems of... would be solved. And thats good for all supercomputers.

Sam
March 22, 2007 8:07:43 PM

Oh, OK....I get it...a scheme to address that problem of excess heat and power consumption -

Is it dependent on environment? Not entirely, but I think what you're saying is: if the office world was needing it - a solution would be found to reduce these undesireabe side effects of supercomputing. If supercomputers were more mainstream solutions would follow- but it is because of these factors that they are not mainstram 8O

catch 22
March 22, 2007 8:14:01 PM

Labrat635, you are a friend for life!

When the PC went into the office all kinds of good stuff was invented. (Or was it the other way around.)

Take care.

Sam
March 22, 2007 8:43:35 PM

Well, it all comes down to the applications really. What did offices need? a better, easier, more efficient way to do word processing and spreadsheet tasks. Databases were easier to manage and access. Games came along as a secondary function initially, but now, the gaming market drives a lot of the advances in personal computing. And now they make software (and hardware) for just about every type of process you can think of. And some you can't.

Maybe gaming would be a better avenue for motivation - just imagine the kind of virtual environment you could generate with a supercomputer! And the number of users/players, wow. And gamers are hardcore man, they will buy it, build it, or modify it to increase the gaming experience no matter what the cost.

Office managers are subject to budgets and justification, and such.

Yes Sam.....I believe gaming may provide the solution you seek.
March 22, 2007 8:46:31 PM

Quote:
So, considering what all of you have contributed, the basic hardware infrastructure to create some version of a super-computing network does, indeed exist.


Yes and they are used everyday in high-performance computing centers all across the world.

Quote:
All it needs is a software structure - an operating system.


It already has one (or more). You can use stock Linux, commercial UNIX, customized Linux, or even Windows (heaven forbid).

Quote:
Not that the hardware was much of a challenge, except insofar as it might need to be tweaked to improve the effectiveness and Cost-effectiveness of an office supercomputer.


Not quite true. The effectiveness, or efficiency is already there, though very interesting factors are slowly eroding that efficiency, one of them being the increased numbers of cores per socket without matching memory bandwidth increases.

Also, the cost-effectiveness is already there as well. You can buy a "supercomputer" for pennies on the MFLOP, say between 5 and 10 cents per megaFLOP (million floating point operations per second). That includes everything you need in the system (all hardware, memory, management network, interconnect, software, maintenance, ... everything) to run it for three years. Well, everything except the electricity. :) 

Consider a desktop PC with a Core2 Duo at 2.4 GHz. That machine is theoretically capable of:

2 cores * 2.4 GHz * 2 instructions per cycle = 9.6 GFLOPS or 9,600 MFLOPS.

That means the PC should cost:

9,600 MFLOPS * $0.05 / MFLOP (conservative) = $480 of "equivalent" supercomputer, which is about what you can get.

My whole point is, you're getting "supercomputer" power for the same price (cheaper when you consider you get everything you need) as regular commodity PCs. This should be no surprise since a large portion of modern computers are clusters of COTS systems.

Quote:
Rather, that a more flexible and friendly OS was needed - was needed by all supercomputers.


A lofty goal that will likely never happen. To me, Linux is already friendlier than Windows. So from my perspective, we have a great OS already. However, compared to the Crays of yester-year (and some of today) or the SGI's of today where you have a single system image (SSI) running across hundreds of CPUs, the distributed model does leave something to be desired, though it has taken us to hundreds of teraFLOPS (TFLOPS) of sustained computation.

Quote:
As for applications, I'll admit many, even most offices would have no need for such a thing.


That very much depends. Financial companies all over the world have supercomputer class systems running all sorts of analyses. Petrochemical companies, insurance companies, aerospace companies. Heck, even Proctor & Gamble use supercomputer for making Pampers and Pringles ( this is no joke: they do "fluid flow through porous media" computational fluid dynamics studies on Pampers and Tampax [you can't effectively "field test" those sorts of things] and have done aerodynamic models on Pringles so they can make them faster but still get them to fly into the cans properly when they come off the manufacturing line ).

Quote:
It would be interesting to hear more specifically from Mr. Holland about just how or where he envisions office-level super-computing to be effective and valuable.


Microsoft, for the first time, was a major sponsor of the big Supercomputing conference a couple of years ago in Seattle. As such, Bill Gates gave the keynote talk. In it, he discussed just what we're talking about -- everyday supercomputing. He demonstrated more of what I would refer to as grid computing (possibly more on that later), but they showed a researcher needing to do an analysis who simply "put" their job "out there" to be run. It found a supercomputer (running Windows HPCC stack), ran the problem, and delivered the results back. Nice demo. Not the kind of work serious researchers do today (though things are moving to more automation), but a good example of what could be done in an office setting.

Quote:
I'm not sure that a 'real' supercomputer would be cost-effective under those circumstances.


The system that Microsoft used for that demo was the Tyan Personal Supercomputer (TSC). ([Edit:] Tyan just announce a 40-core system).There have been other such projects like the Orion MultiSystems machines, though they seem to be out of business now.
March 22, 2007 8:47:57 PM

check...

Our solution (read design) is pictured in the conclusion.

Sam
March 22, 2007 9:18:44 PM

Quote:
A supercomputer, placed in an office environment, implies innovative solutions to electro-mechanics, OS software and application development. By the way, all is possible using current technology.


With all due respect, That still seems like a rather narow scope of applications for such a powerful machine. Electro-mechanics as in opening doors, turning lights on and off, running machinery/robots? Or what about critical/sensitive systems?

No, Sam is referring to the electrical power characteristics and the mechanical needs (floor space, raised floor, blowers, chilled water, pumps, and the like) that are required to stand up massive supercomputing systems.

Quote:
Ok, from a techie pov........would it/could it be modular?
Adding processors as work loads demand.


This is what is known as "grid computing" in my mind. Examples are wide and varied, but the best two implementations are Condor out of the University of Wisconsin and Globus out of Argonne National Labs.

Quote:
How many "processors" before it earns the title "super"?


The answer to that question is becoming more and more blurred. The classic example is that the Treo 680 in my shirt pocket has more computational capacity than the original Cray's (though my Treo would be stomped in terms of floating point performance).

Quote:
Oh, and so many points of failure......will there be redundancy?


That's built-in to something like Condor, yes. On a distributed memory supercomputer you need to rely on checkpointing of the code in order to recover from a hardware failure.
March 22, 2007 9:29:45 PM

Quote:
Maybe gaming would be a better avenue for motivation - just imagine the kind of virtual environment you could generate with a supercomputer!


This is precisely what almost all supercomputers are doing today anyway, simulating the physical environment in order to solve problems. Not the sort of graphical virtual reality you were talking about, but I contend it's just the same.

I have been witness to 2.2 TF (2.2 trillion floating point operations per second) of computation in near real-time. A run on 1,024 processors on one of our systems was piped over dedicated networking to another machine that converted the data and then fed it to yet another cluster of 10 machines that composed and projected a ~13 megapixel (Mp) image on a 5x2 powerwall. We're talking about a display that is something like 10 feet high by 25 feet wide! The computation was a computational fluid dynamics (CFD) code modeling mixing of gases within a star. It was beautiful. Is that "virtual reality?"

And, on your comment that, "the gaming market drives a lot of the advances in personal computing," is interesting. I always consider that it's my high-performance computing (HPC) work that drives the market. The PowerPCs that you find in the worlds current fastest supercomputer, IBM's BlueGene, are basically the same, at their core, as the Cell processor that is in the Sony PS3. The multiple cores in the Cell have been driven by the need to have multiple cores in our HPC systems. The vector (array in Sam's lingo) processing capability of the Cell has been around since the Crays and has been used off and on again over the past 30 years (or more).

Interesting Chicken and Egg issue. :) 
March 22, 2007 10:04:44 PM

Quote:
check... Our solution (read design) is pictured in the conslusion.


I saw that. What's amazing to me is that the design is not much different from the original Cray's (yours doesn't have a "bench" though [quiz for the rest of you: 1) why were Cray's cylindrical? 2) what were the "benches" around the machine for? -- Sam, you can't answer]).

I do agree, as I was indicating when I said that HPC was driving gaming and commodity markets. Component sizes will continue to shrink and computational capacities will increase. The Cray of 30 years ago that fits in my pocket today will, in just a few years time (not 30 years), be the same as a supercomputer of just 5 or 10 years ago. For those interested in this, go read some of Ray Kurzweil's books.

By the way, I like the rendered woman. :) 
March 23, 2007 3:08:15 AM

Weren't the crays round to make the cables as short as possible? And the "benches" were for the power supplies if im correct. Please tell me if im wrong
March 23, 2007 12:00:57 PM

Quote:
[quiz for the rest of you: 1) why were Cray's cylindrical? 2) what were the "benches" around the machine for? -- Sam, you can't answer]

Weren't the crays round to make the cables as short as possible? And the "benches" were for the power supplies if im correct. Please tell me if im wrong
Correct, mostly. I was going to wait on the answer until others' had a chance, but you're mostly got it.

Yes, they were round to minimize signal propagation times (short cables). The benches mostly held the pumps for the refrigerant / coolant. The Cray-2, for sure, used a "new" 3-D approach for the circuit boards. In order to pack as much in as possible, the boards were sandwiched together so closely that normal air flow would not cool them so they were immersed in a liquid coolant.
March 23, 2007 4:01:32 PM

Quote:

No, Sam is referring to the electrical power characteristics and the mechanical needs (floor space, raised floor, blowers, chilled water, pumps, and the like) that are required to stand up massive supercomputing systems.


I understand - we had a client who's switch room was prone to flooding (I don't remember why) - so we rigged up a relay that would activate a set of powered risers that would actually elevate the switch if the sensor (N.O. switch) detected water on the floor. We have also rigged up coolers to activate at certain temperatures, etc. - the possibilities are endless actually.
March 23, 2007 4:13:47 PM

Quote:
Maybe gaming would be a better avenue for motivation - just imagine the kind of virtual environment you could generate with a supercomputer!


This is precisely what almost all supercomputers are doing today anyway, simulating the physical environment in order to solve problems. Not the sort of graphical virtual reality you were talking about, but I contend it's just the same.

I agree

Quote:
The computation was a computational fluid dynamics (CFD) code modeling mixing of gases within a star. It was beautiful. Is that "virtual reality?"


Yes, it is. Amazing actually. To be able to actually visualize an abstract mathmatical formula (or something equally intricate) in four dimensions.
March 23, 2007 4:25:49 PM

I'm sorry if someone already brought this up, but what's the definition of "supercomputer" anyway? Are we talking strictly HPC? I bring this up because in my CFD classes we talked about computing requirements to do complex simulations, and part of that discussion involved a graph of floating-point performance of supercomputers and desktops over time. We all know about Moore's law... it seems that desktops (or perhaps I should say workstations) are about 10 years behind supercomputers. So, really, we're running supercomputers in our office today if you take a 90's perspective.

I wrote this because of the comment that perhaps supercomputers will be suitable for office use in 20-50 years due to further miniturisation/efficiency gains.

The definitions of "supercomputer" and "workstation" are moving targets.
March 23, 2007 5:21:19 PM

Quote:
I'm sorry if someone already brought this up, but what's the definition of "supercomputer" anyway? ... We all know about Moore's law... it seems that desktops (or perhaps I should say workstations) are about 10 years behind supercomputers. So, really, we're running supercomputers in our office today if you take a 90's perspective.

The definitions of "supercomputer" and "workstation" are moving targets.

Typically, the factor of 10 you mentioned is a fairly easy definition. A supercomputer is a system that is capable of providing at least an order of magnitude more compute capabilities that what is currently available in the COTS market. This is a pretty loose definition and some may not agree, but for the most part it holds.

Yes, the definition is constantly moving. Recall the Apple commercials back when their new G4s (I think) came out. They ran commercials saying that their machines could not be exported because they were classified as supercomputers under the munitions export laws. Well, ... that definition was static and very much out of date, but this clearly demonstrates what we are talking about. I was a bit surprised that this YouTube search did not turn it up, but I don't have too much time to dig around.
March 27, 2007 5:18:23 PM

I'm thinking that the very best way for this proposed Office Supercomputer to work is for it to side-step whatever Application it's running entirely. The Operating System should recognize the complexity of whatever problem it is handed, poll its resources for available processors, and serve out the computations to them. Then, all that the Application knows is that the computations got done fiendishly fast.

Yes, it might be more efficient, if the Applications, themselves, were multi-thread and multi-processor enabled, but most are not - especially 'office' applications. It will be a few more years before any majority of computers are multi-core and it won't make sense for the programmers to write multi-enabled code until then.
Or, until there is some sort of Supercomputer in the office...

Be Well!
Fireheart
March 27, 2007 5:31:48 PM

Quote:
I'm thinking that the very best way for this proposed Office Supercomputer to work is for it to side-step whatever Application it's running entirely. The Operating System should recognize the complexity of whatever problem it is handed, poll its resources for available processors, and serve out the computations to them.

You're talking about grid computing, not supercomputing, in this context. Finding the right resources for a job, farming the job off to those resources, and then re-collecting all output and presenting it back to the user. This is classic grid computing. All your missing is discussion of virtual organizations and administrative domains. :D 
Quote:
Then, all that the Application knows is that the computations got done fiendishly fast.

Not true. It used to be, back in "the day" that supercomputers are what you're referring to: truly super computers in the sense that their processors could do more in a shorter amount of time than commodity systems. In the true supercomputing realm, those days ended long ago when Cray and company started having troubles. I'd even pin the date to the fall of 1993.

And more recently, I'd say this same demise in a singular super computer is demonstrated by the fact that we no longer see clock frequency scaling. Rather, we see more cores. It is simply no longer feasible to sit down and do what Seymour and company did back in the 70s.
Quote:
It will be a few more years before any majority of computers are multi-core and it won't make sense for the programmers to write multi-enabled code until then.

Again, I disagree. It has been known for years that commodity processors would be moving to multi-core. I'd even put it as far back as four years ago this was known. Programmers should have made the move then to be multi-threaded and multi-core aware in their applications. If they had been, we'd all be a lot happier today on our many-cored desktops.

This is, again, where HPC feeds the commodity community years later. Multi-core programming has been around for decades in HPC and much of what we have learned is now being passed on to the commodity generation. Likewise, the new programming languages and techniques being looked at in HPC today will find their way back to the commodity space in another 10 years.

It's never too late for a paradigm shift. :wink:
March 27, 2007 7:47:23 PM

Quote:
You're talking about grid computing, not supercomputing, in this context. Finding the right resources for a job, farming the job off to those resources, and then re-collecting all output and presenting it back to the user. This is classic grid computing. All your missing is discussion of virtual organizations and administrative domains. :D 


Okay, I'm seeing repeating reference to this 'grid computing' in this discussion. In each case, the context seems to be slightly negative. I fully admit that I don't really know 'anything', so perhaps you could elaborate?

What is 'grid' computing and how is it different from and not 'super'?
As you and others have been saying, 'super' computers are no longer super-processors, but arrays of linked 'commodity' systems. I'm having trouble differentiating that concept from my own office LAN - except I realize there is a massive difference in Scale and interlinking speed. I also realize that the software involved is custom written to take advantage and control of the 'multi'-resources of the system.
But otherwise, what is it that I'm missing?

There are a few common applications which are 'multi'-enabled to some extent, notably Photoshop CS, but the point is that there is no reason to worry about multi-threading in a word-processing application or most other 'office' programs. They are just not complicated enough to get much boost from multi-processing, so it's not cost-effective to (re)write them that way. Although, I'll admit that the MS Office suite is loading up with so many extra features, that it really Ought to be multi-something enabled.

You see, I'm still working with the idea of how to use a 'supercomputer' in an office environment. Unless we're talking about 'regressing' back to dumb-terminals on a central computer system, I can't think of a reason to concentrate a 'super' level of processing power into a single location. The picture at the end of Sam's article just doesn't 'compute' for me.

Therefore, I was concentrating on ways to make the computers that are Already in the office 'super'.

And I may be interpreting this all wrong, but it seems to me that Sam's article was arguing for a more mainstream outlook for supercomputers. He feels that putting them under the public eye will empower developments in hardware and software, much like the personal computer has experienced. Or, that encouraging those developments will conversely make super-computing applicable in an office setting.
I don't see that necessarily following, but I do envision situations where some level of 'super'-processing could be useful. In service to the idea of empowering improvements in supercomputers, I think a more effective path would be to concentrate on what they are already being used for - particularly in virtualization. Those improvements can be driven by bringing more virtual applications into the public consciousness - in entertainment, recreation, games, education, and training. That will get more people thinking about supercomputers and not just thinking that they have no place in a 'normal' person's life.

In manufacturing, R&D, product testing, and such-like, I do see the point of 'super'-computing, especially in any sort of virtualization application. In fact, the clearest application of virtualization is in gaming - and in Training. Find a pervasive virtualization application for the Office and supercomputers may find a niche.

The one instance where I do see his concluding image as 'prophetic', is in the case where the supercomputer is controlling and projecting the virtual office-worker. Or perhaps she's a robotic puppet. They're developing something like that in Japan right now - robot receptionist.

Be Well!
Fireheart
March 27, 2007 8:40:28 PM

Quote:
Find a pervasive virtualization application for the Office and supercomputers may find a niche.


Already here - Virtual conferencing - I know Cisco is working on/has such a system - it could be polished up really well by supercomputing.
March 27, 2007 10:50:22 PM

Quote:
Already here - Virtual conferencing - I know Cisco is working on/has such a system - it could be polished up really well by supercomputing.


You mean something like Video conferencing? Or do you mean something more like Second Life? I can certainly see how multiple-processing could smooth the various streams of data in the first instance - multiple sound and video threads. In the second case, everyone logs onto a central host server, so there's no need for a 'super' computer locally.
I suppose a company could run their own custom virtualization... That would certainly require some heavy-lift processing, if you wanted it to run smoothly and look good.

Be Well!
Fireheart
March 28, 2007 1:11:44 PM

Here is a link:

http://www.cisco.com/en/US/netsol/ns669/networking_solutions_solution_segment_home.html

It's not bad for now - but I think it could be a lot more immersive - that is realistic - also would be good for virtual training with a teacher in one location with a virtual clasroom full of students and each student in his or her own home or office with a virtual teacher.

Using a supercomputer could make these virtual environments more realistic - There are entertainment possiblities as well.
Imagine a virtual concert in your living room.

I wish I could work on this kind of project -
March 28, 2007 5:28:46 PM

I would like to interject a thought:

In order to vastly improve execution time for ALL application programs, two basic things need to happen.

1. Extend microprocessor array processing functions to:

Efficiently handle sparsely as well as fully populated arrays.
Allow arithmetic, boolean and selection operations on all array data types, including character, integer and floating point.

This will allow essentially ALL applications to take advantage of the same performance gains now enjoyed by well behaved number crunching codes.

2. Develop a problem definition language.

This makes it vastly easier for compiler writers to collapse source codes into array processing operations.

Sam Holland
March 29, 2007 6:33:38 PM

In discussing this topic elsewhere, I've been reminded of another trend. Some big software companies are looking towards a more centralized model - where their software runs on their own servers and users pay for the privilege of logging on and using the software.
So, it seems like we Are looking at a return to the 'dumb-terminal' served by a powerful central computer.

In that model, the desktop computer would only be handling the User Interface, local storage of working documents, and a network interface. The super-computing-server then handles the heavy application processing and serves this software to each client - it can even be running a completely different OS. It most likely is doing just that.
The super-server can be located in the office, or several floors away, or in another building, or even in some giant secret computing center in Oregon.
My problems with this idea include the thought that, if my network 'blinks', my letter to grandma will get fritzed. Worse, I don't 'own' my software, I'm paying just to use it.

On the other hand, my work-station doesn't have to be any smarter than a cell-phone. In fact, I could come into the office (any office), plug my smart-phone into a caddy, and log onto 'My Computer' - which is entirely 'virtual', served to me by the super-server, using personal settings stored on the my phone-unit.

I can see the convenience in this model, but, call me a retrograde dinosaur if you must, I want to 'own' my computer and everything on it. I want to be able to touch it, monkey with it, even break it on a whim. And I don't want some software company rep, server technician, or clever hacker to be able to mess with my stuff, snoop through my photos, change my access, or hijack my system and hold it hostage if I don't pay my monthly dues!
And yet, there is a trend, in photo sites, YouTube, and elsewhere, towards public storage of documents and putting your stuff out on the Net, so you don't have to store it locally. In a way, the sheer volume of junk out there keeps it safe.

Just some more thoughts, I guess.

Be Well!
Fireheart
March 29, 2007 7:52:44 PM

Quote:
Some big software companies are looking towards a more centralized model - where their software runs on their own servers and users pay for the privilege of logging on and using the software.
So, it seems like we Are looking at a return to the 'dumb-terminal' served by a powerful central computer.


Man I sure hope not. I live off the public grid at home -
I want total control of my systems - including what goes in and what comes out - I don't like the idea of "computing online" I don't like subscriptions (read monthly fees) - I would rather pay once for a product I can install on my system and have total control over it - then to have to pay every month to do the same - even if you are talking of free web based applications - remember nothing is really truly free - you'll pay with pop-ups or or other spyware - adware - who knows what else-
March 29, 2007 8:05:41 PM

I can see subscription software being very useful for businesses. On the other hand, for home use, I'll maintain my own systems (including software) thank you very much. On the one hand it seems that media and software companies are trying their hardest to wrest control of your own computer away from you, while on the other community-based open-source software is getting to the point of usability for the home. My media centre runs ubuntu, for instance.

I don't hate MS. I think they make a great product, for what it is. It's thrid-party software vendors I blame for the lack of choice in this world. It's technically illegal for me to play mp3s using linux (mp3 is proprietary). It's also technically illegal for me to play DVDs in linux. I think when media companies start dictating to you what platform you have to play the content on they're crossing a line.

I was trying to make an online application the other day and the website wouldn't work with firefox. The site said you have to have IE7. So much for that application. You know when I was maintaining a little website, if it wasn't compatible with Netscape 4.0 I got complaints.
March 30, 2007 7:07:53 PM

What many people in this discussion have described is indeed what one person called Grid computing. The basic idea behind grid computing is to use some of the design priciples from object-oriented programming to design large computer networks that can provide on-demand resources like compute power, data storage, communications, and so on. The goal is to hide the underlying hardware implementation of the computer network from the user, so she only has to focus on her area of expertise in the computational process. That way, an astrophysicist who should spend most of his time thinking about astrophysics doesn't have to spend most of his time thinking about partitioning his application and making sure his MPI calls all synchronize the application properly.

As far as businesses go, I firmly agree that supercomputers belong in the office. The best part is most company intranets are grids in waiting. They just need to be used like a grid. To use an analogy often used in military analysis, everything else being equal, a force can control the battlespace by operating inside the "observe-evaluate-decide-act" loop. Similarly, businesses that can access, interpret, and act on information more quickly will have an advantage. Thus, supercomputers have the potential to give businesses that advantage, particularly when used with data mining and other search algorithms to call attention to patterns that would otherwise be unrecognized.

Supercomputing is not just for brainiacs and large government funded projects on nuclear energy or DNA sequencing.
March 30, 2007 7:16:28 PM

One other point I forgot to make...

My idea of an ideal future will have pervasive wireless data and wireless power connectivity (that's right, wireless power!), allowing access to huge databases and massive amounts of compute resources from lightweight, highly usable user interface devices. This has already begun with the proliferation of internet capable cell phones and smart phones, and even the relatively new genre of "ultra mobile" PCs. Consider what occurs when you text message a search query to Google. Google's massive server capability processes the search query, returning your result back to your cell phone. The cell phone doesn't need to store a database of pizza restaurants or list the middle names of US presidents, it just needs to be connected to systems that do.
April 2, 2007 2:42:42 AM

Didn't Nicola Tesla work on that, decades ago?

Anyway, about 'pervasive' wireless networks and computing, I'd happily use a lightweight interface device for running info searches on the fly. Everything from 'Where am I and how do I get where I'm going?', to 'Oh, She's hot! Does she have a website?' or 'What's another word for asshat, that I can safely call my boss?' to 'Where's the nearest taco shop?'
Unfortunately, I also see this as yet another proliferation of cell-phone-bozos, who get so caught up in intercourse with their electronic pal, that they fail to see the oncoming Bus. Joe Nobody-Special is going to be updating his Blog, when he should be 100% focussed on driving his car and only the automatic collision avoidance system in his new Yugo II is going to keep him from messing up the lives of hundreds of commuters.

Anyway, as I said earlier, I certainly see the interface between super-streamlined personal computing devices, desktop terminals, and a central super-processing server as a valid model for office work. That said, I totally agree with Labrat636 and HotFoot, in that I want my Personal computer to be entirely and autonomously 'owned' by me. I have no interest in subscriptions and 'services'.
Of course, replacing the 'office' supercomputer in the above scenario with my own computer could be very useful, as well. And, at what point will my 'smart house' not resemble a super-computing network, or 'grid'... perhaps served and controlled through my own personal machine?
Actually, I already live in a house that came pre-wired for cable and Ethernet in every room. When I moved in, I installed my modem and router in the hall-closet, plugged everything in, and my home-network lit up.

I guess I'm chiming in with FyzixST, saying that network infrastructure is already showing up everywhere, so the groundwork for an intelligently designed 'grid' super-computing scheme is already laid out. Someone just has to design the server-software that can take advantage of it. From some things said by Sam and others, it may require a new, or newly redesigned Operating System.

Be Well!
Fireheart
April 2, 2007 2:53:33 AM

In discussing virtual environments,
Quote:
Using a supercomputer could make these virtual environments more realistic - There are entertainment possiblities as well. Imagine a virtual concert in your living room.

What is being described here is an embarrassingly parallel problem and is not really suited to the sorts of supercomputers I believe we have been discussing. This is really more of a distributed computing problem more than a supercomputing problem, along the lines of SETI or Folding @Home sorts of projects. While it is true that you will want a fast system to fully handle processing for some virtual object, and that this system will need to communicate state to another system, it's not something that would be solved by your typical supercomputer.

Hmm, ... putting a bit more thought into it, I suppose you could approach the problem this way ... multiple data, single program style. The singular application is only concerned about the physical properties and interaction of the object it has, based on metadata contained with-in that object, and the render of the object in the virtual space given nearest neighbor information on sources of light or shadow...

Interesting thought.
!