Advertisement

Network Fusion

  • Pascal Fradet
  • Stéphane Hong Tuan Ha
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3302)

Abstract

Modular programming enjoys many well-known advantages but the composition of modular units may also lead to inefficient programs. In this paper, we propose an invasive composition method which strives to reconcile modularity and efficiency. Our technique, network fusion, automatically merges networks of interacting components into equivalent sequential programs. We provide the user with an expressive language to specify scheduling constraints which can be taken into account during network fusion. Fusion allows to replace internal communications by assignments and alleviates most time overhead. We present our approach in a generic and unified framework based on labeled transition systems, static analysis and transformation techniques.

Keywords

Operational Semantic Output Channel Label Transition System Sequential Program Execution Trace 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho, A.V., Sethi, R., Ullman, J.D.: Compilers. Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)zbMATHGoogle Scholar
  2. 2.
    Arrigoni, Duchini, Lavagno: False path elimination in quasi-static scheduling. In: Automation and Test in Europe Conference and Exhibition (DATE 2002), pp. 964–970 (2002)Google Scholar
  3. 3.
    Clayton, R., Calvert, K.: Augmenting the proebsting-watterson filter fusion algorithm (1997), http://citeseer.ist.psu.edu/186288.html
  4. 4.
    Colcombet, T., Fradet, P.: Enforcing trace properties by program transformation. In: Symposium on Principles of Programming Languages (POPL 2000), pp. 54–66 (2000)Google Scholar
  5. 5.
    Cortadella, J., Kondratyev, A., Lavagno, L., Massot, M., Moral, S., Passerone, C., Watanabe, Y., Sangiovanni-Vincentelli, A.L.: Task generation and compile-time scheduling for mixed data-control embedded software. Technical Report LSI-99-47-R, Dept. of Software, Universitat Politecnica de Catalunya (1999)Google Scholar
  6. 6.
    Geilen, M., Basten, T.: Requirements on the execution of Kahn process networks. In: Degano, P. (ed.) ESOP 2003 and ETAPS 2003. LNCS, vol. 2618, pp. 319–334. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Kahn, G.: The semantics of a simple language for parallel programming. In: Proceedings of the IFIP Congress (Information Processing 1974), pp. 471–475 (1974)Google Scholar
  8. 8.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  9. 9.
    Lin, B.: Software synthesis of process-based concurrent programs. In: Proceedings of the 1998 Conference on Design Automation (DAC 1998), pp. 502–505 (1998)Google Scholar
  10. 10.
    Nielson, F., Nielson, H.R., Hankin, C.L.: Principles of Program Analysis. Springer, Heidelberg (1999)CrossRefzbMATHGoogle Scholar
  11. 11.
    Parks, T.M.: Bounded scheduling of process networks. PhD thesis, University of California, Berkeley (1995)Google Scholar
  12. 12.
    Proebsting, T.A., Watterson, S.A.: Filter fusion. In: Symposium on Principles of Programming Languages (POPL 1996), pp. 119–130 (1996)Google Scholar
  13. 13.
    Strehl, K., Thiele, L., Ziegenbein, D., Ernst, R.: Scheduling hardware/software systems using symbolic techniques. In: Proceedings of the seventh international workshop on Hardware/software codesign (CODES 1999), pp. 173–177 (1999)Google Scholar
  14. 14.
    Thiele, L., Strehl, K., Ziegenbein, D., Ernst, R., Teich, J.: Funstate - an internal design representation for codesign. In: International Conference on Computer-Aided Design (ICCAD 1999), pp. 558–565 (1999)Google Scholar
  15. 15.
    Wadler, P.: Listlessness is better than laziness. In: Conference Record of the 1984 ACM Symposium on Lisp and Functional Programming, pp. 45–52 (1984)Google Scholar
  16. 16.
    Wadler, P.: Deforestation: transforming programs to eliminate trees. Theoretical Computer Science 73(2), 231–248 (1990)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Pascal Fradet
    • 1
  • Stéphane Hong Tuan Ha
    • 2
  1. 1.INRIA Rhône-AlpesMontbonnotFrance
  2. 2.IRISA/INRIA RennesRennesFrance

Personalised recommendations