Cisco - Steve Bower - Faster Builds and Tests with ElectricAccelerator

Post on 12-Apr-2017

489 views 0 download

transcript

Faster Builds and Tests with Electric AcceleratorEliminate the WaitSteve Bower, IT Solutions Architect, Cisco Systemssbower@cisco.com October 20, 2015

Vaxes™! (Vaxen?)

Ultrix™!

Do You Remember…

Five of them!

A Big Environment

Touch each one

(remember rlogin?)

Systems Administration

Let’s use rsh

Start Automating

#!/bin/shHOSTS=“vax1 vax2 vax3 vax5”for h in $HOSTS ; do echo Running on $h rsh $h “$@”done

VAXstations™…

DECstations™…

Then what?

mrsh – “Multiple” rsh

Parallelize!

mrsh

rsh host1 command

rsh host2

command

rsh host3 command

mrsh vax1,vax2,vax3,vax5 uptime

mrsh ./hostlist grep ERROR /var/adm/syslog

Also: mrcpmrcp ./hostlist /etc/hosts.equiv /etc

For example…

Dozens of systems

A couple hundred systems

More growth

Welcome to Cisco

mrsh, mrcpNow in Perl

Re-implement

More Growth…

Systems Parallelism1,000 20-507,500 100-30020,000 1000+

From Sun serversto Linux

Linux Development Service

Aurora Project

Fuels the growth!

Moving to Virtual Machines

On-demand development VMsAutomatic integrationFlexible storage (/nobackup)

Aurora Features

Aurora Service Architecture

Start Developing

Request System

ConfigMgmt

db

Cisco Workplace

Portal Web UI

Virtual Development

System

Cisco Unified Computing System(UCS) Virtual Infrastructure

Storage

Cisco OrchestrationManagement

Flexible environmentIncreased densityReduced footprintFaster performance

Aurora Benefits

Need for speed…

VM Performance

Emake build times

Emake’s Little Brother

electrify

mrsh -> mssh -> mdo

mdo –c8 big* -- gzip

echo big* | xargs –n1 –P8 gzip

Use case

mdo

gzip gzip gzip

electrify --electrify-remote=gzip sh –c “mdo –c32 big* -- gzip”

Adding Electrify

How it looks…

mdo

gzip

Build Cloud Node

electrifygzip

gzip

Build Cloud Node

gzip

electrify --emake-electrify=none sh –c “mdo –c32 big* --

electrify_proxy gzip”

Adding Electrify_proxy

How it looks with electrify_proxy

mdo

gzip

Build Cloud Node

electrifygzip

gzip

Build Cloud Node

gzip

electrify_proxy

electrify_proxy

electrify_proxy

electrify_proxy

How it really looks (DANGER!)

mdo

gzip

Build Cloud Node

electrify

gzip

gzip

Build Cloud Node

gzip

electrify_proxy1

23

Firmware analysis200 checksParallel but local, 2+ hours

Real-world Case 1

Use the cluster

mdo

gzip

Build Cloud Node

electrifygzip

gzip

Build Cloud Node

gzip

electrify_proxy

electrify_proxy

electrify_proxy

electrify_proxy

2+ hours -> 20 minutes

Results

500 checksAdjustable parallelism

Future directions

ASIC simulationUK

Real-world Case 2

No new infrastructure required

$$$$

Results…

IOS-XR“Jam” build tool

Real-world Case 3

ejamelectrifyjamejam_proxyelectrify_proxy

Jam and electrify components

ejam diagram

jam

job

ejam

ejam_proxy

Build Cloud Node

electrify

electrify_proxy

jobejam_proxy electrify_

proxy

ejam_proxy electrify_proxy

ejam_proxy electrify_proxy

job

Build Cloud Node

job

50-60% time savings

2 - 2.5x

Results…

Faster Builds and Tests with Electric AcceleratorEliminate the WaitSteve Bower, IT Solutions Architect, Cisco Systemssbower@cisco.com October 20, 2015