| CS290I - Scalable Internet Services and Systems | |
|
Thorsten von Eicken - UCSB - Winter 2002 |
|
In this project you will run your auction site on three front-end machines, all using the same database on bugatti (4th machine). We will load-balance incoming requests round-robin to your 3 servers. Provide the best performance you can, and make your service resilient to server and machine failures, i.e. we will kill your processes and/or halt the machines, yet your site should remain available.
The test configuration for your service will be as follows:
| hosts | type | function |
| lotus, bentley, daimler | Solaris E450 2-cpu | apache + servlet engine |
| bugatti | Solaris E450 2-cpu | oracle database |
| roadrunner | FreeBSD | load balancer |
| porsche, corvette, maserati | Solaris Ultra-30 | load generators |
Your system must commit each new auction and each bid entered into the web site to persistent store, i.e. the database on bugatti, before returning the HTTP response. That is, if all three web servers failed simultaneously, all new auctions and bids for which a response was received before the crash must be stored in one form or another in the database.
We will provide the following test aids:
We will benchmark your system under the following conditions:
Each of the benchmarks will have requests to display auctions and users in addition to the bidding requests. Probably around 4x to 10x as many display requests as bidding requests.
With each benchmark we will verify that all the auctions were performed correctly and we will measure the total time taken to execute the auctions.
The write-up should expand on the write-up of project 3. The write-up should contain the following sections:
Overall, keep it brief, and focus on the description of the distribution and failure handling.
Wednesday March 13th, after class: we will perform an initial round of benchmarking. This will give you an initial idea of what to expect.
Wednesday March 20th: we will perform the real benchmarking. At this point your system must perform well on the 3 benchmarks.
Friday March 22nd: we will perform a catch-up round of benchmarking. Project write-ups are due by noon in the class homework box.