Journal of Computer Science and Technology

, Volume 17, Issue 4, pp 442–449 | Cite as

Run-time data-flow analysis

  • Li Jianhui 
  • Zang Binyu 
  • Wu Rong 
  • Zhu Chuanqi 
Regular Papers


Parallelizing compilers have made great progress in recent years. However, there still remains a gap between the current ability of parallelizing compilers and their final goals. In order to achieve the maximum parallelism, run-time techniques were used in parallelizing compilers during last few years. First, this paper presents a basic run-time privatization method. The definition of run-time dead code is given and its side effect is discussed. To eliminate the imprecision caused by the run-time dead code, backward data-flow information, must be used. Proteus Test which can use backward information in run-time, is then presented to exploit more dynamic parallelism. Also, a variation of Proteus Test, the Advanced Proteus Test, is offered to achieve partial parallelism. Proteus Test was implemented on the parallelizing compiler AFT. In the end of this paper the program fpppp.f of Spec95fp Benchmark is taken as an example, to show the effectiveness of Proteus Test.


run-time parallelization privatization backward data-flow information parallelizing compiler 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Zhu C, Zang B, Chen T. The design considerations and test results of AFT — A new generation parallelizing compiler. InProceedings of the 1997 Conference on Advances in Parallel and Distributed Computing, IEEE, Shanghai, Mar. 1997, pp.416–423.Google Scholar
  2. [2]
    Zhu C, Zang B, Chen T. An automatic parallelizer.Journal of Software, 1996, 7(3): 180–186. (in Chinese)Google Scholar
  3. [3]
    Wilson R, French R, Wilson Cet al. SUIF: An infrastructure for research on parallelizing and optimizing compilers.ACM SIGPLAN Notices, December, 1994, 29(12): 31–37.CrossRefGoogle Scholar
  4. [4]
    Blume W, Eigenmann R, Faigin Ket al. Restructuring programs for high-speed computers with polaris. InProceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing, August 12, 1996, pp.149–161.Google Scholar
  5. [5]
    Zhu C, Yew P C. A scheme to enforce data dependence on large multiprocessor systems.IEEE Trans. Sofw. Eng., June, 1987, 13(6): 726–739.MATHCrossRefGoogle Scholar
  6. [6]
    Rauchwerger L, Padua D. The PRIVATIZING DOALL test: A run-time technique for DOALL loop identification and array privatization. InProc. the 1994 Int. Conf. on Supercomputing, July, 1994, pp.33–43.Google Scholar
  7. [7]
    Rauchwerger L, Amato N, Padua D. Run-time methods for parallelizing partially parallel loops. InProc. the International Conference on Computing, Barcelona, July, 1995, pp.137–146.Google Scholar
  8. [8]
    Li Z. Array privatization for parallel execution of loops. InProc. ICS’92, Washington D.C., USA, July, 1992, pp.313–322.Google Scholar
  9. [9]
    Tu P. Automatic array privatization and demand driven symbolic analysis [Dissertation]. Department of Computer Science, University of Illinois at Urbana-Champaign, 1995.Google Scholar

Copyright information

© Science Press, Beijing China and Allerton Press Inc. 2002

Authors and Affiliations

  • Li Jianhui 
    • 1
  • Zang Binyu 
    • 1
  • Wu Rong 
    • 1
  • Zhu Chuanqi 
    • 1
  1. 1.Parallel Processing InstituteFudan UniversityShanghaiP.R. China

Personalised recommendations