moving the eos namespace to persistent memory
play

Moving the EOS namespace to persistent memory Tobias Kapp e - PowerPoint PPT Presentation

Moving the EOS namespace to persistent memory Tobias Kapp e (IT-DSS-DT) tkappe@cern.ch Supervised by Elvin Alin Sindrilaru August 26, 2015 Moving the EOS namespace to persistent memory 1 EOS . . . . . . provides reliable and fast


  1. Moving the EOS namespace to persistent memory Tobias Kapp´ e (IT-DSS-DT) tkappe@cern.ch Supervised by Elvin Alin Sindrilaru August 26, 2015 Moving the EOS namespace to persistent memory 1

  2. EOS . . . • . . . provides reliable and fast data storage. • . . . stores measurements and processed data. • . . . is used by all LHC experiments. • . . . contains roughly 32PB. • . . . has a namespace (100GB) kept in RAM. August 26, 2015 Moving the EOS namespace to persistent memory 2

  3. Problem • Booting into memory from disk is slow. • This limits availability of the service. August 26, 2015 Moving the EOS namespace to persistent memory 3

  4. Non-volatile RAM • Simulated by DIMM RAM with a battery • More sophisticated technologies incoming • Boot speed could benefit from this. • No disk reads to restore changelog. • Consistent representation restored quicker. • Mnemosyne toolchain provided by DSI • EOS used as a ‘testbed’ for further use August 26, 2015 Moving the EOS namespace to persistent memory 4

  5. Non-volatile RAM Persistency is a ‘vertical’ property: • Transactional updates for consistency. • Persistent memory should not point to non-persistent memory. • It transcends some API boundaries. August 26, 2015 Moving the EOS namespace to persistent memory 4

  6. My contribution • Hashtable suitable for transactional use • Instrumentation to benchmark and validate • First integration into EOS codebase August 26, 2015 Moving the EOS namespace to persistent memory 5

  7. Hashtable performance 450 google::dense_hash_map 400 google::sparse_hash_map std::map 350 PersistentHashtable 300 Time (ms) 250 200 150 100 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0 1 Number of entries August 26, 2015 Moving the EOS namespace to persistent memory 6

  8. Hashtable performance 450 google::dense_hash_map 400 google::sparse_hash_map std::map 350 PersistentHashtable 300 Time (ms) 250 200 150 100 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0 1 Number of entries PersistentHashtable scales and can match google::dense hash map! August 26, 2015 Moving the EOS namespace to persistent memory 6

  9. Hashtable memory usage 160 google::dense_hash_map google::sparse_hash_map 140 std::map PersistentHashtable 120 Memory used (MB) 100 80 60 40 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0 1 Number of entries August 26, 2015 Moving the EOS namespace to persistent memory 7

  10. Hashtable memory usage 160 google::dense_hash_map google::sparse_hash_map 140 std::map PersistentHashtable 120 Memory used (MB) 100 80 60 40 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0 1 Number of entries PersistentHashtable has more memory overhead (due to the AVL tree). August 26, 2015 Moving the EOS namespace to persistent memory 7

  11. Future work • Mnemosyne needs upgrade to newer gcc / ICC . • More transactional data structures, for e.g.: • std::string • std::vector • Which data should be kept persistent? • Move those over to persistent memory. • Which transient data can be quickly restored? August 26, 2015 Moving the EOS namespace to persistent memory 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend