The Need For Speed: Understanding Design Factors That Make Multi-Core Parallel Simulations Efficient
-
Body
Authors: Shobana Sudhakar - Mentor GraphicsRohit K Jain - Mentor Graphics Abstract: Running a parallel simulation may be as easy as flipping on a switch with the progressive and maturing solutions available today, but do people really take full advantage of the technology? It is true that in some scenarios the overhead of communication and synchronization needed for parallel simulation can negate any substantial performance gains. However, there are scenarios where deploying the parallel simulation technology can provide tremendous benefit. A long running simulation that exercises large blocks of a design concurrently and independently is one good example. Designers need to be aware of the factors that can inhibit the advantages of parallel simulations, even in these best-case scenarios; the main factor being inflexibility due to the way designs are modeled today. This paper focuses on these factors and is an effort to educate on best design principles and practices to maximize the advantage of simulation with parallel computing. The discussion also extends to the three main fundamental features of parallel simulations, viz., load balancing, concurrency and communication. Designers need to understand how their designs run in simulation with these factors to ensure they get the maximum out of parallel simulations. This paper will also discuss the applicability and trade-offs of the parallel simulations technology in various user scenarios, for example, overnight grid regressions, week-long runs and debug turnaround times. It is important that designers understand these trade-offs, so that they can selectively use this technology in scenarios which can provide maximum benefit to them and increase their productivity. Introduction: Parallel computing is no longer a new concept in digital simulation. The industry leading simulators already have solutions that can take advantage of the tremendous advancements in multi-core technology that is available in today‟s computing hardware. What has not happened, however, is widespread use and adoption of this technology in the user community. Additionally, the semiconductor industry‟s forecasts indicate an upward trend on the number of cores available on future compute servers. This paper discusses keys for how users can think about their design in order to take advantage of these multi-core compute resources using parallel simulation. The design factors discussed in this paper are not restricted to any single EDA simulator; rather it provides guidelines to understand what makes multi-core simulations a success, no matter what simulator is used. Motivation: Several papers have been written to discuss the common myths surrounding parallel simulations and explain the actual realities. Primarily, two common myths that have been blown away1 shed significant light on simulation speed-ups that can be achieved using parallel simulations. a. The increase in processor speed of multiprocessor computers do not necessarily result in better parallel simulation performance. b. Larger designs do not automatically qualify as good candidates for parallel simulations that can result in great speed-ups. View & Download: Read the entire The Need For Speed: Understanding Design Factors That Make Multi-Core Parallel Simulations Efficient technical paper. Source: DVCon 2013