|
|
|
Parallel computing at Rose-Hulman Institute of TechnologyHow did we get involved in high performance computing?Rose-Hulman is a recent entrant into high performance and parallel computing. The school has an computing intensive curriculum in engineering, mathematics and science focused around its laptop computer program, in which all students and faculty use a high performance laptop computer in the classroom, laboratory, office and residence hall. Thoroughly integrating this cutting edge technology over the past five years has consumed most of out time and energy in integrating state of the art computing technologies into our curriculum and infrastructure. Though we feel we have created a very successful and innovative program with the laptops, it is not enough. The laptop will very effectively care of 80-90% of faculty, staff and student's computing needs, but we all have requirements for "beyond the laptop" computing capacity. Rose-Hulman's recent purchase of high performance and parallel systems, is one of the many way in which we are leveraging the laptop program. The ubiquitous laptop is an entryway to our parallel computing facilities. Much of the interest in parallel computing has been driven by three intermingled factors: Many of the recently hired faculty and staff have research and professional interests that push them from serial computing to parallel computing, as their projects increase in complexity. We are extremely fortunate that two of our top-level IT staff have extensive experience in using or supporting parallel computation. Second, our curriculum requires our students to participate in a senior project (client sponsored) or undergraduate research program. Our sister organization Rose-Hulman Ventures has been particularly helpful in helping students gains this "beyond the classroom", real-world experience, especially as summer internships. Third, a number of employers are looking for students with some kind, indeed any kind, of high performance. Thus faculty and students are interested in courses and projects in which high performance computing is a significant component, either as an object of study or a tool. What resources and methodologies do we use?Rose-Hulman has two systems for high-performance parallel computing. The first is a 36-CPU Beowulf-style computer cluster using one of the MPI, PVM or OpenMP parallel computing methodologies. The second system is a pair of four-CPU academic SUN compute servers using the OpenMP parallel computing methodology. Cluster ComputingCluster computing connects a number of commodity PCs (called nodes) by means of a standard LAN. There is one head node and a number of slave nodes. Jobs are submitted to the cluster through the head node. A typical problem will be broken up into a series of sub-problems which are assigned to slave nodes by the head node. If necessary, intermediate results are communicated to each other by a message passing interface (MPI). At the end of the computation the results are integrated and returned to the head node. A critical problem-solving step is to parallelize the calculation, i.e., break up the problems so that the individual pieces can be run simultaneously on different nodes, with some exchange of data between the nodes. If there is too much internode communication or waiting on results of other calculations on other nodes, then the parallelization doesn't really help. Thus the parallel design step may require some deep thought. OpenMP ComputingThe OpenMP version of parallel computing takes programs written in C or Fortran for a single CPU computers and tweaks the iterative parts of the program to take full advantage of multiple processors on a single computer. The parallelization is effected by smart compiling in which the work in t the for loops and do loops is spread out over all the processors on the machine. In order to work all the CPU's must share the same memory and the amount of memory should be fairly large. The advantage of OpenMP is that the parallelization does not have to be built in the design of the program, it is taken care of automatically by the compiler. The program can be run on a single processor machine by turning off the OpenMP directives and compiling. The advantage of Open MP is that the learning curve is much less steep. The disadvantage is that to purchase a computer with large number of CPUs and memory is very expensive. The processor cost of a Cluster is much much lower. especially when the number of CPUs is 10 or more. It is also much easier to upgrade a cluster. What have we been doing with the cluster?The cluster was installed less that an year ago, and last summer and this year is our first chance to really get to use it. An interdisciplinary users group (Mathematics, Chemistry, Biology, Computer Science, Chemical and Mechanical Engineering) has been formed. We have an seminar series in which we plan to explain to each other how we are using parallel computing and to discuss and develop courses that use parallel computing. The group focuses on application of parallel computing rather than the theories and methodologies of parallel computing. Two projects that have used the parallel computing resources at RHIT are:
|
Last revised October 17, 2002
URL: http://www.research-indiana.org/rh_parallel.html
Copyright 2002, The Trustees of Indiana University
Comments: research@indiana.edu