Record Turnout for Summer Hackathon
In the early hours of the morning on July 15, 2016, participants from around the Lab began to gather to continue their projects on the second day of Computation’s summer hackathon. With 128 individuals registered for a total of 55 teams, the hackathon blew away its previous record high of 79 people. Participants ranged from Lab (and hackathon) veterans to first-timers and summer students. For the first time, the hackathon also welcomed participants from the HPC Cluster Engineer Academy, a summer internship opportunity offered by Livermore Computing (LC) for students to learn how to install and administer a high performance computing system.
The themes of the morning were accessibility and efficiency. Hackathon co-organizer Ian Lee was working with a partner to create a set of packages and libraries in Python to be available to all Laboratory employees. “Our goal is to prevent replication and encourage collaboration,” Lee said. The team is working to build on what’s already present to enhance code functionality. Lee has attended two other hackathons, at which he worked to make the One Lab template for Lab websites more portable across tech stacks to improve accessibility.
Nearby, Greg Becker of LC’s Development Environment (DEG) group was working to replace the internal solver in the LLNL open source tool Spack. The new solver will use logical programming—that is, the code will dictate what users want rather than how they want it done. Becker added to the hackathon’s theme of efficiency, noting, “Spack’s code base had been getting fragile as more code was added; we’re hoping to clean it up and make it easier to maintain.”
First-time attendee Giuseppe Di Natale used the hackathon to familiarize himself with ZFS while contributing to the Lab’s interests. He was working to create an extension to ZFS—a combined file system and volume manager—that will collect SMART data from hard drives by asking the drive for information about its stats. SMART data reflects the overall health of a drive. “LC maintains thousands of hard drives and uses ZFS heavily as part of our file system infrastructure,” said Di Natale. “Having a method of detecting hard drive failure sooner could further improve the reliability of our file systems.”
Also contributing to the day’s theme of efficiency was Omri Mor, another first-time attendee working on the Swift programming language. “Swift was meant to be a successor to C and C++,” said Mor. “I’m working to create a binding between MPI and Swift so that they’re easier to use together.” In many respects, he noted, Swift is safer than other languages—it’s unlikely to accidentally reference an invalid location in memory, which often causes programming errors in languages like C and C++ and can present security vulnerabilities. This is why he wants to use it for MPI programming. “It’s something no one has done before,” said Mor.
Second-time attendee Cathy Chang resumed a project from last summer that aimed to introduce more efficiency into the process of regression testing. Usually, regression tests are done manually, so Chang is working with the Selenium WebDriver—a free, open source tool—to write scripts to complete the tests automatically. “This will enable me to kick off a set of test scripts overnight and check the results in the morning,” said Chang of the time-saving project.
The benefits of the hackathon, organized this summer by Greg Lee, Esteban Pauli, Matt Legendre, and Lee, are in evidence at each event. Employees can take the opportunity to pursue personal goals while benefiting the Lab as a whole. Noted Lee, “The success of these events is based in large part on the employees that participate. Many of the projects continue to live on or spin into other efforts. Additionally, the connections that participants make during these events are vital to the cross pollination of ideas.”