Print

Print


This pull request contains new version of prefetching targeted for pssasync branch.

It also has one commit which is one one the steps for pss async implementation: I merged Factory and Cache class, so that virtual XrdOucCache::Create() can be left out.
You can view, comment on, or merge this pull request online at:

  https://github.com/xrootd/xrootd/pull/341

-- Commit Summary --

  * Replace Prefetch class with File class to do async reads.
  * Remove ReadInBlocks().
  * Compile success.
  * Implement write queue.
  * Fixes in destruction.
  * Change variable names.
  * Cleanup.e
  * Global limit of RAM resources.
  * Use same lock for RAM and disk download status. Add Prefetch function().
  * Add bit array for prefetch status.
  * Add prefetch option in configuration.
  * Implement prefetch score.
  * Implement prefetch.
  * Cache prefetch score.
  * Remove oboslete member.
  * Move base IO class to separate file.
  * Move base IO class to separate file.
  * Add missing initialization.
  * Add dump log messages.
  * Don't increase ref count to prefetching blocks.
  * Add missing initialization.
  * Remove prefetching block from map in ProcessBlockResponse if it does not have a ref count.
  * Removed failed prefetched block in ProcessRequest().
  * return immediately if read from disk failes in Read().
  * Write statistics in info file.
  * Save score as float.
  * Print info message about prefetch score at the end of destructor.
  * Reserver ram resources in prefetching.
  * Fix class name in log messages.
  * Check write queue size.
  * Change log messages.
  * Fix spelling in log.
  * Add log message in Cache::HaveFreeWritingSlots.
  * Changes in log messages.
  * Unregister file from cache prefetch when it is complete.
  * Temporary change -- Randomize prefetch file list.
  * Keep failed blocks in map.
  * Fix valgrind error in constructor.
  * Handle case where File::Read() does not wait blocks to be processed.
  * Handle case where File::Read() does not wait blocks to be processed.
  * Add util function to release block.
  * Report client error codes in log.
  * Add path info in File::InitiateClose log.
  * Add asserts.
  * Check free writing slots before requesting ram block in File::Read().
  * Increase severity of message if bytes were missed.
  * Fix double read size from direct reads.
  * Fix error in de-registering blocks from write queue at the distruction time. This change solves bug #61.
  * Fix evaluation of prefetch score.
  * Handle failed async requests.
  * Fix error from the previous commit.
  * Set errno in RequestBlock() and RequestBlocksDirect() if failed.
  * Wait for signal in Prefetch() function when there is no open file
  * in Prefetch wait 5ms if ram limit has been reached.
  * Optimize random file access in GetNextFileToPrefetch().
  * Optimize detection of file available for prefetching.
  * DeRegister/Register files in case when they are ready for prefetching.
  * First implementation of File::ReadV().
  * Fix compilation errror.
  * Import vread code from async-vread-baq branch.
  * Add debug print.
  * Parse prefetch entry correctly.
  * Fix bug in VReadProcessBlocks -- removing vector while iterating.
  * Fix iteration in VReadFromDisk.
  * Fix offset in disk reads
  * Review open issues, make it compile.
  * Whitespace changes.
  * pfc.prefetch now takes int argument: max number of blocks to prefetch per file.
  * Merge Factory class into Cache class. This makes OucCache::Create() potentially obsolete.

-- File Changes --

    M src/XrdFileCache.cmake (4)
    M src/XrdFileCache/XrdFileCache.cc (207)
    M src/XrdFileCache/XrdFileCache.hh (87)
    A src/XrdFileCache/XrdFileCacheConfiguration.cc (299)
    D src/XrdFileCache/XrdFileCacheFactory.cc (607)
    D src/XrdFileCache/XrdFileCacheFactory.hh (167)
    A src/XrdFileCache/XrdFileCacheFile.cc (1038)
    A src/XrdFileCache/XrdFileCacheFile.hh (263)
    A src/XrdFileCache/XrdFileCacheIO.hh (45)
    M src/XrdFileCache/XrdFileCacheIOEntireFile.cc (56)
    M src/XrdFileCache/XrdFileCacheIOEntireFile.hh (13)
    M src/XrdFileCache/XrdFileCacheIOFileBlock.cc (34)
    M src/XrdFileCache/XrdFileCacheIOFileBlock.hh (9)
    M src/XrdFileCache/XrdFileCacheInfo.cc (23)
    M src/XrdFileCache/XrdFileCacheInfo.hh (40)
    D src/XrdFileCache/XrdFileCachePrefetch.cc (1018)
    D src/XrdFileCache/XrdFileCachePrefetch.hh (199)
    M src/XrdFileCache/XrdFileCachePrint.cc (5)
    A src/XrdFileCache/XrdFileCachePurge.cc (207)
    A src/XrdFileCache/XrdFileCacheVRead.cc (321)

-- Patch Links --

https://github.com/xrootd/xrootd/pull/341.patch
https://github.com/xrootd/xrootd/pull/341.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/pull/341

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1