CMSC 625 Modeling and Simulation of Computer Systems, Fall 2001

Project Requirements

1. Choose one of the options below:
    Option 1: pick a performance modeling problem from your research topic, your work related area, or any other area of your interest.
    Option 2: below is the description of a performance modeling problem -- you may choose to work on it instead.
2. Analyze the problem in terms of architectural design, workload characteristics, performance metrics.
3. Choose a modeling option -- simulation or analytical techniques or both and design and plan for development.
4. Implement your model using a simulation s/w.
5. Analyze your results
6. Document your results -- a conference style publication is most appropriate.
7. Demonstrate your model and present your results to the class.

Project Milestones

1. Problem Description (1,2, and 3 above) Due : October 1
2. Implementation Plan (3 and 4 above) Due : October 15
3. Preliminary Results and Discussion (5) Due : November 21
4. Final Results Analysis and Documentation (5 and 6) Due : December 10
(We'll schedule a time after Dec 10, for presentation and/or project demonstration)

Performance modeling problem for Option 2
Consider a web based service such as Amazon.com or eBay. Analyze the service in terms of a three-tier architecture consisting of thin clients, web and application servers, and back-end database servers. You should also consider network connectivity -- local and wide-area (Internet). As part of the architectural design, identify significant components and their functions in each tier. In determining workload characteristics, choose an appropriate user population and their access patterns. The access patterns should help you develop various transaction types. As you put this system together, you will have to figure out other details (see above -- part of 1st Milestone). Make assumptions where needed and justify them. Some basic performance metrics you must consider are the transaction response times for various transaction types, system throughput, and device utilization. You could conduct this analysis using a layered approach -- component wise and overall system wise. Through your final analysis, you should determine the individual component as well as the system performance and the bottlenecks if any. Consider changes in the workload over time and predict performance.