( 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






   
 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.














Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)