Opened 9 years ago

Closed 9 years ago

#4940 closed Enhancement (wontfix)

Optimize for SSD

Reported by: ssder Owned by: jordan
Priority: Normal Milestone: None Set
Component: libtransmission Version: 2.52+
Severity: Normal Keywords:
Cc:

Description

Many laptops nowadays have replaced HDDs with SSDs (ex. Apple). The following paper proposes changes to enhance durability of SSDs when using P2P software: FlashLite: A User-Level Library to Enhance Durability of SSD for P2P File Sharing.

Abstract:

Peer-to-peer file sharing is popular, but it generates random write traffic to storage due to the nature of swarming. NAND flash memory based Solid-State Drive (SSD) technology is available as an alternative to hard drives for notebook and tablet PCs. As it turns out, random write is extremely detrimental to the lifetime of SSD drives. This paper focuses on the following problem, namely, P2P file downloading when the target of the download is an SSD drive. We make three contributions: first, analysis of write patterns of downloading program to establish the premise of the problem; second, development of a simple yet powerful technique called FlashLite? to combat this problem, by automatically converting the random writes to sequential writes; third, showing through performance evaluation using modified eMule file downloading program that FlashLite? does change random writes to sequential, and most importantly eliminates about 94% of erase operations of the original eMule program

And here's a real-world example that might save time implementing this - a patch to ctorrent.

Change History (1)

comment:1 Changed 9 years ago by jordan

  • Resolution set to wontfix
  • Status changed from new to closed

Transmission actually had a write pattern similar to this sometime back before 1.0 was released. The downside to this approach is that you lose everything if the index is lost or corrupted -- "Verify Local Data" won't find anything usable.

I wouldn't be opposed to a third-party-maintained patch for this -- or even better, a plugin sometime down the road when Transmission supports plugins -- but I think this is a feature creep item for mainline Transmission.

Note: See TracTickets for help on using tickets.