DIGITAL LIBRARY
A PRACTICAL AND AFFORDABLE TOOL FOR PARALLEL PROCESSING EDUCATION
North Carolina A & T State University (UNITED STATES)
About this paper:
Appears in: ICERI2009 Proceedings
Publication year: 2009
Pages: 558-565
ISBN: 978-84-613-2953-3
ISSN: 2340-1095
Conference name: 2nd International Conference of Education, Research and Innovation
Dates: 16-18 November, 2009
Location: Madrid, Spain
Abstract:
In the past, parallel processing was not widely adopted because of the complexity and lengthy duration of parallel software development and the amazing advancement of processing speed of uniprocessors. The design of processors quite followed Moore’s law which predicts the execution speed of processors doubles every eighteen months. It was more effective to adopt faster processors than to wait for lengthy development of parallel software to boost the performance of the system. However, computer made of silicon have reached its physical limitation. Clock speed of contemporary uniprocessors can hardly be further pushed. That is why the major processor manufacturers like Intel and AMD pursue performance enhancement of processors in another dimension: introduce multi-cores processors. However, the addition of more cores in processors is not beneficial unless software written to take advantage of multiple cores is executed. In other words, parallel software is mandatory to enhance the performance out of the multi-core processors than a uniprocessor counterpart. The nodes with multi-core processors can be further connected to make a cluster to form a more powerful parallel system. In short, the age of parallel computers has arrived and parallel processing is the only way to build more powerful computer systems with current technology. Therefore, the need for parallel processing education is prominent.
Despite the recognition of necessity of parallel processing education, most educators are hindered from initiating parallel processing courses by a misconception: affordability of costly parallel computer systems. Formerly parallel computers are very expensive and afforded only by major research institutions. Thanks to the contribution of open-source software developers, major parallel software libraries are successfully ported to personal computer platform. Along with other free open-source software for PC, such as Linux and GNU C compiler, they can make networked PC’s a cluster, an affordable platform for parallel processing education. Especially retired PC’s at each institution can be utilized to construct clusters and cut the building cost to the minimal. While they may not have enough power to carry out large-scale parallel applications, they can well serve as the training platforms for parallel programming and be used to explore the qualitative parallel experiments. With clusters built with the retired PC’s and free software, any institution can own its tools with minimal cost and start parallel processing education.
Although an affordable cluster can be built with the free open-source software and retired PC’s, it cannot work correctly without some vital configurations. Unfortunately the free software does not provide support, necessary background knowledge, or correlated information for constructing a cluster. This paper presents the practical experience gathered by the authors while building a cluster for their high performance computing courses. The practical steps are described with necessary background knowledge and details so that a PC cluster can be effortlessly built. Another alternative way for multi-core programming, the parallel programming specific to multi-core processors, is also presented in the paper. Fundamental parallel processing education can be effectively offered with these practical advices.
Keywords:
parallel processing, cluster, mpi, multi-core programming, computing education.