Dan FitzGerald - HPC Tools Development


 

I'm a systems programmer with experience in firmware development, kernel development, virtualization, and cloud computing. I have been with IBM since June, 2007 and am currently a developer in IBM's High Performance Computing (HPC) group. Previously, I worked for the z Systems virtualization laboratory in Endicott, NY.

I recieved a Bachelor of Arts in Computer Science from SUNY Geneseo (5/2007), and a Master of Science in Computer Science from Binghamton University (12/2014). My graduate research at Binghamton University was in the area of nested virtualization performance. Specifically, I conducted a performance study that compared the performance of a nested Linux guest on x86_64 KVM and S390x z/VM. My research report can be found here.

Professional Biography

As a z/VM co-op in the summer of 2006, I was a member of the Live Guest Relocation prototype team. Besides prototyping this critical feature, we were also IBM's first cross-site SpeedTeam and the first co-op team to work inside the z/VM kernel.

From June 2007 - October 2011, I was a member of z/VM's kernel (CP) development team. My work involved the development and function test of the memory management subsystem. The bulk of my work was done in S/390 High Level Assembler, as well as its macro language. I also have extensive experience with CMS pipelines and Rexx.

From October 2011 - March 2012, I worked with STG Emerging Solutions on next-generation cloud technologies, namely expanding the IBM Image Construction and Composition Tool's Virtual Appliance Factory to support KVM hosts. My work here was entirely using Python and Shell Scripting.

I briefly returned to z/VM Development to support Function Verification test, before moving to the System/z Firmware Developmet organization in July 2012. At z/Firmware, I was responsible for the development of new functionality for the Data Replication subsystem, and for the Problem Analysis team. All of my work was done in Java, with some Shell Scripting.

From August 2013 - June 2016, I worked on IBM Wave for z/VM, a next-generation z/VM systems management suite written as a Java "thick client". Here I continued to work in Java, but also configured and administered several z/VM development and test systems.

Since July 2016, I have been a member of the Tools Development team in the IBM High Performance Computing unit. My work is largely on IBM Parallel Performance Toolkit, an integrated set of performance analysis tools for Power Linux binaries, designed to assist application developers in tuning parallel or serial HPC applications. This software has been a (small) part of IBM Summit, currently the fastest supercomputer in the world. My work for PPT has been done in Java and C.

A full copy of my resume and more can be found on my LinkedIn profile.

Skills

"Hard" Skills:
  • C
  • Java
  • Python
  • Shell Scripting
  • UNIX, Linux
  • POSIX Systems Programming
  • Kernel-level software development
  • Large system software development
  • Virtualization
  • IBM High Level Assembler
  • Rexx
  • CMS Pipelines ("Hartmann Pipelines")
  • z/VM Systems Programming
  • Scrum Methodology
"Soft" Skills:
  • Function testing
  • Team leadership

Professional Interests

  • The design and implementation of operating systems
  • Linux, UNIX, C
  • Linux and UNIX systems programming
  • Virtualization
  • IBM intern and new-hire relations
  • Agile software development with Scrum

Personal Interests

  • Linux system administration
  • Audio editing, digitizing records
  • Geneaology
  • Photography
  • Camping, hiking, and the outdoors

Contact Information

Dan FitzGerald
IBM Corporation
B/008-3, Column C-30
2455 South Road
Poughkeepsie, NY 12601-5400

danfitz@us.ibm.com