Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Speeding up the development cycle: Stash your files on a Solid State Drive

1,391 views

Published on

Solid state drives have recently become easily available. Their performence may provide a way of reducing the time spent on on the development cycle: compiling, packeting and deploying applications. This paper shows promising results by locating the code base and local maven repository on a solid state drive. Initial experiments shows that time spent on waiting for your code to compile may be reduced by 50%.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Speeding up the development cycle: Stash your files on a Solid State Drive

  1. 1. Speeding up the development cycle: Stash your files on a Solid State Drive Harald Søvik
  2. 2. Agenda <ul><li>Thesis: </li></ul><ul><ul><li>Put your build system on a solid state drive </li></ul></ul><ul><ul><li>Reduce build time by 50% </li></ul></ul>
  3. 3. I/O intensive phases <ul><li>Life cycle </li></ul><ul><ul><li>process-resources </li></ul></ul><ul><ul><li>compile </li></ul></ul><ul><ul><li>package </li></ul></ul><ul><ul><li>install </li></ul></ul><ul><li>Plugins </li></ul><ul><ul><li>maven-clean-plugin:clean </li></ul></ul><ul><ul><li>maven-dependency-plugin:copy </li></ul></ul><ul><ul><li>maven-dependency-plugin:unpack </li></ul></ul>
  4. 4. Disk I/O (write req / sec) <ul><li>write intensive: </li></ul><ul><ul><li>delete directories </li></ul></ul><ul><ul><li>copy resources </li></ul></ul><ul><ul><li>compile source files </li></ul></ul><ul><ul><li>install </li></ul></ul>
  5. 5. Disk I/O (read req / sec) <ul><li>read intensive: </li></ul><ul><ul><li>copy resources </li></ul></ul><ul><ul><li>compile </li></ul></ul><ul><ul><li>copy artifacts </li></ul></ul><ul><ul><li>expand artifacts </li></ul></ul><ul><li>average case: </li></ul><ul><ul><li>1000 req/sec </li></ul></ul><ul><ul><li>4.2 ms / req </li></ul></ul><ul><ul><li>4.2 s/s </li></ul></ul>
  6. 6. Solid State Drive <ul><li>available to consumers at budget prices </li></ul><ul><li>better overall search time </li></ul><ul><ul><li><0.1ms vs ~4.2ms </li></ul></ul><ul><li>no moving parts </li></ul><ul><li>better transfer rate on reading small files </li></ul><ul><li>more cache (currently) </li></ul>
  7. 7. Build experiment <ul><li>2 storage technologies </li></ul><ul><ul><li>HDD </li></ul></ul><ul><ul><ul><li>Barracuda 7200.10 SATA2 3.0Gb/s 500GB </li></ul></ul></ul><ul><ul><ul><li>16MB cache, seek ~4.2ms </li></ul></ul></ul><ul><ul><li>SDD </li></ul></ul><ul><ul><ul><li>OCZ Vertex 1275 SDD SATA2 60GB </li></ul></ul></ul><ul><ul><ul><li>64MB cache, seek <0.1ms </li></ul></ul></ul><ul><li>2 file systems </li></ul><ul><ul><li>Windows (NTFS) </li></ul></ul><ul><ul><li>Linux (ext3) </li></ul></ul><ul><li>100 builds each </li></ul><ul><ul><li>no tests </li></ul></ul><ul><ul><li>no pmd </li></ul></ul><ul><ul><li>offline </li></ul></ul>
  8. 8. Build results
  9. 9. Build results ctd <ul><li>windows hdd </li></ul><ul><ul><li>average: 338 sec </li></ul></ul><ul><li>windows ssd </li></ul><ul><ul><li>average: 172 sec </li></ul></ul><ul><li>linux hdd </li></ul><ul><ul><li>average: 162 sec </li></ul></ul><ul><li>linux sdd </li></ul><ul><ul><li>average: 144 sec </li></ul></ul>
  10. 10. Results <ul><li>10 builds / day </li></ul><ul><ul><li>worst case: 3380 sec = 56m 20s </li></ul></ul><ul><ul><li>best case: 1440 sec = 24m </li></ul></ul><ul><li>Δ 32 min / day </li></ul><ul><ul><li>return time ~1 week </li></ul></ul>
  11. 11. Restrictions <ul><li>no tests </li></ul><ul><ul><li>tests are cpu intensive </li></ul></ul><ul><li>no pmd </li></ul><ul><ul><li>pmd are cpu intensive </li></ul></ul><ul><li>no failure </li></ul><ul><ul><li>mtbf = 1,5 Mh </li></ul></ul><ul><li>small files </li></ul><ul><ul><li>hdd burst mode is faster </li></ul></ul>
  12. 12. Conclusion <ul><li>NTFS is to blame </li></ul><ul><ul><li>defragmentation </li></ul></ul><ul><li>Premier combos </li></ul><ul><ul><li>Linux (ext3) SDD / HDD </li></ul></ul><ul><li>Stuck on Windows ? </li></ul><ul><ul><li>Get yourself a SDD </li></ul></ul>
  13. 13. The End <ul><li>http://twitter.com/harals </li></ul><ul><li>http://harals.blogspot.com </li></ul><ul><li>[email_address] </li></ul>

×