You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Ira Heffan <IH...@topcoder.com> on 2012/08/06 16:04:50 UTC
cache improvements
My company (TopCoder) on behalf of our client (Comcast) would like to make improvements to the range-handling of the ATS cache, basically addressing this issue: https://issues.apache.org/jira/browse/TS-974. For example, as we envision it, after our development effort, the cache will be able to serve requests out of partial objects and get more parts of a file to satisfy a range request.
Our goal for this project is to have the code that we develop accepted back into the mainline project. We would therefore like to discuss our approach in advance with the appropriate ATS maintainers and, to the extent possible, receive feedback on our architecture/design plans as well as the developed code. Is this possible? If so, what is the best way to accomplish this? Our development team has subscribed to this list.
Thanks for any guidance.
-Ira
---
Ira Heffan iheffan@topcoder.com
tel. +1 (860) 734-1474
Re: cache improvements
Posted by "Vickers, Mark" <Ma...@cable.comcast.com>.
On Aug 6, 2012, at 11:44 AM, Nick Kew wrote:
> You should also note that any substantial contribution would
> need IP clearance from yourselves and your clients.
> Details at www.apache.org.
That is our plan. Thanks for your help.
Thanks,
Mark Vickers
VP Software Architecture
Comcast
Re: cache improvements
Posted by Nick Kew <ni...@apache.org>.
On Mon, 6 Aug 2012 10:04:50 -0400
Ira Heffan <IH...@topcoder.com> wrote:
> Thanks for any guidance.
First, please don't post here in a followup to an unrelated message.
You're starting a new topic, so you start a new thread.
Second, do you have or plan a test suite that will demonstrate
the problem you're looking to solve and tell us when it's solved?
The forum to discuss your work is indeed this list. Once you
have ideas firm enough to merit technical discussion, you are
of course welcome to post them here, whether it be to seek
comment on ideas, help with work in progress, or to contribute
finished work back upstream.
If you want to introduce core changes you'll of course have to
explain and justify them. Alternatively if you can do it all
in a plugin (as the JIRA issues suggests) then you can just go
ahead autonomously.
You should also note that any substantial contribution would
need IP clearance from yourselves and your clients.
Details at www.apache.org.
Having said all that, if you are indeed making a significant
contribution in a tricky area, that's great and welcome.
Looking forward to it!
--
Nick Kew
Re: cache improvements
Posted by Leif Hedstrom <zw...@apache.org>.
On 8/6/12 8:04 AM, Ira Heffan wrote:
> My company (TopCoder) on behalf of our client (Comcast) would like to make improvements to the range-handling of the ATS cache, basically addressing this issue: https://issues.apache.org/jira/browse/TS-974. For example, as we envision it, after our development effort, the cache will be able to serve requests out of partial objects and get more parts of a file to satisfy a range request.
This would be complicated, to say the least :). And, as the thread
indicates, needs proper discussions on the mailing lists.
Part of the complication is that you can't just blindly cache any range
request, for any substantially large object, there's a very large number
of possible Range: requests (so, you could end up filling the entire
cache for just a single object if not careful). So, some sort of
minimium size requirements would have to be in place, e.g. chunk the
object into <n>MB pieces. That gets particularly difficult to deal with
now, since a request might cause the CacheSM to read a number of cache
objects to satisfy the request.
We've had a discussion in the past of implementing a way to "background"
fill the entire object into cache. I believe there's at least one bug
filed for this, and there was also a lengthy discussion on the mailing
list. Doing something like this would be substantially easier, but not
as powerful as caching partial objects. While background filling an
object, you might end up having to proxy some number of requests, until
they can be served out of the partially written full-size object. You
also only want to background fill objects that can be cached, and are
likely to get more requests.
>
> Our goal for this project is to have the code that we develop accepted back into the mainline project. We would therefore like to discuss our approach in advance with the appropriate ATS maintainers and, to the extent possible, receive feedback on our architecture/design plans as well as the developed code. Is this possible? If so, what is the best way to accomplish this? Our development team has subscribed to this list.
>
As Nick pointed out, the discussion definitely belongs here. I'd also
encourage to start a Wiki page for collaboration (I don't think there is
one, but double check before creating a new page).
Cheers,
-- Leif
Re: cache improvements
Posted by "Alan M. Carroll" <am...@thought-mesh.net>.
I would like to note that I am actively working on less drastic changes to range handling, specifically to move the range data from the object header to the alternate header. That will be needed before the further improvements here are implemented.
Re: cache improvements
Posted by "ming.zym@gmail.com" <mi...@gmail.com>.
yeah, glad to hear that you guys may take this hard task, and my team
may help on review & guide you on the cache rebuild. as it will be a
tough task, and the redesign of the very low disk layout may introduce
big problem, I'd suggest you post your desgin docs on the cwiki:
https://cwiki.apache.org/confluence/display/TS/Projects
thanks
在 2012-08-06一的 10:04 -0400,Ira Heffan写道:
> My company (TopCoder) on behalf of our client (Comcast) would like to make improvements to the range-handling of the ATS cache, basically addressing this issue: https://issues.apache.org/jira/browse/TS-974. For example, as we envision it, after our development effort, the cache will be able to serve requests out of partial objects and get more parts of a file to satisfy a range request.
>
> Our goal for this project is to have the code that we develop accepted back into the mainline project. We would therefore like to discuss our approach in advance with the appropriate ATS maintainers and, to the extent possible, receive feedback on our architecture/design plans as well as the developed code. Is this possible? If so, what is the best way to accomplish this? Our development team has subscribed to this list.
>
> Thanks for any guidance.
>
> -Ira
>
> ---
> Ira Heffan iheffan@topcoder.com
> tel. +1 (860) 734-1474
--
zym, Zhao Yongming.
aka: yonghao @ taobao.com