“Civilization advances by extending the number of important operations which we can perform without thinking about them,” wrote mathematician Alfred Lord Whitehead in his 1911 text, “An Introduction to Mathematics.” The words presaged the rise of computing and automation that would characterize the 20th century and also serve nicely as the guiding principle of new University of Chicago startup Parallel Works.
Like Globus, a University of Chicago/Argonne project with shared roots, Parallel Works is helping to automate the mundane and time-consuming computer science tasks so that stakeholders from the scientific and engineering world can focus on their core activities. Parallel Works describes its eponymous solution as a multi-domain platform to build, deploy and manage scientific workflow applications, a sort of a Google Play / Apple store kind of model that significantly reduces the barrier to entry for HPC.
Initially, Parallel Works is targeting product design and engineering in manufacturing and the built environment.
“We want to help businesses up-level their R&D processes, their manufacturing processes, their sales and business development processes to really democratize this capability and make it usable and accessible to an entirely new group of people,” said Michela Wilde, co-founder, general manager and head of business development for Parallel Works.
Parallel Works is based on the open source Swift Parallel Scripting language that company founder and CEO Michael Wilde helped guide the development of at the University of Chicago and Argonne National Laboratory circa 2005-2006.
Swift evolved out of an investigation into the idea of “virtual data,” identified by grid computing pioneer and Globus project founder Ian Foster as a potential way to automate the recipes by which large scientific collaborations would do their computational science. If researchers could automate the recipes for creating new datasets, then big data sets wouldn’t have to be transported across the planet but could be re-derived on demand. The computational physics of that didn’t really pan out, said Michael Wilde, since it turned out the computation time itself would in many cases dominate, but from that project, the genesis of Swift was born.
“Very early in the project we realized there were two huge benefits for that approach – automating science workflows and being able to record the provenance by which computational scientists came to scientific conclusions,” said the CEO.
These insights were the foundation of a new programming model, the Virtual Data Language, that expressed the steps of the scientific computational study. The language evolved into Swift, which drew its moniker from its developers’ group, the “Scientific Workflow Team.”
Over the next few years with funding grants from the NSF, DOE and NIH, the Swift team, led by Wilde as PI, applied the techniques to a number of scientific problems in climate science, earth system science, cosmology, genomics, protein structure prediction, energy modeling, power grid modeling, and infrastructure modeling. There was a lot of work with materials science since Argonne is the home of Advanced Photon Source, one of the world’s major instruments used for crystallography and the investigations into new energy materials.
In 2014, the Swift team began pursuing opportunities for Swift in the commercial realm. Michael Wilde found a collaborator in Matthew Shaxted, then a civil engineer with architecture and urban planning firm Skidmore Owings & Merrill (SOM). Shaxted had been independently applying Swift to many different modeling modalities that SOM uses in their daily business, including fluid dynamics and climate modeling, interior and exterior daylight and radiation modeling, and transportation modeling.
“That was kind of our crucible – our first encounter with industry – and it was kind of rich in that, who knew that an architecture company has all these different uses of HPC?” said Michael Wilde.
He and Shaxted shared a vision of a Swift-based platform that would enable people that do not have deep computer science expertise to use high performance computing and very sophisticated modeling and simulation workflow capability.
In 2015, Parallel Works was founded by Michael Wilde, Matthew Shaxted and Michela Wilde to target the HPC needs of the broad space of architecture and civil engineering, urban planning and related disciplines. Sharpening their business plan, the three founders immediately started to look for private investments.
The first key funding soon followed. A $120,000 angel funding award from the University of Chicago Innovation Fund enabled the team to start onboarding customers. In early 2016, they took in a small amount of seed funding and were also awarded a phase one SBIR from the DOE of $150,000. They are currently working on closing a larger seed round and have also applied for a phase two DOE SBIR grant.
In October 2016, the Swift project was awarded $3 million in NSF funding to enhance Swift and engage scientific user communities for the next three years. The award is part of the NSF’s Software Infrastructure for Sustained Innovation (SI2) program. While the grant supports only open source development of a “Swift ecosystem” for the specific needs of scientific communities, Parallel Works and any other company can use Swift and contribute back to its open source code base, thus helping to ensure the technology’s sustainability for all users. Wilde feels that this is the kind of win-win technology transfer that many entrepreneurial incubation programs like the NSF I-Corps, the DOE Lab Corps, and DOE/Argonne’s new program “Chain Reaction Innovations” are helping to nurture.
The Parallel Works Platform
To understand the value of Parallel Works, you have to first understand its engine, the Swift parallel scripting language. Wilde explains Swift’s main purpose is to orchestrate the parallel execution of application codes into workflow patterns, to carry out parameter sweeps, design of experiment studies, optimization studies, uncertainty quantifications, and also complex multi-stage processing pipelines related to simulation or data analytics or simulation analytics or both.
“Very often [in the scientific process] you would do for example multiple simulations, then you would analyze the results, then you may select some promising candidates from those designs that you studied and look at them with other tools,” said Michael Wilde. “What you get is this whole concept of the scientific and engineering workflow where you have to run anywhere from tens to tens of millions of invocations of higher level tools. Those tools are typically application programs, sometimes they could be a little finer grained, they could be function libraries, like machine learning libraries and things like that, that you need to knit together and orchestrate. So we sometimes call that a coordination language and that’s essentially what Swift is.”
It’s important to note that the function of Swift here is not to take an existing application and make it run in parallel. What it does, said Wilde, is take existing applications that may themselves be either serial or parallel codes — written in a variety of programming models, such as OpenMP, MPI or CUDA — and it orchestrates the execution of those codes.
Parallel Works embeds the Swift engine into a turnkey Web-based software as a service. “We provide supercomputing as a service,” said Wilde. “And that service can provide the big compute for applications that are intrinsically big compute in nature or for big data applications that are somewhat compute-intensive, where applying the computation processes to big datasets is complex and needs a coordination language like Swift.”
Only a year and half out from their founding, Parallel Works is certainly an early stage startup, but they are open for business. They have several customers already and are actively taking on new ones. “We have the bandwidth and the marketing strategy to pursue any and all leads,” said Michael Wilde. In terms of geographical targets, Wilde said that they will work with customers globally and already have two customers based in the UK that serve global markets.
The CEO believes that despite the many cloud success stories, there’s a scarcity of toolkits that make the cloud really easy to use while keeping the generality of the solutions. “We think we fit really well into that important intersection, that sweet spot,” he said. “Because when you use Parallel Works to get to the cloud, A) a huge number of solutions are right there and ready to go, and B) those solutions are crafted in a very high-level programming model so they’re very readily adaptable without having to touch the messy parts of the cloud and C) when you do want to get into those messy parts, you can go deeper. So in other words, simple things are simple, but complex things are possible and more productive than they were ever before.”
A notable urban design and engineering firm has been a collaborator and early customer. Prior to working with Parallel Works, they were using the cloud to run their modeling studies. Said Michela Wilde, “Basically what they had to do was start up one instance on a cloud service, run one job, start up another instance, run a second job, start up a third instance, run a third job. And each step of the process, because their workload is a multistage very sophisticated complex process, they had to manually go in and take the work on the instance, reconfigure it, get it set for the next step of the process. That would have to happen across each of the different instances that this job was running on, until finally the results would all come back. With Parallel Works, they were able to have Swift orchestrate that entire process start to finish automatically across all of the different compute processes that they wanted to use.”
Parallel Works is entering a competitive marketplace that includes companies such as Cycle Computing, Rescale and UberCloud, but Michael Wilde likes to characterize its number one competitor as Ad hoc Inc.
“For example,” said the CEO, “this design and engineering firm had a pile of shell and Python code that was sort of hacked together by very smart scientists but not necessarily professional programmers. They were able to get the job done because most scientists do indeed know how to program, but what they had was not general, not adaptable, not robust, not resilient. It was basically a pile of spaghetti code.
“What they have now is a nice structured code base where their science code is encapsulated within the Swift code and now they can go back up to the Swift layer and play all sorts of what-if studies using Parallel Works to specify higher-level workflows around their core workflow to look at different scenarios, different geographies, different topologies of buildings, in those spaces, explore different solutions and they can do that in parallel where they couldn’t do that before.”
Adding this parallelization means quicker time to results, by a significant factor.
“Before, they would get a job from a client and their process would take about two weeks start to finish to run the jobs,” said Michela Wilde. “So even though they were running in the cloud, it would take a decent amount of time to complete. And now they can basically use Parallel Works, go directly into their client’s office, and run these workflows. They take a couple of hours and get the same results that used to take several weeks.”
Parallel Works currently runs customer workloads predominantly on Amazon Web Services, but also has the ability to deploy jobs on the Ohio Supercomputer Center’s HPC resources. Their longer term plan entails connecting to additional computing sites, such as Microsoft Azure, Google Compute Engine, OpenStack clouds and other HPC center resources. The company execs say that thanks to the underlying tech, creating the necessary drivers to connect to these infrastructures will be easy, but they are waiting to get a better sense of their customer needs and demand first.
They’re also working on building up an app developer community.
Said Michael Wilde, “We envision tens then hundreds then thousands of workflow solution creators sitting on top of a market of tens and hundreds of application tools, things like the CFD solvers, and the bioinformatics tools and the molecular dynamics materials science codes.”
Currently, Parallel Works has been developing solutions directly to seed the marketplace and to get immediate customers. They also have customers, including Klimaat Consulting and Innovation, a Canadian engineering consulting firm, that are developing their own solutions. “We didn’t write Klimaat’s solution,” said Wilde. “They wrote it on top of our platform and so we have other companies that are doing the same thing now of creating solutions, some of them for direct internal use, some of them for marketing to their audience as a workflow solution.”
Swift at Exascale
Out of the gate, Parallel Works is targeting the embarrassingly parallel coarse-grained workloads in the design and manufacturing space, but Swift has the potential to power finer-grained computing applications.
Under DOE ASCR funding for an exascale-focused project called X-Stack, the Swift team studied whether they could extend the Swift “many task” programming model to extreme scale and exascale applications, and whether it could actually program fine-grained applications. The project resulted in Swift/T (“T” after its “Turbine” workflow engine), explained Michael Wilde.
“Swift/T runs over MPI on supercomputers and extends Swift’s ability to run over extremely high node-count and core-count systems, handle very high task rates, and to also coordinate in-memory tasks and data objects (in addition to application programs that pass data via files),” he shared.
In 2014, the Swift team published a Supercomputing paper that documented a 500,000 core workflow run with 100-200 microsecond tasks on the Blue Waters Cray supercomputer, achieving 1.5 billion tasks per second with high-level for-loops.
“So when it really gets down to that kind of extreme scale we can really go there,” said Wilde. “Even with our portable Java version of Swift, we are able to pump out 500-600 tasks per second to a resource pool which goes well beyond what any kind of cluster scheduler can to today.”