Directive Coding

With directive coding, you annotate code with compiler directives to take advantage of parallelism or accelerators. The two primary standards are OpenACC and OpenMP.

New Release of Lmod Environment Modules System

Lmod is an indispensable tool for high-performance computing. With the new release of version 6, now is a good time to review Lmod and look at its new capabilities.

The Fundamentals of Building an HPC Cluster

High-performance computing begins with understanding what you are trying to achieve, the assumptions you make to get there, and the resulting boundaries and limitations imposed on you and your HPC system.

Encrypting Files

Encrypting your data is becoming increasingly important, but you don’t always have to use an encrypted filesystem. Sometimes just encrypting files is enough.

Virtuous Benchmarks: Using Benchmarks to Your Advantage

Benchmarks have been misused by both users and vendors for many years, but they don’t have to be the evil creature we all think them to be.

Monitoring with Nmon

HPC administrators sometimes assume that if all nodes are functioning, the system is fine. However, the most common issue users have is poor or unexpected application performance. In this case, you need a simple tool to help you understand what’s happening on the nodes.

Stat-like command-line tools for admins

ASCII tools can be life savers when they provide the only access you have to a misbehaving server. However, once you're on the node what do you do? In this article, we look at stat-like tools: vmstat, dstat, and mpstat.

The Tops

Admins solve problems ranging from slow servers to failing applications. The first tool I reach for when I need to check on a server with shell access is Top.

How the Spanning Tree protocol organizes an Ethernet network

Ethernet is so popular because it simply works and is inexpensive. However, the administration side looks a bit more complicated: For the network to run smoothly, the admin might need to make important decisions about the Spanning Tree protocol.

ioprof, blktrace, and blkparse

Understanding how applications perform I/O is important not only because of the volume of data being written and read, but because the performance of some applications is dependent on how I/O is conducted. In this article we profile I/O at the block layer to help you make the best storage decisions.