Get email delivery of the Cadence blog featured here
We’ve all played it at some point in our lives. You know, the game with falling blocks of different sizes and shapes where you have to place the incoming blocks in an optimal way to make full use of the available open spaces. Well, once the incoming rate of the falling blocks increases, you inevitably start to place them non-optimally and create ‘holes’ in the build. From a simple computer game to a global 30-year phenomenon, Tetris is loved globally by people of all ages and cultures, and continues to be one of the most widely recognized and distinctive video game brands. But, what if you could cheat?
Figure 1: Tetris game
What if you can alter the shape of the incoming blocks? For instance, while a 4-boxed “L” shape block drops down, change the shape into any other 4-boxed shape, allowing you to place the block much more optimally amongst the open spaces. That will significantly lower the chances of creating the “holes,” and you’d score rather high. But, that’d be cheating, right? But, if you want the highest score, you gotta do something different.
An analogy to the Tetris game is the task of submitting jobs to a compute server. In the EDA space of acceleration and emulation, users build (or compile) their verification jobs and submit their jobs to a verification computing platform, cross their fingers, and hope that their jobs get allocated to an available set of computing resources in a timely manner. Well, in this Tetris game of dispatching verification jobs into a queue and allocating hardware resources for the jobs, the game has just gotten a little more interesting. Cadence has advanced that game. With the next-generation Palladium Z1 architecture, incoming jobs of variable sizes can be re-shaped, allowing a more optimal placement in the computing platform. What’s more, the re-shaping task is automated so you don’t have to even think about how to re-shape the job. It creates the high score for you!
When an acceleration or emulation job is compiled for a set of “domains” on the Palladium Z1 engine, it assumes a certain physical shape. That shape is determined by the domains chosen by the engineer compiling the job. So, say the compiled job was shaped as the purple shape in Figure 2.
The Palladium Z1 software automatically can re-shape the compiled job to occupy different domains – several alternative shapes are shown in green. You don’t have to lift a finger to identify which alternative shape can more optimally use the hardware to achieve the highest utilization score. At the end of the day, the payoff can be measured as high utilization of the computing platform, higher than any acceleration/emulation platform in the industry.
To learn more, contact your Palladium sales team. We’re standing by.
Get more details about the Palladium Z1 platform here.