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

[Testbed-admins] Minibosses (fwd)



Hello,
It was suggested I forward this to this mailing list to
get input from the DETER folk among others.
--------------

Hello,

I've been thinking a bit about scalability and bandwidth usage,
particularly but not solely with the homenet nodes - basically,
it'd be nice to start down the path of decentralising the
functionality of boss with caches of various sorts of data, and
there's a lot of low-hanging fruit there that will give us a
stepping stone towards that end. Initially I am imagining a
"miniboss" in most supplementary testbeds that share a boss/ops
with a main testbed but are network-distant enough that this
scheme would provide significant speedups. The miniboss would
serve the function of providing most non-tmcd/non-bootwhat
functionality of the nodes (we could later begin to experiment
with tmcd-type integration) and eventually we might even allow
for it to be the "front" for a series of nodes that don't share
a public interface with other parts of the testbed - for starters
I'm thinking that it would just contain OSimages, running frisbeed
and a web/ftp server with sync'd files from the real ops. For starters,
this would allow the homenet project to avoid large amounts of traffic
going out over the commodity internet into our infrastructure when
they could fetch the OSImage from a local miniboss.

If we were to do this, we'd start out:
*modifying tmcd to be able to hand out proper URLs
	(FTP might be better than HTTPS for bandwidth concerns)
	for the FreeBSD images to get their OS
*modifying tmcc to be able to understand that and react accordingly
*modifying the support scripts so that if connections to a miniboss
	fail, the client will tell the real boss, which will fallback to
	telling the client to use ops instead
*Figuring out a typical miniboss install, proper syncing to ops, etc

Does this sound sensible? Is it the right design?

--
Pat Gunn
Principal Research Programmer/Analyst, CMCL
School of Computer Science, Carnegie Mellon University