I just read a fascinating article in IBM Mainframe Extra supplement to the IBM Mainframe magazine. It seems that IBM is concerned about the fact that they can increase computing capacity by adding processors to their systems, but can no longer deliver significant increases in processor speed.
For years customers have waited for the next set of processor chips which were significantly faster than the last set. While multi-processor systems have been around for about 2 decades, many business applications have been unable to take advantage of these systems.
Many business applications are designed to single thread (process sequentially one instruction after the other) from start to finish and are unable to utilize multiple processors in a multi-tasking or multi-procssing environment as modern applications written in C, C++, or Java can!
COBOL and RPG, FORTRAN, or PL1 applications process one instruction at a time until an IO event occurs when the program stops and waits for the the relatively slow IO event to complete. The program is then queued for the next available processor and continues to execute one instruction at a time until the next IO even or until the program completes processing.
Modern applications consist of a number of small routines that can process in parallel without having to wait on other parts of the program. Various processes or tasks may complete and are then assembled into a final result, but the program can actually run its pieces on many processors.
The older programs represent a problem for a number of IBM Mainframe and Midrange customers where workloads are increasing, demands for more processor speed are increasing, and yet programs are constrained by their architecture and programming technique in many cases.
If you have not all ready made a commitment to move away from legacy languages and technology, the time is now. Develop a migration plan and move away from RPG, COBOL, PL1, etc.
Read the Mainframe Extra article at: http://ibmsystemsmag.com/mainframe/trends/IBM-Research/cmos_slowdown/