Libperf libperf provides a tracing interface into the Linux Kernel Performance Counters (LKPC) subsystem recently introduced into the Linux Kernel mainline.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
Thread Criticality Predictors for Dynamic Performance, Power, and Resource Management in Chip Multiprocessors Abhishek Bhattacharjee Margaret Martonosi.
1 Generic logging layer for the distributed computing by Gene Van Buren Valeri Fine Jerome Lauret.
CS 5204 – Operating Systems 1 Scheduler Activations.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Capriccio: Scalable Threads for Internet Services Rob von Behren, Jeremy Condit, Feng Zhou, Geroge Necula and Eric Brewer University of California at Berkeley.
Review for Test 2 i206 Fall 2010 John Chuang. 2 Topics  Operating System and Memory Hierarchy  Algorithm analysis and Big-O Notation  Data structures.
Process Management. External View of the OS Hardware fork() CreateProcess() CreateThread() close() CloseHandle() sleep() semctl() signal() SetWaitableTimer()
Chapter 13 Embedded Systems
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
ThreadsThreads operating systems. ThreadsThreads A Thread, or thread of execution, is the sequence of instructions being executed. A process may have.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
GraphLab A New Framework for Parallel Machine Learning
Ceng Operating Systems
ITEC 325 Lecture 29 Memory(6). Review P2 assigned Exam 2 next Friday Demand paging –Page faults –TLB intro.
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Task Scheduling for Highly Concurrent Analytical and Transactional Main-Memory Workloads Iraklis Psaroudakis (EPFL), Tobias Scheuer (SAP AG), Norman May.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Threads, Thread management & Resource Management.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Kernel, processes and threads Windows and Linux. Windows Architecture Operating system design Modified microkernel Layered Components HAL Interacts with.
GraphLab: how I understood it with sample code Aapo Kyrola, Carnegie Mellon Univ. Oct 1, 2009.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Numerical Libraries Project Microsoft Incubation Group Mary Beth Hribar Microsoft Corporation CSCAPES Workshop June 10, 2008 Copyright Microsoft Corporation,
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Carnegie Mellon Yucheng Low Aapo Kyrola Danny Bickson A Framework for Machine Learning and Data Mining in the Cloud Joseph Gonzalez Carlos Guestrin Joe.
MODPI: A parallel MOdel Data Passing Interface for integrating legacy environmental system models A. Dozier, O. David, Y. Zhang, and M. Arabi.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Department of Computer Science and Software Engineering
Full and Para Virtualization
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Processes and Threads.
Threads, Thread management & Resource Management.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Embedded System Lab. 오명훈 Addressing Shared Resource Contention in Multicore Processors via Scheduling.
Published in ACM SIGPLAN, 2010 Heidi Pan MassachusettsInstitute of Technology Benjamin Hindman UC Berkeley Krste Asanovi´c UC Berkeley 1.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Matthew Locke November 2007 A Linux Power Management Architecture.
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
Operating System Structures
Chapter 4: Threads.
Current Generation Hypervisor Type 1 Type 2.
The Multikernel: A New OS Architecture for Scalable Multicore Systems
CASE STUDY 1: Linux and Android
KERNEL ARCHITECTURE.
Chapter 3: Windows7 Part 1.
Chapter 4: Threads.
Lecture Topics: 11/1 General Operating System Concepts Processes
B.Ramamurthy Chapter 2 : Appendix
Threads Chapter 4.
Multithreaded Programming
Prof. Leonardo Mostarda University of Camerino
Operating System Introduction.
Chapter 4: Threads.
Implementing Processes, Threads, and Resources
Implementing Processes, Threads, and Resources
Harrison Howell CSCE 824 Dr. Farkas
CS Introduction to Operating Systems
Presentation transcript:

libperf libperf provides a tracing interface into the Linux Kernel Performance Counters (LKPC) subsystem recently introduced into the Linux Kernel mainline. This interface provides a unified API abstracting hardware- based performance counters, kernel trace points, and software-defined trace points. The counters are maintained by the kernel and maintain statistics per thread and per core. All counters are “virtual” 64-bit integers and are accessed via special file descriptors obtained from the kernel within libperf. Features and Highlights System Call Wrapper Library First API for LKPC First User Space Library Interfacing with LKPC Simple C API – 2 Calls Required by Default Efficient Kernel Implementation Low Overhead Feasible for Dynamic Feedback Preparing for Open Source GPLv2 Release Code Example … /* start of tracing */ struct perf_data* pd = libperf_initialize(-1,-1); … /* do work */ libperf_finalize(pd, UUID); … /* end of tracing */ Performance Overhead Evaluated Using sysbench 10 Runs Averaged on an Intel Centrino 2 Overhead Significant for Threading (Context Switching) Worst Case: 3.63 % Average Case:3.25 % Best Case:2.87 % LightSpeed: Task Scheduling for Many-Core Karl Naden Richter Taralova Introduction Parallel applications have a hard time taking advantage of specifics of hardware. Operating Systems have greater knowledge of the hardware, but lose application-specific data. Solutions cutting across the stack from software to hardware may offer compelling paths in the future. Approach Provide the application layer more control over scheduling tasks and provide detailed information about hardware performance to make informed decisions based on application knowledge. Questions: 1.How could statistics about the underlying architecture’s performance be delivered efficiently to applications? 2.How could applications take advantage of this additional information? Target Workload Overview Machine Learning Parallel Algorithm Framework Tailored to Iterative Algorithms on Graph Data Structures GraphLab Key Components and Inputs Why GraphLab? Existing Parallel Scheduling Problem Specific Problem Formulation—Graphs Significant Variation in Algorithms Gives Potential for Generality References [1] Yucheng Low, Joseph Gonzalez, Aapo Kyrola, Danny Bickson, Carlos Guestrin. GraphLab: A New Framework for Parallel Machine Learning. Conference on Uncertainty in Artificial Intelligence (UAI), 2010 [2] Kilian Weinberger, Anirban Dasgupta, John Langford, Alex Smola, and Josh Attenberg Feature hashing for large scale multitask learning. In Proceedings of the 26th Annual International Conference on Machine Learning (ICML '09). ACM, New York, NY, USA, [3] Kopytov, Alexey. sysbench. [4] Linux Kernel Organization. Perf Wiki. Scheduling Consistency Model Data Graph Update Functions Shared Data Table