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.