Abstract
At the Institute of Computer Science Warsaw University of Technology a workbench for building server-side, dependable, Internet applications was designed and implemented. This workbench is a collection of C++ classes. The design and implementation of these classes are briefly described. The most important part of the workbench is the web server, implemented as a C++ class that can be used in a standalone application. To implement the web server a precise, concurrent garbage collector was designed. Our garbage collector is based on the concurrent mark-and-sweep algorithm and smart pointer pattern. It makes the risk of memory access faults or memory leaks much lower than in standard C/C++ applications. The advantages of our workbench are shown in some experiments. We have measured the overhead of our garbage collector and the performance of the workbench. A comparison with other systems is also given.
Chapter PDF
Similar content being viewed by others
References
Boehm, H.J., Weiser, M.: Garbage collection in an uncooperative environment. Softw. Pract. Exper. 18(9) (1988) 807–820
Kołaczkowski, P., Bluemke, I.; A soft real time precise tracing garbage collector for C++. Pro Dialog (20) (2005) 1–11
Kołaczkowski, P., Bluemke, I.: A soft-real time precise garbage collector for multimedia applications. In: V International Conference Multimedia in Business and Education, Multimedia w Biznesie i Edukacji. Volume 2., Częstochowa, Poland, Fundacja Współczesne Zarządzanie Białystok (2005) 172–178
Kołaczkowski, P.: Techniques for building server side internet applications. Pro Dialog (18) (2005) 31–59
Colburn, R.: Teach Yourself CGI Programming in a Week. Sams Publishing, Indianapolis, Indiana, USA (1998)
Open Market, Inc.: FastCGI homepage (2006) http://www.fastcgi.com/.
Boehm, H.J.: Space efficient conservative garbage collection. In: PLDI’ 93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, New York, NY, USA, ACM Press (1993) 197–206
Seligmann, J., Grarup, S.: Incremental mature garbage collection using the train algorithm. In: ECOOP’ 95: Proceedings of the 9th European Conference on Object-Oriented Programming, London, UK, Springer-Verlag (1995) 235–252
Bartlett, J.F.: Mostly copying garbage collection picks up generations and C++. Technical Report TN-12, Digital Equipment Corporation Western Research Laboratory (1989)
Smith, F., Morrisett, G.: Comparing mostly-copying and mark-sweep conservative collection. In: ISMM’ 98: Proceedings of the 1st international symposium on Memory management, New York, NY, USA, ACM Press (1998) 68–78
Detlefs, D.: Garbage collection and run-time typing as a C++ library. In: C++ Conference. (1992) 37–56
Edelson, D.R.: Smart pointers: They’re smart, but they’re not pointers. Technical report, University of California at Santa Cruz, Santa Cruz, CA, USA (1992)
Blackburn, S.M., Cheng, P., McKinley, K.S.: Myths and realities: the performance impact of garbage collection. SIGMETRICS Perform. Eval Rev. 32(1) (2004) 25–36
Henderson, F.: Accurate garbage collection in an uncooperative environment. In: ISMM’ 02: Proceedings of the 3rd international symposium on Memory management, New York, NY, USA, ACM Press (2002) 150–156
The PHP Group: PHP documentation (2006) http://www.php.net/docs.php.
Adobe Systems, Inc.: ColdFusion documentation (2006) http://www.macromedia.com/support/documentation/en/coldfusion/.
Inline Internet Systems, Inc.: User’s guide to iHTML extensions version 2.20 (2001)
Mitchell, S.: Teach Yourself Active Server Pages 3.0 in 21 Days. Helion, Gliwice, Poland (2003)
Goodwill, J.: Pure JSP: Java Server Pages. Helion, Warszawa, Poland (2001)
Damon Houghland, A.T.: Essential JSP for Web Professionals. RM, Warszawa, Poland (2002)
ACME Labs: Multiprocessing HTTP test client (2005) http://www.acme.com/software/httpload/.
ACME Labs: Tiny/turbo/throttling HTTP server (2005) http://www.acme.com/software/thttpd/.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 International Federation for Information Processing
About this paper
Cite this paper
Kołaczkowski, P., Bluemke, I. (2006). A C++ Workbench with Accurate Non-Blocking Garbage Collector for Server Side Internet Applications. In: Sacha, K. (eds) Software Engineering Techniques: Design for Quality. IFIP International Federation for Information Processing, vol 227. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-39388-9_2
Download citation
DOI: https://doi.org/10.1007/978-0-387-39388-9_2
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-39387-2
Online ISBN: 978-0-387-39388-9
eBook Packages: Computer ScienceComputer Science (R0)