Projects for CS 672 - Computer System Performance Evaluation
Dept. of CS, George Mason University, Spring 1999
Prof. Daniel A. Menasce´


Performance Analysis of a Parallel Application on a Beowulf Cluster
Janani Panchapakesan
Kamlesh Agrawal
Senthilkumar Thiyagarajan

The purpose of this project is to analyse the performance of a parallel application (parallel implementation of the MVA algorithm) on a Beowulf cluster of workstations. The parallel application spawns CPU intensive children which are scheduled on different nodes using an optimal scheduling algorithm. This scheduling policy takes into account the computation time and the data communication time between the nodes. The application has a deterministic model as it is analyzed on a dedicated cluster and as the number of children it spawns are deterministic. We study the effect of the number of processors, CPU speed, network bandwidth and the ratio of computation time and communication time on the parallel application.


Electronic Reserves System: Performance Analysis of a Portable Document Format (PDF) server
Dujdao Udomsin
Hany Morcos
Jamal Faik

This project studies the performance of George Mason University Electronic Reserves System. This facility has been designed to allow instructors to post information relevant to the courses they are teaching. This information is structured as PDF files that users can download from any terminal. While the system has been lightly used in the past, it is expected that its utilization will double next year. In this work, we propose an analytical model of the system and try to anticipate its behavior under the expected growth. The main measure we are interested in is the system response time; which is basically the download time. The system hosts an important number of files that vary in size. Such a variety induces a natural classification of the workload into different clusters. We used the fuzzy c-means (FCM) clustering algorithm to achieve our data categorization. We have run the FCM algorithm until a "good" classification was obtained. We then determined the different system parameters for the different clusters. Subsequently, we built our model as an open model and determined the different system equations. Thereafter, we performed different comparisons of experimentally and analytically obtained results for the sake of model calibration and validation. We modeled the expected growth by changing the values of the arrival rates per class and examining the model related response times. To validate the predicted analytical model, we have simulated the expected growth in arrival rates and compared the experimental and the analytical results. Finally, we discussed the appropriate changes that should be performed on the system if the maximum service level, specified by a download time not exceeding five seconds, is reached.


Capacity Planning And Performance Analysis Of A Web Server (APACHE) Using the Surge Workload Generator
Vaishali Raval
Pramod Pamnani
Mahesh Kuruba

The Objective of the project is to analyze the performance of a web server---APACHE--- by using SURGE as the workload generator. In this Client/Server environment, the web server (APACHE) is started as a process on a Windows NT server (Eeyore.cs.gmu.edu). The client (Workload Generator: SURGE), running on a UNIX machine, mimics as more than one client and generates a workload for the Web Server. At the system level, the system is modeled as a Finite population, Variable service rate performance model. At the Component level, it is modeled as a Multiple-Class Closed model (classes formed on the basis of the file sizes). Using the Windows-NT performance monitor and the log files generated at the client and server machines, we gather the workload characterization parameters which are used to compute the various performance measures.


TCP Latency Prediction in a Fair Bandwidth Allocation Internet Service
Robert Steele
Aiqun Wang,
Greg Weidman

A Network Service Provider (NSP) provides connectivity for assorted Internet Service Providers (ISPs) to internet backbone connections. Service to these ISPs is provided by Permanent Virtual Circuits (PVCs) of guaranteed minimum bandwidth. An NSP also allows some ISPs to take advantage of unused bandwidth on other PVCs with which it shares a physical channel -- sold as a "burst" service. Allocation of this "burst" traffic among customers in a way that assures minimum bandwidth levels among PVCs is accomplished with a Fair Bandwidth Allocation (FBA) algorithm whereby individual packets are labeled as "green," "yellow," or "red" according to the bandwidth usage of their destination ISPs. Different colored packets have different probabilities of being discarded by busy nodes. Changes in these allocations manifest themselves by adjusting the packet discard rate for a particular ISP. ISP customers become aware of these allocations by observed latency. To ISP end users this increase in latency appears as a decreased bandwidth per TCP connection because of the TCP long-fat network window effect. The primary effect observed by the ISP, however, is in latency. To address customer concerns about latency, analysis of collected data from an actual NSP was performed. This analysis identified a misconfiguration of the FBA service. An analytical model of the NSP network was constructed, as well as a simulation in C++. These models were used to predict latency with a corrected configuration. Also, these models were used to recommend a larger bandwidth PVC to one of the ISP customers, with predictions of resulting decreases in latency.


Performance Measurement and Prediction of a Web Application
Jennifer Chau
Surajit Chatterjee
Perry Young

We study an internet-based insurance quote request processing application that uses a workflow engine in the back end. The user requests for an insurance quote are accepted over the web and are processed internally by insurance clerks. The user can ask for a status using another web-based interface at any point of time. A user is notified via e-mail after their requests are processed. User transactions to be monitored and measured are: request for an insurance-quote and request for status on the insurance-quote request workflow process. The Service Level Agreements are: acceptable response time for quote request submission would must not exceed 4 seconds and the acceptable response time for status request after a quote has been submitted but not processed should not exceed 3 seconds. The maximum number of concurrent connections to the system with the above specified response time is 100. We measured the service demand on the web-server, the relational database, object database and workflow process manager. Then, we defined a closed multi-class QN model, where each user transaction is a class, and use the model to predict response time and throughput for a higher number of concurrent users as specified in the SLA. The model was validated for different values of the arrival rate. Software and hardware changes were recommended for the number of connections exceeding 100.


Performance Study of a Message Broker Management Application
Richard Cariens
Pat Feighery
Lance Whitesel

The goals of this project are to: 1) determine the bottleneck in a system used to perform life cycle operations on Message Broker objects, and 2) construct a performance model of the system to predict how: a) it scales under increased load, and b) how proposed changes to the system affect performance. The system "stack" has several components, including a web server, Perl CGI scripts, a C program, and an MQSeries command interpreter. The bottleneck component will be identified by analyzing performance data gathered at each component interface. A performance model of the bottleneck component was constructed using analytical techniques. The model predicts component scalability (e.g., by increasing the model arrival rate), and is used to analyze the performance effects of changing system parameters.


Database Performance Analysis
Thuy-Oanh Nguyen
Rajeev Kamath

This project analyses the performance of the Oracle database server at the IT&E school at GMU. Database tables are built in three different sizes. All queries reported are submitted as embedded SQL statements from a C program. One set of queries is run against the three tables to collect performance data on each table type, and another set of queries which involves table-join are also  performed. We study the effect of the CPU speed, network bandwidth, number of I/Os, and response time of the different queries performed on the database server.


An Analytical Model of www.gmu.edu,
The George Mason University Web Server
Bob Peraino
Nikki Dinh
Quan Dinh

The university does not have an understanding of its web service workload, or the subsequent resource requirements created by this workload. As a result, the university can neither quantify current resource utilization, nor predict future resource needs. Through the use of the capacity planning methodology, this project seeks to describe the current web service workload and resulting resource utilization, predict maximum throughput, and suggest changes that will increase maximum throughput. The project will step through the stages of the capacity planning methodology, to include workload characterization, workload model development and validation, performance model development, performance model calibration and validation, and performance prediction.


HyperLearning Meter Performance Evaluation
Ngon Tran

Computer performance evaluation is a very import issue; the system can cost tremendously in term of money and time in the future if it is not planned and evaluatured to handle the workload carefully. The goal of this project is to evaluate the current performance and the future workload of the HyperLearning Meter server. The HyperLearning Meter is a web-based client/server self-assessment application; it provides tools for instructors and students to create and take tests on-line. By the end of this project, it will be able to answer the following questions: what is the bottleneck on the current system? Which type of request has the longest service time (this can be used to determine what module should be re-structured or re-designed)? What is the maximum number of concurrent users that can be logged on the system? If the workload doubles, what devices need to be upgraded?


Capacity planning for a satellite pager network
Shi Xu
Huey-Wen Kuo

We use computer system perform evaluation techniques to understand and analyze the optimum and limitation of a satellite system. We setup a simulation model and applied it to model a real customer requirement. Then, we calculated and analyzed the data that comes from the real satellite system to get the optimized situation. Using the results, we can design the optimized system architecture of the satellite pager system.


Capacity planning and Performance Analysis of a Library Web Server at GMU
Dileep Tata
Sarath K. Madap

This project is aimed at analyzing capacity and performance issues of a Library Web server at GMU with the present hardware, software, network bandwidth. The Web server runs on a Sun Sparc 20 with dual 150 MHz HyperSparc Processors running on Solaris 2.6. It has a 360 MB RAM. The Web server is Apache 1.3.2 for UNIX and the Database Software is MYSQL 3.22.17 for Solaris 2.6. The Web server is supported by a 100 BaseT Ethernet. We propose an enhanced cost model and workload model to increase the capacity and performance. Since the performance of the server is dependent on processor speed and number, memory, disk speed and capacity, network bandwidth and information it contains and transmits, we intend to study where the problems are before making any major changes to the hardware and software to improve the performance. The study includes, identifying the bottlenecks, measurements at the Web server which includes, connections, arriving requests, data transmitted, response time and errors. We also study the effect of using server side caching and the use of mirrors.


Capacity Planning for an Apache Web Server
Nikolay Bakaltchev
Jim Snyder

This project models a very lightly loaded Apache web server. The predictive accuracy of the model is validated under heavier loading conditions using tools such as Webstone and Wget to synthetically load the server by requesting files representative of the file size distribution currently being accessed by users of the server. The objective is to predict the loading levels that will cause the server to reach saturation.