Differences

This shows you the differences between two versions of the page.

Link to this comparison view

education:userver_bft [2010/10/19 14:36] (current)
Line 1: Line 1:
 +==== Efficient runtime for BFT systems (Master project) ====
 +
 +
 +=== Introduction ===
 +
 +Current BFT protocols are often implemented in ad-hoc manners, either by reusing existing code, or implementing the system from scratch. Mostly, C/C++ is the language of choice for BFT developer, although there are some examples of using Java. In most cases, implementation is a single-threaded application.
 +
 +The problem with this approach is that there is no correlation between pseudo-code and implemented code. Furthermore,​ implementations may suffer from performance problems, due to poorly written code. Finally, comparison of different algorithms is now affected by different implementation strategies.
 +
 +In order to give a common platform to implement high-performance BFT systems, we propose implementing a multithreaded runtime for running BFT protocol implementation. ​
 +
 +=== Goals of the Project ===
 +
 +The project would consist of:
 +
 +  - Modeling the components of BFT systems.
 +  - Modifying mongrel2 or userver (efficient event-based web-server) to process requests.
 +  - Evaluation of different protocol implementations on new platform.
 +
 +=== Technical Details ===
 +
 +**Responsible:​** [[http://​people.epfl.ch/​nikola.knezevic|Nikola Knežević]] (firstname.lastname@epfl.ch)
 +
 +**Faculty/​laboratory:​** IC/LPD
 +
 +**Programming language:​** ​ C/C++
 +
 +**This project is still available**