Industry observers have predicted that application servers will become a 21 billion dollars per year business by the end of 2007 as more companies deploy web services to make applications or information available across the Internet. Object-oriented languages are currently the choice for the development of those applications. Object-oriented languages such as Java and computing platform such Microsoft .NET have adopted garbage collec-tion as the way to manage dynamic memory. However, this adoption poses at least two significant challenges: (1) server applications are multithreaded and are designed for mul-tiprocessor systems and (2) unlike desktop applications, the workloads and resources available for server systems can vary tremendously.
This research addresses these issues by introducing a novel garbage collection system that can efficiently and dynamically respond to the specific needs and challenges of server applications. The proposed garbage collection scheme is fully scalable and thread-safe. It also discriminates between local and remote objects so that differentiated collec-tion strategies can be implemented according to locality. In addition, the garbage collec-tor is resource cognizant, that is, it can adjust the profiling and garbage collection policy based on the availability of resources on the server. As a result, the proposed work greatly improves the performance of application servers, distributed applications, and web services, which are the foundations of pervasive computing applications that already provide services for millions of users each day.
Dr. Brett D. Fleisch Program Director, CISE/CNS June 23, 2004. .