Changes between Version 4 and Version 5 of ProductComparison


Ignore:
Timestamp:
Apr 19, 2008, 4:39:34 AM (10 years ago)
Author:
jtv
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ProductComparison

    v4 v5  
    1 A "one size fits all" choice of swap space management was needed for [http://thaiopensource.org/development/suriyan/ Suriyan], our Debian-based [http://thaiopensource.org/suriyan GNU/Linux distribution] aimed primarily at Thai SMEs.
    2 
    3 Looking for a dynamic solution that didn't require a fixed swap size to be chosen up-front, we came across the well-known [http://cvs.linux.hr/swapd/ swapd 0.2] but it simply didn't work, even in the "improved Debian version."  There is also a [http://www.rkeene.org/oss/swapd/ portable third-party rewrite (swapd 1.2)] that did work, but had several shortcomings:
    4 
     1Swapspace is a one-size-fits-all approach to managing swap space on GNU/Linux systems.  Looking for existing products that might do the job, we came across the well-known [http://cvs.linux.hr/swapd/ swapd 0.2] but it simply didn't work, even in the "improved Debian version."  There is also a [http://www.rkeene.org/oss/swapd/ portable third-party rewrite (swapd 1.2)] that did work, but had several shortcomings:
    52 * required manual configuration
    63 * recommended compiling a modified kernel
     
    118 * based on the source, seemed prone to "leak" swapfiles on disk
    129
    13 This eliminated {{{swapd}}} as an option.  Another candidate was dynswapd.  Written in C++, this program would not suffer from segmentation faults as allocations failed--but it still had significant drawbacks:
    14 
     10This eliminated {{{swapd}}} as an option.  Another candidate was {{{dynswapd}}}.  Written in C++, this program would not suffer from segmentation faults as allocations failed—but it still had significant drawbacks:
    1511 * failed to catch any exceptions, so much the same effect as unchecked {{{malloc()}}}
    1612 * needed C++ runtime libraries
     
    1814 * was entirely devoid of comments and documentation: just code and copyright notices
    1915
    20 The choice to write our own swap manager was not taken lightly; it simply seemed easier to write our own than to adapt what was already there, and facts have borne this out.  Based on the same principles as {{{swapd}}} and {{{dynswapd}}}, Swapspace has some positive traits that set it apart from similar daemons:
    21  * adaptive swapfile sizes; no configuration required, no difficult questiosn during installation
    22  * tries to avoid repeated logging of unneeded information that might fill up disk partitions
     16The choice to write our own swap manager was not taken lightly.  It simply looked easier to write our own than to adapt what was already there, and facts have borne this out.  Based on the same principles as {{{swapd}}} and {{{dynswapd}}}, Swapspace has some positive traits that set it apart from similar daemons:
     17 * adaptive swapfile sizes; no configuration required, no difficult questions during installation
     18 * actively tries to avoid repeated logging of unneeded information that might fill up disk partitions
    2319 * no dynamic resource allocation apart from opening files (and reasonable stack usage)
    2420 * maintainable: adding a new configuration option to the code generally takes less than 20 seconds!