patchmldonkey, a multi-networks file-sharing client - Patches: patch #5203, Swarmer: Anti-fragmentation

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #5203: Swarmer: Anti-fragmentation

Submitter:  spiralvoice <spiralvoice>
Submitted:  Mon 26 Jun 2006 08:25:25 PM UTC
   
 
Category:  Bug fixes Priority:  5 - Normal
Status:  Done Assigned to:  None
Open/Closed:  Closed

Sat 15 Jul 2006 11:53:02 AM UTC, comment #2: 

Applied 2006/07/15

spiralvoice <spiralvoice>
Group administrator
Fri 14 Jul 2006 02:44:41 PM UTC, comment #1: 

Updated patch (+1 line for logging):
ftp://ftp.berlios.de/pub/mldonkey/pango/anti-fragmentation_v7.patch

Add another criterion for selecting blocks: prefer blocks already
fully preallocated on disk; That way one can get antifragmentation
benefits without preallocating too much space, specially for downloads
with small chunks (BitTorrent comes to mind).

Only fully preallocated blocks get a higher priority; Also selecting
partially preallocated blocks could have an unwanted "domino effect"
(since network and disk blocks don't match, partially downloaded
chunks will be surrounded by partially preallocated chunks, that would
in turn be picked in priority for downloading, etc. So downloads would
mainly happen in "waves" of up and down block numbers).

(Currently, another download pattern will probably also appear by
selection fully preallocated blocks: blocks will be downloaded in
"clusters" of nearby blocks. Whether this pattern is harmless for file
propagation needs checking).

Untested.

spiralvoice <spiralvoice>
Group administrator
Mon 26 Jun 2006 08:25:25 PM UTC, original submission:  

patch by pango: ftp://ftp.berlios.de/pub/mldonkey/pango/anti-fragmentation_v6.patch

Each file is divided into blocks saved in new option
file_disk_allocation_bitmap in swarmer section of files.ini

Blocksize is computed like this: file_size / 200, rounded up to full megabytes, if bigger than 10MB: 10 MB are used as maximum blocksize. Preallocated blocks are marked file_disk_allocation_bitmap option.

If the block about to be filled with data for the first time its read/written back to disk to allocate the space. Set verbosity to
"verb" to enable logging of preallocation.

spiralvoice <spiralvoice>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #10351:  5203_2.patch added by spiralvoice (14KiB - text/x-patch - updated version, pango v7)
file #10246:  antifrag.patch added by spiralvoice (11KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

 

Follow 5 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2006-07-15 spiralvoice StatusReady For Test Done
    Open/ClosedOpen Closed
2006-07-14 spiralvoice Attached File- Added 5203_2.patch, #10351
2006-07-14 spiralvoice StatusNone Ready For Test
2006-06-26 spiralvoice Attached File- Added antifrag.patch, #10246

Back to the top

Powered by Savane 3.13-4b48.
Corresponding source code