Instructor : Varsha Apte;, CSE, IITB( varsha@cse.iitb.ac.in, IIT Extn : 7731)
Office Hours : Any time I am in office and free. My office is A-408 (KR Building, 4th floor). Check my schedule before coming to meet me.
Evaluation Scheme : For CS 681: 30% End Sem, 25% Midsem, 20% simulation programming project, 20% quizes (two), 5% participation.
For CS 462: 40% End Sem, 25% Midsem, 10% simulation programming assignment, 20% quizes, 5% participation.
Undergraduate level background in Operating Systems and Computer Networks, and Probability and Statistics. Basic implementation skills in a programming language, and scripting language.
The CS 681 course is for Post-graduate students (M.Tech., M.S., Ph.D.), and DD students. The CS 462 course is a Btech4 elective.
Requirements for students auditing: project not required, homeworks not required. Evaluation is based on End-sem (60%), Mid-sem (40%), or End-sem (50%), simulation project (50%). Nearly 100% attendance is required for auditing students.
I am generally open to research scholars/project staff or anybody who wants to "sit in" through the course. However, I will not evaluate them. (Please just inform me if you are going to audit or sit-in.)
This course is a first course on performance evaluation covering the basics of three main evaluation techniques: Measurement, Simulation, and Analytical Modeling. The main focus will be analytical modeling - probability models, Markov models, Queueing models. The course will involve extensive use of mathematical skills. There will be a simulation programming assignment, which involve programming and data crunching using a scripting language (e.g. python or awk). The mathematics needed is a basic knowledge of Probability and Statistics. A brief refresher in probability will be done (combination of self-study+lectures) initially.
The course is about evaluating computer systems and networks, so knowing about systems (operating systems) and networks is useful. In case of networks, while knowledge of minute details of data networking protocols is not required, you must be familiar with the essential behaviour of the protocol. Protocol will be introduced briefly, then analyzed, but even then, you should have read it at least once before it is analyzed in class. In case of systems, familiarity with basic OS mechanisms (e.g. paging, CPU scheduling etc) will be assumed. These will not be explained in class. This year, we will be include examples from virtualization and cloud computing to illustrate basic performance concepts.
To sum it up, to do this course you should like to model systems by deriving and solving mathematical equations, as well as learning about various phenomena empirically (with measurement and simulation experiments).
These analysis techniques will be illustrated using the following and more examples: