What does high performance computing mean?

Sorry, I am not really from a computer science background. But from the subject of it, does it mean something like multi processor programming? distributed computing? like using erlang? Sound like it, which excite me. I just had a 3 day crash course in erlang and "Cocurrency oriented programming" sounds like the edge we need today. I will be very happy to see more activity in here.

Some reading:

HPC can mean anything you want it to be.

In general "High Performance" is relative to the state-of-the-art.

What is "High Performance" today is generally "Old Hat", 5 years from now.... :smiley:

1 Like

That may be true if you look only at the hardware. The other part of HPC is the software which is tweaked to actually fully use the hardware capabilities: that most people have the equevalent of a 10-year-old Supercomuter under their desk does not mean they are doing high performance computing...

Yes... based on your perspective.

However, as I said "High Performance Computing" is a term which is subjective according to the user and/or the marketing objectives of the company using it.

We can probably discuss endlessly, and its fine if we have a different perspective on the topic. But for the sake of discussion, I'd like to reply anyway: it is the area I am working in, and I have thus some vested interest to represent it in a way I deem correct, but also I am interested to see how other people perceive the topic.

I absolutely grant you that the term HPC has a variable definition, in the sense that (a) problems and computers perceived as HPC vary over time, and (b) that it is often used as a marketing label. But that can be said for many aspects in IT: security, Cloud Computing, Grid Computing, P2P, ...

That does not mean that there is not a clear definition, or at least a clear understanding, on what HPC encompasses: in general, it is the area in IT which tries to solve advanced computational intensive problems on clusters or supercomputers.

Now, 'advanced computational problems' - that's a flexible term, and 'clusters' have not been around a couple of years ago, and who knows what the HPC resources will look like in 5 years. But people working in the area have a pretty good understanding of what advanced problems are (no obvious satisfyingly performant solution known on commodity hardware), and of what clusters and supercomputers are.

Best, Andre.

Good post.

On these topics, I find the definition of the term is relative to where the person "sits".

For example, HPC to a web architect is very different than HPC to an ASIC designer and is also very different to a trading systems architect. That is why I said the use of the term is relative.

The same is true for other TLA, like SOA, for example. To a CIO, a "service" might be defined as a massive globa IT system. To the web architect, a "service" might be a payment gateway. To a programmer, a "service" might be a piece of code in an object oriented design library. To a chip designer, a "service" might be a graphics card on the motherboard bus.

"High Performance" is relative to the application, which is very different depending on where you "sit". This is also very true for the term "computing".

These terms are relative to the level of architectural and application abstraction and granularity.

This concept is hard for many people to grasp, especially those who work in a specific area and who define terms based on their own perspective; and often this is a major cause of problems in IT systems design because people tend to forget that the perspective of the user defines their worldview.

Another way of saying this is "All politics are local."

@Neo:

Oh yes, I can only confirm what you are stating :slight_smile: "One persons service is another persons application".

Thanks, Andre.