Abstract
Autonomic computing has been proposed recently as a way to address the difficult management of applications whose complexity is constantly increasing. Autonomic systems will have to diagnose the problems they face themselves, devise solutions and act accordingly. In consequence, they require a very high level of flexibility and the ability to constantly monitor themselves. This work presents a framework, Pandora, which eases the construction of applications that satisfy this double goal. Pandora relies on an original application programming pattern — based on stackable layers and message passing — to obtain a minimalist model and architecture that allows control of the overhead imposed by the full reflexivity of the framework. A prototype of the framework has been implemented in C++, freely available for download on the Internet. A detailed performance study is given, together with examples of use, to assess the usability of the platform in real usage conditions.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kephart, J., Chess, D.: The vision of autonomic computing. In: Computer Magazine. IEEE, Los Alamitos (2003)
Smith, B.C.: Reflection and semantics in lisp. In: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pp. 23–35. ACM Press, New York (1984)
Maes, P.: Concepts and experiments in computational reflection. ACM SIGPLAN Notices 22, 147–155 (1987)
Ribler, R.L., Vetter, J.S., Simitci, H., Reed, D.A.: Autopilot: Adaptive control of distributed applications. In: Proceedings of the The Seventh IEEE International Symposium on High Performance Distributed Computing, p. 172. IEEE Computer Society, Los Alamitos (1998)
Agarwal, M., Bhat, V., Li, Z., Liu, H., Khargharia, B., Matossian, V., Putty, V., Schmidt, C., Zhang, G., Hariri, S., Parashar, M.: Automate: Enabling autonomic applications on the grid. In: Proceedings of the Autonomic Computing Workshop (AMS 2003), Seattle, WA (2003)
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)
Clarke, M., Blair, G.S., Coulson, G., Parlavantzas, N.: An efficient component model for the construction of adaptive middleware. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, p. 160. Springer, Heidelberg (2001)
Hutchinson, N.C., Peterson, L.L.: The x-Kernel: An architecture for implementing network protocols. IEEE Transactions on Software Engineering 17, 64–76 (1991)
Heidemann, J.S.: Stackable layers: An architecture for file system development. Technical Report UCLA-CSD 910056, University of California, Los Angeles, CA, USA (1991)
Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M.F.: The click modular router. ACM Transactions on Computer Systems 18, 263–297 (2000)
Welsh, M., Culler, D.E., Brewer, E.A.: SEDA: An architecture for well-conditioned, scalable internet services. In: 18th Symposium on Operating Systems Principles, Lake Louise, Canada, pp. 230–243 (2001)
Liu, H., Parashar, M., Hariri, S.: A component-based programming model for autonomic applications. In: Proceedings of the 1st International Conference on Autonomic Computing (ICAC 2004), New York. IEEE Computer Society, Los Alamitos (2004)
Muralidhar, R., Parashar, M.: A Distributed Object Infrastructure for Interaction and Steering. In: Sakellariou, R., Keane, J.A., Gurd, J.R., Freeman, L. (eds.) Euro-Par 2001. LNCS, vol. 2150, pp. 67–74. Springer, Heidelberg (2001)
Chess, D.M., Segal, A., Whalley, I., White, S.R.: Unity: Experiences with a prototype autonomic computing system. In: Proceedings of the 1st International Conference on Autonomic Computing (ICAC 2004), New York. IEEE Computer Society, Los Alamitos (2004)
Foster, I., Kesselman, C., Nick, J.M., Tuecke, S.: The physiology of the grid: An open grid services architecture for distributed systems integration. Open Grid Service Infrastructure WG, Global Grid Forum (2002), http://www.globus.org/research/papers/ogsa.pdf
Hall, R.S., Cervantes, H.: Gravity: supporting dynamically available services in client-side applications. In: Proceedings of the 9th European software engineering conference held jointly with 10th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 379–382. ACM Press, New York (2003)
Pawlak, R., Seinturier, L., Duchien, L., Florin, G., Legond-Aubry, F., Martelli, L.: JAC: An aspect-based distributed dynamic framework. Software: Practice and Experience, SPE (2004)
White, S.R., Hanson, J.E., Whalley, I., Chess, D.M., Kephart, J.O.: An architectural approach to autonomic computing. In: Proceedings of the 1st International Conference on Autonomic Computing (ICAC 2004), New York. IEEE Computer Society, Los Alamitos (2004)
Ellson, J., Gansner, E., Koutsofios, L., North, S.C., Woodhull, G.: Graphviz — open source graph drawing tools. In: Mutzel, P., Jünger, M., Leipert, S. (eds.) GD 2001. LNCS, vol. 2265, p. 483. Springer, Heidelberg (2002)
Patarin, S.: Pandora: support pour des services de métrologie à l’échelle d’Internet (english title: Pandora: Support for Internet Scale Monitoring Services). PhD thesis, Université Pierre et Marie Curie – Paris 6 (2003) (In French)
Rozier, M., Abrossimov, V., Armand, F., Boule, I., Gien, M., Guillemont, M., Herrmann, F., Kaiser, C., Langlois, S., Oñard, P.L., Neuhauser, W.: CHORUS distributed operating system. Computing Systems 1, 305–370 (1988)
Härtig, H., Hohmuth, M., Liedtke, J., Schönberg, S., Wolter, J.: The performance of μ-Kernel-based systems. In: Proceedings of the 16th Symposium on Operating Systems Principles (SOSP 1997). Operating Systems Review, Saint Malo, France, vol. 31, pp. 66–77. ACM Press, New York (1997)
Fassino, J.P., Stefani, J.B., Lawall, J., Muller, G.: THINK: a software framework for component-based operating system kernels. In: USENIX Annual Technical Conference, Monterey, CA, pp. 73–86 (2002)
Jaffer, A., Carrette, G., Stachowiak, M., et al.: Guile, project gnu’s extension language. Software (2002), http://www.gnu.org/software/guile/
Patarin, S., Makpangou, M.: On-line Measurement of Web Proxy Cache Efficiency. Research Report RR-4782, INRIA (2003)
Fessant, F.L., Patarin, S.: MLdonkey, a Multi-Network Peer-to-Peer File-Sharing Program. Research Report RR-4797, INRIA (2003)
Patarin, S., Salamatian, K., Friedman, T.: The Pandora network monitoring platform (2004) (Submitted for publication)
Ogel, F., Patarin, S., Piumarta, I., Folliot, B.: C/SPAN: a Self-Adapting Web Proxy Cache. In: Proceedings of the Autonomic Computing Workshop (AMS 2003), Seattle, WA (2003)
Piumarta, I., Ogel, F., Baillarguet, C., Folliot, B.: Applying the vvm kernel to flexible web caches. In: Proceedings of the IEEE Workshop on Hot Topics in Operating Sy stems, HOTOS-VIII, Schloss Elmau, Germany, p. 155 (2001)
Bothner, P., Haley, A., Levy, W., et al.: The gnu compiler for the java programming language. Software (2004), http://gcc.gnu.org/java/
de Icaza, M., Molaro, P., Pratap, R., Porter, D., et al.: The mono project. software (2004), http://www.go-mono.com/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Patarin, S., Makpangou, M. (2005). Pandora: An Efficient Platform for the Construction of Autonomic Applications. In: Babaoglu, O., et al. Self-star Properties in Complex Information Systems. SELF-STAR 2004. Lecture Notes in Computer Science, vol 3460. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11428589_19
Download citation
DOI: https://doi.org/10.1007/11428589_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26009-7
Online ISBN: 978-3-540-32013-5
eBook Packages: Computer ScienceComputer Science (R0)