One of Pollination’s main goals is to "Deliver Better Performing Buildings, Faster". It’s simple to say we can run really fast simulations in the cloud, but the reality is that the speed of your simulation will depend on the scale and resolution of your environmental study. You may find there are instances when you don’t need to utilize cloud resources, because it may run faster on your Personal Computer (PC). So how can you determine when to use cloud computing resources over using your PC? In this post we are going to illustrate the steps required to execute an environmental simulation in the cloud versus a PC, and the difference in speed when executing a single run versus a series of parametric runs.
Is it possible to go 100 times faster on Pollination Cloud compared to a PC? Of course it is! Read on to learn how.
“A Pollination Recipe is a workflow definition that dictates a set of tasks to be executed in order to calculate design outcomes.”
Readers who have used visual scripting tools such as Grasshopper or Dynamo can think of a Recipe as analogous to a Grasshopper file where each node corresponds to a task.
We will use the ladybug-tools/dragonfly-annual-energy-use example Recipe throughout this article as a point of reference because it is relatively simple and contains a “loop” task which enables parallel execution of tasks. This recipe takes an analytical model of an urban area or a building and computes the Energy Use Intensity (EUI) of the model.
The Recipe above has a list of inputs on the left and outputs on the right. The 4 nodes or tasks in the center represent a set of tasks to be executed. Here is a list of the tasks and what each does:
To compare Pollination Recipe execution speed on a PC vs Pollination Cloud we must understand how they are executed.
If we consider a Recipe is a Workflow Template with inputs, outputs and tasks, then a Job is a Workflow Command where the Recipe is joined with a set of Input Arguments. A Pollination Job can contain multiple combinations of inputs in order to execute a Parametric Study using the same Recipe. Each selection of Input Arguments is then combined with the Job’s selected Recipe into what we call a Run. A Run executes the Tasks in a Recipe’s Workflow Template using the selection of inputs provided.
The image below shows a Run of the ladybug-tools/dragonfly-energy-use Recipe. Notice how the “run-simulation” Task is executed 4 times because the input model was split into 4.
We will compare the speed of Jobs executed on a PC vs Pollination Cloud by looking at:
Generally a Task takes a bit longer to run on the Cloud because Files have to be moved from Bucket Storage to the machine executing it. This is slower than moving files inside the same PC machine. Furthermore, we may need to add machines to our compute cluster if there are many Runs being executed at the same time. Adding a machine can take between 30s and 2mins. The animation below illustrates a side-by-side comparison of a Task Execution on a PC versus on Pollination Cloud.
The duration of a Job is the time between its creation and the completion of all of its Runs. Similarly the duration of a Run is the time between its creation and the completion of all of its Tasks. Therefore a Job will be executed faster the more Tasks and Runs can be executed in parallel. Parallel execution of Tasks is limited by the computing power of the machine or machines that they are being executed in. The animation below illustrates a side-by-side comparison of a large Job Execution on a PC versus on Pollination Cloud.
Jobs will execute much faster on Pollination Cloud in two settings:
Based on the example above you could run a Parametric Study with 100 design options 100 times faster because each Run can be executed in parallel. The slightly slower execution of each Task on Pollination Cloud is compensated by the infinite amount that can be executed in parallel.
Think of how much faster you could go if your Parametric Study has 1,000 design options or a run that can be distributed to 1000s of computers? Pollination brings the power of cloud computing at your fingertips.