Download presentation
Presentation is loading. Please wait.
Published byChad Stevenson Modified over 9 years ago
1
The Linux Benchmark Project Randy Appleton Kurt Payne Joe Schmeltzer Carey Stortz http://cs.nmu.edu/~benchmark
2
What We Did We are three undergraduates and a professor. Measured the source code of the kernel several ways. Measured the performance of the kernel several ways. This is undergraduate research, yet useful research.
3
Limitations We are kernel level only. We can describe, but only guess at why.
4
Why Linux? Linux is important. The source code is available. The development process is open. –Early versions available. –Lots of versions available. Linux is cool!
5
Which Kernels All kernels from 2.0.1 to 2.4.0. About 4.5 years of kernels. Taken every three months. –Intervals are by time, not version count. Ordered by version number. –Could have ordered by date. –Justifiable, but not obvious.
6
Counting Lines Counted –All lines –Lines with semicolons or braces –Bytes All the graphs look the same. Exponential growth at 26% per year. Overall, 319% growth from 2.0.0 to 2.4.0.
7
Line Count
8
Comparing Sizes from http://www.dwheeler.com/sloc/redhat71-v1/redhat71sloc.htmlhttp://www.dwheeler.com/sloc/redhat71-v1/redhat71sloc.html Redhat 7.125,000,000 (about) Linux 2.4.2 2,437,470 Mozilla 2,065,224 XFree-86-4.0.3 1,837,608 GCC-2.96 984,076
9
Distribution of Lines Version 2.0.1
10
Distribution of Lines Version 2.4.0-pre9
11
Distribution of Lines Over Time
12
Measuring Performance We used lmbench. Ran at least 5 trials. Averaged the data –Excluding top and bottom value –Excluding any obvious outliers
13
Null Call Performance All system calls use the same mechanism to begin and end. If these mechanisms are slow, then the kernel will always be slow. This measures the overhead for all system calls. The measures the performance of very simple system calls.
14
Null Call Graph
15
Stat Performance Stat is the system call that returns file metadata. Stat is very common. Almost all file system oriented tasks will use stat. Stat speed is determined by the speed of the file system and the directory cache. This data is a combination, with lots of caching.
17
Page Fault Performance A Page fault occurs when the system needs to bring a VM page into RAM. Hard page faults go to disk, and speed is determined by disk speed. Soft page faults recover the page from some other part of RAM, and the speed is determined by the kernel and MMU hardware.
19
Mmap performance Mmap is used to alter the memory map of a process. Mmap is fundemental to how programs using shared libraries begin. Mmap is also used to establish a shared memory region between communicating processes.
21
Context Switching Performance This test uses rings of processes communicating via read/write. Simulates many situations in real life –Processes communicating with the X server. –Commands using pipes. This is not a networking test!
23
Signal handling Performance This measures the time needed to switch processes due to software interrupt. This is a stand-in for measuring the hardware interrupt switch time. Hardware interrupt time is critical for all high speed data throughput.
25
Signal Handling Analysis On Thu, 26 Apr 2001, Linus Torvalds wrote: >I'll take a look at what the signal handling thing >is, although I suspect it's just the cleanup for >eventually getting thread-safe signals and > pthreads semantics.. That might be a small part of it, but from initial profiles it appears that the biggest chunk of it by far is just the new floating point format for supporting the full SSE information…
26
Performance Conclusions Linux is generally getting faster. Extra lines of code are not slowing Linux down. Sometimes, algorithm changes cause a >10x speed improvement. No one knows for a user-level workload. There is no easy record of algorithm changes for Linux.
27
Being Slashdot-ed The research looked interesting. I want to maximize the experience for my students. I submit to slashdot. http://www.slashdot.org They accept!
28
Slashdot-ed, the day after Saw 122,089 hits from 42,645 unique IPs. 99 different nations, including 39 Belarus (39) Luxembourg (39), Iceland (76). The UK had 2,264 hits. Intro translated into French, Spanish, German, Russian, Slovak, Italian. Students absolutely loved it. Received over 300 emails (not all nice).
29
Encouragement Research is fun! Research doesn’t need a national lab. Small efforts can also help.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.