( ESNUG 582 Item 3 ) ---------------------------------------------- [03/29/18]
Subject: Dean Drako says Git is "unstoppable" in design and IP management
Be aware that some DM systems are 10X faster than others. While this
is an area that can be easily benchmarked, it is important to test not
only design sizes, but also designs with a large number of files.
- Dean Drako of IC Manage
http://www.deepchip.com/items/0539-04.html
From: [ Dean Drako of IC Manage ]
Hi, John,
When I last updated your readers on Design & IP Management (DM) four years
ago, I shared 15 items (ESNUG 539 #4) that companies could consider. All
the Design Management (DM) tools have evolved since then, but so has design
size and complexity -- so performance is still a top factor.
However, a newer and equally important factor that we are now seeing, due
to the increasing digital and software content on SoC and IC designs, is
that Git is unstoppable.
Git was created in 2005 by Linus Torvalds for Linux kernel development. Per
Wikipedia, as of March 2017, more than 26 million users and 57 million
repositories host over 18 million projects on Git-Hosting company GitHub,
which offers both free and paid Git hosted repositories.
I'd like to update your readers on the impact on DM of the growing use of
Git distributed version control, especially since:
SOC DM & IP REUSE TODAY USE CENTRALIZED VERSION CONTROL
Commercial DM today is based on centralized version control (VC). (In fact,
IC Manage GDP has had this for 15 years now).
Centralized Version Control (VC) upsides:
- Exclusive checkouts
- Granular security
- Reduced workspace storage requirements, as branches can be created
without copying parents and merged sources
- Has strong local performance, if scaled correctly, and handling of
large binary files
Centralized Version Control (VC) downsides:
- Computational and lock requirements can slow branching and merging
- Remote performance is poor across long latency networks
- Local and remote sites require an active network connection for
useful work
- Central server must be continuously scaled-up.
Central version control is heavily used today and is still highly effective
for many design groups. However, software developers and digital designers
have moved in a different direction ...
SOFTWARE & DIGITAL DESIGN ARE MOVING TO GIT DISTRIBUTED VC
Digital designers and software developers are more ASCII-based, so their
needs can differ from binary-based analog design. The software/digital
developers love Git.
Let's look at the Git distributed version control architecture and its
advantages.
Git Distributed Version Control (VC) upsides:
- Git makes it easy for teams to branch and merge
- Git enables multiple, simultaneous development vectors without
disturbing the main branch or long-lived release tree.
Due to branching and merging Hell, centralized workflows tend
to have only a master and one or two branches for development.
In contrast, because of Git's easy merging and lightweight
branching, a Git workflow happily supports several branches.
- Task branches. The Git workflow model is typically based on task
or issue branches, rather than release or feature branching.
Every organization has a natural way to break down work into
individual tasks inside an issue tracker; which becomes the team's
central contact point for that piece of work.
Each issue is implemented on its own branch, with an issue key
included in the branch name -- so it's easy to see which code
implements which issue and to apply the specific changes to the
master.
- Work doesn't require a connection to the server. Once the
developers have cloned their workspace, they do not need to be
connected to the central repository or even the internet to continue
uninterrupted development.
Working locally also gives them better performance as it removes
the overhead of ongoing central server communication, particularly
if they are remote.
DVC allows everyone to be a true first-class citizen, working
productively regardless of the time, location, internet connection,
or central server loading; their changes can be pushed back
asynchronously and in a non-blocking fashion. This model of DVC
push-and-pull is very different from a federation of independent
centralized servers.
- Because the load is distributed, Git minimizes ongoing central
server scale-up
- Massive ecosystem of tools, plugins & 3rd party integrations
Because of Git's popularity, including that it is free software,
there are literally 100s -- if not 1000s -- of utilities, third
party plugins and IDE integrations also available for free download.
Some examples are: Eclipse, Jenkins, JetBrains, Electric Cloud, JIRA,
WordPress, Gerrit, Giggle, and Ungit.
- No learning curve. Git is so ubiquitous, that when companies hire
new developers, they already know how to use it.
Git Distributed Version Control (VC) downsides:
On the downside, Git was designed primarily to push patches and changes
between Linus and the other Linux kernel developers.
So, when you start dealing with the complexity of SoC design and IP
management, Git has some serious problems as a general-purpose solution
for all members of an SoC Team, while still meeting the requirements of
corporate IT:
- Awkward to manage the large numbers of discrete blocks that must
integrated into a large SoC
- Performance problems handling large binary files
- Lack of exclusive check-outs
- No security model
- Storage explosion from oversized workspaces -- both file & history
are cloned
Regardless of these drawbacks, a growing number of software and digital
design engineers we've spoken with have either already moved to Git, or
want to do so; and are waiting for IT approval.
ANALOG, DIGITAL & SOFTWARE NEEDS HYBRID VERSION CONTROL
Hybrid Version Control combines the benefits of both centralized and Git
distributed workflows, without any of the drawbacks.
Let's contrast 10 aspects of the different version control approaches:
And, of course, since I'm educating your readers on how Git has come into
DM, I must now add how IC Manage is adapting ...
IC MANAGE GDP XL-GIT HAS 10X SPEED UP & HYBRID VC
In addition to our IC Manage GDP, we've created IC Manage GDP XL -- with a
graph database for 10X speed up -- plus the option for IC Manage GDP XL-git,
with hybrid version control.
- GDP XL-git adds hybrid version control with a Git API. It has all
of the advantages outlined in the chart above, offering the mix of
analog designers, digital designers, software developers, CAD and
IT engineers the environments they need.
- GDP XL. Our customers that are not currently using Git DVC can
still take advantage of the improved work-flow and other features,
with the option to utilize XL-git at a later time.
So with these two new products, we now have:
1. Hybrid version control with a Git API
2. 10x speedup from our new graph database. We hinted at this
in ESNUG 579 #3.
3. Schemas programmable by project, with one-to-many mappings
for any library or configuration
4. Hybrid Hierarchical IP Lifecycle Management. Advanced, high
speed hierarchical support, with big data visualization and
traceability for your IP portfolio, distributed across your
entire enterprise. (See my IP Reuse 2.0 vision discussion on
DeepChip 5 years ago. ESNUG 520)
5. 3-tier web services architecture and REST API -- Applications
are replaced by web services using a Data Access Layer, Business
Logic Layer, and Presentation Layer.
In addition, our new Git hybrid version control makes an "agile workflow"
easier by helping chip designers & SW developers share changes more
frequently within a modern and widely accepted development model.
The bottom line is better collaboration and faster tapeouts.
- Dean Drako
IC Manage Campbell, CA
---- ---- ---- ---- ---- ---- ----
Related Articles
15 gotchas found in Design and IP data management tools (part I)
Dean on IC Manage nGDP next gen graph-based design management tool
Dean Drako's IP Reuse 2.0 "vision" speech that he gave to DV Club
Join
Index
Next->Item
|
|