Large Number Multiplication: A Comparison of Single Processor and Multiple Processors Implementation


Song Huang

Document Type


Degree Name

Master of Science (MS)


Computer Science and Info Sys

Date of Award

Summer 2013


The process of multiplying two huge numbers, especially when each number contains thousands or millions digits, will take a long time to complete. Based on optimization concepts, the programmer can take advantage of the atomic machine instructions, the hardware features of the machine, and other kinds of approaches to speed up the program. There are a variety of methods for multiplying huge integers. In this study, several different methods to implement multiplication algorithms have been developed in order to improve the program performance, and to reduce execution time and computer resources. The algorithms must be modified to execute on single CPU processor and separately modified to execute on several CPU processors in a parallel environment (MPI programming). After the algorithms have been modified for the appropriate environment, compiled into machine code, and executed in the proper environment, a comparison can be made as to the effectiveness of one method over another. There is a significant difference between the different algorithms which are implemented in different ways based on the collected data; there is a huge difference between serial programming (the program runs on a single processor) and parallel programming (the program runs across multiple processors), as well as different algorithms using multiple processors. If the operands are extremely huge, the parallel programs are expected to save a lot of execution time. Another approach to improving the speed of the program would be for the programmer to optimize the source code using the PrOSC (Programmer Optimized Source Code) programming method which is a highly effective technique developed by Dr. Daniel Creider. This technique can be applied to various research fields which require computer programs to be developed including huge number multiplication, especially in this technologically advanced environment.


Sam Saffer

Subject Categories

Computer Sciences | Physical Sciences and Mathematics