SlideShare a Scribd company logo
1 of 44
Year in Review: 
Perforce 2014 Product Updates 
Charles McLouth 
Director of Solutions Engineering
Presented By: 
Charlie McLouth 
Director 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.
Agenda 
• Server Optimizations 
• Features for End Users 
• Collaboration Features with Swarm
SERVER 
OPTIMIZATIONS
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
Concurrency – aka Lockless Reads 
SERVER OPTIMIZATIONS 
Writer 
Reader 
Database 
p4 submit 
Lockless Reads 
Writer does not block 
Reader 
p4 changes 
✗
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
VMware – Command Delays 
Commands affected, before Lockless 
Commands affected, after Lockless 
SERVER OPTIMIZATIONS 
1,749 
0 
Commands affected by delays 
3,000 
2,500 
2,000 
1,500 
1,000 
500 
0 
Seconds of 
delay 
1 2 4 8 16 32 64 128 256
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
Performance Gains with Federation 
56.6 
8.7 
61 
9.8 
0.9 0.7 1.8 0.2 
70 
60 
50 
40 
30 
20 
10 
0 
Sync Revert Integrate Edit 
Direct Edge 
Perforce Lab Benchmarks SERVER OPTIMIZATIONS
Clustering for Horizontal Scalability 
• Distribute workload to multiple nodes 
• Better performance and experience for all users 
From This… 
Activity 
100% 
P4D 
To This… 
User Activity System Activity User Activity User Activity 
2% 
Commit 
34% 33% 33% 
Workspace 
Server 
Workspace 
Server 
Workspace 
Server 
SERVER OPTIMIZATIONS
Horizontal Scalability Results 
Commit 
WS WS WS WS 
WS WS WS WS 
• 100,000 simulated developers 
• 742 commands/sec 
• 8 node cluster 
SERVER OPTIMIZATIONS
Clustering – Failover 
Router 
Depot 
Master 
P4D P4D 
SERVER OPTIMIZATIONS 
NAS 
P4D 
Depot 
Master 
Standby 
LAN
Sync Performance 
• Sync Performance Increased 
– Network window size optimization 
– Transfer multiple times at a time – aka Parallel Sync 
SERVER OPTIMIZATIONS
Network Window Size Optimization 
SERVER OPTIMIZATIONS
Network Window Size Optimization 
SERVER OPTIMIZATIONS
Parallel Sync 
SERVER OPTIMIZATIONS
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
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
Native LDAP support 
LDAP 
SERVER OPTIMIZATIONS 
p4 login 
user-login 
client-Prompt 
Enter Password: 
<password> dm-login 
LDAP Query 
<accepted> 
client-SetPassword 
User logged in.
Native LDAP support 
• Increases Security 
– Consistent Authentication and Authorization 
• Simplifies Policy Management 
– Access granted/revoked by LDAP group membership 
SERVER OPTIMIZATIONS
P4Search 
SERVER OPTIMIZATIONS 
??? 
File names, 
Changes ... 
File content? 
C# 
.h 
JAVA 
PPTX 
PDF
Solution: External Index 
P4 Search 
SERVER OPTIMIZATIONS 
store 
search 
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
P4Search 
• File content 
• P4 Metadata 
• P4 attributes 
• And the common 
metadata if 
desired 
SERVER OPTIMIZATIONS
END USERS
P4V – 2014 New Features 
• User interface refresh 
• Remove excess baggage 
• Simplify experience 
• Faster rendering 
• Faster for large file sets 
• “Snappier” responsiveness 
END USERS
P4V – 2014 New Features 
END USERS
P4V – 2014 New Features 
END USERS
P4V – 2014 New Features 
END USERS
Streams 
• Model the flow of change for 
the entire product lifecycle 
• Visual roadmap for users 
• Remove the fear/overhead 
of branching and merging 
END USERS
Streams – 2014 Features 
• Streams allows “import” 
paths to include 
components from one 
Stream into another. 
– Import is by reference (not a 
END USERS 
copy) 
– Import path is Read Only
Streams – 2014 Features 
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 
END USERS 
simpler
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
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
Streams – 2014 Features 
• Frozen Imports and Writeable 
Imports 
– Simplifies the management of 
Components within a Stream 
35END USERS
SWARM 
COLLABORATION
Swarm – 2014 Features 
• Review Votes 
• Required Reviewers 
• Lightweight Tasks 
• Attachments 
• API 
SWARM COLLABORATION
Swarm – 2014 Features 
SWARM COLLABORATION
Swarm – 2014 Features 
SWARM COLLABORATION
Swarm – 2014 Features 
SWARM COLLABORATION
Swarm – 2014 Features 
SWARM COLLABORATION
Swarm - Comment Attachments 
SWARM COLLABORATION
Swarm – Rest API 
SWARM COLLABORATION
Questions? 
Charlie McLouth 
cmclouth@perforce.com 
• 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

More Related Content

What's hot

What's hot (20)

Kovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM ToolsKovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM Tools
 
Integrated Test Management
Integrated Test ManagementIntegrated Test Management
Integrated Test Management
 
Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)
 
Overview of Kovair Omnibus Integration Platform
Overview of Kovair Omnibus Integration PlatformOverview of Kovair Omnibus Integration Platform
Overview of Kovair Omnibus Integration Platform
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape Plan
 
Kovair QuickSync Overview
Kovair QuickSync OverviewKovair QuickSync Overview
Kovair QuickSync Overview
 
Introduction to kovair ALM and Integration Products
Introduction to kovair ALM and Integration ProductsIntroduction to kovair ALM and Integration Products
Introduction to kovair ALM and Integration Products
 
Upgrading to TFS 2010
Upgrading to TFS 2010Upgrading to TFS 2010
Upgrading to TFS 2010
 
Infographic: Sync and Migrate HP QC to TFS
Infographic: Sync and Migrate HP QC to TFSInfographic: Sync and Migrate HP QC to TFS
Infographic: Sync and Migrate HP QC to TFS
 
Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016
 
Kovair at STeP-IN Summit 2014 Conference
Kovair at STeP-IN Summit 2014 ConferenceKovair at STeP-IN Summit 2014 Conference
Kovair at STeP-IN Summit 2014 Conference
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft Stack
 
Kovair 2014 at a Glance 11215
Kovair 2014  at a Glance 11215Kovair 2014  at a Glance 11215
Kovair 2014 at a Glance 11215
 
Kovair Integrated Test Management Platform - The Business Values
Kovair Integrated Test Management Platform - The Business ValuesKovair Integrated Test Management Platform - The Business Values
Kovair Integrated Test Management Platform - The Business Values
 
Sneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF ReleaseSneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF Release
 
ALM Revisited
ALM RevisitedALM Revisited
ALM Revisited
 
Kovair ALM Studio Overview
Kovair ALM Studio OverviewKovair ALM Studio Overview
Kovair ALM Studio Overview
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor Tools
 
Kovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair ALM application on model based process improvement
Kovair ALM application on model based process improvement
 
Leveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeployLeveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and Deploy
 

Similar to Year in Review: Perforce 2014 Product Updates

Similar to Year in Review: Perforce 2014 Product Updates (20)

Sap basis training demo basis online training in usa,uk and india
Sap basis training demo  basis online training in usa,uk and indiaSap basis training demo  basis online training in usa,uk and india
Sap basis training demo basis online training in usa,uk and india
 
Sap basis training demo basis online training in usa,uk and india
Sap basis training demo  basis online training in usa,uk and indiaSap basis training demo  basis online training in usa,uk and india
Sap basis training demo basis online training in usa,uk and india
 
Automating Enterprise Application Deployments with PowerShell
Automating Enterprise Application Deployments with PowerShellAutomating Enterprise Application Deployments with PowerShell
Automating Enterprise Application Deployments with PowerShell
 
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...
 
Oracle fusion soa online training in africa
Oracle fusion soa online training in africaOracle fusion soa online training in africa
Oracle fusion soa online training in africa
 
Oracle fusion soa online training in africa
Oracle fusion soa online training in africaOracle fusion soa online training in africa
Oracle fusion soa online training in africa
 
Oracle fusion soa online training in africa
Oracle fusion soa online training in africaOracle fusion soa online training in africa
Oracle fusion soa online training in africa
 
Automate Hosted Offering: SAP® Automation In The Cloud
Automate Hosted Offering: SAP® Automation In The CloudAutomate Hosted Offering: SAP® Automation In The Cloud
Automate Hosted Offering: SAP® Automation In The Cloud
 
3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective
 
Get Ready for SharePoint 2016
Get Ready for SharePoint 2016Get Ready for SharePoint 2016
Get Ready for SharePoint 2016
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
Moving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsMoving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into Streams
 
SharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade PlanningSharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade Planning
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)
 
Architecting with power vm
Architecting with power vmArchitecting with power vm
Architecting with power vm
 
Best And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM ConnectionsBest And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM Connections
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classes
 
Automate SaaS Offering: SAP® Automation In The Cloud
Automate SaaS Offering: SAP® Automation In The CloudAutomate SaaS Offering: SAP® Automation In The Cloud
Automate SaaS Offering: SAP® Automation In The Cloud
 

More from Perforce

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Year in Review: Perforce 2014 Product Updates

  • 1. Year in Review: Perforce 2014 Product Updates Charles McLouth Director of Solutions Engineering
  • 2. Presented By: Charlie McLouth Director 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.
  • 3. Agenda • Server Optimizations • Features for End Users • Collaboration Features with Swarm
  • 5. 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
  • 6. Concurrency – aka Lockless Reads SERVER OPTIMIZATIONS Writer Reader Database p4 submit Lockless Reads Writer does not block Reader p4 changes ✗
  • 7. 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
  • 8. VMware – Command Delays Commands affected, before Lockless Commands affected, after Lockless SERVER OPTIMIZATIONS 1,749 0 Commands affected by delays 3,000 2,500 2,000 1,500 1,000 500 0 Seconds of delay 1 2 4 8 16 32 64 128 256
  • 9. 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
  • 10. Performance Gains with Federation 56.6 8.7 61 9.8 0.9 0.7 1.8 0.2 70 60 50 40 30 20 10 0 Sync Revert Integrate Edit Direct Edge Perforce Lab Benchmarks SERVER OPTIMIZATIONS
  • 11. Clustering for Horizontal Scalability • Distribute workload to multiple nodes • Better performance and experience for all users From This… Activity 100% P4D To This… User Activity System Activity User Activity User Activity 2% Commit 34% 33% 33% Workspace Server Workspace Server Workspace Server SERVER OPTIMIZATIONS
  • 12. Horizontal Scalability Results Commit WS WS WS WS WS WS WS WS • 100,000 simulated developers • 742 commands/sec • 8 node cluster SERVER OPTIMIZATIONS
  • 13. Clustering – Failover Router Depot Master P4D P4D SERVER OPTIMIZATIONS NAS P4D Depot Master Standby LAN
  • 14. Sync Performance • Sync Performance Increased – Network window size optimization – Transfer multiple times at a time – aka Parallel Sync SERVER OPTIMIZATIONS
  • 15. Network Window Size Optimization SERVER OPTIMIZATIONS
  • 16. Network Window Size Optimization SERVER OPTIMIZATIONS
  • 17. Parallel Sync SERVER OPTIMIZATIONS
  • 18. 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
  • 19. 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
  • 20. Native LDAP support LDAP SERVER OPTIMIZATIONS p4 login user-login client-Prompt Enter Password: <password> dm-login LDAP Query <accepted> client-SetPassword User logged in.
  • 21. Native LDAP support • Increases Security – Consistent Authentication and Authorization • Simplifies Policy Management – Access granted/revoked by LDAP group membership SERVER OPTIMIZATIONS
  • 22. P4Search SERVER OPTIMIZATIONS ??? File names, Changes ... File content? C# .h JAVA PPTX PDF
  • 23. Solution: External Index P4 Search SERVER OPTIMIZATIONS store search 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
  • 24. P4Search • File content • P4 Metadata • P4 attributes • And the common metadata if desired SERVER OPTIMIZATIONS
  • 26. P4V – 2014 New Features • User interface refresh • Remove excess baggage • Simplify experience • Faster rendering • Faster for large file sets • “Snappier” responsiveness END USERS
  • 27. P4V – 2014 New Features END USERS
  • 28. P4V – 2014 New Features END USERS
  • 29. P4V – 2014 New Features END USERS
  • 30. Streams • Model the flow of change for the entire product lifecycle • Visual roadmap for users • Remove the fear/overhead of branching and merging END USERS
  • 31. Streams – 2014 Features • Streams allows “import” paths to include components from one Stream into another. – Import is by reference (not a END USERS copy) – Import path is Read Only
  • 32. Streams – 2014 Features 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 END USERS simpler
  • 33. 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
  • 34. 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
  • 35. Streams – 2014 Features • Frozen Imports and Writeable Imports – Simplifies the management of Components within a Stream 35END USERS
  • 37. Swarm – 2014 Features • Review Votes • Required Reviewers • Lightweight Tasks • Attachments • API SWARM COLLABORATION
  • 38. Swarm – 2014 Features SWARM COLLABORATION
  • 39. Swarm – 2014 Features SWARM COLLABORATION
  • 40. Swarm – 2014 Features SWARM COLLABORATION
  • 41. Swarm – 2014 Features SWARM COLLABORATION
  • 42. Swarm - Comment Attachments SWARM COLLABORATION
  • 43. Swarm – Rest API SWARM COLLABORATION
  • 44. Questions? Charlie McLouth cmclouth@perforce.com • 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