You are previewing Implementing an IBM High-Performance Computing Solution on IBM POWER8.
O'Reilly logo
Implementing an IBM High-Performance Computing Solution on IBM POWER8

Book Description

This IBM® Redbooks® publication documents and addresses topics to provide step-by-step programming concepts to tune the applications to use IBM POWER8® hardware architecture with the technical computing software stack. This publication explores, tests, and documents how to implement an IBM high-performance computing (HPC) solution on POWER8 by using IBM technical innovations to help solve challenging scientific, technical, and business problems.

This book demonstrates and documents that the combination of IBM HPC hardware and software solutions delivers significant value to technical computing clients in need of cost-effective, highly scalable, and robust solutions.

This book targets technical professionals (consultants, technical support staff, IT Architects, and IT Specialists) who are responsible for delivering cost-effective HPC solutions that help uncover insights among clients' data so that they can act to optimize business results, product development, and scientific discoveries.

Table of Contents

  1. Front cover
  2. Notices
    1. Trademarks
  3. IBM Redbooks promotions
  4. Preface
    1. Authors
    2. Now you can become a published author, too!
    3. Comments welcome
    4. Stay connected to IBM Redbooks
  5. Chapter 1. Introduction
    1. 1.1 Why implement an IBM HPC solution on IBM POWER8
    2. 1.2 IBM Power System S824L
      1. 1.2.1 The IBM POWER8 processor chip
      2. 1.2.2 Memory subsystem
    3. 1.3 High-performance Interconnect
    4. 1.4 Storage
    5. 1.5 Software stack
  6. Chapter 2. Planning for your high-performance computing environment
    1. 2.1 Reference architecture
      1. 2.1.1 Hardware
      2. 2.1.2 Firmware
      3. 2.1.3 Software
      4. 2.1.4 Network
      5. 2.1.5 Storage
    2. 2.2 Power, packaging, and cooling
  7. Chapter 3. Software deployment and configuration
    1. 3.1 Hardware, firmware, and the software stack
    2. 3.2 OPAL firmware and the ASM interface
      1. 3.2.1 Power off
      2. 3.2.2 Set firmware type
      3. 3.2.3 Reset the FSP
    3. 3.3 Intelligent Platform Management Interface (IPMI)
    4. 3.4 xCAT overview
      1. 3.4.1 xCAT cluster: Nodes and networks
      2. 3.4.2 xCAT database: Tables and objects
      3. 3.4.3 xCAT node booting
      4. 3.4.4 xCAT node discovery
      5. 3.4.5 xCAT FSP discovery
      6. 3.4.6 xCAT operating system installation types: Disks and state
      7. 3.4.7 xCAT network adapters: Primary and secondary or additional
      8. 3.4.8 xCAT Software Kits
      9. 3.4.9 xCAT version
      10. 3.4.10 xCAT cluster scenario: Networks, IP addresses, and hostnames
    5. 3.5 xCAT management node
      1. 3.5.1 Obtain super-user privileges
      2. 3.5.2 Install xCAT packages
      3. 3.5.3 Configure the xCAT networks
      4. 3.5.4 Configure the xCAT management node host name
      5. 3.5.5 Configure the xCAT DNS server
      6. 3.5.6 Configure the xCAT DHCP server
      7. 3.5.7 Configure the xCAT IPMI password
      8. 3.5.8 Configure the xCAT console server
    6. 3.6 xCAT node discovery
      1. 3.6.1 Define the xCAT nodes
      2. 3.6.2 Generate the boot image for node discovery
      3. 3.6.3 Configure bootloader for node discovery and booting
      4. 3.6.4 Configure the FSP network for node discovery
      5. 3.6.5 Configure the xCAT FSP nodes and compute nodes for node discovery
      6. 3.6.6 Perform the node discovery process
    7. 3.7 xCAT compute nodes: Operating system
      1. 3.7.1 Set node attributes for operating system network installation
      2. 3.7.2 Set the root password for nodes
      3. 3.7.3 Create the operating system image object definitions
      4. 3.7.4 Download the netboot files
      5. 3.7.5 Create a package repository for installer modules that are compatible with the netboot files
      6. 3.7.6 Set the operating system image of the nodes
      7. 3.7.7 Start the operating system provisioning
    8. 3.8 xCAT compute nodes: Software stack
      1. 3.8.1 Configure nodes for access to the Internet
      2. 3.8.2 Check for errors in package updates
      3. 3.8.3 Mellanox InfiniBand
      4. 3.8.4 XL C/C++ compiler
      5. 3.8.5 XL Fortran compiler
      6. 3.8.6 Parallel Environment Runtime Edition (PE RTE)
      7. 3.8.7 Parallel Environment Developer Edition (PE DE)
      8. 3.8.8 Engineering and Scientific Subroutine Library (ESSL)
      9. 3.8.9 Parallel Engineering and Scientific Subroutine Library (PESSL)
      10. 3.8.10 SDK, Java Technology Edition (IBM Java)
      11. 3.8.11 IBM Platform Load Sharing Facility (LSF)
      12. 3.8.12 IBM Spectrum Scale (formerly GPFS)
    9. 3.9 Software and firmware updates
      1. 3.9.1 Software updates: Operating system packages
      2. 3.9.2 Software updates: Other packages
      3. 3.9.3 Software updates: Package updates in Ubuntu server
      4. 3.9.4 Software updates: Problems in package updates
      5. 3.9.5 Software updates: Kernel package updates
      6. 3.9.6 Software updates: Early package updates
      7. 3.9.7 Firmware updates
    10. 3.10 System tuning
      1. 3.10.1 CPU frequency scaling
  8. Chapter 4. Cluster monitoring
    1. 4.1 IBM Platform LSF administration
      1. 4.1.1 Platform LSF definitions
      2. 4.1.2 Platform LSF administration commands
    2. 4.2 xCAT cluster monitoring
      1. 4.2.1 General view
      2. 4.2.2 Hardware discovery
      3. 4.2.3 Remote console
  9. Chapter 5. Application development
    1. 5.1 Compilers
      1. 5.1.1 IBM XL compilers
      2. 5.1.2 GCC and the IBM Advance Toolchain
    2. 5.2 Performance libraries
      1. 5.2.1 ESSL and Parallel ESSL
      2. 5.2.2 MASS
    3. 5.3 IBM Parallel Environment Developer Edition
    4. 5.4 IBM POWER8 features
      1. 5.4.1 AltiVec
      2. 5.4.2 Using decimal point floating unit
      3. 5.4.3 Memory model and storage synchronization considerations
      4. 5.4.4 Controlling prefetching with the Data Stream Control Register
    5. 5.5 Migration considerations
  10. Chapter 6. Running applications
    1. 6.1 Running serial applications
      1. 6.1.1 Run batch jobs by using a job file
      2. 6.1.2 Run the jobs by using command lines
    2. 6.2 Running parallel applications
    3. 6.3 Managing workloads
      1. 6.3.1 Modify pending jobs
      2. 6.3.2 Modify running jobs
      3. 6.3.3 Canceling the jobs
  11. Chapter 7. Tuning and debugging applications
    1. 7.1 General analysis, optimization, and tuning strategy
    2. 7.2 Profiling and tracing tools
      1. 7.2.1 gprof
      2. 7.2.2 Oprofile and perf
      3. 7.2.3 IBM HPC Toolkit
    3. 7.3 Runtime tuning
      1. 7.3.1 Controlling the execution of multithreaded applications
    4. 7.4 Debugging tools
      1. 7.4.1 Parallel debugger
      2. 7.4.2 Application analyzers
  12. Chapter 8. NVIDIA CUDA on IBM POWER8
    1. 8.1 Advantages of NVIDIA on POWER8
      1. 8.1.1 NVIDIA Tesla K40 GPU
    2. 8.2 Software stack
      1. 8.2.1 Ubuntu Server
      2. 8.2.2 CUDA toolkit
      3. 8.2.3 IBM XL C/C++ compiler
      4. 8.2.4 Java
      5. 8.2.5 CPU frequency scaling
      6. 8.2.6 CUDA cross-platform development
    3. 8.3 System monitoring
    4. 8.4 Application development
      1. 8.4.1 CUDA paradigm
      2. 8.4.2 Compilers
      3. 8.4.3 Running CUDA applications
      4. 8.4.4 GPU accelerated libraries
      5. 8.4.5 CUDA and IBM Java
      6. 8.4.6 Nsight
      7. 8.4.7 NVIDIA CUDA Toolkit code samples
    5. 8.5 Tuning and debugging
      1. 8.5.1 CUDA profiling tools
      2. 8.5.2 CUDA debug tools
  13. Appendix A. Problem determination
    1. IBM XL SMP Runtime error 1587-120
    2. Problems with the Intelligent Platform Management Interface (IPMI) Tool
    3. Incorrect IPMI password
    4. Network traffic impact
    5. IPMI server hangs
  14. Appendix B. Useful commands
    1. xCAT commands
    2. Platform LSF commands
    3. InfiniBand commands
  15. Appendix C. IBM Tivoli Workload Scheduler LoadLeveler to IBM Platform Load Sharing Facility migration
    1. LoadLeveler to Platform LSF migration
    2. User scenario
  16. Appendix D. Applications and performance
    1. Application software
    2. NAS Parallel Benchmarks
    3. Sample code for environment variables’ thread affinity strings
  17. Related publications
    1. IBM Redbooks
    2. Other publications
    3. Online resources
    4. Help from IBM
  18. Back cover