I did some thinking about this problem, and it occurred to me that we
might be going at this the completely wrong way. Could we reverse-
bloom instance startups?

Here's the basic idea. If apps need to load in/process a bunch of
stuff at startup, why don't we give them the processing power to do
that, but only at the time of startup? Suppose we start up an
instance. For the first 30 seconds of that instance, we give it F16
ranking (that is, 4 times the power of a current F4 instance). For the
next 30 seconds, the instance gets F12 ranking (3 times F4 power). The
next 30 seconds, the instance gets F8 ranking (2 times F4 power).
After that, the instance gets lowered to F4 and remains there for the
rest of its lifespan.

For the first 90 seconds of the instance's lifespan, it gets
turbocharged, and should be able to handle all startup processes and a
few initial requests. The scheduler doesn't need to change; it can
continue feeding requests into cold instances, because even cold
instances will tear through their startup and handle the requests.

Even if this turboboosted time was billed at standard rate, it
wouldn't cost that much; F4 costs 32 cents per instance hour, so F16
would (theoretically) cost 4 times as much, so an F16 instance hour
would cost $1.28 per instance hour. We only need 90 seconds at that
rate, so 3.2 cents. I think paying 3 cents extra per instance startup
is very reasonable, especially if it prevents user-facing cold
instance startups.

It's entirely doable on a technical level too. Amazon AWS has a
similar system where Micro servers can temporarily boost to 2 compute
units, then get lowered to their allotted 1 ECU. Linux has the ability
built-in: see nice/renice http://en.wikipedia.org/wiki/Nice_(Unix)

I'd be interested in hearing if this system is possible within the GAE
hosting system.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to