Woo Jin Kim, Kyungbaek Kim, Jaesun Han, Keuntae Park, D. Park
{"title":"Thread-aware garbage collection for server applications","authors":"Woo Jin Kim, Kyungbaek Kim, Jaesun Han, Keuntae Park, D. Park","doi":"10.1109/SAINT.2004.1266102","DOIUrl":null,"url":null,"abstract":"In recent years server applications using Java become popular. However, they have different performance requirements from other applications: high throughput and small response time. One of obstacles for achieving those requirements is a Java Virtual Machine (JVM). Among the services that a JVM provides, garbage collection affects server applications in throughput and latency. Some JVMs have various garbage collectors for server-side Java but they do not still consider the behavior of server applications. We show that the lifetime pattern of objects is distinguished by the thread that allocates them in server applications. Separating objects and applying different collection policies according to threads, we propose that a garbage collector can achieve both high throughput and small pause time. Experiments show that the throughput of our collector is up to 1.7 times greater than that of previous generational collectors with the same pause time and the pause time of minor collection is smaller by almost 10% given the same throughput.","PeriodicalId":340968,"journal":{"name":"2004 International Symposium on Applications and the Internet. Proceedings.","volume":"41 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2004 International Symposium on Applications and the Internet. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SAINT.2004.1266102","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
In recent years server applications using Java become popular. However, they have different performance requirements from other applications: high throughput and small response time. One of obstacles for achieving those requirements is a Java Virtual Machine (JVM). Among the services that a JVM provides, garbage collection affects server applications in throughput and latency. Some JVMs have various garbage collectors for server-side Java but they do not still consider the behavior of server applications. We show that the lifetime pattern of objects is distinguished by the thread that allocates them in server applications. Separating objects and applying different collection policies according to threads, we propose that a garbage collector can achieve both high throughput and small pause time. Experiments show that the throughput of our collector is up to 1.7 times greater than that of previous generational collectors with the same pause time and the pause time of minor collection is smaller by almost 10% given the same throughput.