[Prev][Next][Index][Thread]

Re: Multi-threading vs. Multi-processing?



At 4:12 PM -0500 1997-02-15, CHRISTOPHER ELIOT wrote:
>I've considered implementing a "poor man's" version of multi-processing by
>putting my graphics onto separate machines with only the computed URLs
>handling by a central server. Would this be useful? 

There are basically three ways to achieve load balancing

	1. Manual allocation of different tasks to different servers
	e.g., image servers vs. computed stext.

	2. DNS Load balancing over cooperating servers.
	Special versions of BIND are available for this at last
	report from NCSA.

	3. Connection balancing via a router (there may be a product by now)_
	or via a dedicated connection server over a server farm.

	4. Multiprocessors on the same machine.

1 and 3 are the preferred methods, 2 does not response rapidly to server
availability. 4 is basically required for any serious applications,
i.e. applications conusming 40mb/sec of bandwith or more like Altavista.
Interestingly, bandwidth costs dominate serious applications, and so
hardware and software costs are lost in the noise -- a point lost on 
vendors living in the past. Network throughput on the platform is
probably more important than CPU for many web applications. Many OSes
have not done a good job on network IO. Dec Alphas are good because
they can saturate 100mb/sec whereas Mac 9500s can't. I don't
know how good Window NT servers are in this regard. As network speeds 
increase, all live  OSes will provide better network i/o.

>
>I'm not sure exactly how best to implement this. I would like some way to
>specify a URL so that I could alter the target server easily. If I write
>#u"page43.html" this maps to the current machine. I would like to write
>#u"/graphics/page43.gif" and #u"/ai-stuff/page43.gif" and have the real
>URLs map onto separate machines, for example
>"http://my-sgi/graphics/page43.gif" and
>"http://my-ppc/ai-stuff/page43.html"

I would imagine that the extended syntax for #u solves the
problem. See documentation for #u in: http://wilson.ai.mit.edu/cl-http/show-documentation?HTTP:EXPORT-URL

Presumably, you load the same exports into both machines.

I would use logical domain names like images.cs.umass.edu
vs pages.cs.umass.edu




References: