Thank you Alan.
We will take a deeper look and see where it goes.

Best regards,
Ori

On Wed, Feb 1, 2017 at 4:35 PM, Alan Carroll <solidwallofcode@yahoo-inc.
com.invalid> wrote:

> I think it would be possible, it's something that been discussed before.
> You would also need to replace CacheVC which is used as the interface
> between the cache the virtual I/O system inside ATS. I haven't investigated
> that to any serious extent so it's hard to say the overall difficulty. You
> would have replace the entire cache subsystem, the current internals are
> not very compatible with this.
>
> On Monday, January 30, 2017 6:52 AM, Ori Finkelman <o...@qwilt.com> wrote:
>
> *Writing to cache*
> We need to be able to write huge files and be able to receive them in
> chunks (ranges) as they are received over separated requests. When writing
> a chunk of a file we pre-allocate sequential space for the next chunks.
> Small chunks are buffered and written to disk only when enough is
> aggregated across separate requests. This also inherently solves the http
> ranges problem as space is always reserved for ranges which were not yet
> acquired.
>
> *Reading from cache*
> When reading an object we use read-ahead into memory to optimize on IOPS as
> in most cases the next chunks of the objects will be requested within a few
> seconds.
>
> *Evacuation*
> Evacuation should be done based on popularity (for example LRU), and works
> for the whole object together, not per chunk.
> The cyclone-buffer is not ideal for such a use case as the evacuation
> policy is different and we can't pay for the the copy of large objects
> every time the write cursor pass them.
>
>
> Since objects are very large and writing out is done in very large chunks,
> file system overhead is negligible and therefore an architecture relying on
> Linux file system may have benefits, such as the ability to read objects
> from FS rather than via HTTP for debug and analysis.
> It is also possible to implement something which is based on the existing
> cache architecture with the required adaptations.
>
> We are trying to evaluate if implementing such a new cache storage mode is
> possible ? is it reasonable ? were there previous thoughts in such
> directions ?
> I could find in the wiki reference for both large files and ranges
> requests, but no conclusions.
>
> In a fast glimpse, It does look like it would not be very hard to replace
> the existing *CacheProcessor *and *CacheVConnection *with different ones
> which will implement a different cache storage.
>
> Thank you in advance for any feedback.
>
> --
>
> *Ori Finkelman*Qwilt | Work: +972-72-2221647 | Mobile: +972-52-3832189 |
> o...@qwilt.com
>



-- 

*Ori Finkelman*Qwilt | Work: +972-72-2221647 <072-222-1647> | Mobile:
+972-52-3832189 <052-383-2189> | o...@qwilt.com

Reply via email to