• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

Scalable Real-Time Parallel Garbage Collection for Symmetric Multiprocessors, (2001)

by P Cheng
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 11
Next 10 →

A Parallel, Real-Time Garbage Collector

by Perry Cheng, Guy E. Blelloch , 2001
"... A'(=$B#127$C7D-7E"#%9F< >$7'(-7:;<<"G$&%- 12-*#)+1+)H7IJ->0" ;<<":'(%- 1+687)29:K*,< B>0"$%L.M.D.&%<1+12%&%7< 'K)2$"#=$)2; >%"ON5<'.$D- '(="P6 9F%9:< '(IF9?B127)+/#' ..."
Abstract - Cited by 111 (14 self) - Add to MetaCart
A&apos;(=$B#127$C7D-7E&quot;#%9F&lt; &gt;$7&apos;(-7:;&lt;&lt;&quot;G$&amp;%- 12-*#)+1+)H7IJ-&gt;0&quot; ;&lt;&lt;&quot;:&apos;(%- 1+687)29:K*,&lt; B&gt;0&quot;$%L.M.D.&amp;%&lt;1+12%&amp;%7&lt; &apos;K)2$&quot;#=$)2; &gt;%&quot;ON5&lt;&apos;.$D- &apos;(=&quot;P6 9F%9:&lt; &apos;(IF9?B127)+/#&apos;(&lt;&amp;=%$$&lt; &apos;($C-&gt;0&quot;Q)2$A*0-$%&quot;R&lt;&gt;S- &gt;S%- &apos;1+)2(&apos;C&amp;%&lt;1+12%&amp;%7&lt; &apos; -12;&lt;&apos;)27D09UT VW84X.D)2&amp;YDG/&apos;(&lt;Z)2&quot;#%&quot;R[@%&quot;R*,&lt;B#&gt;&quot;$\&lt; &gt;]7D0C7)29FC- &gt;I 7D&apos;(%-&quot;R9CB0$7./- B$\N5&lt; &apos;K&amp;=&lt; 1+12%&amp;%7)2&lt;&gt;^LE_\&lt;X.=Z3&apos;4$)+&gt;&amp;%`&lt; B&apos;E%- &apos;1+)23&apos; -12;&lt;&apos;)27D09aX.-$&quot;#%$)2;&gt;0=&quot;bN5&lt;&apos;K$)29c/12c-&gt;0-12I$)2$%40)27.D0-&quot;R$&lt;9Fd)29c6 /&apos;(-&amp;=7)2&amp;%- 1.Ne%-7B&apos;(%$%L`M.D#)2$C/0-/,3&apos;C/&apos;(%$3&gt;7$`7D0`%@73&gt;$)2&lt; &gt;$c&gt;%&amp;36 =$$- &apos;(IfNe&lt; &apos;G-!/#&apos;(-&amp;%7)2&amp;%- 1`)29c/12%9:3&gt;7-7)2&lt; &gt;hgi&apos;(%&quot;B0&amp;()+&gt;0;j%@&amp;=%$$)2Z )+&gt;7(&apos;12%-Z)+&gt;0;4kD- &gt;&quot;1+)+&gt;0;!$7-&amp;l$\-&gt;0&quot;!; 12&lt;*0-1Z -&apos;)2- *12%$%4^&apos;(%&quot;B&amp;3)+&gt;0; &quot;&lt; B*12O-1+12&lt;&amp;%-7)2&lt;&gt;^4-&gt;0&quot;G$/,=&amp;3)2- 17&apos;(%-79F3&gt;7C&lt; N12-&apos;(;:-&gt;0&quot;!$9:- 1+1 &lt;*m%&amp;%7$%LonK&gt;i)29c/12%9:3&gt;7-7)2&lt; &gt;o*-$%&quot;j&lt;&gt;p7D0G9:&lt;&quot;)+[%&quot;q-12;&lt;6 &apos;)27D9r)2$G%Z- 1+B-7%&quot;p&lt; &gt;p-J$=7R&lt; NQstvuPwGxq*y3&gt;0&amp;D9:- &apos;l$G&lt;&gt;pu B&gt;Jz&gt;73&apos;/&apos;)2$bs={{{{#4|-O}~ 68X.-IGd127&apos;(-u/- &apos;(&amp;(6K9?B127)+/&apos;(&lt;&amp;%%$6 $&lt;&apos;L!M&lt;G7D0:*,%$7`&lt; NE&lt;B#&apos;:l&gt;&lt;X.12%&quot;#;4.7D)2$c)2$:7D:[#&apos;($7`)29c/#12(6 9F3&gt;7-7)2&lt;&gt;J&lt;N-c/- &apos;(-1+123154^&apos;(%-1+67)29Fc;- &apos;*-;`&amp;%&lt;1+12%&amp;%7&lt; &apos;L M.Dc-Z(&apos;(-;Q&amp;%&lt;1+12%&amp;%7&lt;&apos;:$/,=%&quot;PB/J)2$FPL t:-7CO/&apos;(&lt;&amp;%%$$&lt;&apos;($c-&gt;0&quot; sPL -7FVb/&apos;(&lt;&amp;%%$$&lt;&apos;($%LjwG-@)29CB09r/- B$G7)29:%$:&apos;(- &gt;;RN&apos;(&lt;9 j9F$7&lt;ti9:$%Lr&gt;o&amp;%&lt;&gt;7&apos;(-$7%4:-i&gt;&lt; &gt;65)+&gt;0&amp;(&apos;(%9:3&gt;7-1G&amp;%&lt;1+12%&amp;%7&lt; &apos; X.D%7D3&apos;G;3&gt;0(&apos;(-7)2&lt; &gt;- 1&lt; &apos;R&gt;&lt;7(:...

Design and Implementation of a Comprehensive Real-time Java Virtual Machine

by Joshua Auerbach, Perry Cheng, David Grove, David F. Bacon, Michael Dawson, Darren Hart, Bob Blainey, Mike Fulton, Mark Stoodley
"... The emergence of standards for programming real-time systems in Java has encouraged many developers to consider its use for systems previously only built using C, Ada, or assembly language. However, the RTSJ standard in isolation leaves many important problems unaddressed, and suffers from some seri ..."
Abstract - Cited by 29 (5 self) - Add to MetaCart
The emergence of standards for programming real-time systems in Java has encouraged many developers to consider its use for systems previously only built using C, Ada, or assembly language. However, the RTSJ standard in isolation leaves many important problems unaddressed, and suffers from some serious problems in usability and safety. As a result, the use of Java for real-time programming has continued to be viewed as risky and adoption has been slow. In this paper we provide a description of IBM’s new real-time Java virtual machine product, which combines Metronome realtime garbage collection, ahead-of-time compilation, and a complete implementation of the RTSJ standard, running on top of a custom real-time multiprocessor Linux kernel. We will describe the implementation of each of these components, including how they interacted both positively and negatively, and the extensions to previous work required to move it from research prototype to a system implementing the complete semantics of the Java language. The system has been adopted for hard real-time development of naval weapons systems and soft real-time telecommunications servers. We present measurements showing that the system is able to provide sub-millisecond worst-case garbage collection latencies, 50 microsecond Linux scheduling accuracy, and eliminate non-determinism due to JIT compilation.

A Typed Interface for Garbage Collection

by Joseph C. Vanderwaart, Karl Crary - In Types in Language Design and Implementation , 2003
"... An important consideration for certified code systems is the interaction of the untrusted program with the runtime system, most notably the garbage collector. Most certified code systems that treat the garbage collector as part of the trusted computing base dispense with this issue by using a collec ..."
Abstract - Cited by 16 (1 self) - Add to MetaCart
An important consideration for certified code systems is the interaction of the untrusted program with the runtime system, most notably the garbage collector. Most certified code systems that treat the garbage collector as part of the trusted computing base dispense with this issue by using a collector whose interface with the program is simple enough that it does not pose any certification challenges. However, this approach rules out the use of many sophisticated highperformance garbage collectors. We present the language LGC, whose type system is capable of expressing the interface of a modern high-performance garbage collector. We use LGC to describe the interface to one such collector, which involves a substantial amount of programming at the type constructor level of the language.

Tax-and-Spend: Democratic Scheduling for Real-time Garbage Collection

by Joshua Auerbach, David Grove, Bill Mccloskey, David F. Bacon, Ben Biron, Aleksandar Micic, Perry Cheng, Charlie Gracie, Ryan Sciampacone
"... Real-time Garbage Collection (RTGC) has recently advanced to the point where it is being used in production for financial trading, military command-and-control, and telecommunications. However, among potential users of RTGC, there is enormous diversity in both application requirements and deployment ..."
Abstract - Cited by 11 (1 self) - Add to MetaCart
Real-time Garbage Collection (RTGC) has recently advanced to the point where it is being used in production for financial trading, military command-and-control, and telecommunications. However, among potential users of RTGC, there is enormous diversity in both application requirements and deployment environments. Previously described RTGCs tend to work well in a narrow band of possible environments, leading to fragile systems and limiting adoption of real-time garbage collection technology. This paper introduces a collector scheduling methodology called tax-and-spend and the collector design revisions needed to support it. Tax-and-spend provides a general mechanism which works well across a variety of application, machine, and operating system configurations. Tax-and-spend subsumes the predominant pre-existing RTGC scheduling techniques. It allows different policies to be applied in different contexts depending on the needs of the application. Virtual machines can co-exist compositionally on a single machine. We describe the implementation of our system, Metronome-TS, as an extension of the Metronome collector in IBM’s Real-time J9 virtual machine product, and we evaluate it running on an 8-way SMP blade with a real-time Linux kernel. Compared to the stateof-the-art Metronome system on which it is based, implemented in the identical infrastructure, it achieves almost 3x shorter latencies, comparable utilization at a 2.5x shorter time window, and mean throughput improvements of 10-20%.
(Show Context)

Citation Context

...trol. 6. RELATED WORK Real-time garbage collection was first explored by Baker [8], followed by numerous others [19, 14, 1, 24, 27, 15]. The minimum mutator utilization metric was introduced by Cheng =-=[11]-=- and exploited by Metronome [7], which also had a strict bound on memory consumption. Although the implementation of Metronome-TS evaluated in this paper did not include compaction, suitable approache...

A Study of Lock-Free Based Concurrent Garbage Collectors for Multicore Platform

by Hao Wu , Zhen-Zhou Ji
"... Concurrent garbage collectors (CGC) have recently obtained extensive concern on multicore platform. Excellent designed CGC can improve the efficiency of runtime systems by exploring the full potential processing resources of multicore computers. Two major performance critical components for designi ..."
Abstract - Add to MetaCart
Concurrent garbage collectors (CGC) have recently obtained extensive concern on multicore platform. Excellent designed CGC can improve the efficiency of runtime systems by exploring the full potential processing resources of multicore computers. Two major performance critical components for designing CGC are studied in this paper, stack scanning and heap compaction. Since the lock-based algorithms do not scale well, we present a lock-free solution for constructing a highly concurrent garbage collector. We adopt CAS/MCAS synchronization primitives to guarantee that the programs will never be blocked by the collector thread while the garbage collection process is ongoing. The evaluation results of this study demonstrate that our approach achieves competitive performance.
(Show Context)

Citation Context

... example, the lock-freedom might be lost with a small probability in CLOVER. Recently, several approaches for real-time garbage collectors using special designed hardware have been presented. A soft real-time collector for Azul systems was proposed by Click et al. [10]. They use special hardware to support access migration during the object copying process. And Schoeberl and Puffitsch [11] also presented a nonblocking real-time GC which was implemented in hardware. Works on real-time garbage collector began with Baker [12], and his approach has been the basis for most of the later work. Cheng [13] introduces the notion of minimummutator utilization and built a multiprocessor collector with high observed MMU. Bacon et al. [14] provide basic principles of the Metronome collection algorithm; they have made the collector to meet real-time bounds by limiting copying and incrementalizing defragmentation, and the extension of the Metronome is presented in [15]. 6. Conclusions Wehave studied how to design a lock-free concurrent garbage collector on multicore platform. Our goal is to improve the efficiency of garbage collection algorithmand tomake full use 8 The Scientific World Journal of the ...

Soft Real-time garbage collection for dynamic . . .

by Andrew Cheadle
"... ..."
Abstract - Add to MetaCart
Abstract not found

General Terms

by Joseph C. Vanderwaart, Karl Crary
"... most notably the garbage collector. Most certified code systems that treat the garbage collector as part of the trusted computing base dispense with this issue by using a collector whose interface with the program is simple enough that it does not pose any certification challenges. However, this app ..."
Abstract - Add to MetaCart
most notably the garbage collector. Most certified code systems that treat the garbage collector as part of the trusted computing base dispense with this issue by using a collector whose interface with the program is simple enough that it does not pose any certification challenges. However, this approach rules out the use of many sophisticated highperformance garbage collectors. We present the language LGC, whose type system is capable of expressing the interface of a modern high-performance garbage collector. We use LGC to describe the interface to one such collector, which involves a substantial amount of programming at the type constructor level of the language. Categories and Subject Descriptors D.3.m [Programming Languages]: Miscellaneous; D.3.4 [Programming Languages]: Processors--Compilers, Memory management
(Show Context)

Citation Context

...collector must be described and expressed in a type system. The topic of this paper is the specification of the interface for a particular, modern garbage collector, namely that of Cheng and Blelloch =-=[1, 2]-=-, implemented in the TILT/ML runtime system. After informally describing the behavior of this collector and its interface to a running program, we present a language whose type system can express this...

ABSTRACT A Parallel, Real-Time Garbage Collector&quot;

by unknown authors
"... We describe a parallel, real-time garbage collector and present experimental results that demonstrate good scalability and good real-time bounds. The collector is designed for share& memory multiprocessors and is based on an earlier collector algorithm [2], which provided fixed bounds on the tim ..."
Abstract - Add to MetaCart
We describe a parallel, real-time garbage collector and present experimental results that demonstrate good scalability and good real-time bounds. The collector is designed for share&amp; memory multiprocessors and is based on an earlier collector algorithm [2], which provided fixed bounds on the time any thread must pause for collection. However, since our earlier algorithm was designed for simple analysis, it had some im-practical features. This paper presents the extensions nec-essary for a practical implementation: reducing excessive interleaving, handling stacks and global variables, reducing double allocation, and special treatment of large and small objects. An implementation based on the modified algo-rithm is evaluated on a set of 15 SML benchmarks on a Sun Enterprise 10000, a 64-way UltraSparc-II multiproces-sor. To the best of our knowledge, this is the first imple-mentation of a parallel, real-time garbage collector. The average collector speedup is 7.5 at 8 processors and 17.7 at 32 processors. Maximum pause times range from 3 ms to 5 ms. In contrast, a non-incremental collector (whether generational or not) has maximum pause times from 10 ms to 650 ms. Compared to a non-parallel, stop-copy collector, parallelism has a 39 % overhead, while real-time behavior adds an additional 12 % overhead. Since the collector takes about 15 % of total execution time, these fea-tures have an overall time costs of 6 % and 2%. 1.
(Show Context)

Citation Context

... to about 25% and that pause times can be reduced from 3 to 1.5 ms. A more systematic and thorough treatment of the work in this paper and our earlier paper [2] canbe found in Cheng's doctoral thesis =-=[5]-=-. 8. CONCLUSION We have presented an implementation of a scalably parallel, concurrent, real-time garbage collector. The collector allows for multiple collector and mutator threads to run concurrently...

Languages, Security

by unknown authors
"... important consideration for certified code systems is the interaction of the untrusted program with the runtime system, most notably the garbage collector. Most certified code systems that treat the garbage collector as part of the trusted computing base dispense with this issue by using a collector ..."
Abstract - Add to MetaCart
important consideration for certified code systems is the interaction of the untrusted program with the runtime system, most notably the garbage collector. Most certified code systems that treat the garbage collector as part of the trusted computing base dispense with this issue by using a collector whose interface with the program is simple enough that it does not pose any certification challenges. However, this approach rules out the use of many sophisticated highperformance garbage collectors. We present the language LGC, whose type system is capable of expressing the interface of a modern high-performance garbage collector. We use LGC to describe the interface to one such collector, which involves a substantial amount of programming at the type constructor level of the language.

A Scheduling Real-time Garbage Collection on Uni-Processors

by Tomas Kalibera
"... Managed languages such as Java and C # are increasingly being considered for hard real-time applications because of their productivity and software engineering advantages. Automatic memory management, or garbage collection, is a key enabler for robust, reusable libraries, yet remains a challenge for ..."
Abstract - Add to MetaCart
Managed languages such as Java and C # are increasingly being considered for hard real-time applications because of their productivity and software engineering advantages. Automatic memory management, or garbage collection, is a key enabler for robust, reusable libraries, yet remains a challenge for analysis and implementation of real-time execution environments. This paper comprehensively compares leading approaches to hard real-time garbage collection. There are many design decisions involved in selecting a real-time garbage collection algorithm. For time-based garbage collectors on uni-processors one must choose whether to use periodic, slack-based or hybrid scheduling. A significant impediment to valid experimental comparison of such choices is that commercial implementations use completely different proprietary infrastructures. We present Minuteman, a framework for experimenting with real-time collection algorithms in the context of a high-performance execution environment for real-time Java. We provide the first comparison of the approaches, both experimentally using realistic workloads, and analytically in terms of schedulability.
Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University