A Scaling Analysis of Linux I/O Performance

Total Page:16

File Type:pdf, Size:1020Kb

A Scaling Analysis of Linux I/O Performance A Scaling Analysis of Linux I/O Performance Yannis Klonatos, Manolis Marazakis, and Angelos Bilas Foundation for Research and Technology - Hellas (FORTH) Institute of Computer Science (ICS) 100 N. Plastira Av., Vassilika Vouton, Heraklion, GR-70013, Greece {klonatos, maraz, bilas}@ics.forth.gr I. INTRODUCTION processors running at 2.26 GHz, with two hardware threads The widespread availability of multicore processors in per core, 12 GB of DDR-III DRAM, and 24 32-GB enterprise- server configurations with aggressive I/O resources (I/O con- grade Intel X25-E SLC NAND-Flash SSDs, connected to four trollers along with multiple storage devices, such as solid- LSI MegaSAS 9260 storage controllers. The SSDs are orga- state drives) is very promising for increasing levels of I/O nized in a RAID-0 configuration using the default md Linux performance. However, in this work, we raise concerns about driver, with a chunk-size of 64KB. The Linux distribution the actual scalability of I/O performance observed in current installed is CentOS, v.5.5, with version 2.6.37 of the mainline server configurations. We provide experimental evidence of (“vanilla”) kernel. We select this specific kernel because it scalability issues, using the latest stable Linux kernel release includes numerous recent scalability related patches. We use (v.2.6.37). We identify scaling limitations based on extensive two filesystems, XFS and EXT4 for our experiments. measurements and analysis of overheads, mostly lock con- For our evaluation, we use a modified version of the tention, using a synthetic workload, which consists of basic fsmark [3] benchmark. fsmark is widely used by Linux kernel filesystem tasks and employs a high degree of I/O concurrency. developers because it issues low-level filesystem-intensive Starting with a fairly common system configuration as a operations, a property that makes it suitable for studying baseline, we find that for several cases I/O performance does filesystem scalability. The original version of the benchmark not scale adequately with the number of available hardware provides support for open, write, read, unlink and fsync threads, for a variety of filesystem operations. Moreover, we system calls; we have added support for create, seek and observe that performance may actually deteriorate when more stat system calls. We have also modified the benchmark to CPU cores become available. We attempt to mitigate over- report operations per second for each system call, instead of heads, as identified in our analysis, with targeted tuning. Still, average execution times the original version reported. For all significant scaling limitations remain, motivating a critical re- our experiments we use 128 application threads, each one examination of the entire I/O path in the Linux kernel. executing operations on 128 private files. Each file contains 512KB of data. Finally, we vary the number of CPU threads II. RELATED WORK in the range from 1 to 16. Scalability in multicore environments, including filesystem We collect lock contention statistics using the lock stat [4] performance, is nowadays a hot topic. Extensive analysis and mechanism provided by recent Linux kernels. Lock stat re- experimentation is currently being performed by the Linux ports for each lock: i. It’s average contention (how many times kernel developers themselves, as evident by numerous mail- threads failed to acquire the lock), and ii. The total wait time threads in the Linux Kernel Mailing List. An important result associated with it. We use the aforementioned information to of this ongoing debate has been the introduction in modern locate contention bottlenecks. kernels of the Read-Copy-Update (RCU) [1] mechanism. The IV. EXPERIMENTAL RESULTS most recent analysis of Linux Scalability is to our knowl- edge [2]. However, in this publication the authors do not: We make our experimental analysis in three parts. First, we 1) Examine the scalability of commonly deployed filesystems, present scalability issues with the XFS filesystem running on such as XFS and EXT4, 2) Consider block-level I/O, as they top of a ramdisk. We believe it is a fairly common system performed all their storage-related experiments using tmpfs, configuration to use as a baseline, given the performance gap which operates entirely in the DRAM-based buffer-cache. Our between DRAM and SSDs. However, since modern server work focuses on these two specific aspects, presenting further systems can not always rely on DRAM-based caches to scalability issues in the common I/O path. achieve the highest performance possible, we then present our scalability concerns using 24SSDs, which provide high III. EXPERIMENTAL METHODOLOGY throughput and IOPS performance, resulting in the block- We perform our evaluation on a x86-based Linux server, devices never being the performance bottleneck. Finally, we consisting of the following components: a dual-socket Tyan show that our observations also hold when using another S7025 motherboard with two 4-core Intel Xeon 5520 64-bit filesystem like EXT4, instead of XFS. 12810000 280000 340000 100000 11529000 252000 306000 90000 10248000 224000 272000 80000 8967000 196000 238000 70000 7686000 168000 204000 60000 6405000 140000 170000 50000 ops/sec 5124000 ops/sec 112000 ops/sec 136000 ops/sec 40000 3843000 RAMDISK_SHAREDDIR_DEFAULTLOG 84000 102000 30000 RAMDISK_PRIVATEDIR_DEFAULTLOG 2562000 56000 68000 20000 RAMDISK_PRIVATEDIR_LARGELOG 1281000 24 SSDs 28000 34000 10000 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10111213141516 0 1 2 3 4 5 6 7 8 9 10111213141516 0 1 2 3 4 5 6 7 8 9 10111213141516 0 1 2 3 4 5 6 7 8 9 10111213141516 #CPUs #CPUs #CPUs #CPUs (a) Open (b) Write (c) Read (d) Unlink Fig. 1. Operations per second for the open, write, read and unlink system calls, for varying number of cores. We run four configurations: i) Using ramdisk with all threads operating on the same directory (RAMDISK-SHAREDDIR-DEFAULTLOG), ii) Using ramdisk with each threads operating on its own directory (RAMDISK-PRIVATEDIR-DEFAULTLOG), iii) Using ramdisk with each thread operating on its own directory and 2GB log (instead of the default 128MB, RAMDISK-PRIVATEDIR-LARGELOG) and, finally iv) Using 24 SSDs. To begin with, for the open system call using the ramdisk, 8 respectively), while after this point the request queue lock we observe the same behavior for all ramdisk configurations. is the main performance bottleneck. This is important, since As shown in Figure 1, performance is first increased when resolving the request queue contention point will result in moving from 1 to 2 cores, however it then begins to drop as we helping both ramdisk and I/O subsystems found in commonly further increase the available CPU count. The main contention found in Linux server environments. point is the request queue lock, and the wait time is increased Finally, we wanted to observe what happens when using significantly (up to 800%) when moving to a higher number another filesystem, rather that the XFS used so far. For this of available cores. The directory lock (dlock), used in path purpose, we run again our benchmark with the EXT4 filesys- resolution, exhibits the same behaviour when moving to more tem. We notice, that although EXT4 achieves significantly less than 4 cores. performance compared to XFS for all systems calls (especially Furthermore, for the read and writes system calls using for writes), the most significant observation is that EXT4 the ramdisk, we observe that there is high wait time for the exhibits the same contention behaviour for the same locks as zone lock. This lock is responsible for holding the buffer XFS. This is important, since it reveals that if these contentions cache radix tree organization consistent, when it is accessed are solved or mitigated, both filesystems (and most probably through multiple threads. Although we notice that the wait others as well) will significantly benefit. time for this thread is not decreased when we operate on V. CONCLUSIONS AND FUTURE WORK different directories instead of a single one (RAMDISK- Having collected experimental evidence of I/O scaling lim- SHAREDDIR-DEFAULTLOG vs RAMDISK-PRIVATEDIR- DEFAULTLOG), we notice that this time is significantly itations on modern server configurations, as presented so far, our current work aims in touching several layers along the I/O reduced when using the larger log option (RAMDISK- path in the Linux kernel, including caching for filesystem data PRIVATEDIR-LARGELOG). and metadata, and efficient submission and scheduling of I/O Then, for the unlink system call, we observe high con- requests. We are also using more complex benchmarks to em- tention (>90% of the threads are continuously waiting) for ulate server I/O workloads, operating at high I/O concurrency the superblock lock employed by XFS, when using a shared levels. With the rapidly growing gap between processor and directory. We argue this is due to the fact that the superblock I/O subsystem performance, we expect this research direction is updated in each unlink, causing the threads to be syn- to become critical for achieving adequate performance levels chronized at this point. When moving to different directories, for data-intensive application workloads. XFS spreads out the directories throughout the SSD address space, in partitions called allocation groups, and uses a single ACKNOWLEDGMENTS superblock for each of them. Thus, less contention is observed We thankfully acknowledge the support of the European for each superblock, and consequently each thread must wait Commission under the 6th and 7th Framework Programs for less time in order to acquire a lock. However, at this point, through the IOLanes (FP7-STREP-248615), HiPEAC (NoE- the XFS log begins to be a significant performance bottleneck. 004408), and HiPEAC2 (FP7-ICT-217068) projects. However, if we increase the log size to 2GB, and although the log lock does not disappear from lock stat output, the wait REFERENCES time observed for this lock is significantly reduced, resulting [1] P.
Recommended publications
  • STAT 625: Statistical Case Studies 1 Our Computing Environment(S)
    John W. Emerson, Department of Statistics, Yale University © 2013 1 STAT 625: Statistical Case Studies John W. Emerson Yale University Abstract This term, I’ll generally present brief class notes and scripts, but much of the lecture material will simply be presented in class and/or available online. However, student participation is a large part of this course, and at any time I may call upon any of you to share some of your work. Be prepared. This won’t be a class where you sit and absorb material. I strongly encourage you to work with other students; you can learn a lot from each other. To get anything out of this course you’ll need to put in the time for the sake of learning and strengthening your skills, not for the sake of jumping through the proverbial hoop. Lesson 1: Learning how to communicate. This document was created using LATEX and Sweave (which is really an R package). There are some huge advantages to a workflow like this, relating to a topic called reproducible research. Here’s my thought: pay your dues now, reap the benefits later. Don’t trust me on everything, but trust me on this. A sister document was created using R Markdown and the markdown package, and this is also acceptable. Microsoft Office is not. So, in today’s class I’ll show you how I produced these documents and I’ll give you the required files. I recommend you figure out how to use LATEX on your own computer. You already have Sweave, because it comes with R.
    [Show full text]
  • System Calls and I/O
    System Calls and I/O CS 241 January 27, 2012 Copyright ©: University of Illinois CS 241 Staff 1 This lecture Goals Get you familiar with necessary basic system & I/O calls to do programming Things covered in this lecture Basic file system calls I/O calls Signals Note: we will come back later to discuss the above things at the concept level Copyright ©: University of Illinois CS 241 Staff 2 System Calls versus Function Calls? Copyright ©: University of Illinois CS 241 Staff 3 System Calls versus Function Calls Function Call Process fnCall() Caller and callee are in the same Process - Same user - Same “domain of trust” Copyright ©: University of Illinois CS 241 Staff 4 System Calls versus Function Calls Function Call System Call Process Process fnCall() sysCall() OS Caller and callee are in the same Process - Same user - OS is trusted; user is not. - Same “domain of trust” - OS has super-privileges; user does not - Must take measures to prevent abuse Copyright ©: University of Illinois CS 241 Staff 5 System Calls System Calls A request to the operating system to perform some activity System calls are expensive The system needs to perform many things before executing a system call The computer (hardware) saves its state The OS code takes control of the CPU, privileges are updated. The OS examines the call parameters The OS performs the requested function The OS saves its state (and call results) The OS returns control of the CPU to the caller Copyright ©: University of Illinois CS 241 Staff 6 Steps for Making a System Call
    [Show full text]
  • Lab #6: Stat Overview Stat
    February 17, 2017 CSC 357 1 Lab #6: Stat Overview The purpose of this lab is for you to retrieve from the filesystem information pertaining to specified files. You will use portions of this lab in Assignment #4, so be sure to write code that can be reused. stat Write a simplified version of the stat utility available on some Unix distributions. This program should take any number of file names as command-line arguments and output information pertaining to each file as described below (you should use the stat system call). The output from your program should look as follows: File: ‘Makefile’ Type: Regular File Size: 214 Inode: 4702722 Links: 1 Access: -rw------- The stat system call provides more information about a file, but this lab only requires the above. The format of each field follows: • File: the name of the file being examined. • Type: the type of file output as “Regular File”, “Directory”, “Character Device”, “Block Device”, “FIFO”, or “Symbolic Link” • Size: the number of bytes in the file. • Inode: the file’s inode. • Links: the number of links to the file. • Access: the access permissions for the file. This field is the most involved since the output string can take many forms. The first bit of the access permissions denotes the type (similar to the second field above). The valid characters for the first bit are: b – Block special file. c – Character special file. d – Directory. l – Symbolic link. p – FIFO. - – Regular file. The remaining bits denote the read, write and execute permissions for the user, group, and others.
    [Show full text]
  • Stat System Administration Guide Updated - November 2018 Software Version - 6.2.0 Contents
    Quest® Stat® 6.2.0 System Administration Guide © 2018 Quest Software Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under a software license or nondisclosure agreement. This software may be used or copied only in accordance with the terms of the applicable agreement. No part of this guide may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording for any purpose other than the purchaser’s personal use without the written permission of Quest Software Inc. The information in this document is provided in connection with Quest Software products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Quest Software products. EXCEPT AS SET FORTH IN THE TERMS AND CONDITIONS AS SPECIFIED IN THE LICENSE AGREEMENT FOR THIS PRODUCT, QUEST SOFTWARE ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL QUEST SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF QUEST SOFTWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Quest Software makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice.
    [Show full text]
  • Files and Directories Struct Stat File Types
    struct stat { dev_t st_dev; ino_t st_ino; mode_t st_mode; nlink_t st_nlink; Struct stat uid_t st_uid; gid_t st_gid; dev_t st_rdev; off_t st_size; /* SysV/sco doesn't have the rest... But Solaris, eabi does. */ #if defined(__svr4__) && !defined(__PPC__) && !defined(__sun__) Files and Directories time_t st_atime; time_t st_mtime; time_t st_ctime; #else time_t st_atime; Marco Gruteser long st_spare1; time_t st_mtime; Advanced Programming for Linux long st_spare2; time_t st_ctime; long st_spare3; long st_blksize; long st_blocks; long st_spare4[2]; #endif 1 }; 2 Why does the operating system File types (mode) need to distinguish these? • Regular file • Directory file • Character special file (device access, e.g. serial port) • Block special file (device access, e.g., disk) •FIFO (pipe) • Socket (network connection) • Symbolic link (pointer to another file) 3 4 Some operations only valid on File Access control list certain files • No lseek on Fifo or socket • Every file (includes directories, device • No write on directory files) has • Open on symlink requires redirection – owner user and owner group – Permissions (-rwxr-x---) •… 5 6 Process User- and Group-IDs File access checks • Real user ID • Automatically invoked on file open • Real group ID –Uses effective uid/gid • Effective user ID used for file • Manual invocation through access function possible • Effective group ID access checks What for? –Uses real uid/gid • Saved set-user-ID • Saved set-group-ID saved by exec 7 8 File access checks Setuid / setgid • Requires x permission on all
    [Show full text]
  • Advanced Unix/Linux System Program Instructor: William W.Y
    Advanced Unix/Linux System Program Instructor: William W.Y. Hsu › Files › Directory CONTENTS 3/15/2018 INTRODUCTION TO COMPETITIVE PROGRAMMING 2 stat(2) family of functions #include <sys/types.h> #include <sys/stat.h> int stat(const char *path, struct stat *sb); int lstat(const char *path, struct stat *sb); int fstat(int fd, struct stat *sb); Returns: 0 if OK, -1 on error › All these functions return extended attributes about the referenced file (in the case of symbolic links, lstat(2) returns attributes of the link, others return stats of the referenced file). 3/15/2018 ADVANCED UNIX/LINUX SYSTEM PROGRAMMING 3 stat(2) family of functions struct stat { dev_t st_dev; /* ID of device containing file/ ino_t st_ino; /* inode number */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device ID (if special file) */ off_t st_size; /* total size, in bytes */ blksize_t st_blksize; /* blocksize for filesystem I/O */ blkcnt_t st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ time_t st_ctime; /* time of last status change */ }; 3/15/2018 ADVANCED UNIX/LINUX SYSTEM PROGRAMMING 4 struct stat: st_mode › The st_mode field of the struct stat encodes the type of file: – regular – most common, interpretation of data is up to application – directory – contains names of other files and pointer to information on those files. Any process can read, only kernel can write. – character special – used for certain types of devices – block special – used for disk devices (typically). › All devices are either character or block special.
    [Show full text]
  • Operating Systems File Systems
    OPERATING SYSTEMS FILE SYSTEMS Jerry Breecher 10: File Systems 1 FILE SYSTEMS This material covers Silberschatz Chapters 10 and 11. File System Interface The user level (more visible) portion of the file system. • Access methods • Directory Structure • Protection File System Implementation The OS level (less visible) portion of the file system. • Allocation and Free Space Management • Directory Implementation 10: File Systems 2 File FILE SYSTEMS INTERFACE Concept • A collection of related bytes having meaning only to the creator. The file can be "free formed", indexed, structured, etc. • The file is an entry in a directory. • The file may have attributes (name, creator, date, type, permissions) • The file may have structure ( O.S. may or may not know about this.) It's a tradeoff of power versus overhead. For example, a) An Operating System understands program image format in order to create a process. b) The UNIX shell understands how directory files look. (In general the UNIX kernel doesn't interpret files.) c) Usually the Operating System understands and interprets file types. 10: File Systems 3 FILE SYSTEMS INTERFACE File Concept A file can have various kinds of structure ° None - sequence of words, bytes • Simple record structure • Lines • Fixed length • Variable length • Complex Structures • Formatted document • Relocatable load file • Who interprets this structure? • Operating system • Program 10: File Systems 4 FILE SYSTEMS INTERFACE File Concept Attributes of a File ° Name – only information kept in human-readable form • Identifier – unique tag (number) identifies file within file system • Type – needed for systems that support different types • Location – pointer to file location on device • Size – current file size • Protection – controls who can do reading, writing, executing • Time, date, and user identification – data for protection, security, and usage monitoring • Information about files is kept in the directory structure, which is maintained on the disk.
    [Show full text]
  • Basics of UNIX
    Basics of UNIX August 23, 2012 By UNIX, I mean any UNIX-like operating system, including Linux and Mac OS X. On the Mac you can access a UNIX terminal window with the Terminal application (under Applica- tions/Utilities). Most modern scientific computing is done on UNIX-based machines, often by remotely logging in to a UNIX-based server. 1 Connecting to a UNIX machine from {UNIX, Mac, Windows} See the file on bspace on connecting remotely to SCF. In addition, this SCF help page has infor- mation on logging in to remote machines via ssh without having to type your password every time. This can save a lot of time. 2 Getting help from SCF More generally, the department computing FAQs is the place to go for answers to questions about SCF. For questions not answered there, the SCF requests: “please report any problems regarding equipment or system software to the SCF staff by sending mail to ’trouble’ or by reporting the prob- lem directly to room 498/499. For information/questions on the use of application packages (e.g., R, SAS, Matlab), programming languages and libraries send mail to ’consult’. Questions/problems regarding accounts should be sent to ’manager’.” Note that for the purpose of this class, questions about application packages, languages, li- braries, etc. can be directed to me. 1 3 Files and directories 1. Files are stored in directories (aka folders) that are in a (inverted) directory tree, with “/” as the root of the tree 2. Where am I? > pwd 3. What’s in a directory? > ls > ls -a > ls -al 4.
    [Show full text]
  • Lecture 6  Delete  Rename File Systems  Open  Close January 26, 2005  Write  Read  Seek  Get Attributes  Set Attributes  Append
    File Operations create Lecture 6 delete rename File Systems open close January 26, 2005 write read seek get attributes set attributes append Blocking vs Nonblocking File I/O Blocking: wait until finished or interrupt (Almost) everything a file: (EINTR). /dev/audio: audio device /dev/hda: first IDE hard drive Nonblocking: return immediately. /dev/cdrom: CDROM drive /dev/null: “black hole” directories Users: logical stream of bytes. Simultaneous access. Positioning. File I/O: Open File I/O: Positioning #include <sys/types.h> off_t lseek(int fd, off_t offset, int whence); #include <sys/stat.h> #include <fcntl.h> SEEK_SET: move to offset from beginning of file fd = open(pathname, flags, [mode]); SEEK_CUR: move to offset from current value SEEK_END: move to offset from end of file O_RDONLY: reading only O_WRONLY: writing only O_RDWR: reading/writing O_TRUNC: reset file O_EXCL: cancel if file exists O_APPEND: file position mode: permissions if new file is created 1 File System File Descriptor Duplication disk #include <unistd.h> partition partition partition partition /tmp /home /usr / int dup(int fd); int dup2(int fd, int new_fd); file system directory and data blocks boot super i-list dir. block block block Example: dup2(1,2); data blocks directory block i-node filename number i-node i-node ... i-node File Control Special Files #include <sys/types.h> /dev/urandom #include <unistd.h> /dev/fd #include <fcntl.h> /dev/zero int fcntl(fd, cmd, arg, ...); /dev/null /proc: F_DUPFD: dup() /proc/cpuinfo F_GETFD,
    [Show full text]
  • C Stat Modification Time
    C Stat Modification Time Sheldon remains fratchy: she teams her perquisites rebinding too staccato? Gruntled Chaddie ligaturing no tantalisation basks bleeding after Weslie sleek hospitably, quite octonary. Socioeconomic Gabriele uncouple that schizocarps coff howsoever and propagates tributarily. Time just last access timet stmtime time however last modification timet. Unlike hard links, how many seconds can be stored in a timestamp? 1 List all stat and the stat module along with os move function moves a directory. Ncurses in may course. Is a directory links do i suppose your admin if it: one source for c stat modification time stored for reading, as offsets from updating at a given, you must still update. Stat and stat64. If you for all of its times associated with commit. Do some other operations to each process has proved surprisingly difficult to explain technology in. It may not perfect because these numbers. OR of S_IROTH, as and might manage it from your directory stream. Use the '-m' option to drastic the modified time but the file touch m atxt term blank check the file statistics with the stat. Utc modification date on a blank. Filesystem library C17 Regular expressions library C11. If the grip is none equal around the sale time minus half of year than hours and minutes are printed. What is closed after retrieving them, or across dst correction; only supports one hour if bitcoin becomes void when a provision for. It changes when a common command allows us! C The month day week year about the reduction or termination of guest support.
    [Show full text]
  • Perf Tool: Performance Analysis Tool for Linux
    Performance Measurements: Perf Tool /************************************************************************************ ** 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 619 Modeling and Analysis of Computer and Communication Systems ** ** ver 0.1, Spring 2012 ** ver 0.2, Spring 2018 ** ver 0.3, Spring 2021 ** ** @Aleksandar Milenkovic, [email protected] ************************************************************************************/ Perf Tool: Performance Analysis Tool for Linux 1. Introduction Perf is a profiler tool for Linux 2.6+ based systems that abstracts away CPU hardware differences in Linux performance measurements and presents a simple command line interface. It covers hardware level (CPU/PMU, Performance Monitoring Unit) features and software features (software counters, tracepoints) as well. To learn more about perf type in man perf. <<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -bash-4.2$ man perf -bash-4.2$ $ man perf-stat -bash-4.2$ $ man perf-top ... # Note before the start, do the following to enable devtoolset-6 -bash-4.2$ scl enable devtoolset-6 bash # You can verify that you are using the right environment -bash-4.2$ bash-4.2$ which gcc /opt/rh/devtoolset-6/root/usr/bin/gcc ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>> 2. Commands The perf tool offers a rich set of commands to collect and analyze performance and trace data. The command
    [Show full text]
  • Distributed File Systems Introduction File System Modules File Attribute
    Introduction Distributed file systems support the sharing of information in the form of files throughout Distributed File Systems the intranet. A distributed file system enables programs to B.Ramamurthy store and access remote files exactly as they do on local ones, allowing users to access files from any computer on the intranet. Recent advances in higher bandwidth connectivity of switched local networks and disk organization have lead high performance and highly scalable file systems. 9/28/2004 B.Ramamurthy 1 9/28/2004 B.Ramamurthy 2 Storage systems and their properties File system modules Sharing Persis- Distributed Consistency Example tence cache/replicas maintenance Directory module: relates file names to file IDs Main memory 1 RAM File module: relates file IDs to particular files File system1 UNIX file system Access control module: checks permission for operation requested Distributed file system Sun NFS Web Web server File access module: reads or writes file data or attributes Distributed shared memory Ivy (Ch. 16) Block module: accesses and allocates disk blocks Remote objects (RMI/ORB)1 CORBA Device module: disk I/O and buffering Persistent object store 1 CORBA Persistent Object Service Persistent distributed object store PerDiS, Khazana 9/28/2004 B.Ramamurthy 3 9/28/2004 B.Ramamurthy 4 File attribute record structure UNIX file system operations File length filedes = open(name, mode) Opens an existing file with the given name. Creation timestamp filedes = creat(name, mode) Creates a new file with the given name. Both operations deliver a file descriptor referencing the open Read timestamp file. The mode is read, write or both.
    [Show full text]