Comp150CPA: Clouds and Power-Aware Computing
Classroom Exercise 5
Scalability and elasticity
Spring 2011
group member 1: ____________________________ login: ______________
group member 2: ____________________________ login: ______________
group member 3: ____________________________ login: ______________
group member 4: ____________________________ login: ______________
group member 5: ____________________________ login: ______________
In class we have studied the concepts of server scaling
and service switching, and how they relate to AppEngine development
caveats. Let's explore a bit more about these concepts.
- List the disadvantages of flow-based switching that motivate
a flowless switching model.
- Draw a time-space diagram of a service that makes two queries into the
datastore, and mark the parts that service switching can control.
- In the (strongly consistent) AppEngine datastore, writes don't block.
Draw a time-space diagram of a service that only writes data
into the datastore and does not read anything back from the datastore.
What parts of this diagram can be controlled via service switching?
- Is an array of 10 server instances with flowless
service switching about "twice as fast" as an array of 5 server
instances that host the same services? Why or why not?
- (Advanced) Suppose that you
have a datastore that exhibits eventual consistency, combined
with a flowless service switch. If the datastore is
not strongly consistent, how can the application be written
so that subsequent interactions with the datastore (e.g., service
requests to fetch the results of a prior transaction) retrieve
strongly consistent data?