Academia.eduAcademia.edu

Outline

Vectorization technology to improve interpreter performance

2013, ACM Transactions on Architecture and Code Optimization

https://doi.org/10.1145/2400682.2400685

Abstract

In the present computing landscape, interpreters are in use in a wide range of systems. Recent trends in consumer electronics have created a new category of portable, lightweight software applications. Typically, these applications have fast development cycles and short life spans. They run on a wide range of systems and are deployed in a target independent bytecode format over Internet and cellular networks. Their authors are untrusted third-party vendors, and they are executed in secure managed runtimes or virtual machines. Furthermore, due to security policies or development time constraints, these virtual machines often lack just-in-time compilers and rely on interpreted execution. At the other end of the spectrum, interpreters are also a reality in the field of high-performance computations because of the flexibility they provide.

References (28)

  1. AMDAHL, G. M. 1967. Validity of the single processor approach to achieving large scale computing capabilities. In Proceedings of the Spring Joint Computer Conference (AFIPS'67). ACM, New York, 483-485.
  2. BAILEY, D., BARSZCZ, E., BARTON, J., BROWNING, D., CARTER, R., DAGUM, L., FATOOHI, R., FINEBERG, S., FREDERICKSON, P., LASINKI, T., SCHREIBER, R., SIMON, H., VENKATAKRISHNAN, V., AND WEERATUNGA, S. 1994. The NAS parallel benchmarks. Tech. rep. RNR-94-007, NASA.
  3. BELL, J. R. 1973. Threaded code. Comm. ACM 16, 370-372.
  4. BROWNE, S., DONGARRA, J., GARNER, N., LONDON, K., AND MUCCI, P. 2000. A scalable cross-platform infrastruc- ture for application performance tuning using hardware counters. In Proceedings of the Conference on Supercomputing.
  5. CAMPANONI, S., AGOSTA, G., CRESPI REGHIZZI, S., AND DI BIAGIO, A. 2010. A highly flexible, parallel virtual machine: Design and experience of ILDJIT. Softw. Pract. Experi. 7, 2, 177-207.
  6. CLINGMAN, D., KENDALL, S., AND MESDAGHI, S. 2004. Practical Java Game Programming. Jenifer Niles.
  7. COSTA, R., ORNSTEIN, A. C., AND ROHOU, E. 2007. CLI back-end in GCC. In Proceedings of the GCC Developers' Summit. 111-116.
  8. DE ICAZA, M. 2008. Mono's SIMD support: Making mono safe for gaming. http://tirania.org/blog/archive/ 2008/Nov-03.html.
  9. ECMA International 2006. Common Language Infrastructure (CLI) Partitions I to IV, 4th ed. ECMA Inter- national.
  10. ERTL, M. AND GREGG, D. 2001. The behavior of efficient virtual machine interpreters on modern architectures. In Euro-Par Parallel Processing, Lecture Notes in Computer Science, vol. 2150. 403-413.
  11. ERTL, M. A. AND GREGG, D. 2003. Optimizing indirect branch prediction accuracy in virtual machine inter- preters. In Proceedings of Conference on Programming Language Design and Implementation (PLDI). ACM, New York, 278-288.
  12. ERTL, M. A. AND GREGG, D. 2004. Combining stack caching with dynamic superinstructions. In Proceedings of the Workshop on Interpreters, Virtual Machines and Emulators (IVME'04). ACM, New York, USA, 7-14.
  13. FRUMKIN, M. A. AND SHABANOV, L. 2003. Arithmetic data cube as a data intensive benchmark. Tech. rep. NAS-03-005, NASA. February.
  14. GUTHAUS, M. R., RINGENBERG, J. S., ERNST, D., AUSTIN, T. M., MUDGE, T., AND BROWN, R. B. 2001. MiBench: A free, commercially representative embedded benchmark suite. In IEEE 4th Annual Workshop on Workload Characterization. MONO. The mono project. http://www.mono-project.com. MOONLIGHT 2009. Moonlight. http://www.go-mono.com/moonlight.
  15. NAUMANN, A. AND CANAL, P. 2008. The role of interpreters in high performance computing. In Proceedings of the XII Advanced Computing and Analysis Techniques in Physics Research Conference. 65.
  16. NIE, J., CHENG, B., LI, S., WANG, L., AND LI, X.-F. 2010. Vectorization for java. In Network and Parallel Computing. 3-17.
  17. NUZMAN, D., DYSHEL, S., ROHOU, E., ROSEN, I., WILLIAMS, K., YUSTE, D., COHEN, A., AND ZAKS, A. 2011. Vapor SIMD: Auto-Vectorize once, run everywhere. In Proceedings of the International Symposium on Code Generation and Optimization (CGO).
  18. NUZMAN, D. AND HENDERSON, R. 2006. Multi-Platform auto-vectorization. In Proceedings of the International Symposium on Code Generation and Optimization (CGO).
  19. NUZMAN, D. AND ZAKS, A. 2006. Autovectorization in GCC-Two years later. In GCC Developer's Summit. ORACLE. 2010. Frequently asked questions about the java hotspot vm. http://www.oracle.com/technetwork/ java/hotspotfaq-138619.html.
  20. PALECZNY, M., VICK, C., AND CLICK, C. 2001. The java hotspot TM server compiler. In Proceedings of the Sym- posium on Java TM Virtual Machine Research and Technology Symposium (JVM'01). Vol. 1. USENIX Association, Berkeley.
  21. PAPA, J. AND KINNEY, A. 2010. Silverlight 4 Overview -Technical Features. Microsoft.
  22. POUCHET, L.-N., BONDHUGULA, U., BASTOUL, C., COHEN, A., RAMANUJAM, J., AND SADAYAPPAN, P. 2010. Combined iterative and model-driven optimization in an automatic parallelization framework. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis.
  23. POZO, R. AND MILLER, B. 2000. Scimark. version 2.1c. http://math.nist.gov/scimark2/.
  24. ROHOU, E., DYSHEL, S., NUZMAN, D., ROSEN, I., WILLIAMS, K., COHEN, A., AND ZAKS, A. 2011. Speculatively vectorized bytecode. In Proceedings of the International Conference on High Performance and Embedded Architectures and Compilers (HiPEAC).
  25. SEZNEC, A. AND MICHAUD, P. 2006. A case for (partially) TAgged GEometric history length branch prediction. J. Instruc. Level Parall. 8.
  26. STALLMAN, R. M. AND THE GCC DEVELOPER COMMUNITY. 2011. Using the GNU Compiler Collection -For GCC 4.6.1. Free Software Foundation, Inc.
  27. WIEPRECHT, E., BRUMFIT, J., BAKKER, J., DE CANDUSSIO, N., GUEST, S., HUYGEN, R., DE JONGE, A., MATTHIEW, J. J., OSTERHAGE, S., OTT, S., SIDDIQUI, H., VANDENBUSSCHE, B., DE MEESTER, W., WETZSTEIN, M., WIEZORREK, E., AND ZAAL, P. 2004. The HERSCHEL/PACS common software system as data reduction system. In Astronomical Data Analysis Software and Systems Conference (ADASS) XIII.
  28. XAMARIN. 2011. MonoTouch limitations. http://ios.xamarin.com/documentation/limitations. Received July 2011; revised May 2012; accepted August 2012