IEEE Micro · 1996 · 51 citations · 10 references
EngineeringComputer ArchitectureSoftware EngineeringProcessor ArchitectureParallel SoftwareParallel ComputingCompilersParallelizing CompilerMultiple ProcessorsComputer EngineeringMultiprocessor HardwareComputer ScienceMany Architectural TechniquesProgram AnalysisParallel Performance EvaluationMultiprocessor SystemSoftware PerspectiveParallel ProgrammingParallel Programming ModelSystem Software
Like many architectural techniques that originated with mainframes. the use of multiple processors in a single computer is becoming popular in workstations and even personal computers. Multiprocessors constitute a significant percentage of recent workstation sales, and highly affordable multiprocessor personal computers are available in local computer stores. Once again, we find ourselves in a familiar situation: hardware is ahead of software. Because of the complexity of parallel programming, multiprocessors today are rarely used to speed up individual applications. Instead, they usually function as cycle-servers that achieve increased system throughput by running multiple tasks simultaneously. Automatic parallelization by a compiler is a particularly attractive approach to software development for multiprocessors, as it enables ordinary sequential programs to take advantage of the multiprocessor hardware without user involvement. This article looks to the future by examining some of the latest research results in automatic parallelization technology.
10
A data locality optimizing algorithm
Michael E. Wolf, Monica S. Lam · 1991 · 1.3K citations · Full text
Robert P. Wilson, Robert Stanton French, Christopher Wilson et al. · ACM SIGPLAN Notices · 1994 · 537 citations · Full text
Efficient context-sensitive pointer analysis for C programs
Robert P. Wilson, Monica S. Lam · 1995 · 451 citations · Full text