USC CSD Home
 

Course Description - CSCI 459, Spring 2004

 
Description
This course provides an introduction to techniques and tools needed to construct and evaluate models of computer systems and applications. The focus of the course is on analytical and simulation methods and corresponding case studies, which are important in computer systems design, capacity planning, performance and reliability evaluation, and decision making. Such techniques have been used in the design of the Internet, peer-to-peer systems, database systems, multimedia systems, OS scheduling policies, parallel and distributed systems, and many more.
 
Who should take this course?
Any student interested in computer and/or communication systems as well as their applications and the related performance issues, especially those interested in networking, distributed systems, databases, multimedia systems, AI, and operating systems. The intent of the course is to provide the tools necessary for evaluating designs of such systems, making decisions in such systems, as well as for gaining insights that can be obtained.
 
Objectives
The course objectives are:
  • Introduce students to fundamentals of probabilistic and stochastic analysis, in the context of both analytical approaches and simulations.
  • Teach students how to apply these techniques to modeling of computer systems and applications.
  • Teach students how to apply modeling and simulation tools to design and evaluation of computer systems and applications.
  • Illustrate application and utility of such techniques through a set of case studies covering a number of computer science areas, such as operating systems, networking, software engineering, databases, artificial intelligence, etc.
 
Tentative Topics Covered
We will cover the following topics:
  • Modeling fundementals:
    • Math tune-up: combinatorics
    • Basic probability
    • Conditional probabilities and Bayes rule
    • Random variables (discrete, continuous)
    • Joint random variables
    • Expected values
    • Simulations, statistical inference
    • Confidence intervals, parameter estimation
    • The Poisson process
    • PASTA and the M/M/1 queue
    • Discrete time Markov chains
    • Continuous time Markov chains
    • Markov chains applications
    • Network of queues: open and closed models
    • Fundamental laws: Little's law, flow balance equations, etc.
    • Asymptotic bounds analysis and applications

  • Case Studies:
    • Processor scheduling
    • Memory management
    • Software architecture design
    • Computer networks
    • Artificial intelligence
    • Databases
 
Text Books and References
Required textbooks are:
 
Workload
There will be a number of homework assignments and two simulation/case study projects. The homeworks might also involve the use of tools, such as CSIM, MATLAB, and so on. The projects will involve the use of CSIM.

Two exams will be given. Any schedule conflicts involving exam dates must be reported to the instructor within one week of the announcement of the exam date.

 
Academic Integrity Policy
Please make sure you read the Academic Integrity Policy of this course.
 
Grading (Tentative)
  • Homeworks:   15%
  • Projects (2):   25%
  • Exam 1:   25%
  • Exam 2:   35%
The weights are approximate and may change by up to 5%.
 

[Last updated Wed Jan 7 2004]    [Please see copyright regarding copying.]