Java is one of the fastest growing computing platforms, currently being used in web-servers, industrial applications, embedded systems, and, of course, the familiar Web applets we see in our browsers everyday. However, how appropriate is Java for scientific and high performance computing? What are the performance and library issues involved in developing large-scale applications? This course should be useful to scientific application developers contemplating using Java in current or future projects.
This course introduces Java for high performance computing and describes current numeric issues, performance analysis, optimization issues, and parallel computing constructs for both shared and distributed memory platforms. Examples from current projects are cited, and an overview of ongoing and future development for Java computing is presented.
After completing the course, attendees should have an understanding of the relative strengths and weakness of Java for scientific computing. They will have been exposed to current state-of-the-art technologies surrounding Java development and implementation, and will be in a good position to determine if Java is suitable for their needs.
40% introductory; 40% intermediate; 20% advanced
Familiarity with C/C++ and Fortran programming languages helpful
Scientists, engineers, program developers -- anyone interested in learning more about Java.
Ronald Boisvert (Ph.D., computer science, Purdue, 1979) leads the NIST Mathematical and Computational Sciences Division. His interests include numerical analysis, mathematical software, and information services for computational science. He is Editor-in-Chief of the ACM Transactions on Mathematical Software and co-chair of the Numerics Working Group of the Java Grande Forum.
Roldan Pozo leads the Mathematical Software Group at the National Institute of Standards and Technology (NIST), where he investigates issues in high performance scientific computation, numerical libraries, and software environments and tools for parallel computing. He is the principal designer of several C++ and Java numerical libraries, and co-chair of the Java Numerics Working Group of the Java Grande Forum.
Jose E. Moreira received B.S. degrees in physics and electrical engineering in 1987 and an M.S. degree in electrical engineering in 1990, all from the University of Sao Paulo, Brazil. He received his Ph.D. degree in electrical engineering from the University of Illinois at Urbana-Champaign in 1995. Dr. Moreira is a Research Staff Member at the IBM Thomas J. Watson Research Center. His current research activities include performance evaluation and optimization of Java programs, and software systems for the petaop Blue Gene project.
Vladimir Getov leads the High Performance Computing group at the University of Westminster. His current research interests include the development of portable performance optimization strategies, multi-language programming environments and the use of Java for high-performance computing. He also chairs the Java Grande Message Passing working group.
George K. Thiruvathukal (Ph.D., Computer Science, Illinois Institute of Technology, 1995) is a visiting associate professor of computer science at Loyola University and also holds an adjunct professorship at Northwestern University. He is a co-author of High-Performance Java Platform(TM) Computing from Prentice Hall PTR and Sun Microsystems Press. He is an active writer and researcher in many areas of computer science including parallel and distributed computing, programming languages, operating systems, and the Internet. He was one of the founding members of the Java Grande Forum and has served as its secretary general.
I. Intro to Java
II. Fundamentals of Java Parallel Computing
III. Numeric Issues
IV. Performance Analysis
V. Optimizing Compiler Issues
VI. Distributed Computing with Java
The conference program, registration, hotel, and transportation information will be available via this site shortly.