Parallel Programming
We are going to be honest here. Writing parallel codes is not simple. You can learn the mechanics of writing MPI codes from Jeff Squyres MPI Monkey column,but what about the computer science? Or more specifically, how are you going to make sure your code runs faster on multiple processors? Join Pavel Telegin and Douglas Eadline as they explain the issues and the answers.
Julia: HPC BASIC
- Published on Friday, 07 December 2012 14:00
- Written by Douglas Eadline
- Hits: 1011
You really should meet Julia
A long time ago, BASIC was "the language" in the PC world. There were other languages of course, but BASIC was well, "basic" and it was the only thing beyond machine code for many early PC enthusiasts. The name was an acronym for "Beginner's All-purpose Symbolic Instruction Code." New users could easily start writing programs after learning a few commands. It was fun and easy. Many scientists and engineers taught themselves BASIC. Of course, many would argue at the time real scientific programs were written in BASIC's big brother FORTRAN, but FORTRAN was a different world in terms of development cycle and hardware. There was this thing called a compiler that had to be run before you could execute your program. BASIC on the other hand seemed to keep track of your code and would just "RUN" whenever you wanted. Of course you might get some errors, but the "edit, run, edit" cycle was rather short and allowed one to easily play with the computer.
Cluster Programming: Explicit Implications of Cluster Computing
- Published on Tuesday, 05 December 2006 03:47
- Written by Douglas Eadline
- Hits: 9628
A hard to swallow conclusion from the table of cluster
A confession is in order. The last two (1, 2) installments of this column have been a sales pitch of sorts. If you believe some of the things I talked about, large clusters will break, applications will need to tolerate failure and be easy to write, then you may agree that dynamic programming algorithms are one method to solve these problem. The next question is, how do implement these ideas?
The answer is the part many may find distasteful. If you are one of the brave few who take pause to think about how we are going achieve pervasive cluster (parallel) computing, then take a bite of this column. The rest of you weenies should at least nibble at the edges.
Read more: Cluster Programming: Explicit Implications of Cluster Computing
Cluster Programming: The Ignorance is Bliss Approach
- Published on Tuesday, 10 October 2006 21:00
- Written by Douglas Eadline
- Hits: 8183
Dynamic Parallel Execution: Losing control at the high end
In a past column, I talked about programming large numbers of cluster nodes. By large, I mean somewhere around 10,000. If you have been following along, at the end of the article I had promised to mention some real alternatives to MPI and even suggest some wild ideas. I plan to keep my promise, however, I wanted to take a slight detour this month and develop the solution a bit further. One point of note before we begin. To keep things simple, I will refer to cluster nodes as if they were a single processing unit.
Read more: Cluster Programming: The Ignorance is Bliss Approach
Cluster Programming: You Can't Always Get What You Want
- Published on Tuesday, 19 September 2006 04:27
- Written by Douglas Eadline
- Hits: 8850
But it does not stop me from asking
Fifteen years ago I wrote a short article in a now defunct parallel computing magazine (Parallelogram) entitled "How Will You Program 1000 Processors?" Back then it was a good question that had no easy answer. Today, it is still a good question that still has no easy answer. Except now it seems a bit more urgent as we step into the "mulit-core" era. Indeed, when I originally wrote the article, using 1000 processors was a far off, but real possibility. Today, 1000 processors are a reality for many practitioners of HPC. As dual cores hit the server rooms, effectively doubling the processor counts, many more people will be joining the 1000P club very soon.
Read more: Cluster Programming: You Can't Always Get What You Want
Parallel Programming: A Balancing Act
- Published on Saturday, 15 July 2006 11:47
- Written by Pavel Telegin
- Hits: 6518
Static or Dynamic? It is a matter of balance
Now that we know how to identify parallel parts of our program, the question is now what to do with this knowledge. Or, how do you write a parallel program. To answer this question, we will discuss what the structure of a parallel program may look like. Programs can be organized in different ways. We already discussed SPMD (Single Program Multiple Data) and MPMD (Multiple Programs Multiple Data) models. SPMD and MPMD represents the way a program looks from the point of view of the cluster. Note, that using a MPMD model with MPI an "app" or "procgroup" file will be needed to start different programs on cluster nodes. Let's see what the programs look from the implementation standpoint.
More Articles...
Page 1 of 2
«StartPrev Page12- Next PageEnd»

