A Domain-Specific Language for Application-Level Checkpointing | SpringerLink
Skip to main content

A Domain-Specific Language for Application-Level Checkpointing

  • Conference paper
Distributed Computing and Internet Technology (ICDCIT 2008)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 5375))

  • 419 Accesses

Abstract

Checkpointing is one of the key requirements for writing fault-tolerant and flexible applications for dynamic and distributed environments like the Grid. Certain patterns are observed in the implementation of the application-level Checkpointing and Restart (CaR) mechanism across myriad of applications. These patterns indicate that a higher level of abstraction can be used to isolate the observed commonalities and variations in the CaR mechanism. This research paper describes an approach for the design and development of a Domain-Specific Language (DSL) for abstracting the application-level CaR mechanism. The specifications written in the DSL are used for semi-automatically generating the application-specific code for the CaR mechanism. This DSL not only provides a high-level of abstraction but also promotes code reuse, code correctness and non-invasive reengineering of legacy applications to embed the CaR mechanism in them.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Computing Survey 37(4), 316–344 (2005)

    Article  Google Scholar 

  2. Duell, J.: The Design and Implementation of Berkeley Lab’s Linux Checkpoint/ Restart, Lawrence Berkeley National Laboratory, http://crd.lbl.gov/~jcduell/papers/blcr.pdf

  3. Czarnul, P., Urbaniak, A., Fraczak, M., Dyczkowski, M., Balcerek, B.: Towards Easy-to-Use Checkpointing of MPI Applications within CLUSTERIX. IEEE International Journal of High Performance Computing Applications 19(4) (2005)

    Google Scholar 

  4. Walters, J.P., Chaudhary, V.: Application-Level Checkpointing Techniques for Parallel Programs. In: Madria, S.K., Claypool, K.T., Kannan, R., Uppuluri, P., Gore, M.M. (eds.) ICDCIT 2006. LNCS, vol. 4317, pp. 221–234. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  5. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading (2000)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. Chengcui, Z., Xin, C.: Region-Based Image Clustering and Retrieval Using Multiple Instance Learning. In: Leow, W.-K., Lew, M., Chua, T.-S., Ma, W.-Y., Chaisorn, L., Bakker, E.M. (eds.) CIVR 2005. LNCS, vol. 3568, pp. 194–204. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  8. AspectC++ Homepage, http://www.aspectc.org

  9. Arora, R., Bangalore, P.V.: Using Aspect-Oriented Programming for Checkpointing a Parallel Application. In: Parallel and Distributed Processing Techniques and Applications Conference, Las Vegas, Nevada (2008)

    Google Scholar 

  10. Baxter, I.: Design Maintenance Systems. Communications of the ACM 35(4), 73–89 (1992)

    Article  Google Scholar 

  11. Wile, D.: Lessons Learned from Real DSL Experiments. Science of Computer Programming 51(3), 265–290 (2004)

    Article  MathSciNet  Google Scholar 

  12. Kurtev, I., Bezivin, J., Jouault, F., Valduriez, P.: Model-based DSL frameworks. In: OOPSLA Companion 2006, pp. 602–616 (2006)

    Google Scholar 

  13. Jouault, F., Bézivin, J.: KM3: a DSL for Metamodel Specification. In: 8th IFIP International Conference on Formal Methods for Open Object-Based Distributed Systems, Bologna, Italy. LNCS, pp. 171–185 (2006)

    Google Scholar 

  14. Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the Specification of Textual Concrete Syntaxes in Model Engineering. In: International Conference on Generative Programming and Component Engineering, Portland, OR, pp. 249–254 (2006)

    Google Scholar 

  15. Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Model Transformations in Practice Workshop at MoDELS, Montego Bay, Jamaica (2005)

    Google Scholar 

  16. Bronevetsky, G., Marques, D., Pingali, K., Szwed, P.K., Schulz, M.: Application-level checkpointing for shared memory programs. ASPLOS 2004, 235–247 (2004)

    Google Scholar 

  17. Roychoudhury, S., Jouault, F., Gray, J.: Model-based Aspect Weaver Construction. In: 4th International Workshop on Language Engineering (ATEM), held at MODELS 2007, Nashville, TN, pp. 117–126 (2007)

    Google Scholar 

  18. Message Passing Interface Forum, MPI2: A Message-Passing Interface Standard. International Journal of Supercomputer Applications and High Performance Computing, 12(1/2), 1–299 (1998) (special Issue)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arora, R., Mernik, M., Bangalore, P., Roychoudhury, S., Mukkai, S. (2008). A Domain-Specific Language for Application-Level Checkpointing. In: Parashar, M., Aggarwal, S.K. (eds) Distributed Computing and Internet Technology. ICDCIT 2008. Lecture Notes in Computer Science, vol 5375. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89737-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-89737-8_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-89736-1

  • Online ISBN: 978-3-540-89737-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics