John Thornley Presented at the 1997 CRPC Annual Meeting Poster Session
Shared-memory multiprocessors have recently emerged as the predominant architecture for high-performance computing at all levels, from quad-processor PCs through to supercomputers. Multithreaded programming of these powerful machines is supported by lightweight thread libraries provided with modern operating systems (such as Windows NT, OS/2, Solaris, and UNIX/Pthreads) and by multithreaded languages (such as Java and Ada 95). Practical opportunities now abound for high-performance multithreaded applications to make a significant impact in commodity software areas such as business and personal computing, as well as in science and engineering.
In this project, we are developing a structured multithreaded programming model for high-performance programming of shared-memory multiprocessors. With this model, multithreaded programs are developed using traditional sequential languages, methods, and tools, yet the programmer has explicit control of multithreading and performance. Most multithreaded programs are written as sequential programs annotated with pragmas that indicate where ordinary blocks and for loops can be executed in a multithreaded manner without changing the sequential meaning of the program. Innovative synchronization constructs, based on ordinary sequential operations on boolean flags and integer counters, allow sophisticated synchronization within multithreaded blocks and for loops. In addition, explicitly multithreaded blocks and for loops and traditional synchronization constructs such as locks provide for nondeterministic multithreading.
Sites & Affiliations | Leadership | Research & Applications | Major Accomplishments | FAQ | Search | Knowledge & Technology Transfer | Calendar of Events | Education & Outreach | Media Resources | Technical Reports & Publications | Parallel Computing Research Quarterly Newsletter | News Archives | Contact Information
Hipersoft | CRPC |
© 2003 Rice University
|