cs454/654

Distributed Systems

Cheriton School of Computer Science
University of Waterloo

CS 654 Project

Project proposals are due no later than 25 October 2024 (send it electronically as a PDF file to the instructor).
Projects are due no later than 3 December 2024 (send it electronically as a PDF file to the instructor).

Projects:

System Performance Comparison:  You can pick alternative algorithms/protocols for a particular problem and  define and implement a testbed environment in which to evaluate their relative performance and report on the results of your evaluation.   For example, you may choose to compare various distributed algorithms, replication methods, web caching protocols, security protocols as they apply to a particular application (e.g., e-commerce), or transaction protocols.  Your testbed/model is not required to support a wide range of application domains, but should be focused and realistic for one environment.  In your project proposal you should describe the alternatives you wish to compare, how you will implement your testbed or define your model, what the environment is, and how you will conduct and report on the tests.

Critical Examination of a Distributed Systems Problem:  Evaluate proposed solutions to a current distributed computing research problem of your choosing.  You may wish to examine a topic specific to some application domain (such as e-commerce, web services or tele-health), a topic within some application environment (such as Web data mining, resource discovery, data integration, or querying/searching the Web, Web caching, real-time systems), or a topic specific to distributed systems (such as election algorithms, replication protocols, or data security). Your evaluation must summarize and compare various approaches  to address the problem, identifying  their limitations and relative strengths and weaknesses.  A critical comparison that offers some insight into the problem and the proposed solutions will be viewed much more favourably than a superficial comparison that simply rehashes the content of various articles.

As a starting point, you may wish to look at some recent conference papers, for example those that have appeared in the ACM Symposium on Distributed Computing, IEEE International Conference on Distributed Computing Systems, ACM Transactions on Computer SystemsACM Transactions on Internet Technology, IEEE Transactions on Parallel and Distributed SystemsInternational Symposium on Distributed Objects and Applications, IEEE International Symposium on High Performance Distributed Computing. Also, database people have worked on these and related topics; so you should check ACM SIGMOD International Conference on Management of Data (SIGMOD), the International Conference on Very Large Data Bases (VLDB), the ACM Symposium on Principles of Database Systems (PODS), the IEEE International Conference on Data Engineering (ICDE), ACM Transactions on Database Systems, IEEE Transactions on Knowledge and Data Management, VLDB Journal, and Distributed and Parallel Databases Journal.  The proceedings of all of these conferences and the journals are available through the UW library.  The first three can also be accessed (and searched) on-line through the ACM Digital Library.    (UW maintains a campus-wide subscription to the ACM Digital Library and IEEE Digital Library, so you should be able to search it and retrieve from it if you are coming from any machine on the UW campus network.)  You may also be interested in exploring Michael Ley's databases and logic programming bibliography server (it actually has much wider coverage than its name suggests), which is searchable and contains many links to on-line papers.  In your project proposal you should describe the problem, indicate at least two approaches that have been proposed as (partial) solutions, and identify some of the key papers you expect to evaluate.

Project Proposals:

You must prepare a project proposal and submit it by 25 October 2024.  Your proposal will be returned to you as quickly as possible, either approved or not approved.  If it is not approved, you will be expected to revise and resubmit it.   Since your (approved) proposal defines the scope of your project, your project may not be submitted until your proposal has been approved. Additionally, proposals should include a list of references that are most related to the work to be pursued in the proposal.

Proposals must be short -- no more than two pages in length when printed. Each proposal should include your name(s), your student ID(s), and your e-mail address(es). Proposals must be submitted electronically, by attaching them to an e-mail message directed to your course instructor. Proposals must be submitted as a PDF file.

Project Evaluation:

The final project reports should be written as if they are being submitted to a conference or a journal. The papers that you read should give you sufficient background to understand what is required. You can also talk to the instructor when you need to. The final project report should be about 10-15 pages in length.

System evaluation projects will be evaluated based on the following criteria:

  • Correctness (50%): Is the model correct?  Is it realistic? Have the performance measurements followed reasonable assumptions?
  • Presentation (30%): Are the project deliverables well-organized?  Is the background and related work properly discussed? Is the model properly described and the results properly discussed?
  • Completeness (20%): Is the project as it was proposed to be?
Critical evaluation projects will be evaluated based on the following criteria:
  • Correctness (40%):  Is the content technically sound?  Are statements and assertions justified with compelling supporting evidence?
  • Originality and Depth (20%):  Is the comparison well thought out?  Does it include original observations of some substance, or is it superficial?
  • Presentation (20%):  Is the evaluation clearly written, well-organized, and readable (spelling, grammar)?
  • Completeness (20%): Is the project as it was proposed to be?