Título/Title Nome/Name Cargo/Position Foto/ Picture Linux Performance on Power Breno Leitão Software Engineer.

Slides:



Advertisements
Similar presentations
Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
Advertisements

Linux and Mysql Tuning Getting the most from your hardware.
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
TUNING WEBLOGIC SERVER. Core Server JDBC Tuning JVM Tuning OS Tuning TOPICS.
Enterprise Web Architecture and Performance Shennon Shen & Scott Carey --- Plumtree Software Inc.
© 2010 VMware Inc. All rights reserved Confidential Performance Tuning for Windows Guest OS IT Pro Camp Presented by: Matthew Mitchell.
© 2003 IBM Corporation IBM Systems and Technology Group Operating System Attributes for High Performance Computing Ken Rozendal Distinguished Engineer.
Distributed Processing, Client/Server, and Clusters
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
OS Spring’03 Introduction Operating Systems Spring 2003.
JVM-1 Introduction to Java Virtual Machine. JVM-2 Outline Java Language, Java Virtual Machine and Java Platform Organization of Java Virtual Machine Garbage.
MEMORY MANAGEMENT By KUNAL KADAKIA RISHIT SHAH. Memory Memory is a large array of words or bytes, each with its own address. It is a repository of quickly.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 2: Managing Hardware Devices.
Chapter 11: Maintaining and Optimizing Windows Vista
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
NDT Tools Tutorial: How-To setup your own NDT server Rich Carlson Summer 04 Joint Tech July 19, 2004.
Page 1 © 2001 Hewlett-Packard Company Tools for Measuring System and Application Performance Introduction GlancePlus Introduction Glance Motif Glance Character.
1 1 Profiling & Optimization David Geldreich (DREAM)
Analyzing the Energy Efficiency of a Database Server Hanskamal Patel SE 521.
Measuring zSeries System Performance Dr. Chu J. Jong School of Information Technology Illinois State University 06/11/2012 Sponsored in part by Deer &
Embedded Java Research Geoffrey Beers Peter Jantz December 18, 2001.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 2: Managing Hardware Devices.
11 SYSTEM PERFORMANCE IN WINDOWS XP Chapter 12. Chapter 12: System Performance in Windows XP2 SYSTEM PERFORMANCE IN WINDOWS XP  Optimize Microsoft Windows.
Module – 4 Intelligent storage system
Introduction to Open Source Performance Tool --Linux Tool Perf Yiqi Ju (Fred) Sep. 13, 2012.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Oracle Tuning Considerations. Agenda Why Tune ? Why Tune ? Ways to Improve Performance Ways to Improve Performance Hardware Hardware Software Software.
Impact of Java Compressed Heap on Mobile/Wireless Communication Mayumi KATO and Chia-Tien Dan Lo (itcc’05) Department of Computer Science, University of.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
JPCM - JDC121 JPCM. Agenda JPCM - JDC122 3 Software performance is Better Performance tuning requires accurate Measurements. JPCM - JDC124 Software.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Srihari Makineni & Ravi Iyer Communications Technology Lab
Parallel Programming on the SGI Origin2000 With thanks to Igor Zacharov / Benoit Marchand, SGI Taub Computer Center Technion Moshe Goldberg,
® IBM Software Group © 2006 IBM Corporation PurifyPlus on Linux / Unix Vinay Kumar H S.
LINUX System : Lecture 7 Bong-Soo Sohn Lecture notes acknowledgement : The design of UNIX Operating System.
© 2009 IBM Corporation IBM Systems and Technology Group Methodologies for Optimizing Linux Server Performance Sandra K. Johnson, Ph.D. IBM Systems and.
Embedded System Lab. 정범종 A_DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters H. Wang et al. VEE, 2015.
Silberschatz, Galvin and Gagne  Operating System Concepts Process Concept An operating system executes a variety of programs:  Batch system.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
VMware vSphere Configuration and Management v6
The Million Point PI System – PI Server 3.4 The Million Point PI System PI Server 3.4 Jon Peterson Rulik Perla Denis Vacher.
CSC Multiprocessor Programming, Spring, 2012 Chapter 11 – Performance and Scalability Dr. Dale E. Parson, week 12.
Troubleshooting SQL Server Performance: Tips &Tools Amit Khandelwal.
CMP/CMT Scaling of SPECjbb2005 on UltraSPARC T1 (Niagara) Dimitris Kaseridis and Lizy K. John The University of Texas at Austin Laboratory for Computer.
Presented by Vishy Grandhi.  Lesson 1: AX Overview  Lesson 2: Role based security  Lesson 3: Monitoring  Troubleshooting.
Vertical Profiling : Understanding the Behavior of Object-Oriented Applications Sookmyung Women’s Univ. PsLab Sewon,Moon.
Technical Overview of Microsoft’s NetDMA Architecture Rade Trimceski Program Manager Windows Networking & Devices Microsoft Corporation.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1© Copyright 2015 EMC Corporation. All rights reserved. NUMA(YEY) BY JACOB KUGLER.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
SQL Database Management
Before You Begin Nahla Abuel-ola /WIT.
Flash Storage 101 Revolutionizing Databases
CS 6560: Operating Systems Design
Software Architecture in Practice
Introduction of Week 3 Assignment Discussion
Boost Linux Performance with Enhancements from Oracle
What we need to be able to count to tune programs
ColdFusion Performance Troubleshooting and Tuning
Tools.
Linux Architecture Overview.
Tools.
Introduction to OProfile
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Lecture Topics: 11/1 Hand back midterms
Java Virtual Machine Profiling. Agenda Introduction JVM overview Performance concepts Monitoring Profiling VisualVM demo Tuning Conclusions.
CSC Multiprocessor Programming, Spring, 2011
Presentation transcript:

Título/Title Nome/Name Cargo/Position Foto/ Picture Linux Performance on Power Breno Leitão Software Engineer

2 Performance concepts. What is performance? –Low Latency –High volume –Low CPU Usage Where can you change? –Change the application –Change the environment –Find where in the hardware is the bottleneck. –At what price?

3 Where to tune? Hardware options Virtual machine parameters Kernel parameters Memory parameters TCP parameters Virtual Database parameters JVM parameters Not an easy and quick process

4 Step by Step 1) Reproduce the problem 1) Find a problem subset that quickly reproduces the problem. 2) Profile and collect information. 1) Creates a script that do run and collect information automatically 3) Analyze the problem, and find the possible points that are affecting the performance. 1) Narrow down 4) One change at time. Brute force is not the right way

5 Linux Performance Linux on Power == Linux

6 Linux Performance Tools and Profilers: –Iostat –Sar –Perf –SystemTap –Oprofile –Linux Performance Customer Profiler Utility (lpcpu)

7 Non Uniform Memory Access Most of the time, servers are NUMA

8 General Linux tips Tune the application to the NUMA environment. Use a recent and supported Linux version Application and IRQ Binding is good. – CPU Migrations is bad. – Taskset and /proc/ /smp_affinity Being able to compile the source code is a good advantage. Disable unused services and modules CPUBinaryHEX x x x x8

9 Compiling tips Different Compilers: - GCC - Advanced Toolchain - IBM XL Compiler Optimization: - Use the latest architecture you are going to use the hardware. (- mcpu=power7 ) - Different level of optimizations (O1, O2, O3) - Hundreds of options (

10 Other optimizations Libraries IBM MASS (Mathematical Accelerator Subsystem) IBM ESSL (Engineering Scientific Subsystem Library) Link-Time optimization (LTO) Post Time Optimization FDPR (Feedback-Directed Program Re-structuring) IBM SDK for PowerLinux

11 Network Optimizations Memory buffers net.ipv4.tcp_rmem net.ipv4.tcp_wmem TCP Windows Scaling net.ipv4.tcp_window_scaling Congestion Control CUBIC, Vegas, Reno, BIC, Hybla, Tahoe, etc NIC Tunning Queue size, MTU, Offloads (CRC, GSO, LRO)

12 Memory Optimization Huge Pages Libhugepages Memory allocation Optimizations MicroQuill's Smartheap TCMalloc (gperftools) Linux uses all the memory, with cache/buffers, and this is a good thing.

13 Storage Optimization Technologies ISCSI FCoE SAS SSD File System Ext, GPFS, etc Journaling Access time (noatime)

14 IO Scheduler Orders block I/O operations will be submitted to storage volumes. Minimize Hard-disk seeks Prioritize I/O processes Guarantee that a certain request will be issue before a deadline. Schedulers NOOP Anticipatory Deadline

15 Java Optimization Memory (heap, garbage collection) (-Xms, -Xmx, -Xmn*) Compressed 64 bits references (-Xcompressedrefs) Garbage Collection (- Xgcpolicy:{optthruput,subpool,optavgpause,gencon*,bala nced,..}) Garbage Collection Threads -Xgcthreads JIT (Just-in-time) Compiler New technologies available on Linux -Xaggressive IBM HealthCenter profiler

16 Perf Profiling tool that enables you to discover about: Code profiling What code takes longer? Difference between two runs Performance counters: Hardware and Software events Cache (Hit, Miss), TLB, Cycles, Instructions A lot more.

17 Perf timechart

18 Perf demo # perf stat # perf list # perf record # perf diff

19 References DeveloperWorks Wiki Perf Introduction html SystemTap Introduction Tuning 10Gb/s Network Cards IBM PowerLinux SDK Linux Performance and Tuning Guidelines

20