Michael Galassi

michael@galassi.us
(503) 308 8881

Summary

Over thirty-five years of software design and development focused on UNIX and Linux internals, embedded systems, performance, clusters, storage, and multiprocessing.

Skills

Operating systems: UNIX/Linux kernel, device drivers, and utilities
Languages: C++, C, Assembly, shell scripting
Communications: TCP/IP (protocol & application level)
Hardware: PCI/PCI-X/PCIe, SCSI, FCP, RAID, ethernet, IA32, AMD64, PPC, ARM, ARM64
Applications: diagnostics, system utilities, open source ports

Experience

Grass Valley -- 06/2016 - present

AMD/Xilinx Versal system bringup
Bring up FPGA based board using Yocto Linux.
C++ APIs to abstract FPGA access
Develop core C++ libraries used in digital media devices for the television production and broadcasting industry. Work with FPGA developers to implement firmware that complies with SMPTE and AMWA standards.
Buildroot Linux infrastructure to support custom video router
Application space control software enhancements and bug fixes. Device driver updates. System monitoring scripts. Distributed object store implementation.

nCUBE/C-COR/ARRIS -- 09/2002 - 02/2016

Linux enhancements to support video streaming
Changes to Linux's md RAID layer to achieve faster drive failure recognition so streaming functionality won't stutter. Developed set of commands and scripts to facilitate replacement of failed disks on actively streaming systems without service impact.
Low latency file and command distribution mechanism for Linux clusters
Implemented daemons to distribute files across a linux cluster which included a simple shared memory resident file hierarchy and a set of APIs to access those files without the overhead of system calls.
Cluster membership manager for Linux
Implemented a heartbeating daemon and associated scripts to handle service and IP address moves in the face of failed cluster nodes as well as to resolve split brain clusters.
Disk I/O optimizer
Developed software to track pending disk reads and satisfy identical ones via memcpy to reduce disk load in cases of multiple concurrent streams.
From scratch embedded Linux bring-up
From scratch bring-up of embedded PPC based Linux system, including writing a boot monitor which initialized hardware, decompressed custom kernel and filesystem, and started Linux execution. Wrote custom BSP, VM initialization, custom drivers for I2C, GPIO, and SPI busses. Wrote utilities to create rommable filesystem images tailored to our environment.
Extensive kernel work on nCube's Plan 9 based OS
Remapped kernel address space from 2Gig to 3Gig, adjusting all mappings accordingly. Rewrote PCI probe/config subsystem. Made numerous device driver fixes (disk, gig-E, etc). Rewrote kernel panic dump support, including ability to jump to previous text/RO-data segments when checksums show them to be intact. Implemented fast disk off-lining and S.M.A.R.T. monitoring. IA32/Serverworks based motherboard bring-up, including interrupt vector mapping, drivers to monitor and control temp sensors, fans, etc. Co-inventor on US patent WO2006138249 A2.

Veritas -- 12/2000 - 05/2002

SCSI PGR Fencing
Implemented SCSI-3 PGR fencing in the Veritas Volume Manager (VxVM). Bug-fixing.

Sequent Computer Systems/IBM -- 05/1997 - 12/2000

Multi-ported Target Driver for DYNIX/ptx
Designed and implemented load balancing failure resistant NUMA (Non-Uniform Memory Architecture) optimized disk device driver with built-in support for multi-ported features of EMC, HDS, IBM, and LSI disk arrays. Supported internal organizations such as system test, support, and professional services with troubleshooting and performance analysis during deployment of new technology.

CLAM Associates -- 10/1993 - 04/1997

ATAP for Sequent's DYNIX/ptx
Technical lead for design and implementation of automatic failover for CLARiiON RAID devices in Sequent DYNIX/ptx 4.2/4.3 environment.
C-SPOC for HACMP
Designed and implemented Logical Volume Manager (LVM) commands for the Cluster Single Point of Control (C-SPOC) feature of IBM's HACMP for AIX. Co-inventor on US patent 5,946,463.
Geographic Mirroring
Implemented replacement for sendto/recvfrom and related routines for use in kernel RPC for GeoHA on AIX4.
HANFS
Designed and implemented much of the Highly Available NFS (HANFS) feature set in HACMP/6000 for AIX.
9333 disk fencing for HACMP/6000
Implemented utilities used by HACMP to do disk fencing with the IBM 9333 serial disk subsystem.

Frye Electronics -- 02/1986 - 09/1993

Hearing aid analyzer firmware
Lead programmer for a complete from scratch implementation of executive and user code to perform tests of hearing aid performance and functionality for three models of analyzers based on the Motorola's 68000 family. This included DSP algorithms, digitization of analog signals, generation of arbitrary waveforms, serial I/O, graphics, user input, diagnostics and calibration routines.

Other

Languages  Native US/English, fluent Italian, some French.
Volunteer Activities  EMT and Firefighter.