The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Generational Scavenging of Store

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Generational Scavenging of Store Posted: Jul 30, 2004 1:21 AM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Generational Scavenging of Store
Feed Title: Travis Griggs - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/travis-rss.xml
Feed Description: This TAG Line is Extra
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Travis Griggs - Blog

Advertisement
GC'ing the Store database is similar but not exactly the same as GC'ing objects in Smalltalk. The end goal is not exactly to reclaim disk space used in the Postgresql database (at least, not yet), but simply to provide a pool of objects that are relevant. In other words, we want to separate the garbage from the current "warm" stuff, but what we do with it differs.

One of the (many) mechanisms employed by many GC systems is generational scavenging. Part of this process involves moving objects from bucket to bucket based on their tenure of existance. Why not do the same with Store?

In the analog, periodically a new OpenRepository is created. As people find stuff they want in it... they replicate it from the previous repository. Creating a new Postgres database backend alongside the existing one is trivial. Like 2.5 minutes of sysadmin time. Desirable packages are replicated forward, "garbage" is left behind. Anyone who shows up wondering where that one package he really wanted is, can go back to the older repositories and get it (and possibly replicate it forward). In this way nothing is lost.

But when to create new versions? I can't think of a better time than at each VW version release. Now this gets powerful. The current repository has a grand mishmash of packages built against VisualWorks versions 5i.something through alpha 7.3. It's not just that there's a raft load of unmaintained stuff, or that people like to use the OR as a staging grounds, but that you can't even know what a given package is relevant to! Having a major repository version which tracks the VW versions simplifies this greatly. Debian users should recognize this policy.

Having proposed that, it really sounds more like the two space flip mechanism, extrapolated out to N temporal spaces.

Read: Generational Scavenging of Store

Topic: My Subscription list Previous Topic   Next Topic Topic: Holy anti-social behavior batman!

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use