Harvard Medical School
Advancing Structural Biology Research
David Gohara oversaw the implementation of the Mac system at the Hogle Lab at the Harvard Medical School.
He began integrating all the Macs in the Hogle Lab with the already existing SGI and Linux workstations in the SBGrid system as soon as Mac OS X was introduced in 2000, taking advantage of Mac OS Xs support for shared home directories and common user authentication.
The Switch to Mac
Hogle has been a Mac user for years, but Gohara had some reservations about learning an entirely new system. When he sat down and gave Mac OS X a try, however, he was pleasantly surprised to find it very easy to use.
I found that I could do everything I wanted on the Mac, Gohara recalls. The G5 processor had the performance I needed, and the tools provided with the UNIX-based Mac OS X operating system made it easy to port my legacy applications and scripts.
Within a very short time, Gohara went from Mac newbie to an expert at porting and optimizing applications written for UNIX and Linux to Mac OS X. As word of the Xserve clusters performance spread, requests began to come in from other labs for help in porting their applications and computing time on the cluster.
I found that I could do everything I wanted on the Mac. The G5 processor had the performance I needed, and the tools provided with the UNIX-based Mac OS X operating system made it easy to port my legacy applications and scripts.
In a strange twist, Gohara found software engineering so interesting that he decided to do it fulltime. He recently accepted an offer to join one of the larger structural biology labs at HMS, where he is now responsible for porting their Linux applications to Mac OS X and optimizing code to take advantage of special hardware features. In addition, he facilitated the migration to Mac OS X within the wider SBGrid community, for which he now maintains all of the software contained in the distribution.
Minimal Administration
Minimizing unnecessary time and effort spent on system maintenance is an important consideration in a research setting, Hogle remarks. Every hour we spend on administration is an hour we cant spend on research. And even David Gohara, who turned into our resident software guru, had no formal background as a system administrator, so we needed a user-friendly system. Ease of use was and continues to be a must in any computing endeavor.
The Mac OS X operating system delivered. In addition to providing a uniform platform for user desktop use and the HPC cluster, Gohara says, there is essentially zero overhead concerned with administration of this cluster.
Accelerating Applications Performance
It was Goharas task to migrate the applications originally compiled for the existing Linux cluster to Mac OS X. One of the advantages of porting Linux applications to Mac OS X, Gohara says, is the performance gains achieved by optimizing the software to take advantage of the Velocity Engine in Power Mac G4 and G5 systems and using the Accelerate framework included in Mac OS X.
To port Linux applications to Mac OS X, Gohara uses the CHUD (Computer Hardware Understanding and Development) tools included in the Mac OS X Developers Kit.
We use the CHUD Tools for measuring and optimizing software performance on Mac OS X because theyre mature and easy to use, he says. With our flagship applications programs like CCP4, CNS Solve, or Frealign I do compiler optimizations first. Then Ill go through and hand-tune a lot of the code myself, finding places where I can vectorize code or multithread the code when appropriate.
In addition to the developer tools and Apple hardware, I also get a lot of development support, Gohara continues. If I send an email to one of the Apple lists, not only will I get a response from the community, but often get help directly from Apple, from people who are working on the developer tools or building the Apple performance libraries or designing the hardware.
