The Lua Scripting Language

Is this powerful but simple scripting language big enough for Big Data?

Monitoring HPC Systems: What Should You Monitor?

In rapidly growing HPC installations, you need to understand what is happening within the system to make improvements or simply to justify the purchase.

Understanding I/O Patterns with strace, Part III

In the third article of this three-part series, we look at simple write examples in Python and track the output with strace to see how it affects I/O patterns and performance.

Understanding I/O Patterns with strace, Part II

In the second article of this three-part series, we look at simple write examples in Fortran 90 and track the output with strace to see how it affects I/O patterns and performance.

S3QL Filesystem for HPC Storage

Many HPC sites with petabytes of data need some sort of backup solution. Among the many candidates, cloud storage is a serious contender. In this article, we look at one solution with some serious advantages: S3QL.

S.M.A.R.T., Smartmontools, and Drive Monitoring

Modern drives use S.M.A.R.T. (self-monitoring, analysis, and reporting technology) to gather information and run self-tests. Smartmontools is a Linux tool for interacting with the S.M.A.R.T. features of drives. But is S.M.A.R.T. the best way to predict impending drive doom?

Parallel Visions

Moore’s Law continues its unwavering march, with a twist.

Benchmarking Memory Bandwidth

One of the key bottlenecks for HPC application performance is memory bandwidth: literally, how fast you can get data from memory to the processor and back. A convenient microbenchmark named Stream measures the memory bandwidth of nodes and reveals a general trend over the last six years that might surprise you.

New OpenMP 4.0 Spec

Introduction of the new OpenMP specification abstracts away many of the thorny issues associated with today’s HPC hardware.

Parallel Tools

Even with tons of cores per node today, the traditional sets of tools are still serial-only, utilizing a single core; however, some of the more popular tools have parallel versions, allowing you to use the extra cores either to run the same command in parallel or to perform the same task across multiple nodes.