Glenn K. Lockwood, Ph.D.
Principal Engineer
Azure HPC and AI
Microsoft Corporation
/
I am a principal engineer at Microsoft where I bring a workload-centric view to systems design for the largest AI supercomputers being built in Azure. Prior to working at Microsoft, I was a systems architect at the National Energy Research Scientific Computing Center (NERSC) where I focused on storage and data. More information about my current and past work can be found on Google Scholar and in my biography.
This site contains my notes in technical computing from over the years. Older notes and blog posts are linked below, but I have started moving my personal notes to my digital garden which I update continuously.
To get in touch, send me an email or contact me via Mastodon, LinkedIn, Bluesky, Twitter, or HPC.social chat.
High-Performance Computing
I've worked in high-performance computing since 2012, and this section contains notes and guides I've written in that capacity. I try to retire links to pages once they have fallen out of date, so things tend to come and go from this section as technologies (and my areas of work) evolve.
Artificial Intelligence
- Computational Requirements of AI
- Implementing the Simplest Neural Network
- Implementing a Multilayer Neural Network
- Blog: A closer look at "training" a trillion-parameter model on Frontier
Cloud Computing
- Quick MPI Cluster Setup on Azure
- Cloud Service Comparison
- Azure Basics
- Understanding Authentication and Authorization
High-Performance Storage
- How NFS works
- I/O Forwarding for Extreme-Scale Systems
- Lustre Pearls of Wisdom
- Principles of Non-volatile RAM
- Principles of Object Storage
- Blog: Reviewing the state of the art of burst buffers
- Blog: VAST Data's storage system architecture
General HPC
Performance & Benchmarks
This section contains a number of disjoint pieces revolving around performance analysis.
- Building and Running IO500
- Getting Started with elbencho
- Getting Started with fio
- Getting Started with md-workbench
- Getting Started with mdtest
- Historical Performance Benchmarks
- Parallel I/O Benchmarks
- Power Consumption
- Blog: Basics of I/O Benchmarking
I also have a set of pages on Hadoop and Parallel Computing with R that I host for posterity, but I haven't used either of these since 2014 and those guides are likely out of date.
Materials Science
When I was a student I maintained a variety of notes about different topics relevant to ceramic engineering, in which I got my undergraduate degree. I've re-uploaded them here for posterity.
- Molecular Dynamics Tutorial
- Glass Compositions
- Overview of Alumina
- Overview of Glasses
- Overview of Metals
- Overview of Silicon Carbide
- Overview of Silicon Nitride
- Overview of Zirconia
- Statistical Design using Orthogonal Arrays
Hobbies & Personal Stuff
This section contains notes and tutorials that I've written related to my personal interests and hobbies outside of work.
Embedded & Edge Computing
- Getting started with the NVIDIA Jetson Nano
- Getting started with the Terasic DE10-Nano
- Programming the BMC2835 SOC
- Getting started with the BeagleBone Black
- Programming the BeagleBone PRU-ICSS
- Getting started with the BeagleBone AI
- Using the TI Deep Learning (TIDL) Python API
Electronics
- Experimenting with digipots and ADCs
- Programming the HD44780 LCD Display with Raspberry Pi
- Understanding bipolar junction transistors
- Understanding the 555 Timer IC
- Understanding the TWSU Synth Kit
- Using the MAX7219CNG LED Display Driver
- Using the PMSA300I Air Quality Sensor
- Using the Sense HAT on BeagleBone Black
- Blog: Learning electronics with roulette, datasheets, and Raspberry Pi
System & OS Configuration
- Configuring Raspberry Pi as a Wireless-to-Wired Ethernet Island
- Configuring Raspberry Pi for Headless Boot
- Configuring a Solaris 10 Server
- Configuring dmake
- Converting Disk Block Size on Solaris
- Using git-crypt