ECMWF 1 COM HPCF 2004: High performance file I/O High performance file I/O Computer User Training Course 2004 Carsten Maaß User Support.

Slides:



Advertisements
Similar presentations
Analyzing NFS Client Performance with IOzone
Advertisements

Firenze, Giugno 2003, C. Gheller Parallel I/O Basics Claudio Gheller CINECA
CSE 105 Structured Programming Language (C)
Workload Characterization of SPECweb2005 Presentation at SPECworkshop by Rema Hariharan Ning Sun Sun Microsystems.
ECMWF 1 Com Intro training course Compiling environment Compiling Environment – ecgate Dominique Lucas User Support.
ECMWF 1 COM INTRO 2004: Introduction to file systems Introduction to File Systems Computer User Training Course 2004 Carsten Maaß User Support.
ECMWF Slide 1Porting MPI Programs to the IBM Cluster 1600 Peter Towers March 2004.
0 - 0.
Multiple Processor Systems
Introduction to XFS HEPSYSMAN 5th December 2005.
Wait Events in RAC Session 362
SE-292 High Performance Computing
CS 105 Tour of the Black Holes of Computing
System Integration and Performance
Introduction to Computer Systems CCE INPUT Human/Machine Interface DATA Organisation Access Analysis Computation Synthesis PROCESSING Systems Programming.
Tom Hamilton – America’s Channel Database CSE
4.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 4: Organizing a Disk for Data.
Databasteknik Databaser och bioinformatik Data structures and Indexing (II) Fang Wei-Kleiner.
Introduction to the new mainframe: Large-Scale Commercial Computing © Copyright IBM Corp., All rights reserved. Chapter 2: Capacity.
1 CS533 Modeling and Performance Evaluation of Network and Computer Systems Capacity Planning and Benchmarking (Chapter 9)
1 Sizing the Streaming Media Cluster Solution for a Given Workload Lucy Cherkasova and Wenting Tang HPLabs.
Trap Diagnostic Facility Todays Software Diagnostic Tool with innovative features for the z/OS software developer Arney Computer Systems.
Introduction to cloud computing Jiaheng Lu Department of Computer Science Renmin University of China
File Systems: Fundamentals.
Chapter 6 File Systems 6.1 Files 6.2 Directories
1 CMPT 300 Introduction to Operating Systems File Systems Sample Questions.
3.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Process An operating system executes a variety of programs: Batch system.
Operating System.
Processes Management.
QuakeTM: Parallelizing a Complex Serial Application Using Transactional Memory Vladimir Gajinov 1,2, Ferad Zyulkyarov 1,2,Osman S. Unsal 1, Adrián Cristal.
Introduction to Queuing Theory
Test B, 100 Subtraction Facts
SE-292 High Performance Computing
SE-292 High Performance Computing Memory Hierarchy R. Govindarajan
The DDS Benchmarking Environment James Edmondson Vanderbilt University Nashville, TN.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Oct. 23, 2002 Topic: Memory Hierarchy Design (HP3 Ch. 5) (Caches, Main Memory and.
1 Parallel Scientific Computing: Algorithms and Tools Lecture #2 APMA 2821A, Spring 2008 Instructors: George Em Karniadakis Leopold Grinberg.
Operating-System Structures
Chapter 11 C File Processing Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File-System Interface.
CHAPTER 6 FILE PROCESSING. 2 Introduction  The most convenient way to process involving large data sets is to store them into a file for later processing.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER 1 Comparison of Communication and I/O of the Cray T3E and IBM SP Jonathan Carter NERSC User.
System Calls 1.
1 THE UNIX FILE SYSTEM By Chokechai Chuensukanant ID COSC 513 Operating System.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
 2007 Pearson Education, Inc. All rights reserved C File Processing.
Chapter 11 File Processing. Objectives In this chapter, you will learn: –To be able to create, read, write and update files. –To become familiar with.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 11 – File Processing Outline 11.1Introduction.
Chapter 1 Introduction File Structures Readings: Folk, Chapter 1.
Computer Systems. Bits Computers represent information as patterns of bits A bit (binary digit) is either 0 or 1 –binary  “two states” true and false,
IBM ATS Deep Computing © 2007 IBM Corporation High Performance IO HPC Workshop – University of Kentucky May 9, 2007 – May 10, 2007 Andrew Komornicki, Ph.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
GPFS: A Shared-Disk File System for Large Computing Clusters Frank Schmuck & Roger Haskin IBM Almaden Research Center.
 2007 Pearson Education, Inc. All rights reserved. 1 C File Processing.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
 2007 Pearson Education, Inc. All rights reserved C File Processing.
An Introduction to GPFS
Compute and Storage For the Farm at Jlab
11 C File Processing.
Chapter 3: Process Concept
Operating System.
TMF1414 Introduction to Programming
Operation System Program 4
Lecture 2: Processes Part 1
Chapter 11 – File Processing
Multiple Processor Systems
Fundamental of Programming (C)
THE GOOGLE FILE SYSTEM.
Presentation transcript:

ECMWF 1 COM HPCF 2004: High performance file I/O High performance file I/O Computer User Training Course 2004 Carsten Maaß User Support

ECMWF 2 COM HPCF 2004: High performance file I/O Topics introduction to General Parallel File System (GPFS) GPFS in the ECMWF High Performance Computing Facility (HPCF) staging data to an HPCF cluster retrieving results from an HPCF cluster maximizing file I/O performance in FORTRAN maximizing file I/O performance in C and C++

ECMWF 3 COM HPCF 2004: High performance file I/O each GPFS file system can be shared simultaneously by multiple nodes can be configured for high availability performance generally much better than locally attached disks (due to parallel nature of the underlying file system) provides Unix file system semantics with very minor exceptions GPFS provides data coherency – modifications to file content by any node are immediately visible to all nodes The General Parallel File System (GPFS)

ECMWF 4 COM HPCF 2004: High performance file I/O GPFS does NOT provide full metadata coherency the stat system call might return incorrect values for atime, ctime and mtime (which can result in the ls command providing incorrect information) metadata is coherent if all nodes have sync'd since the last metadata modification Use gpfs_stat and/or gpfs_fstat if exact atime, ctime and mtime values are required. Metadata coherency

ECMWF 5 COM HPCF 2004: High performance file I/O GPFS supports all 'traditional' Unix file locking mechanisms: lockf flock fcntl Remember: Unix file locking is advisory, not mandatory File locking

ECMWF 6 COM HPCF 2004: High performance file I/O ConceptGPFSNFS file systems shared between multiple nodes yes path names the same across different nodes yes* data coherent across all nodes yesno different parts of a file can be simultaneously up- dated on different nodes yesno high performance yesno traditional Unix file locking semantics yesno * if configured appropriately Comparison with NFS

ECMWF 7 COM HPCF 2004: High performance file I/O GPFS servers GPFS clients p G p G p690 32G p690 32G p690 32G... dual plane SP Switch 2 (dual ~350MB/sec switch) I/O node I/O node I/O node I/O node p G GPFS in an HPCF cluster

ECMWF 8 COM HPCF 2004: High performance file I/O all HPCF file systems are of the type GPFS each GPFS file systems will be global accessible from any node within a cluster GPFS file systems are not shared between the two HPCF clusters HPCF file system setup (1/2)

ECMWF 9 COM HPCF 2004: High performance file I/O ECMWF's file system locations are described by environment variables: HPCF file system setup (2/2) hpca block size [KB] quota [MB] total size [GB] suitable for $HOME permanent files: sources,.profile, utilities, libs $TEMP256—1100temporary files (select/delete is applied) $TMPDIR256—1100data to be deleted automatically at the end of a job Do not rely on select/delete! Clear your disk space as soon as possible!

ECMWF 10 COM HPCF 2004: High performance file I/O ecrcp from ecgate to hpca for larger transfers NFS to facilitate commands like ls etc. on remote machines Transferring data to/from an HPCF cluster depending on source and size of data

ECMWF 11 COM HPCF 2004: High performance file I/O In roughly decreasing order of importance: Use large record sizes – aim for at least 100K – multi-megabyte records are even better use FORTRAN unformatted instead of formatted files use FORTRAN direct files instead of sequential reuse the kernel's I/O buffers: – if a file which was recently written sequentially is to be read, start at the end and work backwards Maximizing FORTRAN I/O performance

ECMWF 12 COM HPCF 2004: High performance file I/O each read call will typically result in: – sending a request message to an I/O node – waiting for the response – receiving the data from the I/O node the time spent waiting for the response will be at least a few milliseconds regardless of the size of the request data transfer rates for short requests can be as low as a few hundred thousand bytes per second random access I/O on short records can be even slower!!! What's wrong with short record sizes? Reminder: At the HPCF's clock rate of 1.3 GHz, one millisecond spent waiting for data wastes over 1,000,000 CPU cycles!

ECMWF 13 COM HPCF 2004: High performance file I/O real*8 a(1000,1000). open (21, file='input.dat',access='DIRECT',recl= , - status='OLD') read(21,rec=1) a close(21). open (22, file='output.dat',access='DIRECT',recl= , - status='NEW') write(22,rec=1) a close(22). FORTRAN direct I/O example 1

ECMWF 14 COM HPCF 2004: High performance file I/O real*8 a(40000), b(40000) open (21, file='input.dat',access='DIRECT',recl=320000, - status='OLD') open (22, file='output.dat',access='DIRECT',recl=320000, - status='NEW'). do i = 1, n read(21,rec=i) a do j = 1, b(j) =... a(j)... enddo write(22,rec=i) b enddo close(21) close(22). FORTRAN direct I/O example 2

ECMWF 15 COM HPCF 2004: High performance file I/O In roughly decreasing order of importance: use large length parameters in read and write calls – aim for at least 100K – bigger is almost always better use binary data formats (i.e. avoid printf, scanf etc.) use open, close, read, write, etc (avoid stdio routines like fopen, fclose, fread and fwrite) reuse the kernel's I/O buffers: – if a file which was recently written sequentially is to be read, start at the end and work backwards Maximizing C and C++ I/O performance

ECMWF 16 COM HPCF 2004: High performance file I/O underlying block size is quite small – use setbuf or setvbuf to increase buffer sizes writing in parallel using fwrite risks data corruption Although... stdio is much better than short requests – e.g. fgetc, fputc What's wrong with the stdio routines?

ECMWF 17 COM HPCF 2004: High performance file I/O introduction to General Parallel File System (GPFS) GPFS in the ECMWF High Performance Computing Facility (HPCF) staging data to an HPCF cluster retrieving results from an HPCF cluster maximizing file I/O performance in FORTRAN maximizing file I/O performance in C and C++ Unit summary