Nothing Special   »   [go: up one dir, main page]

skip to main content
article

A software tool for semi-automatic gridification of resource-intensive Java bytecodes and its application to ray tracing and sequence alignment

Published: 01 April 2011 Publication History

Abstract

Computational Grids deliver the necessary computational infrastructure to perform resource-intensive computations such as the ones that solve the problems scientists are facing today. Exploiting Computational Grids comes at the expense of explicitly adapting the ordinary software implementing scientific problems to take advantage of Grid resources, which unavoidably requires knowledge on Grid programming. The recent notion of ''gridifying'' ordinary applications, which is based on semi-automatically deriving a Grid-aware version from the compiled code of a sequential application, promises users to be relieved from the requirement of manual usage of Grid APIs within their source codes. In this paper, we describe a novel gridification tool that allows users to easily parallelize Java applications on Grids. Extensive experiments with two real-world applications - ray tracing and sequence alignment - suggest that our approach provides a convenient balance between ease of gridification and Grid resource exploitation compared to manually using Grid APIs for gridifying ordinary applications.

References

[1]
Afgan, E. and Bangalore, P., Dynamic BLAST - a Grid enabled BLAST. Int J Comput Sci Network Security. v9 i4. 149-157.
[2]
Alonso, J.M., Hernández, V. and Moltó, G., GMarte: Grid middleware to abstract remote task execution. Concurr Comput: Practice Exper. v18 i15. 2021-2036.
[3]
Alonso, J.M., Hernández, V. and Moltó, G., A high-throughput application for the dynamic analysis of structures on a grid environment. Adv Eng Softw. v39 i10. 839-848.
[4]
Archuleta J, Feng W-C, Tilevich E. A pluggable framework for parallel pairwise sequence search. In: 29th Annual international conference of the IEEE - Engineering in Medicine and Biology Society (EMBS '07); 2007. p. 127-30.
[5]
Baduel, L., Baude, F., Caromel, D., Contes, A., Huet, F. and Morel, M., Grid computing: software environments and tools. In: Programming, composing, deploying on the grid, Springer, Berlin, Heidelberg, and New York. pp. 205-229.
[6]
Baitsch, M., Li, N. and Hartmann, D., A toolkit for efficient numerical applications in Java. Adv Eng Softw. v41 i1. 75-83.
[7]
B.S. Center. Alya system - large scale computational mechanics; 2009. <http://www.bsc.es/plantillaA.php?cat_id=552> {accessed January 2011}.
[8]
Choi, S., Kim, H., Byun, E., Baik, M., Kim, S. and Park, C., Characterizing and classifying desktop grid. In: 7th IEEE international symposium on cluster computing and the grid (CCGRID '07), Rio de Janeiro, Brazil, IEEE Computer Society, Washington (DC, USA). pp. 743-748.
[9]
da Silva Cunha, C.A. and Ferreira Sobral, J.L., An annotation-based framework for parallel computing. In: 15th Euromicro conference on parallel, distributed, and network-based processing (PDP '07), Naples, Italy, IEEE Computer Society, Los Alamitos (CA, USA). pp. 113-120.
[10]
Danelutto, M., Pasin, M., Vanneschi, M., Dazzi, P., Laforenza, D. and Presti, L., PAL: exploiting Java annotations for parallelism. In: Achievements in European research on grid systems, Springer, United States. pp. 83-96.
[11]
Doolin, D.M., Dongarra, J. and Seymour, K., JLAPACK - compiling LAPACK Fortran to Java. Scient Program. v7 i2. 111-138.
[12]
Drummond, L.A., Galiano, V., Migall&amp;#243;n, V. and Penad&amp;#233;s, J., Interfaces for parallel numerical linear algebra libraries in high level languages. Adv Eng Softw. v40 i8. 652-658.
[13]
Eyheramendy, D., Innovation in engineering computational technology. In: High abstraction level frameworks for the next decade in computational mechanics, Saxe-Coburg Publications. pp. 41-61.
[14]
Foster, I., The grid: computing without bounds. Scient Am. v288 i4. 78-85.
[15]
Foster, I., Globus toolkit version 4: software for service-oriented systems. J Comput Sci Technol. v21 i4. 513-520.
[16]
Freeh, V.W., A comparison of implicit and explicit parallel programming. J Parallel Distrib Comput. v34 i1. 50-65.
[17]
Garc&amp;#237;***a Garino C. Un modelo num&amp;#233;rico para el an&amp;#225;lisis de s&amp;#243;lidos elastopl&amp;#225;sticos sometidos a grandes deformaciones. PhD thesis. Barcelona (Spain): E.T.S. Ingenieros de Caminos, Universidad Polit&amp;#233;cnica de Catalunya; 1993.
[18]
Garc&amp;#305;***a-Garino, C., Gabald&amp;#243;n, F. and Goicolea, J.M., Finite element simulation of the simple tension test in metals. Fin Elem Anal Des. v42 i13. 1187-1197.
[19]
Gon&amp;#231;alves, R.C. and Ferreira Sobral, J.L., Pluggable parallelisation. In: 18th ACM international symposium on high performance distributed computing (HPDC '09), Garching, Germany, ACM Press, New York (NY, USA). pp. 11-20.
[20]
Gotoh, O., An improved algorithm for matching biological sequences. J Mol Biol. v162 i3. 705-708.
[21]
GridGain Systems. The GridGain open cloud platform; 2009. <http://www.gridgain.com> {accessed January 2011}.
[22]
Haines E. Neutral file format (NFF); 1992. <http://local.wasp.uwa.edu.au/pbourke/dataformats/nff/nff1.html> {accessed January 2011}.
[23]
Harbulot, B. and Gurd, J.R., Using AspectJ to separate concerns in parallel scientific Java code. In: 3rd International conference on aspect-oriented software development (AOSD '04), Lancaster, UK, ACM Press, New York (NY, USA). pp. 122-131.
[24]
Heckbert, P. and Haines, E., A ray tracing bibliography. In: Glassner, A. (Ed.), Introduction to ray tracing, Academic Press, Inc. pp. 295-303.
[25]
Hern&amp;#225;ndez, E., Cardinale, Y. and Pereira, W., Extended mpiJava for distributed checkpointing and recovery. In: Lecture notes in computer science, vol. 4192. Springer, Berlin/Heidelberg. pp. 158-165.
[26]
JPPF. JPPF Home; 2009. <http://www.jppf.org> {accessed January 2011}.
[27]
Jugravu, A. and Fahringer, T., JavaSymphony, a programming model for the Grid. Fut Generation Comput Syst. v21 i1. 239-246.
[28]
Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C. and Loingtier, J.-M., Aspect-oriented programming. In: Ak&amp;#351;it, M., Matsuoka, S. (Eds.), Lecture notes in computer science, vol. 1241. Springer, New York (NY, USA). pp. 220-242.
[29]
L&amp;#228;mmel, R., Google's MapReduce programming model - revisited. Sci Comput Program. v68 i3. 208-237.
[30]
Laskowski, E., Tudruja, M., Olejnik, R. and Toursel, B., Byte-code scheduling of Java programs with branches for desktop grid. Fut Generation Comput Syst. v23 i8. 977-982.
[31]
Lee, E.A., The problem with threads. Computer. v39 i5. 33-42.
[32]
Mackie, R.I., Design and deployment of distributed numerical applications using .NET and component oriented programming. Adv Eng Softw. v40 i8. 665-674.
[33]
Maia, P.M., Mendonca, N.C., Furtado, V., Cirne, W. and Saikoski, K., A process for separation of crosscutting Grid concerns. In: ACM symposium on applied computing (SAC '06), Dijon, France, ACM Press, New York (NY, USA). pp. 1569-1574.
[34]
Manolescu, D., Beckman, B. and Livshits, B., Volta: developing distributed applications by recompiling. IEEE Softw. v25 i5. 53-59.
[35]
Mateos, C., Zunino, A. and Campo, M., A survey on approaches to gridification. Softw: Practice Exper. v38 i5. 523-556.
[36]
Mateos, C., Zunino, A. and Campo, M., On the evaluation of gridification effort and runtime aspects of JGRIM applications. Fut Generation Comput Syst. v26 i6. 797-819.
[37]
Mateos, C., Zunino, A., Campo, M., Trachsel, R. and Programming, Parallel, Models and applications in grid and P2P systems. In: Advances in parallel computing, IOS Press, Amsterdam (The Netherlands). pp. 232-260.
[38]
Mateos C, Zunino A, Trachsel R, Campo M. A novel mechanism for gridification of compiled Java applications. Comput Inform, in press.
[39]
Moustafa A. JAligner: open source Java implementation of Smith-Waterman; 2008. <http://jaligner.sourceforge.net> {accessed January 2011}.
[40]
National Science Foundation. ScaLAPACK; 2007. <http://www.netlib.org/scalapack> {accessed January 2011}.
[41]
ObjectWeb Consortium. ASM; 2009. <http://asm.objectweb.org> {accessed January 2011}.
[42]
Oracle Inc. javax.script (Java Platform SE 6); 2009. <http://download.oracle.com/javase/6/docs/api/javax/script/package-summary.html> {accessed January 2011}.
[43]
Papadimitriou, S. and Terzidis, K., jLab: integrating a scripting interpreter with Java technology for flexible and efficient scientific computation. Comput Lang Syst Struct. v35 i3. 217-240.
[44]
Ropo, M., Westerholm, J. and Dongarra, J., Recent advances in parallel virtual machine and message passing interface. In: Lecture notes in computer science, Springer-Verlag, Berlin/Heidelberg.
[45]
Seymour, K. and Dongarra, J., Automatic translation of Fortran to JVM bytecode. Concurr Comput: Practice Exper. v15 i3-5. 207-222.
[46]
Shafi, A., Carpenter, B. and Baker, M., Nested parallelism for multi-core HPC systems using Java. J Parallel Distrib Comput. v69 i6. 532-545.
[47]
Shafi, A., Carpenter, B., Baker, M. and Hussain, A., A comparative study of Java and C performance in two large-scale parallel applications. Concurr Comput: Practice Exper. v21 i15. 1882-1906.
[48]
TATA Consultancy Services. WANem; 2008. <http://wanem.sourceforge.net> {accessed January 2011}.
[49]
Thain, D., Tannenbaum, T. and Livny, M., Condor and the grid. In: Berman, F., Fox, G., Hey, A. (Eds.), Grid computing: making the global infrastructure a reality, John Wiley &amp;amp; Sons, New York (NY, USA). pp. 299-335.
[50]
University of Maryland. Dyninst api; 2009. <http://www.dyninst.org> {accessed January 2011}.
[51]
University of Virginia. jPVM; 1999. <http://www.cs.virginia.edu/ ajf2j/jpvm.html> {accessed January 2011}.
[52]
Vaughan-Nichols, S.J., Web services: beyond the hype. Computer. v35 i2. 18-21.
[53]
Wang, L. and Jie, W., Towards supporting multiple virtual private computing environments on computational grids. Adv Eng Softw. v40 i4. 239-245.
[54]
Wrzesinska, G., van Nieuwport, R., Maassen, J., Kielmann, T. and Bal, H., Fault-tolerant scheduling of fine-grained tasks in grid environments. Int J High Perf Comput Appl. v20 i1. 103-114.
[55]
Zhang, B.-Y., Yang, G.-W. and Zheng, W.-M., JCluster: an efficient Java parallel environment on a large-scale heterogeneous cluster. Concurr Comput: Practice Exper. v18 i12. 1541-1557.
[56]
Zhang, H., Lee, J. and Guha, R., VCluster: a thread-based Java middleware for SMP and heterogeneous clusters with thread migration support. Softw: Practice Exper. v38 i10. 1049-1071.

Cited By

View all
  • (2020)Programming languages for data-Intensive HPC applicationsParallel Computing10.1016/j.parco.2019.10258491:COnline publication date: 1-Mar-2020
  • (2016)Battery-aware centralized schedulers for CPU-bound jobs in mobile GridsPervasive and Mobile Computing10.1016/j.pmcj.2015.08.00329:C(73-94)Online publication date: 1-Jul-2016
  • (2014)Energy-efficient job stealing for CPU-intensive processing in mobile devicesComputing10.1007/s00607-012-0245-596:2(87-117)Online publication date: 1-Feb-2014

Index Terms

  1. A software tool for semi-automatic gridification of resource-intensive Java bytecodes and its application to ray tracing and sequence alignment
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    Publisher

    Elsevier Science Ltd.

    United Kingdom

    Publication History

    Published: 01 April 2011

    Author Tags

    1. Automatic parallelism
    2. Computational grids
    3. Gridification
    4. Java bytecode
    5. Parallelization heuristics
    6. Resource-intensive applications

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 02 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Programming languages for data-Intensive HPC applicationsParallel Computing10.1016/j.parco.2019.10258491:COnline publication date: 1-Mar-2020
    • (2016)Battery-aware centralized schedulers for CPU-bound jobs in mobile GridsPervasive and Mobile Computing10.1016/j.pmcj.2015.08.00329:C(73-94)Online publication date: 1-Jul-2016
    • (2014)Energy-efficient job stealing for CPU-intensive processing in mobile devicesComputing10.1007/s00607-012-0245-596:2(87-117)Online publication date: 1-Feb-2014

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media