N_gine White Paper on Parallel Processing, Copyright N_gine LLC 2008
Economic recessions have one thing in common. They all encourage new methods of productivity for economic recovery. The recession of 2008 is more severe. Loss of incomes, homes, and jobs are compounded by loss of confidence in corporate/governmental policies, actions, and foreign competition. Where then will new bona fide productivity emerge? Automation technology has long been dependable, and still is. Unprecedented automation productivity is on the horizon, but this time the effort to realize the potential substantially differs from the past. Chip manufacturers have invested billions of dollars in creating new multi-core (or parallel processing) chips. Now, users must invest billions of dollars in learning how to use these chips to their best advantage.
In Q1-2005, Intel, IBM, and AMD announced that future increases in computing speed would result not from one faster processor on a single chip but rather two or more slower processors on a single chip (or parallel processing). Little if any regard was paid to software implications. Hence, a problem larger than Y2K has emerged. Software announcements normally follow hardware announcements by 8-9 months. Some three years have past since Q1-2005, and there is still no parallel processing software for business or commercial applications. This fact has been confirmed by the NY Times, Wall Street Journal, and the Electrical Engineering Times. The reason why there is no software is: The chip announcements rendered underlying serial processing software architecture obsolete. Totally new architecture is required to reap the benefits of parallel processing, wherein the problems are both numerous and complex.
The first problem is: All layers of a computing stack (hardware, operating system, relational database system, and application software) must now be parallel processing enabled for “true” parallel processing to occur. Dual and quad-processors are now being delivered en masse, but where is the appropriate parallel processing software? The second problem is: Two of more slower processors require the subdivision (or decomposition) of job functionality into small, separate, and independent subcomponents (or algorithms) that must be spread equally across the two or more processors for the full benefit of parallel processing to be realized.
The third problem is: If the algorithms are not the same size, then the algorithm requiring the greatest amount of time dictates the performance as all other processors sit idle. That is, proper load balancing across all processors is not achieved. In some instances, parallel processing tests are even proving inferior to present serial processing. The fourth problem is: If any algorithm is dependent upon any other algorithm, then processing defaults back to serial processing.
The fifth problem is: Finding persons with sufficient technical and business knowledge to decompose the algorithms to their lowest possible atomic level where as many processors as possible may be simultaneously applied to reducing both response times and costs. The sixth problem is: Convincing management that the rewards are greater and the risks are lower by migrating from serial to parallel processing rather than continuing with legacy serial processing and all its attendant fixes, patches, and plugs. Long-term, the 5 to 10-fold productivity is too great to be ignored by primary producers, intermediaries, customers, and competitors.
So, what is an enterprise to do when constrained budgets minimize the necessary innovation for returning to prosperity? Consolidation of servers via virtualization has proved to be a welcome answer. Virtualization reduces equipment costs, space, and electrical power. Yet, personnel costs remain the highest component cost of the production function for automation. Good technicians will always be in demand, and given a new productivity tool, their own value will increase as well. Thus, new parallel processing software is the issue. Parameterization is the answer. Parameterization is to application consolidation what virtualization is to server consolidation. Parameterization solves duplication of efforts and high degrees of fragmentation.
Parameterization (or user-definability) enables users to customize applications to specific ultimate consumer and marketing intermediary needs, integrates more vital applications into fewer systems, lays the foundation for parallel processing, reduces the code required to process disparate applications, and generates more attractive returns on investment in automation projects. Proper parallel processing applications begin with parameterization, where users define not only “what” is to be updated but also the “how”.
Proper implementation of parameterization begins with defining the reports to be compiled, then the transactions that update those reports, and the algorithms for each transaction type. Thus, the solution is similar to a word processor or spreadsheet. That is, a solution may be wiped out and a new one started with affecting the underlying code. In short, parameterization and parallel processing combine to create a “generic user-definable high-volume processor”, a totally new tool for the 21st century where users may change the functionality of the application without changing the code. New software must process more applications with fewer systems, the 1: Many concept.
Legacy “Code-driven serial processing” will be replaced by future “data-driven parallel processing”. The transition will profound, pervasive, and permanent. Serial processing never anticipated the use of multiple processors to process commercial or business applications and will never achieve the productivity of parallel processors with their own respective disk drives. Legacy serial processing is characterized by few large programs whereas parallel processing is characterized by many small programs, the exact opposite.
Properly parameterized application software not only renders a microkernel of operating system, relational database, and application software that fits into 2 GB memory but also grows linearly (if any) while the volume and complexity of processing increases exponentially – true software leverage. Properly parallel processing software also executes all algorithms in overlapping fashion, thereby rendering true parallel processing. Most system evolution may then occur through data rather than code, thereby reducing the cost of maintenance personnel. Application software code is thus minimized on a par with the miniaturization of memory and disk drives.
Likewise, 21st application software solutions should minimize if not eliminate memory thrashing, disk contention, and downstream systems. The major chip manufacturers will likely terminate the manufacture of single processor chips within two years. Therefore, software for parallel processing will be much in demand and technicians will be in short supply.
Early adopters of parallel processing should seek parallel processing consortiums to not only reap early rewards but also reduce technological risks. Parallel operations will require new training for users, system administers, management, and auditors. Then, benefits will begin to accrue, where the more processors the faster the response times and the more integration the greater the savings. Prospective users should expect proof of technical viability, operational scalability, and economic desirability from their software vendor(s).
Although parallel processing has existed in large scientific and graphical applications for some 40 years, commercial applications are a 21st century problem. Intel and Microsoft recently awarded a 5-year $10 Mil grant to the University of California at Berkeley to study the problem. Much is to be learned and many mistakes will undoubtedly be made.
The mistakes in transitioning from serial to parallel processing are both managerial and technological. All managers and technicians must develop their own 21st century techniques to solve the many different problems. For the moment, these problems are defining the success criteria, the architecture, the test beds, and the comparative analysis of results. The success criteria consists of (1) capturing every relevant transaction in every enterprise every day, (2) tracking every transaction (either originating or reversing) from point of inception (data input) to permanent archive (data warehouse) without every overwriting any original information, and (3) processing every transaction to its logical conclusion so as to minimize if not eliminate downstream systems.
New parallel processing architecture consists of four phases. These are (1) Parameterization of the total transaction processing environment, (2) Decomposition to each transaction to its lowest possible atomic level in terms of separate and independent algorithms, (3) Allocating the algorithms across any number of separate and independent processors, and (4) Executing all algorithms in overlapping fashion to achieve parallel processing. Test beds must support the ease of substituting different hardware, operating systems, relational databases, and software architectural changes to reflect the rapidly changing computing environments.
Management must recognize that 20th century concepts are inadequate to solve 21st century problems. New planning and control techniques are necessary. New outsourced resources may be a useful alternative. Both Federal and corporate auditors will likely require the same. The transition from serial to parallel processing should be accompanied by various essential management tools: Road maps for Chief Executive Officers, Return on Investment Simulators for Chief Financial Officers, Project Management Charts for Chief Technology Officers, and web-based training for operating personnel. Documentation and backup/recovery are essential Likewise, parallel operations for a sufficient time will be necessary.
In summary, parallel processing requires new technology and management approaches. The benefits of transition far out weigh the status quo. Parameterization and parallel processing properly positions enterprises for future competition. Parameterization is not only our best hope but also the only hope for competitive advantage. Mass production is changed to mass customization. Parallel processing is not the best hope but the only hope for operating efficiency. Decision-makers should have secure access to complete information at any time from any place via virtually any device.
Recessions may slow but will not prevent the transition from serial to parallel processing from occurring. Such changes have global economic implications. The worst management decision in an economic recession is to do nothing. Ten years from now, most all business processing will process in parallel mode. Bona fide value propositions and solutions now exist. Early adopters will enjoy the greatest savings in time and money plus global technical leadership.