Scheduling in CPU

Embed Size (px)

Citation preview

  • 7/28/2019 Scheduling in CPU

    1/32

    Computer Systems

    Performance Evaluation

    CSCI 8710

    KraemerFall 2008

  • 7/28/2019 Scheduling in CPU

    2/32

    Course Content

    This four-hour course address computer systems performanceanalysis. It introduces the main concepts and techniques neededto plan the capacity of computer systems, predict their futureperformance under different configurations, and design newapplications that meet performance requirements. The course is

    mainly based on the use of analytic queuing network models ofcomputer systems. These techniques are applied to study theperformance of centralized, distributed, parallel, client/serversystems, Web server and e-commerce site performance. Thecourse provides the students with hands-on experience inperformance evaluation through a project. The concept andapplications of software performance engineering are alsocovered.

  • 7/28/2019 Scheduling in CPU

    3/32

    Course Web Site

    http://www.cs.uga.edu/~eileen/8710/

  • 7/28/2019 Scheduling in CPU

    4/32

    Grading Scheme

    Your grade in this course will be calculated as the average of thefollowing: Homeworks -- 10% (A selected subset of the homeworks will be

    graded. )

    Quizzes -- 5% (One per paper presented.)

    Paper presentation -- 10% Midterm Exam -- 25%

    Final Exam -- 30%

    Course project -- 20%

    Letter Grades assigned as follows:

    90

  • 7/28/2019 Scheduling in CPU

    5/32

    Late Policy

    Paper presentations must be ready on the scheduled date. Latesubmissions of projects and homeworks will be accepted with apenalty computed as follows: score = Max_Score *Percentage_Score * (0.90)^(days_late).

    A day is a 24 hour period, rounded up to the nearest day.

    For example: You turn your project in 3 days late, and received a 95% score

    based on the work done. Your recorded score will be:

    score = 100 * (0.95) * (0.90)^3

    score = 100 * (0.95) * (0.729)

    score = 69 Exception

    In the case that a solution is distributed, no project submissionswill will be accepted after distribution of the solution

  • 7/28/2019 Scheduling in CPU

    6/32

  • 7/28/2019 Scheduling in CPU

    7/32

    Textbook

    Performance by Design:

    Computer Capacity Planning

    by Example,

    by Daniel A. Menasce, Virgilio A.F.Almeida, and Lawrence W. Dowdy

  • 7/28/2019 Scheduling in CPU

    8/32

  • 7/28/2019 Scheduling in CPU

    9/32

  • 7/28/2019 Scheduling in CPU

    10/32

    QoS Metrics

    Response time

    Throughput

    Availability

    Reliability

    Security

    Scalability Extensibility

  • 7/28/2019 Scheduling in CPU

    11/32

  • 7/28/2019 Scheduling in CPU

    12/32

    Throughput

    Measured in units of work completed over

    time. Its a rate.

    I/Os/sec

    Page downloads/sec

    HTTP requests/sec

    Jobs/sec

    Transactions per second (tps)

  • 7/28/2019 Scheduling in CPU

    13/32

  • 7/28/2019 Scheduling in CPU

    14/32

    Throughput example

  • 7/28/2019 Scheduling in CPU

    15/32

    Availability

    Fraction of time a system is available

    (i.e.,operational).

    Service interruptions can damage the reputation

    of a company, may endanger lives, and maycause financial disasters.

    A system with 99.99% availability over 30 days is

    unavailable (1-0.9999) x 30 x 24 x 60 = 4.32

    minutes.

  • 7/28/2019 Scheduling in CPU

    16/32

    Availability Problems

  • 7/28/2019 Scheduling in CPU

    17/32

    Admission Control

  • 7/28/2019 Scheduling in CPU

    18/32

    Admission Control

    Improved response time

    Decreased availability

  • 7/28/2019 Scheduling in CPU

    19/32

  • 7/28/2019 Scheduling in CPU

    20/32

    Extensibility

    Property of a system to constantly evolve to

    meet functional and performance

    requirements.

    Autonomic computing, self-managing systems,self-healing systems.

  • 7/28/2019 Scheduling in CPU

    21/32

    Computer System Lifecycle

    Functional requirements: what the system has to do and on what typeof platforms.

    Non-functional requirements: how well the system has to accomplish

    its functions. Service Level Agreements (SLA) are established.

    In many cases, non-functional requirements have been neglected or

    considered only at system test time!

  • 7/28/2019 Scheduling in CPU

    22/32

  • 7/28/2019 Scheduling in CPU

    23/32

    Computer System Lifecycle

    Components are implemented.- some are new

    - some are re-used

    - some are adapted

    Components are interconnected to form a system

    Components should be instrumented as they are built

  • 7/28/2019 Scheduling in CPU

    24/32

  • 7/28/2019 Scheduling in CPU

    25/32

    Computer System Lifecycle

    Configuration parameters have to be set in order to meet the SLAs. e.g., TCP parameters, database poolsize, maximum number of

    threads, etc.

  • 7/28/2019 Scheduling in CPU

    26/32

    Computer System Lifecycle

    Constant monitoring to check if the system is meeting demands: workload (peak periods, unusual patterns)

    external metrics (user-perceived)

    internal metrics (help to detect bottlenecks and to fine tune the system)

    availability (external and internal)

    May need to dynamically adjust configuration parameters

  • 7/28/2019 Scheduling in CPU

    27/32

    Computer System Lifecycle

    Systems may need to evolve to cope with new laws and Regulations(e.g., HIPPA)

    Systems may need to evolve to provide new functions (e.g., sale of

    downloadable MP3 music in addition to CDs)

    How are the IT resources going to cope with evolution in terms ofSLAs?

  • 7/28/2019 Scheduling in CPU

    28/32

    Reference Model for IT

    Business Model:- number of branches

    - number and location of ATMs

    - number of accounts of each type

    -business evolution plans (e.g., mergers)

    Social Model- privacy policy

    - accessibility policy

  • 7/28/2019 Scheduling in CPU

    29/32

    User Model:

    Customer Behavior Model Graph

  • 7/28/2019 Scheduling in CPU

    30/32

    IT Infrastructure: Example

  • 7/28/2019 Scheduling in CPU

    31/32

    Homework #1

    Page 30, #1 and #2 try them, if you can

    Page 30, #3 and #4 write them up

  • 7/28/2019 Scheduling in CPU

    32/32

    Tomorrow

    Paper presentation session 1

    scheduling, selection of papers, discussion of best

    practices