Syllabus

Southern Oregon University

Department of Computer Science

CS 582 High Performance Computing

Prerequisite: Data Structures or Equivalent

 

Instructor Information

 

      Instructor:   Dan Harvey

      Room:         Computer Science Building #CS224

      Phone:        552-6149

      E-mail:       harveyd@sou.edu

 

      Office Hours:  Monday     10:00-11:00

                     Wednesday: 10:00-11:00, 2:00-3:00

                     Thursday:  10:00-11:00, 2:00-3:00

                     Friday     10:00-11:00

 

      Web Site:      http://www.sou.edu/cs/harvey

 

The web site is available for quiz results, lab assignments, weekly handouts, current grade status, and contact with class members. Click on the appropriate class, and then select the desired option.

 

Class Times

Monday, Wednesday, (CS224) 3:00 to 4:50

 

Course Texts

1.    Java in Distributed Systems, Marko Boger, John Wiley & Sons, LTD, 2001,ISBN 0-471-49838-6

2.    Measuring Computer Performance: A Practitioner's Guide, David J. Lilja, Cambridge University Press, 2000, ISBN 0-521-64105-5

Course Objectives

Till date, most programmers implement High Performance Applications with either C or FORTRAN. However, the Java programming language is drawing much attention from the research community because of its built-in characteristics that make it an attractive possible alternative. Java programs are highly portable so that programs easily transfer between platforms with minimal development costs. Java also has built in thread, socket, and remote method invocation capabilities that can form the basis for implementations of "Grand Challenge" projects. However, speed issues and the lack of debugging/profiling tools are hindrances that need to be addressed. This class explores the question as to whether the Java programming language is sufficient for implementing High Performance projects. We will introduce and experiment with various Java Related paradigms that have been proposed. These paradigms include mpiJava, Jomp, HPJava, Aglets, JavaSpaces, TSpaces, Soap, and XML-RPC. We will also utilize methods, metrics, and benchmark tools that introduce students to the field of computer performance analysis.

 

Tentative Topics Coverage

Week    Topics                   

 1      Introduction to High Performance Computing
        Sockets and Threads, Metrics of Performance

 2      Parallel Programming Techniques, Benchmark Programs

        Java RMI and CORBA
 3      Performance Analysis Statistical Concepts, mpiJAVA

 4      Measurement Tools and Techniques, JOMP

 5      Simulations, HPJava

 6      HPJava, Comparing Alternatives

 7      Aglets, Design of Experiments

 8      Debugging and Profiling Tools, TSpaces

 9      Mid-Term Examination, JINI and JavaSpaces

10      XML-RPC, Soap, Grids, Other Java-Based Paradigms

11      Presentations

 

Course Grading

As a graduate-only course, we emphasize research oriented projects. Each student will choose a project that focuses on evaluating Java's performance. The project will utilize one of the paradigms that we introduce and evaluate it using an appropriate benchmark. The purpose of this work is to answer the research question: Can the Java language be effective for high performance computing applications? The answer to this question must be clearly justified. Students give a formal presentation at the end of the quarter discussing their findings. We'll discuss these requirements in detail in class. Shorter presentations during the quarter give students opportunities to discuss their projects and get on-going feedback. Students must maintain journals of their work; journaling is essential for research so that results can be repeated and verified. The quarter project will count for 50% of the final grade. Factors such as quality of the project, the presentations, the journaling, and the results will contribute to the grade.

Short project assignments give students some experience with each Java paradigm that we cover. These shorter projects will count for 25% of the final grade.

 

There will be a midterm exam, but no final. The midterm will cover the material discussed in class up to that point. The midterm exam is worth 25% of the final grade.

Grade Breakdown:                      93-100% A      90-92% A-

                            88-89%   B+     82-87   B      80-81% B-

                            78-79%   C+     72-77   C      70-71% C-

                            68-69%   D+     62-67   D      60-61% D-

                            Under 60 F

 

      Disabilities

If you are in need of support because of a documented disability (whether it be learning, mobility, psychiatric, health-related, or sensory) you may be eligible for academic or other accommodations through Disability Services for Students. Contact Margaret Dibb, Director DSS at dibbm@sou.edu or by calling 541-552-6213; or schedule an appointment in person at the ACCESS Center, Stevenson Union, lower-level. For Detailed Information: www.SOU.edu/Access/Dss