Ph.D in CS (parallel systems) at Rochester

wei@cs.rochester.edu (Wei Li)
Sun, 5 Dec 1993 20:57:20 GMT

          From comp.compilers

Related articles
Ph.D in CS (parallel systems) at Rochester wei@cs.rochester.edu (1993-12-05)
| List of all articles for this month |

Newsgroups: comp.parallel,comp.compilers,comp.arch
From: wei@cs.rochester.edu (Wei Li)
Keywords: courses
Organization: University of Rochester Computer Science Department
Date: Sun, 5 Dec 1993 20:57:20 GMT

                                        Parallel Systems Research
                                                            in
Department of Computer Science
University of Rochester


If you are interested in pursuing a Ph.D. in computer science, and
research in parallel systems in particular, the following provides an
overview of the current systems research projects and the research
interests of systems faculty and graduate students in the computer science
department at University of Rochester.


We have specialized for many years on parallel processing, with an
emphasis on shared memory. Much of our current work falls under the
general heading of "locality management." In our view, poor locality is
the single most important impediment to truly scalable systems. Our aim
is to maximize the extent to which threads and the data they use most
often are located near one another in a large-scale machine, and to cope
as gracefully as possible with whatever non-locality is inevitable. We've
been exploring a wide variety of approaches to the problem, including
programming paradigms, parallelizing compilers, run-time environments,
kernel mechanisms, and network and memory architecture. We also maintain
active interests in a wide variety of related topics, including
programming environments, distributed computing, real-time systems, and
programming language design.


Some of the projects currently underway include:


- hardware cache coherence with dynamically-variable block sizes
- synchronization algorithms that spin on local variables to avoid
        network and memory contention, and that cooperate with process schedulers
        to avoid unnecessary spinning
- program restructuring techniques to minimize memory contention,
        communication delays, and false sharing
- debugging and performance analysis tools that aid the user in the early
        stages of program development, and that focus on high-level notions
        like load imbalance, redundant computation, and communication delays
- cache coherence protocols that combine invalidation with broadcast updates
- high-performance coherence protocols implemented mainly in software,
        to minimize machine complexity and cost
- scheduling algorithms that deal with both load balancing and locality
- tools to facilitate the sharing of memory across application boundaries,
        in place of messages or shared files
- techniques that exploit the capabilities of newly-available 64-bit
        processors
- languages that make it easier to port programs to widely varying
        parallel architectures, without sacrificing performance
- automatic parallelization of programs
- formal framework for loop transformations based on matrix algebra
- compiler analysis and program restructuring for data locality
- compiling for distributed shared memory


We work hard to include graduate students in research from their first
semester on campus. By the third year of the program (the point by which
they must propose a thesis topic), most of our systems students have
written or collaborated on half a dozen papers. In fact, a recent study
ranked our department 8th in the country in per capita production of
refereed publications. Our small size leads to a very close-knit,
collegial atmosphere both in the systems group and in the department as a
whole, and department policies are designed to promote cooperation. You
can choose an advisor solely on the basis of mutual interest, rather than
on who can pay you. Since the Department does not manage a large
undergraduate, and has no professional masters program, the faculty and
doctoral students are able to work together more closely than is possible
at many other schools.


Please feel free to contact us with any questions you may have.


Graduate Admissions Committee (systems members):
Peggy Frantz (secretary): admissions@cs.rochester.edu, (716) 275-5478
Wei Li (assistant professor, compilers for parallel machines,
                wei@cs.rochester.edu)
Leonidas Kontothanassis (graduate student, kthanasi@cs.rochester.edu)
Michal Cierniak (graduate student, cierniak@cs.rochester.edu)


Other systems faculty:
Tom LeBlanc (professor, parallel programming environments, multiprocessor
                  systems, parallel programming debugging and performance tuning,
                  leblanc@cs.rochester.edu)
Michael Scott (associate professor, parallel and distributed systems software,
                  operating systems, programming languages, program development tools,
                  scott@cs.rochester.edu)
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.