Download presentation
Presentation is loading. Please wait.
1
Parallel/Concurrent Programming on the SGI Altix Conley Read January 25, 2007 UC Riverside, Department of Computer Science
2
Overview The SGI Altix Itanium 2 Features Tools – Schedutils MPI Programming Star-P References Try It
3
About the SGIs – sgi-2.cs.ucr.edu 32 processor – Intel Itanium – 1.5 GHz – 128 GB (70 GB) RAM – sgi-dev.cs.ucr.edu 4 processor (2 sockets X 2 cores) – Intel Xeon – 3 GHz – 8 GB RAM 2 Virtex 4 LX200 FPGAs – 200,000 Logic Cells – 80 MB SRAM
4
SGI Altix 3000 Runs one copy of Fedora or OpenSUSE Linux – Ported to SGI Hardware (Lessons from IRIX) Linux natively supports management of 32 processors 1 copy of Linux vs. 1 copy of Linux per node – Node sizes 32,64,128…? Programming for the 32 processor SGI is similar to programming for a 4 way SMP
5
Global Shared Memory Single Memory space – All system resources – Processors – I/O SGI Altix 3000 uses NUMAflex (interconnect) to connect Itaniums with NUMAlink (ASIC) Creates SMP-like system Regardless of the node location of thread execution – Interprocess communication time is reduced
6
The Itanium 2 First Supercomputer using Itanium (1) – IBM Titan NOW Cluster at NCSA Unique Features – 16 Byte Atomic Operations – IA-64 Fixed Length Instructions Relies on Compile-time Optimizations Branch Speculative Execution Speculatively fetches data not in Cache – Virtualization (Intel Vanderpool Technology or VT) – Explicitly Parallel Instruction Computing (EPIC)
7
Tools GNU C Compiler – Installed Intel C Compiler (icc) – Waiting for License Intel Debugger (idb) GNU gdb – Debugger – Installed – Some problems with code generated by icc Etnus TotalView – Better Debugger Intel Vtune – Available for purchase sTrace – System Call Tracer SGI Star-P – Currently being installed
8
ICC Intel C Compiler (icc) – OpenMP – Simpler conversion from serial to parallel execution – Auto-parallelization – Safe-loop parallelization – Fortran 95 Optimizations for IA-64 Architecture – Itanium 2 uses IA-64
9
Schedutils Change Process Scheduling Attributes – chrt [options] [pid | command] -p : Edit existing PID --rr : Round Robin --fifo : SCHED_FIFO --other : SCHED_OTHER
10
Schedutils Change Process CPU Affinity – taskset [options] [mask] [pid | command] -p : Edit existing PID Mask – 0x00000001 : Processor #0…0001 – 0x00000002 : Processor #2…0010 – 0x00000003 : Processor #0 and #1…0011 – … – 0xFFFFFFFFF : All Processors11…11
11
Parallel Programming Building Blocks SGI Altix supports common MPI libraries – Pthreads – not exactly threads – SGI Message Passing Interface – Intel MPI Library – Voltaire MPI – Installed – Scali MPI
12
MPI Programming Create a new thread – fork() vs. pthreads_create() Hardware vs. POSIX Bind a thread to a processor – pthread_processor_bind_np() If you do not bind the pthread or modify the forked thread, the new thread will inherit the scheduling properties of the creating thread.
13
Star-P The power of Supercomputers – MATLAB to SGI Altix over Network – Offloads computation tasks – Runtime call intercept – Perform day long computations in minutes Without the Hassle – No reprogramming in C MPI
14
How to Login SGI Altix at UCR – sgi-2.cs.ucr.edu Use secure SSH protocol to connect – CS Username – CS Password SGI RASC Altix at UCR – sgi-dev.cs.ucr.edu Use secure SSH protocol to connect – CS Username – CS Password
15
Try it ssh sgi-2.cs.ucr.edu cat /proc/cpuinfo cat /proc/meminfo free vmstat uname -a
16
Questions?
17
References http://www.intel.com/products/processor/itanium2/ http://en.wikipedia.org/wiki/Itanium2 http://www.sgi.com/developers/technology/gsm.html http://rlove.org/schedutils/ http://www.llnl.gov/computing/tutorials/pthreads/
18
Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.