NVIDIA DGX OS 5.0 User Guide DU-10211-001 _v5.0.0 | September 2021 Table of Contents Chapter 1. Introduction to the NVIDIA DGX OS 5 User Guide..............................................1 1.1. Additional Documentation........................................................................................................ 2 1.2. Customer Support.....................................................................................................................2 Chapter 2. Preparing for Operation..................................................................................... 3 2.1. Software Installation and Setup...............................................................................................3 2.2. Connecting to the DGX System................................................................................................4 Chapter 3. Installing the DGX OS (Reimaging the System)................................................. 5 3.1. Obtaining the DGX OS ISO........................................................................................................5 3.2. Installing the DGX OS Image Remotely through the BMC......................................................6 3.3. Installing the DGX OS Image from a USB Flash Drive or DVD-ROM......................................6 3.3.1. Creating a Bootable USB Flash Drive by Using the dd Command.................................. 7 3.3.2. Creating a Bootable USB Flash Drive by Using Akeo Rufus............................................8 3.4. Installation Options................................................................................................................... 9 3.4.1. Install DGX OS and Reformat the Data RAID................................................................... 9 3.4.2. Install DGX OS without Reformatting the Data RAID..................................................... 10 3.4.3. Advanced Installation Options (Encrypted Root).............................................................10 3.4.4. Boot Into a Live Environment.......................................................................................... 11 3.4.5. Check Disc for Defects.................................................................................................... 11 Chapter 4. Initial DGX OS Set Up....................................................................................... 12 4.1. First Boot Process for DGX Servers...................................................................................... 12 4.2. First Boot Process for DGX Station....................................................................................... 14 Chapter 5. Post-Installation Tasks.................................................................................... 16 5.1. Adding Support for Additional Languages to the DGX Station..............................................16 5.2. Configuring your DGX Station To Use Multiple Displays...................................................... 16 5.2.1. DGX Station V100..............................................................................................................18 5.3. Enabling Multiple Users to Remotely Access the DGX System............................................19 Chapter 6. Upgrading Your DGX OS Release.....................................................................20 6.1. Getting Release Information for DGX Systems..................................................................... 21 6.2. Preparing to Upgrade the Software.......................................................................................21 6.2.1. Connect to the DGX System Console.............................................................................. 22 6.2.2. Verifying the DGX System Connection to the Repositories............................................ 22 6.3. Upgrading to DGX OS 5.......................................................................................................... 23 6.3.1. Verifying the Upgrade.......................................................................................................26 6.3.2. Recovering from an Interrupted or Failed Update......................................................... 26 NVIDIA DGX OS 5.0 DU-10211-001 _v5.0.0 | ii 6.4. Performing Package Upgrades by Using the CLI................................................................. 27 6.5. Managing Software Upgrades on the Desktop......................................................................28 6.5.1. Performing Package Upgrades by Using the GUI.......................................................... 28 6.5.2. Checking for Updates to DGX Station Software..............................................................29 Chapter 7. Installing Additional Software..........................................................................31 7.1. Changing Your GPU Branch................................................................................................... 31 7.1.1. Checking the Currently Installed Driver Branch............................................................ 32 7.1.2. Determining the New Available Driver Branches...........................................................32 7.1.3. Upgrading Your GPU Branch...........................................................................................32 7.2. Installing or Upgrading to a Newer CUDA Toolkit Release..................................................33 7.2.1. Checking the Currently Installed CUDA Toolkit Release............................................... 33 7.2.2. Determining the New Available CUDA Toolkit Releases................................................34 7.2.3. Installing the CUDA Toolkit or Upgrading Your CUDA Toolkit to a Newer Release..... 34 Chapter 8. Network Configuration..................................................................................... 35 8.1. Configuration Network Proxies.............................................................................................. 35 8.1.1. For the OS and Most Applications...................................................................................35 8.1.2. For the apt Package Manager.........................................................................................35 8.1.3. For Docker........................................................................................................................ 36 8.2. Preparing the DGX System to be Used With Docker............................................................ 36 8.2.1. Enabling Users To Run Docker Containers....................................................................36 8.2.2. Configuring Docker IP Addresses................................................................................... 37 8.3. DGX OS Connectivity Requirements.......................................................................................37 8.3.1. In-Band Management, Storage, and Compute Networks.............................................. 38 8.3.2. Out-of-Band Management............................................................................................... 38 8.4. Connectivity Requirements for NGC Containers...................................................................39 8.5. Configuring Static IP Addresses for the Network Ports.......................................................39 Chapter 9. Additional Features and Instructions.............................................................. 41 9.1. Managing CPU Mitigations..................................................................................................... 41 9.1.1. Determining the CPU Mitigation State of the DGX System............................................ 41 9.1.2. Disabling CPU Mitigations............................................................................................... 42 9.1.3. Re-enable CPU Mitigations..............................................................................................42 9.2. Managing the DGX Crash Dump Feature.............................................................................. 42 9.2.1. Using the Script................................................................................................................42 9.2.2. Connecting to Serial Over LAN....................................................................................... 43 9.3. Filesystem Quotas...................................................................................................................43 9.4. Running Workloads on Systems with Mixed Types of GPUs................................................ 43 9.4.1. Running with Docker Containers.................................................................................... 44 9.4.2. Running on Bare Metal....................................................................................................44 NVIDIA DGX OS 5.0 DU-10211-001 _v5.0.0 | iii 9.4.3. Using Multi-Instance GPUs............................................................................................. 48 9.5. Updating the containerd Override File...................................................................................50 Chapter 10. Data Storage Configuration............................................................................52 10.1. Using Data Storage for NFS Caching.................................................................................. 52 10.1.1. Using cachefilesd........................................................................................................... 52 10.1.2. Disabling cachefilesd....................................................................................................
Kernel Boot-time Tracing Linux Plumbers Conference 2019 - Tracing Track Masami Hiramatsu <mhiramat@kernel.org> Linaro, Ltd. Speaker Masami Hiramatsu - Working for Linaro and Linaro members - Tech Lead for a Landing team - Maintainer of Kprobes and related tracing features/tools Why Kernel Boot-time Tracing? Debug and analyze boot time errors and performance issues - Measure performance statistics of kernel boot - Analyze driver init failure - Debug boot up process - Continuously tracing from boot time etc. What We Have There are already many ftrace options on kernel command line ● Setup options (trace_options=) ● Output to printk (tp_printk) ● Enable events (trace_events=) ● Enable tracers (ftrace=) ● Filtering (ftrace_filter=,ftrace_notrace=,ftrace_graph_filter=,ftrace_graph_notrace=) ● Add kprobe events (kprobe_events=) ● And other options (alloc_snapshot, traceoff_on_warning, ...) See Documentation/admin-guide/kernel-parameters.txt Example of Kernel Cmdline Parameters In grub.conf linux /boot/vmlinuz-5.1 root=UUID=5a026bbb-6a58-4c23-9814-5b1c99b82338 ro quiet splash tp_printk trace_options=”sym-addr” trace_clock=global ftrace_dump_on_oops trace_buf_size=1M trace_event=”initcall:*,irq:*,exceptions:*” kprobe_event=”p:kprobes/myevent foofunction $arg1 $arg2;p:kprobes/myevent2 barfunction %ax” What Issues? Size limitation ● kernel cmdline size is small (< 256bytes) ● A half of the cmdline is used for normal boot Only partial features supported ● ftrace has too complex features for single command line ● per-event filters/actions, instances, histograms. Solutions? 1. Use initramfs - Too late for kernel boot time tracing 2. Expand kernel cmdline - It is not easy to write down complex tracing options on bootloader (Single line options is too simple) 3. Reuse structured boot time data (Devicetree) - Well documented, structured data -> V1 & V2 series based on this. Boot-time Trace: V1 and V2 series V1 and V2 series posted at June.
Linux perf event Features and Overhead 2013 FastPath Workshop Vince Weaver http://www.eece.maine.edu/∼vweaver vincent.weaver@maine.edu 21 April 2013 Performance Counters and Workload Optimized Systems • With processor speeds constant, cannot depend on Moore's Law to deliver increased performance • Code analysis and optimization can provide speedups in existing code on existing hardware • Systems with a single workload are best target for cross- stack hardware/kernel/application optimization • Hardware performance counters are the perfect tool for this type of optimization 1 Some Uses of Performance Counters • Traditional analysis and optimization • Finding architectural reasons for slowdown • Validating Simulators • Auto-tuning • Operating System optimization • Estimating power/energy in software 2 Linux and Performance Counters • Linux has become the operating system of choice in many domains • Runs most of the Top500 list (over 90%) on down to embedded devices (Android Phones) • Until recently had no easy access to hardware performance counters, limiting code analysis and optimization. 3 Linux Performance Counter History • oprofile { system-wide sampling profiler since 2002 • perfctr { widely used general interface available since 1999, required patching kernel • perfmon2 { another general interface, included in kernel for itanium, made generic, big push for kernel inclusion 4 Linux perf event • Developed in response to perfmon2 by Molnar and Gleixner in 2009 • Merged in 2.6.31 as \PCL" • Unusual design pushes most functionality into kernel
NVIDIA DGX Station the First Personal AI Supercomputer 1.0 Introduction
White Paper NVIDIA DGX Station The First Personal AI Supercomputer 1.0 Introduction.........................................................................................................2 2.0 NVIDIA DGX Station Architecture ........................................................................3 2.1 NVIDIA Tesla V100 ..........................................................................................5 2.2 Second-Generation NVIDIA NVLink™ .............................................................7 2.3 Water-Cooling System for the GPUs ...............................................................7 2.4 GPU and System Memory...............................................................................8 2.5 Other Workstation Components.....................................................................9 3.0 Multi-GPU with NVLink......................................................................................10 3.1 DGX NVLink Network Topology for Efficient Application Scaling..................10 3.2 Scaling Deep Learning Training on NVLink...................................................12 4.0 DGX Station Software Stack for Deep Learning.................................................14 4.1 NVIDIA CUDA Toolkit.....................................................................................16 4.2 NVIDIA Deep Learning SDK ...........................................................................16 4.3 Docker Engine Utility for NVIDIA GPUs.........................................................17 4.4 NVIDIA Container
Linux Performance Tools Brendan Gregg Senior Performance Architect Performance Engineering Team bgregg@netflix.com @brendangregg This Tutorial • A tour of many Linux performance tools – To show you what can be done – With guidance for how to do it • This includes objectives, discussion, live demos – See the video of this tutorial Observability Benchmarking Tuning Stac Tuning • Massive AWS EC2 Linux cloud – 10s of thousands of cloud instances • FreeBSD for content delivery – ~33% of US Internet traffic at night • Over 50M subscribers – Recently launched in ANZ • Use Linux server tools as needed – After cloud monitoring (Atlas, etc.) and instance monitoring (Vector) tools Agenda • Methodologies • Tools • Tool Types: – Observability – Benchmarking – Tuning – Static • Profiling • Tracing Methodologies Methodologies • Objectives: – Recognize the Streetlight Anti-Method – Perform the Workload Characterization Method – Perform the USE Method – Learn how to start with the questions, before using tools – Be aware of other methodologies My system is slow… DEMO & DISCUSSION Methodologies • There are dozens of performance tools for Linux – Packages: sysstat, procps, coreutils, … – Commercial products • Methodologies can provide guidance for choosing and using tools effectively • A starting point, a process, and an ending point An#-Methodologies • The lack of a deliberate methodology… Street Light An<-Method 1. Pick observability tools that are: – Familiar – Found on the Internet – Found at random 2. Run tools 3. Look for obvious issues Drunk Man An<-Method • Tune things at random until the problem goes away Blame Someone Else An<-Method 1. Find a system or environment component you are not responsible for 2. Hypothesize that the issue is with that component 3. Redirect the issue to the responsible team 4.
NVIDIA DGX-1 ARTIFIcIAL INTELLIGENcE SYSTEM The World’s First AI Supercomputer in a Box Get faster training, larger models, and more accurate results from deep learning with the NVIDIA® DGX-1™. This is the world’s first purpose-built system for deep learning and AI-accelerated analytics, with performance equal to 250 conventional servers. It comes fully integrated with hardware, deep learning software, development tools, and accelerated analytics applications. Immediately shorten SYSTEM SPECIFICATIONS data processing time, visualize more data, accelerate deep learning frameworks, GPUs 8x Tesla P100 and design more sophisticated neural networks. TFLOPS (GPU FP16 / 170/3 CPU FP32) Iterate and Innovate Faster GPU Memory 16 GB per GPU CPU Dual 20-core Intel® Xeon® High-performance training accelerates your productivity giving you faster insight E5-2698 v4 2.2 GHz NVIDIA CUDA® Cores 28672 and time to market. System Memory 512 GB 2133 MHz DDR4 Storage 4x 1.92 TB SSD RAID 0 NVIDIA DGX-1 Delivers 58X Faster Training Network Dual 10 GbE, 4 IB EDR Software Ubuntu Server Linux OS DGX-1 Recommended GPU NVIDIA DX-1 23 Hours, less than 1 day Driver PU-Only Server 1310 Hours (5458 Days) System Weight 134 lbs 0 10X 20X 30X 40X 50X 60X System Dimensions 866 D x 444 W x 131 H (mm) Relatve Performance (Based on Tme to Tran) Packing Dimensions 1180 D x 730 W x 284 H (mm) affe benchmark wth V-D network, tranng 128M mages wth 70 epochs | PU servers uses 2x Xeon E5-2699v4 PUs Maximum Power 3200W Requirements Operating Temperature 10 - 30°C NVIDIA DGX-1 Delivers 34X More Performance Range NVIDIA DX-1 170 TFLOPS PU-Only Server 5 TFLOPS 0 10 50 100 150 170 Performance n teraFLOPS PU s dual socket Intel Xeon E5-2699v4 170TF s half precson or FP16 DGX-1 | DATA SHEET | DEc16 computing for Infinite Opportunities NVIDIA DGX-1 Software Stack The NVIDIA DGX-1 is the first system built with DEEP LEARNING FRAMEWORKS NVIDIA Pascal™-powered Tesla® P100 accelerators.
COMPUTING FOR THE MOST DEMANDING USERS NVIDIA Artificial intelligence, the dream of computer scientists for over half a century, is no longer science fiction. And in the next few years, it will transform every industry. Soon, self-driving cars will reduce congestion and improve road safety. AI travel agents will know your preferences and arrange every detail of your family vacation. And medical instruments will read and understand patient DNA to detect and treat early signs of cancer. Where engines made us stronger and powered the first industrial revolution, AI will make us smarter and power the next. What will make this intelligent industrial revolution possible? A new computing model — GPU deep learning — that enables computers to learn from data and write software that is too complex for people to code. NVIDIA — INVENTOR OF THE GPU The GPU has proven to be unbelievably effective at solving some of the most complex problems in computer science. It started out as an engine for simulating human imagination, conjuring up the amazing virtual worlds of video games and Hollywood films. Today, NVIDIA’s GPU simulates human intelligence, running deep learning algorithms and acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. This is our life’s work — to amplify human imagination and intelligence. THE NVIDIA GPU DEFINES MODERN COMPUTER GRAPHICS Our invention of the GPU in 1999 made possible real-time programmable shading, which gives artists an infinite palette for expression. We’ve led the field of visual computing since. SIMULATING HUMAN IMAGINATION Digital artists, industrial designers, filmmakers, and broadcasters rely on NVIDIA Quadro® pro graphics to bring their imaginations to life.
On Access Control Model of Linux Native Performance Monitoring Motivation
On access control model of Linux native performance monitoring Motivation • socialize Perf access control management to broader community • promote the management to security sensitive production environments • discover demand on extensions to the existing Perf access control model 2 Model overview • Subjects: processes • Access control: • superuser root • LSM hooks for MAC (e.g. SELinux) subjects • privileged user groups • Linux capabilities (DAC) • unprivileged users • perf_event_paranoid sysctl access and • Objects: telemetry data • Resource control: • tracepoints, OS events resource control • CPU time: sample rate & throttling • CPU • Memory: perf_events_mlock_kb sysctl • Uncore Objects • Other HW • File descriptors: ulimit -n (RLIMIT_NOFILE) system • Scope • Level user cgroups • process • user mode • cgroups • kernel kernel • system process • hypervisor hypervisor 3 Subjects Users • root, superuser: • euid = 0 and/or CAP_SYS_ADMIN • unprivileged users: • perf_event_paranoid sysctl • Perf privileged user group: -rwxr-x--- 2 root perf_users 11M Oct 19 15:12 perf # getcap perf perf = cap_perfmon,…=ep root unprivileged Perf users 4 Telemetry, scope, level Telemetr Objects: SW, HW telemetry data y Uncore • tracepoints, OS events, eBPF • CPUs events and related HW CPU • Uncore events (LLC, Interconnect, DRAM) SW events • Other (e.g. FPGA) process cgroup user Scope: Level: system kernel • process • user hypervisor • cgroups • kernel Scope Leve • system wide • hypervisor l 5 perf: interrupt took too long (3000 > 2000), lowering kernel.perf_event_max_sample_rate
Kernel Runtime Security Instrumentation Process Is Executed
Kernel Runtime Security Instrumentation KP Singh Linux Plumbers Conference Motivation Security Signals Mitigation Audit SELinux, Apparmor (LSMs) Perf seccomp Correlation with It's bad, stop it! maliciousness but do not imply it Adding a new Signal Signals Mitigation Update Audit Audit (user/kernel) SELinux, Apparmor (LSMs) to log environment Perf variables seccomp Security Signals Mitigation Audit SELinux, Apparmor (LSMs) Perf seccomp Update the mitigation logic for a malicious actor with a known LD_PRELOAD signature Signals ● A process that executes and deletes its own executable. ● A Kernel module that loads and "hides" itself ● "Suspicious" environment variables. Mitigations ● Prevent mounting of USB drives on servers. ● Dynamic whitelist of known Kernel modules. ● Prevent known vulnerable binaries from running. How does it work? Why LSM? ● Mapping to security behaviours rather than the API. ● Easy to miss if instrumenting using syscalls (eg. execve, execveat) ● Benefit the LSM ecosystem by incorporating feedback from the security community. Run my code when a Kernel Runtime Security Instrumentation process is executed /sys/kernel/security/krsi/process_execution my_bpf_prog.o (bprm_check_security) bpf [BPF_PROG_LOAD] open [O_RDWR] securityfs_fd prog_fd bpf [BPF_PROG_ATTACH] LSM:bprm_check_security (when a process is executed) KRSI's Hook Other LSM Hooks Tying it all Together Reads events from the buffer and processes them Userspace further Daemon/Agent User Space Buffer Kernel Space eBPF programs output to a buffer process_execution