The New Linux perf tools
|
|
|
- Adam Sparks
- 9 years ago
- Views:
Transcription
1 The New Linux perf tools Linux Kongress September, 2010 Arnaldo Carvalho de Melo
2 Presentation Flow. Motivation. Focus on the tools. But some kernel details will be mentioned. Some demos hopefully at the end
3 How did I get involved?. I am no specialist on performance counters. pahole & the dwarves. ELF, DWARF, symtabs, dynsyms, relocations, etc. ftrace
4 How did I get involved? Part two. Part of the Red Hat Real Time team. We need to discover why 100us deadlines are not being met. Why this is slower on your RT kernel than on the RHEL one?. Observability tooling!. Huge educational value, use it!
5 Renewed interest in profiling tools. Complexity of systems growing. Pervasiveness of multithreading. Hardware assists
6 Performance Counters. Performance counters are special hardware registers. Available on most modern CPUs. Count the number of some hw events instructions executed cache-misses suffered branches mispredicted. Without slowing down the kernel or applications. Can trigger interrupts when a number of events have passed
7 Limited resource: Some are programmable, some are for specific events. Processor: UltraSparc 2 Pentium III 2 Athlon 4 IA-64 4 POWER4 8 Pentium IV 18 Nehalem 7
8 Tracepoints Static probe points that are put in place by subsystem maintainers and that can be enabled later.
9 Dynamic probe points Dynamicly inserted probe points using hardware breakpoints.
10 The oprofile development problem. Disconnected kernel & userspace development. Linus problem with Atom and Nehalem support. Less of the "2 broken pieces" approach -> one working piece.
11 The perf user interface approach. git like. Many subcommands. Per thread/per workload/per CPU/system wide. No daemons
12 The perf development approach. Tools hosted in the kernel sources: tools/perf/. Subcommands can be developed largely independently. Developers expected to touch both sides (kernel/user). Written in the C idiom used in the kernel. Shares code with the kernel (rbtree, list, more to come)
13 The new implementation approach. Just one new syscall: sys_perf_counter_open. Returns a file descriptor. read/write/mmap/close/fcntl/ioctl/poll work as usual. Per thread/cpu/whole system. Transparent inheritance support Full workloads can be measured Without using ptrace methods to follow forks & clones. Events mapped to closest per arch hw counter. Possible to use raw events. Supports tracepoints. Software counters (hrtimer based or not). Dynamic probes (kprobes, uprobes)
14 sys_perf_counter_open - The syscall - event type attributes for monitoring/sampling - target pid - target cpu - group_fd - flags
15 sys_perf_counter_open - event type - PERF_TYPE_HARDWARE - PERF_TYPE_SOFTWARE - PERF_TYPE_TRACEPOINT - PERF_TYPE_HW_CACHE - PERF_TYPE_RAW (for raw tracepoint data)
16 sys_perf_counter_open - attr.sample_type - bitmask - PERF_SAMPLE_IP - PERF_SAMPLE_TID - PERF_SAMPLE_TIME - PERF_SAMPLE_CALLCHAIN - PERF_SAMPLE_ID - PERF_SAMPLE_CPU
17 sys_perf_counter_open - attr config bitfield - disabled: off by default - inherit: children inherit it - exclude_{user,kernel,hv,idle}: don t count these - mmap: include mmap data - comm: include comm data - inherit_stat: per task counts - enable_on_exec: next exec enables
18 Architectures already supported. x86: p6, core+, k7+, p4. ppc64. sparc: ultra 3 & 4. arm: v5 (xscale), v6, v7 (Cortex A8 & A9). alpha: EV56 and later. sh: 4A. Others supporting just software/ftrace events
19 Tools. git like: subcomands $ perf help annotate Read perf.data and display annotated code archive Create archive with object files with build-ids diff Read perf.data files and display differential profile kmem Tool to trace/measure kernel memory(slab) properties list List all symbolic event types lock Analyze lock events probe Define new dynamic tracepoints record Run a command and record its profile into perf.data report Read perf.data and display the profile sched Tool to trace/measure scheduler properties (latencies) stat Run a command and gather performance counter statistics top System profiling tool. trace Read perf.data and display trace output
20 perf list $ perf list List of pre-defined events (to be used in -e): cpu-cycles OR cycles [Hardware event] instructions [Hardware event] cache-references [Hardware event] cache-misses [Hardware event] branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event]
21 perf list - continued cpu-clock [Software event] task-clock [Software event] page-faults OR faults [Software event] minor-faults [Software event] major-faults [Software event] context-switches OR cs [Software event] cpu-migrations OR migrations [Software event]
22 perf list - continued L1-dcache-loads [Hardware cache event] L1-dcache-load-misses [Hardware cache event] L1-dcache-stores [Hardware cache event] L1-dcache-store-misses [Hardware cache event] L1-dcache-prefetches [Hardware cache event] L1-dcache-prefetch-misses [Hardware cache event] L1-icache-loads [Hardware cache event] L1-icache-load-misses [Hardware cache event] L1-icache-prefetches [Hardware cache event] L1-icache-prefetch-misses [Hardware cache event]
23 perf list - continued LLC-loads [Hardware cache event] LLC-load-misses [Hardware cache event] LLC-stores [Hardware cache event] LLC-store-misses [Hardware cache event] LLC-prefetches [Hardware cache event] LLC-prefetch-misses [Hardware cache event]
24 perf list - continued dtlb-loads [Hardware cache event] dtlb-load-misses [Hardware cache event] dtlb-stores [Hardware cache event] dtlb-store-misses [Hardware cache event] dtlb-prefetches [Hardware cache event] dtlb-prefetch-misses [Hardware cache event] itlb-loads [Hardware cache event] itlb-load-misses [Hardware cache event] branch-loads [Hardware cache event] branch-load-misses [Hardware cache event] rnnn [raw hardware event descriptor]
25 perf list - example of tracepoints block:block_rq_insert [Tracepoint event] jbd2:jbd2_start_commit [Tracepoint event] ext4:ext4_allocate_inode [Tracepoint event] kmem:kmalloc [Tracepoint event] module:module_load [Tracepoint event] workqueue:workqueue_execution [Tracepoint event] timer:timer_expire_{entry,exit} [Tracepoint event] timer:hrtimer_start [Tracepoint event] irq:irq_handler_{entry,exit} [Tracepoint event] irq:softirq_{entry,exit} [Tracepoint event] sched:sched_{wakeup,switch} [Tracepoint event] syscalls:sys_{enter,exit}_epoll_wait [Tracepoint event]
26 perf stat $ perf stat ls Makefile Makefile Performance counter stats for ls Makefile : task-clock-msecs # CPUs 0 context-switches # M/sec 0 CPU-migrations # M/sec 240 page-faults # M/sec cycles # M/sec instructions # IPC cache-references # M/sec 1788 cache-misses # M/sec $ seconds time elapsed
27 perf stat - statistic $ perf stat -r 5 sleep 5 Performance counter stats for sleep 5 (5 runs): $ task-clock-msecs # CPUs ( % ) 1 context-switches # M/sec ( % ) 0 CPU-migrations # M/sec ( +- nan% ) 176 page-faults # M/sec ( % ) cycles # M/sec ( % ) instructions # IPC ( % ) cache-references # M/sec ( % ) 2074 cache-misses # M/sec ( % ) seconds time elapsed ( % )
28 perf top - loading firefox PerfTop: 705 irqs/sec kernel:60.4% [1000Hz cycles] sampl pcnt function DSO % read_hpet [kernel.kallsyms] % pthread_mutex_lock /lib/libpthread-2.12.so % delay_tsc [kernel.kallsyms] % aes_dec_blk [aes_i586] % drm_clflush_pages [drm] % system_call [kernel.kallsyms] % memcpy_ssse3 /lib/libc-2.12.so % strstr_ia32 /lib/libc-2.12.so % unix_poll [kernel.kallsyms] % ieee754_pow /lib/libm-2.12.so % do_select [kernel.kallsyms] % pixman_rasterize_edges libpixman-1.so % _raw_spin_lock_irqsave [kernel.kallsyms] % _int_malloc /lib/libc-2.12.so ^C $
29 perf record. No daemons. Callchains. Output to different files. Feed to other tools. Outputs just into the regular filesystem. No separate oprofile repository of sample files. Files are next to the project you are working on. Can record events on a task, on a CPU or on the whole system. Records the build-ids
30 perf record example $ cd firefox.data $ perf record --pid pidof firefox ^C[ perf record: Captured and wrote MB perf.data (~53065 samples) ] $ ls -sh perf.data 1,3M perf.data
31 perf report. Lazy/Late symbol resolution by build-ids, when present. Picks what is available. -debuginfo packages,.symtab,.dynsym. --fractal, --graph. Supports JATO generated symbol tables for JAVA JIT profiling. Automatically pick them from the dso name. Cross platform support/offline report
32 perf report example $ perf report -C firefox --sort comm,dso # Samples: # Overhead Shared Object # % /usr/lib64/xulrunner-1.9.1/libxul.so 30.29% /usr/lib64/xulrunner-1.9.1/libmozjs.so 19.39% [kernel] 3.69% /usr/lib64/firefox-3.5/firefox 2.48% /lib64/libpthread so 1.78% /lib64/libnspr4.so 0.98% /usr/lib64/libjpeg.so % /lib64/libglib-2.0.so % /lib64/libc so 0.55% /usr/lib64/libsqlite3.so $
33 $ perf report example 2 $ perf report # Samples: # Overhead Shared Object Symbol # % [kernel] vread_hpet 7.51% /lib64/xulrunner/libxul.so SelectorMatches(RuleProcessorData&, nscssselecto 5.82% /lib64/xulrunner/libmozjs.so js_interpret 2.90% /lib64/firefox-3.5/firefox 0x dd % /lib64/xulrunner/libxul.so SelectorMatchesTree(RuleProcessorData&, nscsssel 1.50% /lib64/xulrunner/libmozjs.so js_invoke 1.46% /lib64/xulrunner/libmozjs.so js_internalinvoke 1.42% /lib64/xulrunner/libmozjs.so js_lookuppropertywithflags 1.31% /lib64/xulrunner/libxul.so nsattrvalue::contains(nsiatom*, nscasetreatment) 1.27% /lib64/libpthread so pthread_mutex_lock_internal 1.22% /lib64/xulrunner/libmozjs.so js_getpropertyhelper 1.12% /lib64/xulrunner/libmozjs.so js_executeregexp 1.10% /lib64/xulrunner/libmozjs.so js_searchscope $
34 perf report -g - Callchains - Needs -fno-omit-frame-pointer - Register pressure on IA32. Fedora 13 seems to have it enabled
35 perf report -g # Samples: # Overhead Command Shared Object Symbol # % pahole /usr/lib64/libdw so [.] libdw_find_attr %-- libdw_findabbrev %-- die process_tag cus load_module cus process_dwflmod dwfl_getmodules_internal %-- Dwarf_Abbrev_Hash_find %-- die process_function %-- die create_new_lexblock %-- die process_function %-- die process_tag cus load_module cus process_dwflmod dwfl_getmodules_internal %-- die create_new_lexblock <SNIP>
36 perf report TUI - Integrates report and annotate - Zoom operation for thread and DSO - Will support based on context (hard, soft IRQ, etc))
37 perf report - TODO. Really big files take long to load. Progressive loading, kinda similar to perf top. Snapshots updated to the screen every N seconds
38 perf annotate. similar purpose as opannotate. colors for hot lines. still uses objdump. need to make objdump -S use the source in -debuginfo pkgs. TUI allows tabbing thru hot spots, starts on hottest line
39 Another perf report example $ perf record -g pahole vmlinux > /tmp/vmlinux.pahole [ perf record: Captured and wrote MB perf.data (~ samples) ] $ perf report -g none -C pahole -d libdwarves.so # dso:./build/libdwarves.so # comm: pahole # Samples: # Overhead Symbol # % [.] tag recode_dwarf_type 10.81% [.] namespace recode_dwarf_types 10.49% [.] die process_class 10.20% [.] cu find_base_type_by_sname_and_size 6.15% [.] strings compare 4.93% [.] tag init 4.29% [.] cus load_module 3.99% [.] list for_all_tags 3.71% [.] tag size 2.95% [.] die process_tag 2.38% [.] cu table_add_tag 2.28% [.] class_member cache_byte_size 1.87% [.] strings add 1.86% [.] dwarf_attr@plt 1.75% [.] die create_new_subroutine_type
40 What is happening in tag recode_dwarf_type? Percent Source code & Disassembly of libdwarves.so : Disassembly of section.text: : ae0 <cu table_add_tag>: <SNIP> : struct dwarf_tag *tpos; : struct hlist_node *pos; : uint16_t bucket = hashtags fn(id); : const struct hlist_head *head = hashtable + bucket; : : hlist_for_each_entry(tpos, pos, head, hash_node) { : 11870: d0 mov %rdx,%rax : if (tpos->id == id) 0.04 : 11873: 75 eb jne <tag recode_dwarf_type+0x4e0> 0.60 : 11875: e9 c7 fe ff ff jmpq <tag recode_dwarf_type+0x3c1> 0.00 : 1187a: 66 0f 1f nopw 0x0(%rax,%rax,1) : : dtype = dwarf_cu find_type_by_id(cu->priv, dtag->containing_type) <SNIP>
41 Integration with other tools. ftrace perf ftrace proposed as a start. Oprofile Keep userspace utilities as-is, use perf kernel bits Generic perf backend for oprofile from sh/arm Counter multiplexing added, first seen in perf land Reduce the feature gap, future merge. sysprof Converted to the perf events infrastructure. PAPI Has support since in version.
42 Thanks n Links. Thanks to Ingo, Thomas, PeterZ, Rostedt, Frederic, Mike, Paul. And everybody else contributing and testing these new tools. tools/perf/documentation/examples.txt (in the kernel tree). tools/perf/design.txt. git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git. Performance Counters on Linux: v8: This presentation: Arnaldo Carvalho de Melo [email protected]
Performance Counters on Linux
Performance Counters on Linux The New Tools Linux Plumbers Conference, September, 2009 Arnaldo Carvalho de Melo [email protected] How did I get involved?. I am no specialist on performance counters. pahole
Perf Tool: Performance Analysis Tool for Linux
/ Notes on Linux perf tool Intended audience: Those who would like to learn more about Linux perf performance analysis and profiling tool. Used: CPE 631 Advanced Computer Systems and Architectures CPE
<Insert Picture Here> Tracing on Linux
Tracing on Linux Elena Zannoni ([email protected]) Linux Engineering, Oracle America November 6 2012 The Tree of Tracing SystemTap LTTng perf DTrace ftrace GDB TRACE_EVENT
<Insert Picture Here> Tracing on Linux: the Old, the New, and the Ugly
Tracing on Linux: the Old, the New, and the Ugly Elena Zannoni ([email protected]) Linux Engineering, Oracle America October 27 2011 Categories of Tracing Tools Kernel Tracing
System/Networking performance analytics with perf. Hannes Frederic Sowa <[email protected]>
System/Networking performance analytics with perf Hannes Frederic Sowa Prerequisites Recent Linux Kernel CONFIG_PERF_* CONFIG_DEBUG_INFO Fedora: debuginfo-install kernel for
Perf for User Space Program Analysis
Perf for User Space Program Analysis 30 May, 2013 Tetsuo Takata, Platform Solutions Business Unit, System Platforms Sector NTT DATA CORPORATION 2 Agenda 1. Introduction 2. What is perf? 3. Usage and usecases
PERFORMANCE TOOLS DEVELOPMENTS
PERFORMANCE TOOLS DEVELOPMENTS Roberto A. Vitillo presented by Paolo Calafiura & Wim Lavrijsen Lawrence Berkeley National Laboratory Future computing in particle physics, 16 June 2011 1 LINUX PERFORMANCE
Linux Profiling at Netflix
Feb 2015 Linux Profiling at Netflix using perf_events (aka "perf") Brendan Gregg Senior Performance Architect Performance Engineering Team [email protected] @brendangregg This Talk This talk is about
Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo ([email protected]) ARM R&D December 2012
Visualizing gem5 via ARM DS-5 Streamline Dam Sunwoo ([email protected]) ARM R&D December 2012 1 The Challenge! System-level research and performance analysis becoming ever so complicated! More cores and
Realtime Linux Kernel Features
Realtime Linux Kernel Features Tim Burke, Red Hat, Director Emerging Technologies Special guest appearance, Ted Tso of IBM Realtime what does it mean to you? Agenda What? Terminology, Target capabilities
A Study of Performance Monitoring Unit, perf and perf_events subsystem
A Study of Performance Monitoring Unit, perf and perf_events subsystem Team Aman Singh Anup Buchke Mentor Dr. Yann-Hang Lee Summary Performance Monitoring Unit, or the PMU, is found in all high end processors
STUDY OF PERFORMANCE COUNTERS AND PROFILING TOOLS TO MONITOR PERFORMANCE OF APPLICATION
STUDY OF PERFORMANCE COUNTERS AND PROFILING TOOLS TO MONITOR PERFORMANCE OF APPLICATION 1 DIPAK PATIL, 2 PRASHANT KHARAT, 3 ANIL KUMAR GUPTA 1,2 Depatment of Information Technology, Walchand College of
Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney
Frysk The Systems Monitoring and Debugging Tool Andrew Cagney Agenda Two Use Cases Motivation Comparison with Existing Free Technologies The Frysk Architecture and GUI Command Line Utilities Current Status
Valgrind BoF Ideas, new features and directions
Valgrind BoF Ideas, new features and directions Everybody! Valgrind developers and users are encouraged to participate by joining the discussion. And of course by kindly (or bitterly:) complain about bugs
Performance Counter. Non-Uniform Memory Access Seminar Karsten Tausche 2014-12-10
Performance Counter Non-Uniform Memory Access Seminar Karsten Tausche 2014-12-10 Performance Counter Hardware Unit for event measurements Performance Monitoring Unit (PMU) Originally for CPU-Debugging
Compilers and Tools for Software Stack Optimisation
Compilers and Tools for Software Stack Optimisation EJCP 2014 2014/06/20 [email protected] Outline Compilers for a Set-Top-Box Compilers Potential Auto Tuning Tools Dynamic Program instrumentation
KVM & Memory Management Updates
KVM & Memory Management Updates KVM Forum 2012 Rik van Riel Red Hat, Inc. KVM & Memory Management Updates EPT Accessed & Dirty Bits 1GB hugepages Balloon vs. Transparent Huge Pages Automatic NUMA Placement
Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda
Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through
Eloquence Training What s new in Eloquence B.08.00
Eloquence Training What s new in Eloquence B.08.00 2010 Marxmeier Software AG Rev:100727 Overview Released December 2008 Supported until November 2013 Supports 32-bit and 64-bit platforms HP-UX Itanium
Hardware performance monitoring. Zoltán Majó
Hardware performance monitoring Zoltán Majó 1 Question Did you take any of these lectures: Computer Architecture and System Programming How to Write Fast Numerical Code Design of Parallel and High Performance
A Survey of Linux Measurement and Diagnostic Tools
A Survey of Linux Measurement and Diagnostic Tools When the performance of your embedded Linux device is inadequate, how do you understand what the problem is? This presentation will provide an overview
Migration of Process Credentials
C H A P T E R - 5 Migration of Process Credentials 5.1 Introduction 5.2 The Process Identifier 5.3 The Mechanism 5.4 Concluding Remarks 100 CHAPTER 5 Migration of Process Credentials 5.1 Introduction Every
Performance Monitor on PowerQUICC II Pro Processors
Freescale Semiconductor Application Note Document Number: AN3359 Rev. 0, 05/2007 Performance Monitor on PowerQUICC II Pro Processors by Harinder Rai Network Computing Systems Group Freescale Semiconductor,
RTOS Debugger for ecos
RTOS Debugger for ecos TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... RTOS Debugger... RTOS Debugger for ecos... 1 Overview... 2 Brief Overview of Documents for New Users... 3
A Brief Survery of Linux Performance Engineering. Philip J. Mucci University of Tennessee, Knoxville [email protected]
A Brief Survery of Linux Performance Engineering Philip J. Mucci University of Tennessee, Knoxville [email protected] Overview On chip Hardware Performance Counters Linux Performance Counter Infrastructure
Virtual Private Systems for FreeBSD
Virtual Private Systems for FreeBSD Klaus P. Ohrhallinger 06. June 2010 Abstract Virtual Private Systems for FreeBSD (VPS) is a novel virtualization implementation which is based on the operating system
Multi-Threading Performance on Commodity Multi-Core Processors
Multi-Threading Performance on Commodity Multi-Core Processors Jie Chen and William Watson III Scientific Computing Group Jefferson Lab 12000 Jefferson Ave. Newport News, VA 23606 Organization Introduction
Process Scheduling in Linux
The Gate of the AOSP #4 : Gerrit, Memory & Performance Process Scheduling in Linux 2013. 3. 29 Namhyung Kim Outline 1 Process scheduling 2 SMP scheduling 3 Group scheduling - www.kandroid.org 2/ 41 Process
Memory Management under Linux: Issues in Linux VM development
Memory Management under Linux: Issues in Linux VM development Christoph Lameter, Ph.D. Technical Lead, Linux Kernel Software Silicon Graphics Inc. [email protected] 2008-03-12 2008 SGI Sunnyvale, California
More on Pipelining and Pipelines in Real Machines CS 333 Fall 2006 Main Ideas Data Hazards RAW WAR WAW More pipeline stall reduction techniques Branch prediction» static» dynamic bimodal branch prediction
Status and Direction of Kernel Development
Status and Direction of Kernel Development Andrew Morton Linux Foundation Japan Linux Symposium 2008 July 2008 Page 1 of 18 Overview Process The linux-next
W4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline Advanced scheduling issues Multilevel queue scheduling Multiprocessor scheduling issues Real-time scheduling Scheduling in Linux Scheduling algorithm
Lecture 5. User-Mode Linux. Jeff Dike. November 7, 2012. Operating Systems Practical. OSP Lecture 5, UML 1/33
Lecture 5 User-Mode Linux Jeff Dike Operating Systems Practical November 7, 2012 OSP Lecture 5, UML 1/33 Contents User-Mode Linux Keywords Resources Questions OSP Lecture 5, UML 2/33 Outline User-Mode
User-Mode Linux. Jeff Dike. Abstract. 2 Devices. 1 Introduction
User-Mode Linux Jeff Dike Abstract 2 Devices User-mode Linux is the port of the Linux kernel to userspace. It runs a Linux virtual machine in a set of processes on a Linux host. A UML virtual machine is
Kernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June 25 2010
Kernel Optimizations for KVM Rik van Riel Senior Software Engineer, Red Hat June 25 2010 Kernel Optimizations for KVM What is virtualization performance? Benefits of developing both guest and host KVM
D5.6 Prototype demonstration of performance monitoring tools on a system with multiple ARM boards Version 1.0
D5.6 Prototype demonstration of performance monitoring tools on a system with multiple ARM boards Document Information Contract Number 288777 Project Website www.montblanc-project.eu Contractual Deadline
Real-time KVM from the ground up
Real-time KVM from the ground up KVM Forum 2015 Rik van Riel Red Hat Real-time KVM What is real time? Hardware pitfalls Realtime preempt Linux kernel patch set KVM & qemu pitfalls KVM configuration Scheduling
OS Observability Tools
OS Observability Tools Classic tools and their limitations DTrace (Solaris) SystemTAP (Linux) Slide 1 Where we're going with this... Know about OS observation tools See some examples how to use existing
Introducing the IBM Software Development Kit for PowerLinux
Introducing the IBM Software Development Kit for PowerLinux Wainer S. Moschetta IBM, PowerLinux SDK Team Leader [email protected] 1 2009 IBM Acknowledgments The information in this presentation was created
ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA
ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools
Linux Scheduler. Linux Scheduler
or or Affinity Basic Interactive es 1 / 40 Reality... or or Affinity Basic Interactive es The Linux scheduler tries to be very efficient To do that, it uses some complex data structures Some of what it
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF
1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform. Ed Spetka Mike Kohler
Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform Ed Spetka Mike Kohler Outline Abstract Hardware Overview Completely Fair Scheduler Design Theory Breakdown of the
How to analyse your system to optimise performance and throughput in IIBv9
How to analyse your system to optimise performance and throughput in IIBv9 Dave Gorman [email protected] 2013 IBM Corporation Overview The purpose of this presentation is to demonstrate how to find the
Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
Linux Process Scheduling. sched.c. schedule() scheduler_tick() hooks. try_to_wake_up() ... CFS CPU 0 CPU 1 CPU 2 CPU 3
Linux Process Scheduling sched.c schedule() scheduler_tick() try_to_wake_up() hooks RT CPU 0 CPU 1 CFS CPU 2 CPU 3 Linux Process Scheduling 1. Task Classification 2. Scheduler Skeleton 3. Completely Fair
Introduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline
Enterprise Manager Performance Tips
Enterprise Manager Performance Tips + The tips below are related to common situations customers experience when their Enterprise Manager(s) are not performing consistent with performance goals. If you
Linux Load Balancing
Linux Load Balancing Hyunmin Yoon 2 Load Balancing Linux scheduler attempts to evenly distribute load across CPUs Load of CPU (run queue): sum of task weights Load balancing is triggered by Timer interrupts
Practical Applications of Virtualization. Mike Phillips <[email protected]> IAP 2008 SIPB IAP Series http://stuff.mit.edu/iap/ http://stuff.mit.
Practical Applications of Virtualization Mike Phillips IAP 2008 SIPB IAP Series http://stuff.mit.edu/iap/ http://stuff.mit.edu/sipb/ Some Guy Rambling About Virtualization Stuff He's Read
MONITORING PERFORMANCE IN WINDOWS 7
MONITORING PERFORMANCE IN WINDOWS 7 Performance Monitor In this demo we will take a look at how we can use the Performance Monitor to capture information about our machine performance. We can access Performance
Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem. Dr Rosemary Francis, Ellexus
Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem Dr Rosemary Francis, Ellexus For years instruction-level debuggers and profilers have improved in leaps and bounds. Similarly, system-level
Red Hat Linux Internals
Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing
Toasterkit - A NetBSD Rootkit. Anthony Martinez Thomas Bowen http://mrtheplague.net/toasterkit/
Toasterkit - A NetBSD Rootkit Anthony Martinez Thomas Bowen http://mrtheplague.net/toasterkit/ Toasterkit - A NetBSD Rootkit 1. Who we are 2. What is NetBSD? Why NetBSD? 3. Rootkits on NetBSD 4. Architectural
Git Basics. Christopher Simpkins [email protected]. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22
Git Basics Christopher Simpkins [email protected] Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Version Control Systems Records changes to files over time Allows you to
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer. Dr. Johan Kraft, Percepio AB
Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer Dr. Johan Kraft, Percepio AB Debugging embedded software can be a challenging, time-consuming and unpredictable factor in development
Kerrighed / XtreemOS cluster flavour
Kerrighed / XtreemOS cluster flavour Jean Parpaillon Reisensburg Castle Günzburg, Germany July 5-9, 2010 July 6th, 2010 Kerrighed - XtreemOS cluster flavour 1 Summary Kerlabs Context Kerrighed Project
Perfmon2: A leap forward in Performance Monitoring
Perfmon2: A leap forward in Performance Monitoring Sverre Jarp, Ryszard Jurga, Andrzej Nowak CERN, Geneva, Switzerland [email protected] Abstract. This paper describes the software component, perfmon2,
Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore
Satish Mohan Head Engineering AMD Developer Conference, Bangalore Open source software Allows developers worldwide to collaborate and benefit. Strategic elimination of vendor lock in OSS naturally creates
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
Replication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
Efficient and Large-Scale Infrastructure Monitoring with Tracing
CloudOpen Europe 2013 Efficient and Large-Scale Infrastructure Monitoring with Tracing [email protected] 1 Content Overview of tracing and LTTng LTTng features for Cloud Providers LTTng as a
Removing The Linux Routing Cache
Removing The Red Hat Inc. Columbia University, New York, 2012 Removing The 1 Linux Maintainership 2 3 4 5 Removing The My Background Started working on the kernel 18+ years ago. First project: helping
Locating Cache Performance Bottlenecks Using Data Profiling
Locating Cache Performance Bottlenecks Using Data Profiling Aleksey Pesterev Nickolai Zeldovich Robert T. Morris Massachusetts Institute of Technology Computer Science and Artificial Intelligence Lab {alekseyp,
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Network (RHN) Satellite server is an easy-to-use, advanced systems management platform
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Satellite server is an easy-to-use, advanced systems management platform for your Linux infrastructure.
Linux scheduler history. We will be talking about the O(1) scheduler
CPU Scheduling Linux scheduler history We will be talking about the O(1) scheduler SMP Support in 2.4 and 2.6 versions 2.4 Kernel 2.6 Kernel CPU1 CPU2 CPU3 CPU1 CPU2 CPU3 Linux Scheduling 3 scheduling
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are
Nested Virtualization
Nested Virtualization State of the art and future directions Bandan Das Yang Z Zhang Jan Kiszka 2 Outline Introduction Changes and Missing Features for AMD Changes and Missing Features for Intel Working
How To Backup Your Computer With A File Copy Engine
Secondary Backup Entire System Including Windows Installation Data Files, Emails, Databases, Documents Not Important Important Critical Ultra Critical Secondary Backup Data Archival Backup Secondary Backup
Implementing Probes for J2EE Cluster Monitoring
Implementing s for J2EE Cluster Monitoring Emmanuel Cecchet, Hazem Elmeleegy, Oussama Layaida, Vivien Quéma LSR-IMAG Laboratory (CNRS, INPG, UJF) - INRIA INRIA Rhône-Alpes, 655 av. de l Europe, 38334 Saint-Ismier
Version Control Systems: SVN and GIT. How do VCS support SW development teams?
Version Control Systems: SVN and GIT How do VCS support SW development teams? CS 435/535 The College of William and Mary Agile manifesto We are uncovering better ways of developing software by doing it
Version Control with Git. Kate Hedstrom ARSC, UAF
1 Version Control with Git Kate Hedstrom ARSC, UAF Linus Torvalds 3 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
Multi-core architectures. Jernej Barbic 15-213, Spring 2007 May 3, 2007
Multi-core architectures Jernej Barbic 15-213, Spring 2007 May 3, 2007 1 Single-core computer 2 Single-core CPU chip the single core 3 Multi-core architectures This lecture is about a new trend in computer
Type-C Hypervisors. @DustinKirkland Ubuntu Product & Strategy Canonical Ltd.
Type-C Hypervisors @DustinKirkland Ubuntu Product & Strategy Canonical Ltd. Canonical is the company behind Ubuntu 2004 600+ FOUNDATION EMPLOYEES 30+ COUNTRIES London Beijing Boston Shanghai Taipei What
<Insert Picture Here> An Experimental Model to Analyze OpenMP Applications for System Utilization
An Experimental Model to Analyze OpenMP Applications for System Utilization Mark Woodyard Principal Software Engineer 1 The following is an overview of a research project. It is intended
Introduction to Git. Markus Kötter [email protected]. Notes. Leinelab Workshop July 28, 2015
Introduction to Git Markus Kötter [email protected] Leinelab Workshop July 28, 2015 Motivation - Why use version control? Versions in file names: does this look familiar? $ ls file file.2 file.
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
LinuxCon Europe 2013. Cloud Monitoring and Distribution Bug Reporting with Live Streaming and Snapshots. mathieu.desnoyers@efficios.
LinuxCon Europe 2013 Cloud Monitoring and Distribution Bug Reporting with Live Streaming and Snapshots [email protected] 1 Presenter Mathieu Desnoyers http://www.efficios.com Author/Maintainer
Perfmon2: a flexible performance monitoring interface for Linux
Perfmon2: a flexible performance monitoring interface for Linux Stéphane Eranian HP Labs [email protected] Abstract Monitoring program execution is becoming more than ever key to achieving world-class
EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University. Multitasking ARM-Applications with uvision and RTX
EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University Multitasking ARM-Applications with uvision and RTX 1. Objectives The purpose of this lab is to lab is to introduce
<Insert Picture Here> Btrfs Filesystem
Btrfs Filesystem Chris Mason Btrfs Goals General purpose filesystem that scales to very large storage Feature focused, providing features other Linux filesystems cannot Administration
Power Management in the Linux Kernel
Power Management in the Linux Kernel Tate Hornbeck, Peter Hokanson 7 April 2011 Intel Open Source Technology Center Venkatesh Pallipadi Senior Staff Software Engineer 2001 - Joined Intel Processor and
Oak Ridge National Laboratory Computing and Computational Sciences Directorate. Lustre Crash Dumps And Log Files
Oak Ridge National Laboratory Computing and Computational Sciences Directorate Lustre Crash Dumps And Log Files Jesse Hanley Rick Mohr Sarp Oral Michael Brim Nathan Grodowitz Gregory Koenig Jason Hill
Computer Systems II. Unix system calls. fork( ) wait( ) exit( ) How To Create New Processes? Creating and Executing Processes
Computer Systems II Creating and Executing Processes 1 Unix system calls fork( ) wait( ) exit( ) 2 How To Create New Processes? Underlying mechanism - A process runs fork to create a child process - Parent
Server Manager Performance Monitor. Server Manager Diagnostics Page. . Information. . Audit Success. . Audit Failure
Server Manager Diagnostics Page 653. Information. Audit Success. Audit Failure The view shows the total number of events in the last hour, 24 hours, 7 days, and the total. Each of these nodes can be expanded
STH SICS Thin Hypervisor Reference Manual Version 0.4
STH SICS Thin Hypervisor Reference Manual Version 0.4 VIKTOR DO April 2013 1 Contents List of Figures 1 List of Tables 2 1 Introduction to the STH Hypervisor 7 1.1 ARM Linux support...........................
W4118 Operating Systems. Junfeng Yang
W4118 Operating Systems Junfeng Yang Outline Linux overview Interrupt in Linux System call in Linux What is Linux A modern, open-source OS, based on UNIX standards 1991, 0.1 MLOC, single developer Linus
Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.
Agenda Enterprise Performance Factors Overall Enterprise Performance Factors Best Practice for generic Enterprise Best Practice for 3-tiers Enterprise Hardware Load Balancer Basic Unix Tuning Performance
