Computational Systems Engineering Course, Winter 2004/2005Department of Computer Sciences, University of SalzburgProf. Christoph KirschTime, Location: Tue 13-14, Techno-Z, T03; Th 14-16, Techno-Z, T06. First lecture on Oct 7, 2004. Brief overview: This course is an experiment. Within the first 3-4 weeks various concurrency models and operating system concepts will be introduced. E.g., events, threads, signals, semaphores, and sockets will be covered. Then, within the remainder of the semester, all students will, in a team-based effort, develop, implement, and run a simple web server but with state-of-the-art performance. The students will form groups of 2-3 students where each group is responsible for developing some part of the system. The students will choose, buy, and administrate the required hardware (with funding from the Computational Systems Group), install and maintain appropriate operating systems and tools, and develop and implement the server as well as the performance evaluation tools and scenarios. All sources and presentations will be made available on the web. The course hours after the introductory 3-4 weeks will be used for discussions and code reviews. Slides: Goal of the course: Learn how to evaluate a highly concurrent application with high-performance requirements, identify adequate concurrency model, programming paradigm and platform, develop and implement the application and the necessary computational systems infrastructure. Assignments:
Papers on Thread-Based and Event-Driven Programming:
Web sources: Capriccio, The C10k Problem, State Threads, Accelerating Apache.
Grading: 10% paper summaries, 20% home work, 70% project. Mailing list: cst-winter-2004 @ cs . uni-salzburg . at Prerequisites: C programming experience, basic knowledge of operating system concepts. Restrictions: Course language is English or German. Administrative contact: Petra . Kirchweger @ cs . uni-salzburg . at |