Differences
This shows you the differences between two versions of the page.
— |
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** | ||