Tuesday, September 16, 2008

Scaling up

The holy grail of high performance computing looks like this:

The program must use 64-bit memory addressing to use any amount of memory, use the hard drive as additional memory, use multiple hard drives efficiently so as to avoid thrashing any single hard drive. The program must scale to shared memory multiple processors or cores (SMP), and to distributed memory message passing, and do the right thing depending on the latency between distributed nodes. Use GPGPU and FPGA. The program must be robust to hard drive failures and to entire distributed nodes going down.

The operating system might take care of some of these issues.

I believe function programming is the solution. A very high level description of a computation is automatically (or human-assisted) compiled for the given architecture.

No comments :