git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Add support for parallel HTTP transfers

From
Jon Loeliger <jdl@freescale.com>
Date
Oct 10, 2005, 16:48 UTC
Message-ID
<1128962922.9069.11.camel@cashmere.sps.mot.com>
In-Reply-To
<Pine.LNX.4.63.0510071808071.23242@iabervon.org>
On Fri, 2005-10-07 at 17:39, Daniel Barkalow wrote:
Show 15 quoted lines
> 
> I believe that the situation is the one you describe in your previous 
> message: we determine we need to fetch A and B; we ask for A; we ask for 
> B; we find A isn't available alone, but is available in a pack; we get the 
> pack; we find we now have B (in the pack); the request for B (which would 
> probably fail) is left dangling.
> 
> The only actual problem I can see is if this happens with a whole bunch of 
> objects at the beginning of a big download, and all but one of your 
> connections are left in this state while you download all of the loose 
> objects over the one connection that got the pack.
> 
> I don't know if this is a problem for the new http code, but it could be 
> an issue in general if a transport method allocates resources in 
> prefetch().

So, this sounds like a classic resource scheduling problem with various solutions encoded in many compiler schedulers.

Doesn't this sort of scheduling problem get solved by a two-stage request pipeline model? In particular, you only "semi-request A" and "semi-request B" into a queue. When all of the sub-parts (that are needed) of some pack P have been requested you issue the one request for the common pack P holding all the sub-parts. Then all the sub-parts are can be retired from the queue.

Or am I just now finally catching up? :-)

Thanks, jdl

Previous: Daniel BarkalowNext: Daniel Barkalow
Message 12 of 14 in “Add support for parallel HTTP transfers”
  1. Add support for parallel HTTP transfersNick Hengeveld, Oct 5, 2005
  2. Daniel BarkalowOct 6, 2005
  3. Nick HengeveldOct 7, 2005
  4. Junio C HamanoOct 7, 2005
  5. Nick HengeveldOct 7, 2005
  6. Junio C HamanoOct 7, 2005
  7. Daniel BarkalowOct 7, 2005
  8. Junio C HamanoOct 7, 2005
  9. Nick HengeveldOct 7, 2005
  10. Junio C HamanoOct 7, 2005
  11. Daniel BarkalowOct 7, 2005
  12. Jon LoeligerOct 10, 2005
  13. Daniel BarkalowOct 7, 2005
  14. Junio C HamanoOct 7, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.