Home | Assignments | Journal | Progress | Proposal | Techlab

Document No. 1: Scaling e-Commerce Sites by Amza, et. al.

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

Home