IIW-Project: Unlocking the Power of Performance Engineering
Staff
Abstract
In the rapidly-evolving tech landscape, speed and efficiency are the cornerstones of service superiority. Performance engineering, the art of infusing speed and reliability into systems, is a highly sought-after skill. By mastering this, you'll be positioned as a problem-solver within any company, systematically understanding and optimizing the entire system stack.
This project serves as your gateway to the world of performance engineering. It's a hands-on experience where you'll collaboratively overhaul a sub-optimal location tracking service, transforming it to handle a million requests per second, while adding new features to enhance its usability.
Our task is to use continuous location updates from simulated drivers traversing Germany as input to our service. The features you'll develop include:
- Broad statistical analysis across boroughs, municipalities, and federal states.
- In-depth driver statistics, like virtual mileage recorder and average speed.
- Real-time vehicle tracking with geofenced notifications.
- Management of historical time-series data.
While the project emphasizes the creation of a robust, high-speed server backend, it also encourages teamwork and communication. As part of a team, you'll jointly decide on the best approach to problems and implement solutions, mimicking real-world working environments.
The current prototype processes 1200 requests per second without the additional features. Our aim? A single machine adeptly handling a staggering million requests per second. This is not just an opportunity to improve an existing system, but also a chance to innovate, devise new approaches, and experience first-hand how your contributions can enhance system performance.
We understand that the project could be challenging, but worry not. The journey from novice to proficient is paved with learning, making mistakes, and growing from them. This is a safe space to challenge yourself and acquire a new, highly valuable skillset.
Prerequisites
- Basic knowledge of C/C++ programming.
- Familiarity with Linux.
Organisation
- Workload: 6 ECTS = 180 SWS per person
- 1/Week discussion and feedback round with the supervisors
- Self-organized work and design decision during the project
- A jointly written report plus individual reflections and interviews at the end of the semester