1 EDA3.0: Implications to Logic Synthesis 9
How does this compare to the design data? Comparing the 50 Tb/design versus
the 20 Pb of the fully annotated Google maps, the design data is only 1/400th the
size. A large chip has 5 km of wire compared to the 5 million miles of road to
accumulate street view images. Of course, the scale of intersections on the chips are
in nm’s and the road crossings are in kilometers. It would be interesting to compare
the number of road intersections in the world with the number of vias on a chip.
Typically, the street view data annotated with each street is significantly larger than
the physical design data needed to be associated with each stretch of wire.
One major difference is that the core EDA design data is certainly more dynamic
than the more static base map of roads in an application like Google maps. EDA
tools can much more quickly reroute wires than physical roads can be built. But let
us look at another data point to illustrate the velocity of data in a cloud application
like YouTube. Each minute 300 h of video is uploaded to YouTube [19]. This is
indexed, categorized, and made available. While we have no accurate data on how
much of the design data changes each day, since it tops out at 50 Tb after a multi-
year project, it is safe to assume that only a small fraction of it changes daily.
Based on these examples we conclude that many of the cluster-level program-
ming models will be able to handle the typical data sizes in EDA projects. Let
us look at the traversal speed of some of these models as well. Graph databases
have become one of the fastest growing segments in the database industry. Graph
databases not only perform well in a distributed environment but can also take
advantage of accelerators such as GPUs. Blazegraph set up an experiment to run a
Parallel Breadth First search on a cluster of GPUs. Using such a cluster, Blazegraph
demonstrated a throughput of 32 Billion Traversed Edges Per Second (32 GTEPS),
traversing a scale-free graph of 4.3 billion directed edges in 0.15 s [20]. This is a
few orders of magnitudes more than a static timing analysis tool which traverses
about 10 M edges per second on a single machine. An example of a matrix
programming model is shown in Quadratic Programming Solver for Non-negative
Matrix Factorization with Spark [21].
Despite the applicability of many of these programming models to EDA rela-
tively little attention has been paid to them. This is caused by the fact that most
of the public discussion has been overshadowed by other “cloud” aspects and
specifically the element of data security [22, 23]. Indeed, only when sufficient
security guarantees are given will designers put their entire IP portfolio on a public
cloud. However, EDA applications can run in private (or hybrid) clouds and take full
advantage of the massively distributed warehouse-scale computing infrastructure
without the security issues.
Unfortunately, this heavy focus on the security aspect has overshadowed the
discussion around the opportunities of warehouse-scale computing to the EDA
design flows and applications. This is also the reason I am using the term
“warehouse scale computing” instead of cloud to not distract from its underlying
potential. In the next section, we will describe how EDA tools can take advantage
of the warehouse-scale software infrastructure. We will describe how we can make
a design flow a lot more productive and designer-friendly.