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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Computing Survey 37(4), 316–344 (2005)
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
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)
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)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading (2000)
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)
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)
AspectC++ Homepage, http://www.aspectc.org
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)
Baxter, I.: Design Maintenance Systems. Communications of the ACM 35(4), 73–89 (1992)
Wile, D.: Lessons Learned from Real DSL Experiments. Science of Computer Programming 51(3), 265–290 (2004)
Kurtev, I., Bezivin, J., Jouault, F., Valduriez, P.: Model-based DSL frameworks. In: OOPSLA Companion 2006, pp. 602–616 (2006)
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)
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)
Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Model Transformations in Practice Workshop at MoDELS, Montego Bay, Jamaica (2005)
Bronevetsky, G., Marques, D., Pingali, K., Szwed, P.K., Schulz, M.: Application-level checkpointing for shared memory programs. ASPLOS 2004, 235–247 (2004)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)