44
Year in Review: Perforce 2014 Product Updates Charles McLouth Director of Solutions Engineering

Year in Review: Perforce 2014 Product Updates

Embed Size (px)

DESCRIPTION

Get an overview of all the key capabilities introduced in the Perforce versioning and collaboration platform this year. This is your best chance to catch-up quickly on all our 2014 enhancements.

Citation preview

Page 1: Year in Review: Perforce 2014 Product Updates

Year in Review: Perforce 2014 Product Updates

Charles McLouthDirector of Solutions Engineering

Page 2: Year in Review: Perforce 2014 Product Updates

Presented By:

Charlie McLouthDirector of Solutions Engineering

Charlie has over 15 years of

experience with technologies such

as RDBMS, web applications, back

office applications, and web services.

He has held positions ranging from

Developer to Product Manager

before joining Perforce 8 years ago.

Page 3: Year in Review: Perforce 2014 Product Updates

Agenda

• Server Optimizations

• Features for End Users

• Collaboration Features with Swarm

Page 4: Year in Review: Perforce 2014 Product Updates

SERVER OPTIMIZATIONS

Page 5: Year in Review: Perforce 2014 Product Updates

Server Performance and Scalability

• Concurrency Optimizations – aka Lockless

Reads

• Federated Architecture for Distributed Teams

• Clustering for Horizontal Scalability

• Clustering for High Availability

• Sync Performance

SERVER OPTIMIZATIONS

Page 6: Year in Review: Perforce 2014 Product Updates

Concurrency – aka Lockless Reads

SERVER OPTIMIZATIONS

Reader

Writer

Database

p4 submit

p4 changes

Lockless Reads

Writer does not block

Reader

Page 7: Year in Review: Perforce 2014 Product Updates

VMware

Before After

Total Commands 3,518,462 3,211,786

Total write-wait-time 58,468s

Total read-wait-time 1,033,957s

SERVER OPTIMIZATIONS

VMware with 5,000 users(24 hour period)

3,430s

992s 1000X

17X

Page 8: Year in Review: Perforce 2014 Product Updates

VMware – Command Delays

SERVER OPTIMIZATIONS

1,749

00

500

1,000

1,500

2,000

2,500

3,000

Seconds ofdelay

1 2 4 8 16 32 64 128 256

Commands affected by delays

Commands affected, before Lockless

Commands affected, after Lockless

Page 9: Year in Review: Perforce 2014 Product Updates

Federated Architecture for Distributed Teams

• Commit/Edge modes for server

• Local metadata with edge

services

• Submits propagated to commit

service

• Other commands execute locally

Commit

Edge Edge

SERVER OPTIMIZATIONS

Page 10: Year in Review: Perforce 2014 Product Updates

Performance Gains with Federation

56.6

8.7

61

9.8

0.9 0.7 1.8 0.20

10

20

30

40

50

60

70

Sync Revert Integrate Edit

Direct Edge

SERVER OPTIMIZATIONSPerforce Lab Benchmarks

Page 11: Year in Review: Perforce 2014 Product Updates

Clustering for Horizontal Scalability

• Distribute workload to multiple nodes

• Better performance and experience for all users

From This…

100%Activity

P4D

To This…

Commit

2%

Workspace

Server

34% 33% 33%User Activity User Activity User ActivitySystem Activity

Workspace

Server

Workspace

Server

SERVER OPTIMIZATIONS

Page 12: Year in Review: Perforce 2014 Product Updates

Horizontal Scalability Results

• 100,000 simulated developers

• 742 commands/sec

• 8 node cluster

Commit

WS WS WS WS

WS WS WS WS

SERVER OPTIMIZATIONS

Page 13: Year in Review: Perforce 2014 Product Updates

Clustering – Failover

SERVER OPTIMIZATIONS

P4D P4D

NAS

Router

P4DDepot

MasterDepot

Standby

Depot

Master

LAN

Page 14: Year in Review: Perforce 2014 Product Updates

Sync Performance

• Sync Performance Increased

– Network window size optimization

– Transfer multiple times at a time – aka Parallel Sync

SERVER OPTIMIZATIONS

Page 15: Year in Review: Perforce 2014 Product Updates

Network Window Size Optimization

SERVER OPTIMIZATIONS

Page 16: Year in Review: Perforce 2014 Product Updates

Network Window Size Optimization

SERVER OPTIMIZATIONS

Page 17: Year in Review: Perforce 2014 Product Updates

Parallel Sync

SERVER OPTIMIZATIONS

Page 18: Year in Review: Perforce 2014 Product Updates

Sync Performance Results

• Network window size optimization

– 1/16th the amount of network round trips

• Parallel Sync

– 1/4th the amount of time

• Results of both

– Syncs up to 20 times faster

SERVER OPTIMIZATIONS

Page 19: Year in Review: Perforce 2014 Product Updates

LDAP For User Authentication

• Perforce provides Authentication Trigger entry points for lookup into

third party user database (including LDAP)

• auth_check trigger works well, but ...

– Needs to be installed separately

– No standard (Python, Perl, C++ implementations)

– One more headache for administrators

• Most common request on P4Ideax:

– Perforce should provide built-in LDAP integration

SERVER OPTIMIZATIONS

Page 20: Year in Review: Perforce 2014 Product Updates

Native LDAP support

SERVER OPTIMIZATIONS

LDAP

p4 loginuser-login

client-PromptEnter Password:

<password> dm-login

LDAP Query

<accepted>

client-SetPassword

User logged in.

Page 21: Year in Review: Perforce 2014 Product Updates

Native LDAP support

• Increases Security

– Consistent Authentication and Authorization

• Simplifies Policy Management

– Access granted/revoked by LDAP group membership

SERVER OPTIMIZATIONS

Page 22: Year in Review: Perforce 2014 Product Updates

P4Search

SERVER OPTIMIZATIONS

???

File names,

Changes ...

File content?

C#

.h

JAVA

PPTX

PDF

Page 23: Year in Review: Perforce 2014 Product Updates

P4 Search

Solution: External Index

SERVER OPTIMIZATIONS

storesearch

Search engine indexes content

Stores it in its own database

Users search the index first

Index returns a depot path

Permissions applied to index

results

Returns results to user

Page 24: Year in Review: Perforce 2014 Product Updates

P4Search

SERVER OPTIMIZATIONS

• File content

• P4 Metadata

• P4 attributes

• And the common

metadata if

desired

Page 25: Year in Review: Perforce 2014 Product Updates

END USERS

Page 26: Year in Review: Perforce 2014 Product Updates

P4V – 2014 New Features

• User interface refresh

• Remove excess baggage

• Simplify experience

• Faster rendering

• Faster for large file sets

• “Snappier” responsiveness

END USERS

Page 27: Year in Review: Perforce 2014 Product Updates

P4V – 2014 New Features

END USERS

Page 28: Year in Review: Perforce 2014 Product Updates

P4V – 2014 New Features

END USERS

Page 29: Year in Review: Perforce 2014 Product Updates

P4V – 2014 New Features

END USERS

Page 30: Year in Review: Perforce 2014 Product Updates

Streams

END USERS

• Model the flow of change for

the entire product lifecycle

• Visual roadmap for users

• Remove the fear/overhead

of branching and merging

Page 31: Year in Review: Perforce 2014 Product Updates

Streams – 2014 Features

END USERS

• Streams allows “import”

paths to include

components from one

Stream into another.

– Import is by reference (not a

copy)

– Import path is Read Only

Page 32: Year in Review: Perforce 2014 Product Updates

Streams – 2014 Features

END USERS

Top Requests of Streams to

facilitate managing Components

with Streams:

– “I want to lock an import a

specific version of my

component.”

– “I want to submit changes to a

referenced component.”

• Makes managing components

simpler

Page 33: Year in Review: Perforce 2014 Product Updates

Streams – Frozen Imports

Paths:

import import/... //depot/import/…@1000

• Freezes the import path (component) at a point in time.

• p4 sync import/…#head behaves like p4 sync import/…@1000

END USERS

Page 34: Year in Review: Perforce 2014 Product Updates

Streams – Writeable Imports

Paths:

import+ import/... //depot/import/…

• Functions like standard import, enabling you to map a path or

Component from outside the stream.

• But unlike a standard import path, you can submit changes to the

files in an import+ path.

END USERS

Page 35: Year in Review: Perforce 2014 Product Updates

Streams – 2014 Features

35END USERS

• Frozen Imports and Writeable

Imports

– Simplifies the management of

Components within a Stream

Page 36: Year in Review: Perforce 2014 Product Updates

SWARM COLLABORATION

Page 37: Year in Review: Perforce 2014 Product Updates

Swarm – 2014 Features

SWARM COLLABORATION

• Review Votes

• Required Reviewers

• Lightweight Tasks

• Attachments

• API

Page 38: Year in Review: Perforce 2014 Product Updates

Swarm – 2014 Features

SWARM COLLABORATION

Page 39: Year in Review: Perforce 2014 Product Updates

Swarm – 2014 Features

SWARM COLLABORATION

Page 40: Year in Review: Perforce 2014 Product Updates

Swarm – 2014 Features

SWARM COLLABORATION

Page 41: Year in Review: Perforce 2014 Product Updates

Swarm – 2014 Features

SWARM COLLABORATION

Page 42: Year in Review: Perforce 2014 Product Updates

Swarm - Comment Attachments

SWARM COLLABORATION

Page 43: Year in Review: Perforce 2014 Product Updates

Swarm – Rest API

SWARM COLLABORATION

Page 44: Year in Review: Perforce 2014 Product Updates

Questions?

Charlie McLouth

[email protected]

• Resources

• Videos of all MERGE 2014 presentations:

perforce.com/MERGE

• Sign up for Monthly Product Updates:

perforce.com/communication-center

• Blog posts from Perforce product teams:

perforce.com/blog