Abstract: We investigate how an e-commerce site can be scaled up from a single machine running a Web server and a database to a cluster of Web server machines and database engine machines. In order to reduce development, maintenance, and installation costs, we avoid modifications to both the Web server and the database engine, and we replicate the database on all database machines. All load balancing and scheduling decisions are implemented in a separate dispatcher. We find that such an architecture scales well for the common e-commerce workload of the TPC-W benchmark, provided that suitable load balancing and scheduling strategies are in place. Key among these strategies is asynchronous scheduling, in which writes complete and are returned to the user as soon as a single instance of the write completes at one of the database engines. The actual choice of load balancing strategy is less important. In particular locality-based load balancing policies, found very profitable for static Web workloads, offer little advantage.
Purpose - To test the handling of workloads on scaled e-commerce sites
Scope - Investigation without modifactions to server and database engine
Background - definition of e-commerce sites, research of scaling of static sites
Development - server, engines
Hypothesis - server architecture with an unmodified engine is scalable for e-commerce sites
Procedure - architecture constructed, data collected
Algorithms - Shortest Queue First, Shortest Execution Length First, Query-Write Scheduling
Data - logged
Results - shopping mode is optimal for asynchronous scheduling
Analysis - results were studied by using the TPC-W benchmark
Conclusion - hypothesis confirmed
Future - other load-balancing schemes
References - 19
Comparison - Focused on research rather than product, more analytical
Document No. 2: Python Robotics, by Blank, et. al.
Abstract: This paper describes Pyro, a robotics programming environment designed to allow inexperienced undergraduates to explore topics in advanced robotics. Pyro, which stands for Python Robotics, runs on a number of advanced robotics platforms. In addition, programs in Pyro can abstract away low-level details such that in- dividual programs can work unchanged across very different robotics hardware. Results of using Pyro in an undergraduate course are discussed.
Purpose - To allow for exploration of topics in advanced robotics
Scope - works with main features of existing programs
Background - widespread use of robotics in undergraduate education
Development - software
Hypothesis - n/a (product, not research)
Procedure - study existing programs, combine features
Algorithms - control systems: artificial neural network, subsumption architecture, fuzzy logic, symbolic planning
Data - n/a (product, not research)
Results - programming environment
Analysis - n/a (product, not research)
Conclusion - product created
Future - maintaining currency in Pyro
References - 12
Comparison - Focused on producing an environment for research, similar in its practicality