Linux desktop operating system performance Analysis Learning Summary

Source: Internet
Author: User
Tags benchmark

1. What is computer performance

The so-called computer performance (performance) usually refers to the speed of the computer, which is the reciprocal of the program execution time. The program execution time refers to the waiting time after the user sends a task to the computer until he gets the result he needs.

Including:

1. time to access disk and access storage

2.CPU operation Time

3.I/O Action Time

4. operating system overhead time and so on.

2.LinuxDesktop operating system performance analysis significance

1. operating system performance directly affects the performance of the application system

2. performance evaluation results are important reference indicators for users in the process of purchasing the operating system

3. provide guidance for developers to optimize the performance of the operating system

4. provide the basis for the evaluation of the operating system

3.LinuxDesktop operating System performance analysis difficulties

1. applications vary widely

2. too many test points

3. reliance on a variety of factors and characteristics

4. No targeted

5. no practical application prospects

4. How to evaluate the performance of a computer

1. machine-level performance evaluation

Machine-level performance evaluation, including Some basic performance indicators of CPU and memory, availability and effectiveness of computers, machine cost, price and sex / price ratio, is the most important choice for the introduction and purchase of computers.

2. algorithm-level performance evaluation

The algorithm-level performance evaluation method is mainly used for parallel machine evaluation, the first is to evaluate the performance of the parallel algorithm proposed, and then these evaluation methods are also extended to parallel programs.

3. Program-level performance evaluation

Program-level performance evaluation is primarily the use of a set of benchmark test programs (Benchmark) to test and evaluate the performance of a computer system.

5.test program accuracy level

1. Real Program

By running a real-world application , such as a variety of C language compiler programs , Tex text processing software, CAD design tools Spice Wait

2. Core Procedures

It is a small but critical piece of code that is extracted from the actual program to evaluate program performance

3. Small test program

The code length of these test programs is generally within the line, the user can write some small program at any time according to their own purpose, and according to the predicted output ( such as queen problem, sorting problem, number of primes, etc. ) to determine the performance of the machine.

4. Comprehensive Testing Procedures

It is the first to count the operations in a large number of applications, get a variety of operating ratios, and then artificially create a test program at this scale.

6.Benchmark Test6.1meaning

The benchmarking program is used to test and predict the performance of computer systems, revealing the strengths and weaknesses of different structural machines, and providing decisions for users to decide which machine is best suited to their application requirements. The benchmark program attempts to provide an objective and impartial standard for evaluating machine performance.

6.2category

Macro Micro:

The macro-benchmark program (Macro-benchmark) and the micro-benchmark program (Micro-benchmark) are two broad categories. The former uses the computer system as a whole to test its performance, compared to a certain application class to compare different computer systems, so it is very useful to the machine buyer, but it can not reveal the computer system performance good, bad reason. The latter is the nature of testing a particular aspect of a machine, such as CPU speed, memory speed,I/o speed,OS performance, network characteristics, and so on.

Application Category:

Fixed-point performance

Floating-point performance

Web Service Performance

Data processing performance

System software Performance

Scientific and Engineering Computing performance


6.3 Key Benchmark Tools

Lmbench

is maintained by the SGI Larry McVoy , an OS used to test different Unix platforms A portable benchmarking program for the overhead and data transfer capability between the processor, cache, main memory, network, and disk.

Whetstone

A comprehensive benchmarking program designed to compare the floating-point performance of different computers. Lmbench focus on the following kernel components: Scheduler, process management, communications, networking, memory mapping, and file systems.

Dhrystone

Whetstone,a comprehensive benchmark program designed primarily to test the performance of integers and logical operations,Dhrystone cannot predict user program performance, The main disadvantage of these benchmarking programs is that they are more sensitive to compiler procedures.

LinPACK

The benchmark of the test is to solve the speed of the system of linear equations by using the full-precision sub-program of the word length, the result of which is Mflops ( million floating-point arithmetic per second ) as the unit given.

SPEC

The main test is CPU performance, and now emphasizes the development of benchmarking programs that reflect real-world applications, such as actual workloads , and has been extended to customers / server computing, commercial applications,I/O subsystems, etc.

Unixbench

One of the most widely used Unix class operating system performance testing tools, it belongs to the micro-benchmark program, which mainly from the CPU floating Point computing ability to copy different size files in different buffer sizes, pipeline throughput, Process generation speed, system call overhead, and so on to test Linux -related performance.

Xbench

The main test Xwindow graphical interface performance.

IOzone

File System Evaluation tool for read , write re-read Re-write read  Backwards read

strided,fread,fwrite,Random Read,pread , mmap , Aio-read , Aio_write A series of documents I/O performance has been evaluated and is a very useful tool for file system profiling.

Ltp

The largest linux performance test Community Linux Test Project launched an open-source test program that specializes in Linux performance testing research. This project collects various Linux kernel test tools and related materials, and aims to improve Linux by introducing automated tests to linux kernel tests. kernel performance.

6.4 Status and deficiencies

The Linux benchmark program is a microscopic benchmark program that is used to test the nature of a particular aspect of the machine, focusing on CPU speed, memory speed,I/o speed, Network features and so on one aspect or many aspects, the emphasis on the hardware. with the Linux operating system as a whole, the macro benchmark program for Linux operating system performance is not yet available.

The existing Linux testing tools are based on the micro-benchmark program, for the operating system micro-measurable point is too much, write a comprehensive top-down three-layer comprehensive test tool workload is large, and also not much practical value. After all, the application is very diverse, it is not conducive to a limited time to quickly obtain the performance of Linux version of the conclusion.

7.Performance Evaluation Methodology

How to conduct a performance evaluation, a general performance evaluation of the actual solution should include the following three aspects:

1. Let the evaluated system be under the pressure load;

2. Measure the ability of a system to perform specific tasks, time-consuming to perform specific tasks, and CPU Utilization for specific tasks;

3. Improved based on cost-performance considerations. The purpose of the performance evaluation analysis is to help developers better understand the system, identify system bottlenecks, and make corresponding improvements.

8. Three kinds of performance evaluation techniques

1. Analytical Technology (modeling)

Analysis technology is also called modeling analysis, under certain assumptions, there is a function relationship between computer system parameters and performance index parameters, the equations are listed according to the driving conditions of their workload, and solved by mathematical method.

2. Simulation Technology (simulation)

The simulation technology establishes the system model according to the operating characteristics of the evaluated system, establishes the workload model according to the possible workload characteristics of the system, simulates the operation of the evaluated system, designs the simulation experiment, and according to the evaluation target, chooses the relevant factors of the target, obtains the experimental value, then carries on the statistic and the analysis. The technology is characterized by a system that can be used in design or in practice, and can be combined with analytical techniques to form a hybrid system.

3. Measurement technology (measurement)

Measurement technology can only measure the systems that have been put into use, often using different levels of benchmark testing.

9.Workload Selection (Workload)

The workload is to simulate the actual work of the task, a workload it to produce for the evaluation system of the actual work of the application of the typical task, and the task should be a corresponding pressure load system, a good performance evaluation work should include the following basic characteristics.

Measurable

Repeatability

Non-denaturing

Typical

10.top-down analysis method

1. System level : Includes processor, memory, hard disk, network, etc. (Hardware resources)

2. Application Layer (appalication level): including locks, threads, heaps,APIs , etc. (program resources)1

3. Micro-structure Layer (micro-achitecture): including data queue, loop structure,cache optimization and so on.

11. MeasureLinuxmain criteria and parameters for performance evaluation of desktop systems

1. Response times (Elapsed time)

The time spent by the kernel to complete a task ( program ) , such as disk access, memory access, input /

Output waits.

2. CPU time

The execution time of the program in the CPU . The unit is in seconds.

3. CPU Utilization

12.MeasureLinuxmain criteria for performance evaluation of desktop operating systems

Provide a unified, objective, impartial and comparable standard for the evaluation of computers.

1. Authority

Not the imagination of their own, to have reliable theoretical and factual support, the industry widely recognized.

2. systematization

It is not a simple combination of existing benchmark and tools, but a scheme to systematically evaluate the performance of the machine.

It can reflect the whole computer software and hardware comprehensive processing ability, and not simply software or hardware, that is, the same hardware platform testing, can reflect the different operating system performance, and in the same operating system, on different hardware platforms, performance testing should be different.

3. comprehensiveness

Is the overall performance test of the whole machine, is not a simple hardware or a certain aspect of the ability test.

4. Practical

This method is required to have practical value and reference meaning.

5. impartiality

For the purpose of certain interests.

13.How to determine the test load

From the point of view of micro-benchmark theory, the basic performance parameters of the operating system are too many, the basic performance parameters testing includes CPU, memory,I/O, network, operating system, file system, compiler, database performance indicators.

From the macroscopic benchmark test theory, it is much simpler to determine the appropriate workload to simulate representative user work. The determination of the workload needs some theoretical basis, and can draw on the practical results of the existing Linux test Tools.

14.How to testLinuxOperating System Performance

Linux Desktop operating system is the Linux kernel developed in recent years based on the User desktop application of the operating system, the kernel or Linux-based , just add a lot of Windows program , and has made great improvements in user interface and friendliness, making it easier to use and practical.

The key to testing Linux performance is testing Linux kernel performance, and testing Linux kernel performance can be refined into five subsystems. Workload loads can be designed for the five major sub-systems of the kernel.

This article is mainly on the Linux desktop operating system performance evaluation-the author-xiaopeng study summary and induction, interested can refer to this academic paper

Linux desktop operating system performance Analysis Learning Summary

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.