My name is Rich Hall, aka Performance Rich.
I am a software engineer specializing in understanding the performance of software systems, particularly during software development, as well as in production. I've worked in this role at IBM on a wide range of products in NetView, Tivoli, and WAS Portal development organizations on a wide range of platforms including mainframes, distributed and clustered servers, and clients.
My objective is to drive and assist software development teams to find and resolve performance issues with software systems and benchmark the software. Additionally my objective is to assist with documenting the product's performance characteristics for use in setting the performance expectations of the product for the sales teams, customers and their end users, and the product support teams.
A dept/team I had previously worked for at IBM contacted me for a recent short term contract opportunity. They had a performance issue that had been lingering for over 3 years. The issue related to offloading data from the mainframe and placing it into a distributed DB warehouse. Development had estimated it would take 3 person years to rewrite the code involved in the performance issue. Working with a developer, I isolated 2 problem loops in the code. Development modified those loops resulting in an hourly CPU reduction of 55-75% depending on the data involved for the zOS system. I was awarded the department employee of the month and the manager worked hard and found the funds to extend my contract to work on another project.
The next project was with Tivoli Remote Control 5.1. The system required 15 hours to populate contact information for 100,000 desktops. The DB server was pegged whereas the Websphere Application Server was not very busy. Development were looking to go to a clustered DB in an attempt to improve performance scalability. Something didn't make sense, why would inserting 100,000 rows needed a clustered DB. I profiled the DB calls using DB2 snapshots and DB2 event monitors. Working with development was able to put a plan in place to reduce the DB calls per discovered target from 73 down to just 2. Additionally profiled the WAS J2EE application code and made numerous recommendations for reducing code path lengths.
For the last completed project as an IBM employee I started with a multi user Portal product based on a JCR DB. The application was not able to support a single user with acceptable response times. I worked with the development teams to isolate, understand, and resolve the performance issues resulting in the product shipping on time and exceeding the prior release's performance by 9x at the highest levels of system load. The steps I lead the team through included:
a complete revamping of the out dated workload and LoadRunner scripts to drive much more meaningful user scenarios
tracing each JCR call made by the application
worked with application development to understand what they were actually attempting to do
then worked with the JCR development team to either
recommend using a better set of JCR APIs
or a change in JCR API parms
or worked with JCR create a new API
or worked with JCR improve the existing API's performance.
Again, the resulting changes lead to a 9x improvement in the scalability of the number of supported concurrent users with acceptable response times vs the prior release which did not utilize a JCR DB.
IBM is continuing significant restructuring, which has affected many positions, including my own. I've enjoyed my experience at IBM and learned many skills both technical and non-technical. I am excited by the opportunity to bring the extensive experience, knowledge, and skills I've gained at IBM to bear on the performance of the software systems of other software development teams and their software projects.
The key strengths I bring are:
1. I bring considerable experience identifying and resolving all varieties of performance problems in software systems during: product development, test, product support, and directly with customers' implementations. Adding this type of experience to a product development team results in eliminating road blocks to shipping the product on time and on budget. It also results in improved return on investment and improved customer satisfaction.
2. The ability to team with development, test, customers, and management to identify the key performance issues and develop and execute an action plan to resolve them.
3. I am a team player, looking to find the win-win resolution between the various product development camps during the isolation and resolution of performance issues.
A more detailed resume is available and I can be contacted
Thanks,
Rich Hall