Academia.eduAcademia.edu

Outline

SystemJ compilation using the tandem virtual machine approach

2009, ACM Transactions on Design Automation of Electronic Systems

https://doi.org/10.1145/1529255.1529256

Abstract

SystemJ is a language based on the Globally Asynchronous Locally Synchronous (GALS) paradigm. A SystemJ program is a collection of GALS nodes, also called clock domains and each clock domain is a synchronous program that extends the Java language. Initial compilation of SystemJ has been to standard Java executing on a Java Virtual Machine (JVM), which is both inefficient and bulky for small embedded systems. This paper proposes a new approach for compiling and executing SystemJ using a new type of virtual machine, called a Tandem Virtual Machine (TVM). The TVM approach provides an efficient implementation of SystemJ on both standard processors and resource constrained embedded processors. The new approach is based on separating the control-driven and data-driven operations for execution on two virtual machines. While the JVM executes the data-driven operations, a Control Virtual Machine (CVM) is introduced to execute the control-driven parts of a SystemJ program. The TVM approach is capable of handling all data-driven and control-driven operations required by the GALS model. The benchmark results show that the TVM has code size improvements of over 60% on average and also a substantial improvement in execution speed over standard Java based compilation.

References (28)

  1. Berry, G. 1993. The Semantics of Pure Esterel. In Marktoberdorf Intl. Summer School on Program Design Calculi. LNCS. Springer-Verlag.
  2. Berry, G. 1999. The Esterel v5 Language Primer -Version 5.10, release 2.0. Berry, G., Ramesh, S., and Shyamasundar, R. K. 1993. Communicating reactive processes. In POPL '93: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. ACM Press, New York, NY, USA, 85-98.
  3. Boussinot, F. and de Simone, R. 1996. The SL Synchronous Language. IEEE Trans. Softw. Eng. 22, 4, 256-266.
  4. Boussinot, F. and Susini, J.-F. 1998. The sugarCubes tool box: a reactive Java framework. Softw. Pract. Exper. 28, 14, 1531-1550.
  5. Butucaru, P. D. 2002. Optimisations for Faster Execution of Esterel Programs. Ph.D. thesis, Ecole des Mines de Paris.
  6. Edwards, S. 2002. An Esterel compiler for large control-dominated systems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 21, 2 (February), 169-183.
  7. Edwards, S. 2006. Estbench Esterel Benchmark Suite. http://www1.cs.columbia.edu/ ∼ sedwards/software.html [Last Accesses: 22/09/2006].
  8. Edwards, S. and Tardieu, O. 2006. SHIM: A Deterministic Model for Heterogeneous Embed- ded Systems. IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION SYS- TEMS 14, 8 (August), 854-867.
  9. Esterel Technologies SA. April 2003. Esterel Studio Reference Manual Version 4.2.
  10. Gruian, F., Roop, P., Slacic, Z., and Radojevic, I. 2006. The SystemJ approach to System- Level Design. In The 4th International Conference on Formal Methods and Models for Code- sign(MEMOCODE).
  11. Hazard, L., Susini, J.-F., and Boussinot, F. 1999. The Junior reactive kernel. In Research Report 3732. INRIA.
  12. Hoare, C. A. R. 1985. Communicating Sequential Processes. Prentice Hall.
  13. Kahn, G. 1974. The Semantics of Simple Language for Parallel Programming. In IFIP Congress. 471-475.
  14. Lavagno, L. and Sentovich, E. 1999. ECL: A specification environment for system-level design. In Design Automation Conference. 511-516.
  15. Li, X. and von Hanxleden, R. 2005. The Kiel Esterel Processor -A Semi-Custom, Configurable Reactive Processor. In Synchronous Programming -SYNCHRON'04, S. A. Edwards, N. Halb- wachs, R. v. Hanxleden, and T. Stauner, Eds. Number 04491 in Dagstuhl Seminar Proceedings. Internationales Begegnungs-und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany. <http://drops.dagstuhl.de/opus/volltexte/2005/159> [date of citation: 2005-01-01].
  16. Malik, A. 2008. SystemJ Benchmark Suite. http://www.ece.auckland.ac.nz/ ∼ amal029 [Last Accesses: 09/11/2008].
  17. Malik, A., Salcic, Z., and Roop, P. 2006a. Efficient Compilation of GALS Language-SystemJ. Tech. Rep. 655, University of Auckland.
  18. Malik, A., Salcic, Z., and Roop, P. 2006b. SystemJ A GALS language for Embedded Systems and its Operational Semantics. Tech. Rep. 656, University of Auckland.
  19. Malik, A., Salcic, Z., and Roop, P. S. 2008. An Efficient Execution Platform for GALS Lan- guage SystemJ. In The 13th IEEE Asia Pacific Computer Systems Architecture Conference.
  20. Mandel, L. and Pouzet, M. 2005. ReactiveML: a reactive extension to ML. In PPDP '05: Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming. ACM, New York, NY, USA, 82-93.
  21. Murata, T., Shatz, S. M., and Shenker, B. 1989. Detection of Ada Static Deadlocks Using Petri Net Invariants. IEEE Trans. Softw. Eng. 15, 3, 314-326.
  22. Plummer, B., Khajanchi, M., and Edwards, S. A. 2006. An Esterel virtual machine for em- bedded systems. In International Workshop on Synchronous Languages, Applications, and Programming (SLAP).
  23. Ramesh, S. September, 1998. COMMUNICATING REACTIVE STATE MACHINES: DESIGN, MODEL AND IMPLEMENTATION. In IFAC Workshop on Distributed Computer Control Systems. Pergamon Press.
  24. Salcic, Z., Hui, D., Roop, P., and Biglari-Abhari, M. 2005. REMIC: design of a reactive embedded microprocessor core. In ASP-DAC '05: Proceedings of the 2005 conference on Asia South Pacific design automation. ACM Press, New York, NY, USA, 977-981.
  25. Salcic, Z. A., Roop, P., Biglari-Abhari, M., and Bigdeli, A. 2002. Reflix: A Processor Core for Reactive Embedded Applications. In FPL '02: Proceedings of the Reconfigurable Computing Is Going Mainstream, 12th International Conference on Field-Programmable Logic and Applications. Springer-Verlag, London, UK, 945-945.
  26. Simon, Y., Hsien, Y. L., Sidharta, A., Partha, R., and Zoran, S. 2008. A New Multithreaded Architecture Direct Execution Platform for Esterel. In Model Driven high-level Programming of Embedded Systems SLA++P. European Joint Conference on Theory and Practice of Software. Budapest, Hungary.
  27. Tardieu, O. and Edwards, S. A. 2006. Scheduling-independent threads and exceptions in SHIM. In EMSOFT '06: Proceedings of the 6th ACM & IEEE International conference on Embedded software. ACM Press, New York, NY, USA, 142-151.
  28. Yoong, L., Roop, P., and Salcic, Z. 2006. Compiling Esterel for Distributed Execution. In Proceedings of Synchronous Languages, Applications and Programming.