Technical White Paper Dell EMC Isilon: Pro Configuration and Optimization Understanding the optimizations to improve performance and enhance workflows on OneFS™ 8.x and Adobe Premiere Pro

Abstract This document explores the options available to configure and optimize Dell EMC™ Isilon™ and Adobe® Premiere Pro®. It provides guidance for achieving the best performance and optimal workflow.

March 2021

H17334.3 Revisions

Revisions

Date Description August 2018 Initial release

September 2019 Update for Premiere 2019

April 2020 Update for Premiere Pro Production Panels and Media Cache Recommendations

March 2021 Update for inclusive language

Acknowledgements

This paper was produced by the following:

Author: Gregory Shiff, [email protected]

Support: Simon Haywood

The information in this publication is provided “as is.” Dell Inc. makes no representations or warranties of any kind with respect to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness for a purpose.

Use, copying, and distribution of any software described in this publication requires an applicable .

Copyright © 2021 Dell Inc. or its subsidiaries. All Rights Reserved. Dell, EMC, Dell EMC and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be trademarks of their respective owners. [2/25/2021] [Technical White Paper] [H17334]

2 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Table of contents

Table of contents

Revisions...... 2 Acknowledgements ...... 2 Table of contents ...... 3 Document scope and audience ...... 4 About Adobe and the Creative Cloud Suite ...... 4 Adobe Premiere Pro and Isilon Storage ...... 4 1 Before you begin ...... 5 1.1 Adobe Premiere collaboration methodologies ...... 5 1.2 Multi-platform support ...... 5 1.3 Storage path-mapping ...... 5 1.4 Environment design and optimization ...... 5 1.5 Video and audio codec choice ...... 6 1.6 Isilon sizing guidelines ...... 7 2 Premiere Pro filesystem access profile ...... 8 2.1 File types ...... 8 2.2 Access profiles ...... 8 2.3 Workflow phases ...... 9 2.4 Optimizing for collaboration ...... 11 3 Performance benchmarking ...... 13 3.1 DogEars monitoring utility ...... 13 3.2 Enabling DogEars ...... 13 3.3 Understanding DogEars ...... 13 3.4 Working with DogEars ...... 15 4 Isilon OneFS configuration ...... 19 4.1.1 Security and access control ...... 19 4.1.2 Connection protocol ...... 19 4.1.3 OneFS file system optimizations ...... 20 5 Adobe Premiere Pro Configuration and Optimization ...... 23 6 Project Manager ...... 34 7 Example Architecture ...... 35

3 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Document scope and audience

Document scope and audience

This document is intended to guide system administrators and architects when designing and configuring Adobe Premiere Pro to be used with Isilon storage. The document covers configurations and optimizations for both the Adobe Premiere Pro application, and Isilon OneFS.

This document focuses on the configurations and optimizations that may yield performance and usability benefits when using the creative functions of Adobe Premiere Pro. However, this document does not attempt to cover all aspects of working. This document does not cover:

• Adobe Team Projects • Exporting from Adobe Premiere Pro or Adobe Media Encoder • Isilon Storage cluster sizing About Adobe and the Creative Cloud Suite

The suite comprises a collection of applications for creative professionals.

• Adobe Premiere Pro is a professional application that serves as the hub for Adobe production workflows. Adobe Premiere Pro runs best with ample memory and powerful CPUs and graphics - especially when working with large file formats or VR content. • is an industry leading motion graphics and visual effects tool. The application makes good use of fast storage for the application’s global performance cache technology, especially for easy access to complex compositions. • Adobe Media Encoder provides ingest, transcoding and final output for virtually any viewing platform. It can be automated via watch folders and scripting and benefits from powerful CPUs and GPUs. • is a professional audio workstation with Dynamic Link integration to Adobe Premiere Pro. Since audio files are smaller than video content, they are less of a concern for storage and performance, but the tight integration between the tools means much greater workflow efficiency for users and facilities. Adobe Premiere Pro and Isilon Storage

Performant shared storage is an essential foundation of any collaborative workflow, and Isilon storage may be deployed with Adobe creative tools for streamlined and efficient operations:

• Adobe Premiere supports collaborative production workflows using shared project files and connected user-designated storage locations for assets. • Adobe Premiere Pro allows users to edit files directly from shared storage for greater speed and efficiency and a simplified infrastructure. Working in this way demands the high performance delivered by Isilon. • The Adobe suite of applications support native workflows – where source material can be incorporated and manipulated in its native form, without the need for transcoding. Working with native and high-resolution material can make heavy demands on the supporting infrastructure, and requires the high performance, capacity and scalability of Isilon.

4 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Before you begin

1 Before you begin This section describes a few important points to review before you begin optimizing your solution.

1.1 Adobe Premiere collaboration methodologies Adobe Premiere offers multiple collaboration methodologies:

Productions are a new collaborative workflow in Premiere that replaces the legacy Shared Projects methodology. This workflow consists of a primary Production folder with multiple related projects within it. There is a new Production panel within Premiere for keeping track of everything. Dell Technologies engineering worked closely with Adobe to ensure that OneFS is fully compatible with this new way of working from the start. See section 3 below for more detailed information.

Team Projects are a cloud-based collaboration toolset where the Premiere project file in Adobe’s cloud and each user has their own copy of the media files. Adobe Anywhere is a streaming collaborative technology. This document does not make any attempt to suggest configuration optimizations applicable for Team Projects or Adobe Anywhere.

1.2 Multi-platform support Adobe Premiere Pro is a cross-platform application, and versions are available to support both macOS and Windows. Before making any application optimizations, generic platform optimizations should be addressed - details of which may be available in other guides (please refer to your Dell support representative). It should be noted however that some application configurations contained in this guide may vary according to platform.

1.3 Storage path-mapping Adobe Premiere supports Windows and macOS in both standalone and Shared Projects workflows. There are differences in file paths between these two operating systems. By default, macOS locates shared storage at /Volume/path/to/shared/storage whereas Windows uses drive letters, such as Z:\ or UNC file paths \\isilon.example.com\path\to\share.

Adobe Premiere automatically does path translation between operating systems when opening a project created in Windows on macOS and vice-versa. If for some reason Premiere is unable to reconcile media paths, the application will prompt the user to relink (locate) or offline media when opening a project. In rare instances when Premiere could not reconcile file paths between operating systems, opening the project on the alternate OS, relinking media within and resaving the project reconciled the media location errors on both operating systems.

1.4 Environment design and optimization Before making any application optimizations, the specific requirements for operating environments should be addressed. For example:

• Networking Optimization • Network Interface device configuration and optimization • Workstation RAM, CPU and GPU. • Consideration of the full workload.

5 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Before you begin

Adobe Premiere Pro and Isilon can support very high throughput workflows - including multiple streams of uncompressed 4K DPX. When designing and configuring a system to work with high throughput, it is important to pay close attention to the solution as a whole.

The overhead of supporting any remote storage is different to the overhead of supporting local or direct- attached storage. When iterating through optimizations, there is only minimal value in comparing the performance of any application as it interacts with different types of storage. Instead, it there is more value in measuring improvements.

Similarly, whilst speed-test utilities may help with initial “ball park” optimizations, care should be taken to optimize with the target application. This is because not all applications and test utilities access the storage in the same way – and may (for example) use a different number of concurrent threads, or different protocol calls. Instead, there is more value in measuring improvements when using the target application.

1.5 Video and audio codec choice The choice of video and audio codec can have an impact on the performance of the application. Different codecs have different benefits, and present different challenges to each part of a system. Fundamentally, there are three key parameters - and a system can be optimized for any two, at the expense of the third.

• Data rate • Encode and decode overhead • Image quality

For example, an uncompressed DPX sequence is very high quality and has a very low decode overhead, but it has a relatively high data rate. A high quality XAVC clip will have a relatively low data rate, but a much higher decode overhead.

Quality, data rate, and decode overhead comparison

System architects must where the limits are in their systems. For instance, a workstation’s resources may be overwhelmed playing back multiple streams of ProRes 422HQ 4K 60fps content long before Isilon’s maximum throughput has been achieved.

6 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Before you begin

1.6 Isilon sizing guidelines

This document does not provide detailed guidance regarding the sizing or node-type specification of Isilon storage that should be most appropriately used for any throughput or workflow.

Other documents are available that detail the performance requirements for workflows (for example, uncompressed 4K/UHD, or compressed HD editing). Care should be taken to size the storage correctly for performance and capacity - which may be calculated based on the requirements of the installation.

7 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Premiere Pro filesystem access profile

2 Premiere Pro filesystem access profile This section includes a brief background on designing storage systems for media applications

2.1 File types For the most part, Premiere Pro reads and writes media files that tend to be large (often multiple GB in size). These files need to be located on a storage system with consistent, low latency because media playback is a temporal operation. The performance of any application that uses media files tends to benefit from configurations that are optimized for streaming filesystem access.

All filesystem interaction from applications that is rapid and frequent benefits from the optimizations that are brought about by filesystem metadata acceleration (an option within Isilon OneFS). Rapid and frequent access is characteristic of real-time growing media files, transcoding of media files, and frequent updating of filesystem metadata.

Premiere Pro includes options to read and write different type files to different directories on Isilon storage, and this feature may be used in conjunction with Isilon configuration options to make optimal choices for the different access profiles of the application. Guidance is provided later in this document.

2.2 Access profiles Premiere Pro (in common with many applications of the same type) accesses files on storage in a specific manner that is very different to typical enterprise applications.

• Streaming video and audio - with latency critical read profiles. • Video frame-based file access • Read-ahead application caching

Video and audio files represent moving images and audio. A key characteristic of a video or audio file is that when the file is being consumed, the contents must be temporally consistent with expectation. That is, the frames of video or audio must be displayed or presented at the right time, in sequence.

For example, a moving video is typically described as having a number of still image frames per second - which might be fixed at 25, 30, 50 or 60 (or more), or might be variable. In all cases, the metadata information embedded in the file will contain information about the exact timing required for each frame. When the application reads those files, it must access the data for each frame in time for it to be displayed.

The requirement for this behavior demands that files must be read with a consistent latency, and with a latency that permits real-time playback. This contrasts with a standard enterprise requirement where reading files in a less consistent way may be tolerated. For more background information, please review:

https://www.emc.com/collateral/whitepaper/h16818-wp-uncompressed-high-resolution-workflows-isilon.

Adobe Premiere Pro features an application read-ahead cache, which allows the application to smooth out any small inconsistencies in access to the file system. When the application first starts to access a file for video playback, the caching engine will read-ahead as far and as fast as it can, in order to fill the read-ahead cache.

During this period, the read profile of the application will feature a significantly higher read throughput than might be expected when considering the data rates of the media files being accessed.

8 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Premiere Pro filesystem access profile

Care should be taken to design a full solution that can accommodate the characteristic throughput surge of the application as playback is commenced, in a way that does not impact other applications and clients.

Characteristc playback throughput surge

2.3 Workflow phases There are four key workflow phases when interacting with Premiere Pro:

• Import Media – Introduce media to the application • Work with Media – The Creative Process • Deliver – Exporting the competed product to the next stage in the workflow • Media lifecycle management – Archive and delete

Each phase of the workflow makes different demands on the storage and requires different optimization. Typically, a solution will be designed to optimize for the most important or demanding phase - the creative process.

At the import phase, the application may just be pointed at existing media files - but low latency filesystem access can be important when the application is required to index a high number of files. This is particularly important when working with image sequences (such as DPX), where there are a very high number of files.

Where the import phase consists of using the application to acquire linear media (SDI or IP Video), then performance and latency again become critical.

During the creative process, it is important to maintain a high-quality user experience. When designing a system, architects will need to consider both quantitative and subjective requirements.

9 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Premiere Pro filesystem access profile

• Throughput • Latency • Demands of different codecs • Scrubbing • Multi-track • Subjective “feel”

Though hardest to quantify and measure, the subjective “feel” of an application as it is used by a Creative Artist is arguably the most important measure of a successful system design. An Artist may describe a system that responds well and is easy to use as “snappy”, whilst a system that does not respond well and is difficult to use may be described as “sluggish”.

For a system to be “snappy”, the storage component must deliver data to the application in a way that doesn’t interrupt the creative process.

When fulfilling the delivery phase, the immediate user experience of the application is less apparent. However, Premiere Pro makes high demands as it writes completed files. Depending on the nature of the file format being created, the demands may be significant - particularly for high resolution images, image sequences, and codecs that demand many small write operations.

The archive and deletion phase demand high performance and responsiveness, as the application moves and deletes files.

10 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Optimizing for collaboration

3 Optimizing for collaboration Premiere Pro Productions is the preferred method for collaborating when using Isilon OneFS storage. This new workflow in Premiere Pro has a primary Production, essentially a folder, with related projects wtihin it. The Production panel within Premiere Pro gives all users a global view of the projects contained within and which users have which projects open for read-only vs read-write. Isilon OneFS has been fully qualified with this workflow on Windows, macOS, or a combinaton of both. In fact, Dell Technologies worked closely with Premiere engineering during development of this feature to verify that it would work properly upon first release.

Nonetheless, care should be taken to avoid unexpected behavior when multiple users access the same media files simultaneously. This is especially Production panel true when the same media file is referenced in several different projects. In large, busy facilities, filesystem permissions and other forms of access control afforded by Isilon storage should be implemented to prevent users from accidently moving or deleting data that should be left alone. Planning is key here: logical folder structures on the Isilon storage should be implemented and enforced by media managers and storage administrators. This is an area where 3rd party Media Asset Management software can be of particularly use in automating some of this process of organizing media files on storage.

For more information regarding collaborative video editing and project sharing, please refer to the guide published by Adobe at:

https://helpx.adobe.com/content/dam/help/en/premiere-pro/using/production-panel/jcr_content/main- pars/download_section/download-1/premiere-pro-productions-workflow-guide.pdf

3.1 File Sharing Protocol Considerations OneFS supports a wide range of file sharing protocols simultaneously. To varying degrees, Windows and macOS both support NFS and SMB file sharing. Both protocols support change notifications (a vital part of the Premiere Pro Production workflow). Even so, SMB has much more robust support of file system change notifications.

SMB is also the recommended file sharing protocol for both Windows and macOS. This has always been the case with Windows, and for the past couple of years is also the case with macOS. Therefore, SMB file sharing should be used with Premiere Pro, no matter what (s) it is running on. This is particularly true when using Premiere Pro Productions.

3.2 Using Premiere Pro Productions with OneFS The Premiere Pro Production workflow relies on file system notifications to keep Premiere Pro aware of changes to projects and which user has which project open at any particular time. OneFS has robust support for file system notifications. This is the default behavior of OneFS.

11 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Optimizing for collaboration

It is possible to disable file system notifications in OneFS on a per-share basis. As expected, with these change notifications disabled in OneFS, Premiere Pro’s Productions do not work properly. To verify that OneFS file system notifications are enabled from the OneFS Web GUI navigate to:

Protocols → Windows Sharing (SMB)

From this screen select the desired SMB share the SMB Shares tab and select View/Edit

Click Edit, scroll to the bottom of the screen and click Show Advanced Settings.

Under advanced settings verify that Change Notify is set to Norecurse (default) or All.

3.3 Apple SMB Extensions SMB Share advanced settings Apple has expanded the SMB protocol with specific extensions for macOS. OneFS has support for these extensions.

However, it has been shown that in very large Premiere Pro Productions with >500 projects, having Apple extensions enabled in OneFS can cause delays when listing out projects in the Premiere Pro Production panel. Disabling Apple extensions on the macOS client is therefore recommended when working with Productions containing this high number of projects.

Disabling macOS SMB extension is accomplished by adding the following line to /etc/nsmb.conf on the macOS client:

aapl_off=true

For a more detailed understanding of optimizing macOS with OneFS refer to:

macOS Performance and Optimization Whitepaper

Apple SMB extensions in OneFS are specifically addressed in section 5.7.

12 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Performance benchmarking

4 Performance benchmarking

There exist a few applications and utilities that may be used to measure the performance of storage systems, and a subset of those are optimized for media workflows, and present findings in a way that is useful to those designing systems for media.

Whilst these utilities can be useful in a general sense in the early stages of setup and optimization, it is important to recognize that Adobe Premiere Pro (in a characteristic that’s common to many applications) has a unique filesystem access profile - and optimization work should be measured against the performance of the application itself.

4.1 DogEars monitoring utility

Adobe Premiere Pro has embedded a useful benchmarking and monitoring tool named DogEars. When enabled, DogEars provides an on-screen display showing important performance information.

4.2 Enabling DogEars

DogEars may be toggled on or off via a keyboard shortcut.

• Windows: [CTRL] + [SHIFT] + [F11] • macOS: [CMD] + [SHIFT] + [F11] ( + [FN] – depending on keyboard configuration)

The DogEars overlay will become visible as an overlay on the Program or Source window. When enabled or disabled, DogEars will only appear or disappear once video playback has started or stopped.

4.3 Understanding DogEars When enabled, DogEars displays several data points in real time whilst video is playing in an application window. The data is overlaid on either the preview or playback window in the Adobe Premiere Pro application. It is important to understand the data, and what it is revealing about the solution (including workstation, networking and storage).

DogEars overlay

13 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Performance benchmarking

Total Render time

• Displayed as a measure of time, normally in milliseconds. • The Total Render Time is the time taken to render each frame of video. If the render time is not less than display duration of a frame of video (calculated by factoring the number of frames per second of the media), then playback is not viable.

Display FPS

• Displayed as a number of Frames per Second. • The number of frames per second of video that the application is delivering at that instant in time. This should be almost exactly (with a small tolerance for calculation and display errors of the data) the specified frame rate of the video clip or timeline. • If the Display FPS is less than the specified frame rate of the video clip or timeline, then frames are being dropped, and smooth playback is not viable.

Scheduler FPS

• Displayed as a number of Frames per Second. • The number of frames per second that the application is attempting to play back. This should normally be the same as the specified frame rate of the clip or timeline being played.

Target FPS

• Displayed as a number of Frames per Second. • The specified frame rate of the video clip or timeline being played.

Rendered FPS

• Displayed as a number of Frames per Second. • The mean number of frames per second that the application has been rendering since playback was commenced. • When playback is commenced, the application works to render as many frames as it can as quickly as possible, in order to build an application pre-fetch buffer. During the first few seconds of playback, the instantaneous Rendered Frames per Second will consequently be very high but will drop to the target frame rate when the application pre-fetch buffer is full. • Because the displayed value is an average of the instantaneous frame rate over time, it will start high, and will gradually tend towards the target frame rate. For long playbacks, the displayed Rendered Frames per Second will eventually be almost equal to the Target Frames per Second. If the displayed value ever drops below the Target Frames per Second for an extended period, then the application is consistently dropping frames, and smooth playback is not viable.

Total

• Displayed as a number of Frames • The total number of frames that have been displayed since playback was commenced.

Dropped

• Displayed as a number of Frames • The total number of frames that have been dropped since playback was commenced. While ideally the dropped frame count should be zero, a few frames dropped during a long playback, particularly

14 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Performance benchmarking

around the start of playback, or at transitions in a sequence are not necessarily cause for alarm. Additionally, the application may from time-to-time drop a video frame to ensure audio and video remain in sync. • If a limited number of dropped frames are observed, careful consideration should be given to the actual impact on the required workflow. If the application is consistently dropping a high number of frames, and the dropped frame count is continuously increasing, then that indicates that playback is not viable.

RenderSize

• Displayed as a number of pixels. • The RenderSize indicates the resolution of the image as it is created by the application. Note that the RenderSize is not necessarily the resolution at which the image is displayed on the screen - because that is dependent on the actual resolution of the monitor being used. • Using the drop-down menu at the bottom right of the display image, it is possible to reduce the RenderSize to a fraction of full resolution - and the RenderSize and Downsample data points displayed by DogEars will change accordingly. • A lower RenderSize does not normally affect the amount of data that is read from the storage (except in the case of some specific proprietary plugins and codecs). • In some scenarios, bad playback performance caused by a lower performance workstation may be mitigated by rendering only a reduced resolution image. There are many variables that influence performance and experimentation on particular implementations is advised.

Downsample

• The Downsample is the divisor used to calculate the display resolution as a fraction of the resolution of the source material. A value of 1.00 indicates that there is no downsampling.

Quality

• Displayed as a description, including the field order. • The quality of the image being rendered, alongside information about the field order of the codec.

FramePrefetchLatency

• Displayed as a measure of time, normally in milliseconds. • The time in milliseconds that the application took to read the frame of video from storage.

PF (Pixel Format)

• Displayed as a description, noting the importer (decoder) that’s being used. • A technical note about the application module being used to decode the video file.

4.4 Working with DogEars

DogEars is a powerful analysis tool and is the best tool to use to measure changes when optimizing the whole environment. It can be tempting to optimize a system whilst measuring performance with a more generic speed-test utility. However, even utilities that are designed to display results in a “media friendly” format may not interact with the storage in a similar way to Adobe Premiere Pro.

15 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Performance benchmarking

It is important to be able to interpret the data that can be shown by DogEars, and to use the information to correctly influence decisions in the optimization process. There are a few ways to work with the data, but it may be useful to follow these guidelines:

Representative project and sequence

• Build a Project and Sequence that accurately represent the required use case. • The first step in optimizing an environment, is to build a project and sequence that represents the use case. This will include:

- Test media of the correct format and encoding. The clips should be of sufficient duration such that their size they should exceed the available memory capacity of the workstation. The media should be placed on the Isilon storage cluster, in a directory that has the desired settings applied (for example: Streaming profile and Metadata acceleration). - Sequences (sometimes also known as a timeline) with an appropriate number of video and audio tracks. The tracks should be layered, and have some effect applied such that all the video tracks are “visible”. The sequence should match the format of the source material. It is important to validate that the workstation can support the application, and has enough CPU, GPU and RAM to work with the material being tested. - Simple and complex sequences should be prepared. A simple sequence has one or more contiguous portions of media, with few (if any) edits. A complex sequence will have a number of layers, and complex edits. The purpose of a complex sequence is to challenge the application and its demands on storage.

Dropped frames test

• Can media be played without dropping frames? • The ability to play a video track (or multiple video tracks) without dropping frames is a fundamental requirement. Use the dropped frames count to monitor how many frames are being dropped as playback starts and progresses. • A perfect scenario is one where there are zero dropped frames at any point in playback. However, it can be considered acceptable to drop just a few frames during playback – particularly in the case of a long or complex sequence. • If the number of dropped frames continuously grows, then that is an indicator that playback cannot be supported. • If the number of dropped frames briefly grows around edit point transitions, but then stabilizes, then that may be an indication that the application is finding it difficult to open a new file and start streaming in a timely manner. Consider checking the entire system for latency, and that the OneFS optimizations (as detailed below) have been applied. • If the number of dropped frames grows only at the start of playback, then that may be an indication that the system is unable to deal with the playback throughput surge cannot be accommodated. • If the number of dropped frames on one workstation can be negatively impacted by throughput from a different workstation, then that may indicate either a system bottleneck (for example, network) or that the applications are reaching the maximum available throughput of the storage cluster, as the workstations contend for available throughput.

16 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Performance benchmarking

Render time test

• How long does each frame take to render? • Each video frame must be rendered by the application in less than the time for which the same frame is displayed. If it takes longer to render, then sustained playback is not viable. • The time for which each frame is displayed may be calculated with reference to the frame rate of the material being used.

Frame durations for common frame rates. Frame Rate (Frames per Frame Duration Second) (milliseconds) 24fps 42ms 25fps 40ms 50fps 20ms 30fps 33ms 60fps 17ms

• Ideally, the render time for each frame should be consistently lower than the duration of each frame. • Brief transients where one or two frames take longer to render may be accommodated by the application cache – provided that the mean duration over time is consistently lower. • Where the render time is consistently higher than the duration of the frame, then that may be an indication either that the system is unable to support the required throughput, or that the latency of the system is too high.

Frame PreFetch Latency

• What is the latency for the frame pre-fetch? • The time in milliseconds that it took to read the data for a single frame of video from storage. This time should be consistently lower than the display duration of a frame of video (calculated by factoring the number of frames per second of the media – as above) - though infrequent transients are normally accommodated by the application pre-fetch buffer. • If the FramePrefetchLatency is consistently too high, then playback is not viable. • If the pre-fetch time is too high only for brief transients, then sustained playback may be viable. • If the pre-fetch time on one workstation can be negatively impacted by throughput from a different workstation, then that may indicate either a system bottleneck (for example, network) or that the applications are reaching the maximum available throughput of the storage cluster, as the workstations contend for available throughput.

Rendered frames per second

What is the mean number of rendered frames per second?

• Interpreting the reported mean number of frames per second can be confusing, and takes time to understand. The mean number of rendered frames per second is not always useful information, and care should be taken to use the data point in context, and in conjunction with other information. • When playback is commenced, the application works to render as many frames as it can as quickly as possible, to build an application pre-fetch buffer, and frames are rendered at a significantly faster

17 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Performance benchmarking

rate than the frame display rate. The limiting factor for the instantaneous Rendered Frames per Second may be: • The power and performance of the workstation. • The complexity of the codec. • Network throughput or contention. • Storage performance. • During the first few seconds of playback, the instantaneous Rendered Frames per Second will consequently be very high but will drop to the target frame rate when the application pre-fetch buffer is full. • Because the displayed value is an average of the instantaneous frame rate over time, it will start high, and will gradually tend towards the target frame rate. For long playbacks, the value will eventually almost be equal to the target value. If the displayed value drops below the Target for an extended period, then smooth playback is not viable. • The mean number of frames per second that are rendered is a data point that can be most useful during long playback tests, where the value has tended towards the frame rate of the clip being played. It can be useful to compare the mean value with the instantaneous value.

Average rendered frames per second tending toward actual frame rate

18 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Isilon OneFS configuration

5 Isilon OneFS configuration When configuring Isilon OneFS to support a Premiere Pro workflow, there are multiple items to consider:

• Security and Access Control • Connection Protocol • OneFS filesystem optimizations • Application configuration and optimizations • Environment optimizations – e.g. networking • Platform optimizations (workstation and operating system)

As noted earlier, this document does not cover platform or environment optimizations since these topics are covered elsewhere. Similarly, security and access control considerations are covered elsewhere – and this document is limited to defining requirements rather than making configuration recommendations.

5.1.1 Security and access control Media stored by an organization may be that business’ most valuable asset. In the modern age it is no longer a sensible option to simply have “read-write access for everyone, everywhere”. Proper attention should be paid to security and access control. Consideration should be given to:

• Access to the SMB or NFS share (mostly likely SMB in the case of Premiere!) • Permission to read, write, change or delete files.

OneFS supports a rich set of authentication options, access control and directory binding capabilities, and these may be used in conjunction to manage different users as they access the shared storage. Alternatively, it may be possible to use the local user provider of OneFS to manage a small number of connecting clients.

5.1.2 Connection protocol Premiere Pro supports both Windows and macOS

• For Windows, SMB3 is the way to go

- SMB3 has many benefits, but for Premiere workflows the most notable is SMB3 multi-channel. SMB3 multi-channel automatically aggregates multiple network links from the Windows client to a supported storage server (such as Isilon!) - Configuration of SMB3 multichannel is out of scope for this document, but essentially if the Windows client has multiple network connections to the Isilon storage, Windows will balance traffic between the multiple links resulting in higher aggregate throughput. This is entirely different and separate from bonded network links (LACP and similar). - In a test where the Isilon storage was connected via 40GbE to a network switch and the Premiere Windows client had 2x 10GbE connections to the same network switch, playback of material that would have otherwise overwhelmed a single 10GbE network was possible.

• For macOS 10.13+ SMB3 is also the recommended protocol.

- This may come as surprise to experienced macOS administrators, since historically NFS was highest performing connection protocol. However, in the latest versions of macOS, Apple’s SMBX software has seen significant improvements and now outperforms NFS for multi-threaded operations on that platform.

19 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Isilon OneFS configuration

- As of this writing, the latest macOS release (10.14 Mojave) does not support SMB3 Multichannel. However, macOS still achieves excellent performance with both 10GbE and 40GbE links.

Configuration and optimization of the client SMB stack is outside of the scope of this document and is covered elsewhere. Care should be taken to review the connection, configuration and optimization guidelines that are appropriate for the platform being used. For environments utilizing both SMB and NFS, OneFS does a very good job of creating coherent permissions between for clients of both protocols. Some additional information about permissions and identity mapping can be found here:

https://community.emc.com/community/products/isilon/blog/2015/10/08/emc-isilon-multiprotocol-concepts- series

https://www.dellemc.com/resources/en-us/asset/white-papers/products/storage/h13115-wp-emc-isilon-onefs- multiprotocol-security-untangled.pdf

It should be noted that regardless of connection protocol, for high throughput workflows, and especially for network connections of 10GbE and greater, use of Jumbo frames (9000mtu) can have a significant positive impact. However, care must be taken that the entire connection from Isilon storage to network switch to workstations are properly configured for the benefit of jumbo frames to be recognized. Simply enabling jumbo frames on the client or storage can negatively impact performance if the rest of the environment is not properly configured.

5.1.3 OneFS file system optimizations Architects should consider three key optimizations for OneFS when deploying in a Premiere Pro environment.

• Metadata Read/Write Acceleration • Streaming and Concurrency Modes • Filename Pre-Fetch

Metadata read/write acceleration

File access performance can be optimized by enabling Metadata read/write acceleration. When enabled, this optimization sees OneFS use SSDs for reading and writing filesystem metadata - which can improve access time and reduce latency. Where all underlying storage units are SSD - as in the case of Isilon F800 All Flash, then this is not a meaningful or required optimization.

Enabling metadata read/write acceleration

Metadata read/write optimization can be enabled as a File Pool Policy at the OneFS Web User Interface. More information and guidance is available in published documentation:

http://doc.isilon.com/onefs/8.1.0/help/en-us/index.html#ifs_c_ssd_pools.html

Streaming mode

Streaming performance of OneFS can be optimized by enabling Streaming Mode at the file pool, or at the directory level. Streaming performance is important when playing media linearly - for example when playing a video sequence in a time line.

Consideration should be given to other workflows hosted in the same pool or directory before enabling Streaming mode. Best performance for all workflows on a single cluster might be achieved by selectively enabling Streaming Mode on a limited number of directories.

20 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Isilon OneFS configuration

Streaming Mode optimizes two behaviors of OneFS to deliver increased streaming performance:

• Data is striped across more underlying storage units (disc drives or SSDs). • Data is prefetched aggressively.

Concurrency Mode

Due to streaming mode’s aggressive prefetching of data, there are circumstances when Premiere may start to drop frames due to excessive prefetching for a particular client. In those circumstances, enabling Concurrency mode on the directory containing media may be preferable.

In general, administrators should set media directories to streaming mode. If Premiere is dropping frames when the storage should otherwise support playback, switching the media directories to Concurrency Mode is a relatively quick to change to try and observe if there is a positive (or negative!) impact.

Choosing streaming vs concurrency mode

Streaming mode is optimized for a small number of clients playing back high throughput material such as ProRes 4444 4K @ 60fps. Concurrency mode uses an adaptive prefetch algorithm that is more measured in its approach. For clusters with large numbers of users working with relatively low bandwidth material (such as ProRes 422 1080p @ 30fps), sticking with concurrency mode is the most appropriate choice.

A strength of OneFS is that both streaming and concurrency mode can co-exist on the same cluster on a directory by directory basis. A common approach is to use concurrency mode generally while selectively setting media directories with high throughput material to streaming mode.

Enabling streaming or concurrency mode

Streaming or Concurrency mode can be enabled as a File Pool Policy at the OneFS Web User Interface. More information and guidance is available in published documentation:

http://doc.isilon.com/onefs/8.1.0/help/en-us/index.html#ifs_t_configure_default_io_optimization_settings.html

http://doc.isilon.com/onefs/8.1.0/help/en-us/index.html#ifs_t_modify_file_and_directory_properties.html

It should be noted that when Filename Pre-Fetch (outlined below) is also required and enabled, there is an interaction between the two optimizations - which must be considered when configuring.

Filename Pre-Fetch

Filename Pre-Fetch can be enabled to optimize the streaming performance of OneFS when working with image sequences. It is critical that this optimization only be applied to directories containing image sequences of successively named files. Applying it to directories that do not contain image sequences may result in false fetches (where resources are used pre-fetching files that are not ever requested by the client).

If Premiere Pro is being used to work with image sequences, then improved performance may be achieved by enabling Filename based Pre-Fetch. Where image sequences are not used in the environment, Filename based Pre-Fetch should not be enabled.

21 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Isilon OneFS configuration

Operation

Filename Pre-Fetch enables a performance optimization by detecting when image sequences are requested by a client. When a sequence is detected, OneFS will pre-fetch files from the underlying storage units (disc drives or SSDs) before they are requested.

Detect Sequence Pre-Fetch Files Continuing Sequence

FileName Pre-fetch example

The Filename Pre-Fetch algorithm is optimized to detect image sequences with either decimal or hexadecimal filename numerical increments.

Enabling

Filename Pre-Fetch can be enabled on individual directories at the command line of OneFS. A detailed overview and configuration guide is available at:

https://dellemcevents.com/uploads/Dell-ECM-Isilon-Filename-Based-Prefetch.pdf

The Filename Based Pre-Fetch guide also provides good explanations of setting and examining OneFS file layout and access strategies using the command line interface and is recommended reading even if Filename Pre-Fetch is not to being used.

Further information

For detailed guidance on File Pool Policies and data layout and access strategies, check:

https://www.emc.com/collateral/hardware/white-papers/h10719-isilon-onefs-technical-overview-wp.pdf

Guidance for using the command line to make administrative changes is available at:

https://www.emc.com/collateral/TechnicalDocument/docu84280.pdf

Guidance for using the web interface to make administrative changes is available at:

https://www.emc.com/collateral/TechnicalDocument/docu84277.pdf

22 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

6 Adobe Premiere Pro Configuration and Optimization There are several categories of settings and file locations that need to be considered when configuring Adobe Premiere Pro in an environment with Isilon storage. These include:

• Project file location – location on shared storage where Premiere Pro project files are stored • Project settings – Settings that impact individual Premiere Pro projects • Application Preferences – Settings that impact Premiere Pro’s general behavior

Project File Location

When a new Project is created by the user, a dialog invites the user to specify its target location. For most collaborative environments, it is appropriate to select a location on the Isilon shared storage.

The location on the Isilon shared storage should be protected using standard authentication and authorization methods (for example, Active Directory binding, and Access Control Lists). For example, a System Administrator could:

In a shared collaborative environment, create a directory or share on the Isilon shared storage, and assign read/write privileges to all required users or groups. • In a private environment, create a directory or share on the Isilon shared storage that is assigned only to a specified user or group.

In all cases, the System Administrator would create the directory or share, and advise the user to select that location when choosing where to create the new Project.

When multiple projects are saved to shared storage, it is critical to design and implement a strict naming convention - so that naming collisions are avoided, and projects can be found in the future.

Project Settings

The bottom half of the dialog that appears when a user creates a new project in Premiere Pro shows the Project Settings. These settings can be changed later by selecting File → Project Settings from the main Premiere Pro window.

Project Settings: Scratch Disks

When a new project is created, Adobe Premiere Pro will default to writing most files in sub directories of the file path of the project.

Premiere Pro allows the user to target different storage paths and volumes when writing different files. When working in a collaborative environment, for most settings, it is most appropriate to target the same location as the project, on the Isilon shared storage. The exception is Project Autosave which typically should be targeted at the workstation’s local storage.

23 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

Set the project name according to a strictly In most cases, using GPU defined naming convention, and target a acceleration is recommended. directory on an Isilon SMB share.

These options do not normally materially impact the way the application interacts with storage.

New project dialog and General settings

Below is a summary of these settings and their recommended locations:

• Captured Video – Same a project (on Isilon shared storage) • Captured Audio – Same as project (on Isilon shared storage) • Video Previews – Same as project (on Isilon shared storage) • Audio Previews – Same as project (on Isilon shared storage) • Project AutoSave – Workstation local storage (this is where project backup is auto-saved) • CC Libraries Download – Same as project (on Isilon shared storage) • Motion Graphics Template Media – Same as project (on Isilon shared storage)

24 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

Set to “Same as Project” - an SMB share Project Auto Save: set to a local path path on Isilon Storage

The Scratch Disks panel

Project Settings: Ingest Settings

The Premiere Pro Ingest settings affect the way that the application deals with media that is imported by the user.

If media is written to the Isilon shared storage by some other device or process (for example, live capture devices, MAM solutions from partner vendors, or manually copied), then that media should be used “in place”, and the Ingest option should be de-selected.

If media is to be brought into the environment from an external source (for example, a USB key or camera card) then selecting the Copy option will copy the media to a specified source. - using MD5 verification will consume more system resources but will confirm the validity of the copy.

When selecting the copy option, it is often best practice to select the Primary Destination (and proxy destination, if used) to be the same as project.

Selecting Transcode - will consume more system resources but may be desirable if the source material comes from multiple sources in different formats.

25 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

Figure 8 Ingest Settings Premiere Pro Application Preferences

The Premiere Pro Application Preferences can be adjusted to vary the behavior of the application and its interaction with storage. Application settings are accessed on macOS using the Premiere Pro → Preferences menu item and in Windows using Edit → Preferences.

The application settings may be set on each client and stored locally as part of the configuration for the logged-in user. Alternatively, the settings may be stored as part of the configuration for the Adobe Creative Cloud account for the logged-in user.

Finally, it is possible to store the optimal settings in a single “primary” Adobe Creative Cloud account, and for each logged-in user to download and use those settings in preference to their own. This is a particularly useful feature for large organizations with multiple users working in a collaborative environment.

The settings may be downloaded from the “primary” Adobe Creative Cloud account by clicking the small Creative Cloud logo at the bottom left of the application window.

26 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

Figure 9 Using settings from a primary Adobe Creative Cloud Account

Application preferences: Audio

The two critical settings in this dialog are Play audio while scrubbing and Automatic audio waveform generation.

In testing for this paper, the Premiere Pro user interface performance while scrubbing through long video files with audio tracks was greatly improved by de-selecting Play audio while scrubbing. As always, testing is key, and depending on the Isilon storage platform, workstation resources and media within the Premiere Pro project file, the relative impact of this optimization will vary.

Audio waveforms are a visual representation of audio and are overlaid on audio tracks on the timeline. The creation of the waveforms has been observed to consume processor overhead and storage bandwidth, and Premiere Pro provides a configuration option to specify at what time the waveforms are created.

When enabled, Automatic Audio Waveform Generation will create audio waveforms automatically in the background:

• When a file is first imported to the project, or • When a new project containing existing audio assets is first opened on a user’s system.

27 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

When the option is de-selected, audio waveforms will be not be generated for an audio asset until that asset is played or scrubbed, or where the creation of the waveforms is requested by the user via the Generate Audio Waveform option in the Clip menu.

When waveforms are generated automatically, system resources are consumed “up front”, and in advance of the waveforms being required. Where the waveforms are not generated automatically, system resources are consumed at the point of first accessing an audio asset.

The optimal setting for any environment, project or user will depend on the nature of the project, the number of audio assets in the project, and the available system resources. It is recommended to consider the most optimal setting for every situation.

Audio waveforms are stored as .pek files in a location specified in the Media Cache settings detailed later in this document.

Figure 10 Audio Settings Window

Application Preferences: Auto Save

Adobe Premiere Pro may be configured to auto-save projects as the user is working. The target location for the auto-save is configured separately (see above in the “Scratch Disk” settings panel). However, the feature is enabled, and the frequency is set in the Auto Save sub-menu:

Set the auto-save interval according to personal preference. A smaller interval will result in more granular roll- back points but will consume more system resources during the saves.

The Maximum number of Project Versions limits the number of roll-back points that are saved. Increase the maximum to save a longer history but be aware that doing so will consume more system resources.

28 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

A “tier 2” or “second level” backup of the project in its most current state may be made to the user’s Adobe Creative Cloud account, by ticking the check-box. Enable according to personal preference but be aware that this option requires consistent and reliable internet connectivity.

Checking Auto Save also saves current project(s) provides another layer of protection. With this boxed checked, when the Auto Save function runs, Premiere also performs a standard save of the currently open projects, as if the user did a File → Save All command. If the Premiere project files are being stored on the Isilon storage and the Auto Save location is on the user’s local hard drive, this will keep an up- to-date copy of the most recent project file in both locations. However, if the user wants to open a project, edit that project, and not have Premiere automatically overwrite the original project file during an Auto Save operation, then this box should remain unchecked.

Figure 11 Enabling Autosave and setting frequency

Application preferences: Collaboration

Adobe Premiere has several collaboration methodologies, Team Projects, Shared Projects, and Adobe Anywhere. Both Team Projects and Adobe Anywhere are out of scope of this document. Most common for Isilon environments are Shared Projects where multiple editors have projects open simultaneously.

29 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

For Shared Projects to work properly it is vital that the Project Locking checkbox is enabled in this preference. With Project Locking enabled, Adobe automatically creates and destroys lock files alongside the project file to govern which users have read/write vs read-only access to projects.

Enable Project Locking in a collaborative environment.

Figure 12 Project Locking

Application Preferences: Media

In a collaborative environment, the setting to Write XMP ID to Files on Import should be disabled. If enabled, existing media cache files may be invalidated or corrupted if accessed by multiple users.

Adobe Premiere Pro can generate proxies. Working with proxies may be useful if the demands of the workflow cannot be supported by the environment - for example if the user requires to work with high resolution or high frame rate material on a system that was not originally designed or specified to support it. Generating proxies consumes system resources and should be only enabled as part of a managed proxy workflow.

Growing Files: Adobe Premiere Pro supports working with growing files that are being written by another application. Workflows of this type are particularly common in collaborative environments, where media is

30 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

often written by live capture devices or from central ingest stations. The frequency at with the application updates the clip whilst it is on the timeline may be set here. Reducing the frequency may allow the user to work much “closer to the wire” but may consume more system resources.

Enable folder creation only Enable proxy generation only when required by the when required by the workflow. workflow. Enable growing file refresh for Disable Write XMP ID to files realtime collaborative workflows. in import in a collaborative environment.

Figure 13 Adobe Premiere Pro Media Settings

31 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

Application Preferences: Media Cache

Adobe Premiere Pro creates multiple files in the background to support the application. Primarily, these include waveform displays of audio files and metadata about imported video files.

Adobe does not support locating the Media Cache files or database on shared storage. These files tend to be small, numerous, and are accessed by Premiere Pro frequently. There is no mechanism in Premiere Pro to prevent Media Cache from being corrupted or overwritten if multiple machines are using the same location. Besides, locating this cache on the Isilon storage uses storage resources and network bandwidth that can be better utilized playing back the actual video files being edited!

Premiere Pro Media Cache and Cache Database

32 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Adobe Premiere Pro Configuration and Optimization

Application Preferences: Sync Settings

The options in the Sync Settings sub menu are related to the interaction of the application with the Adobe Creative Cloud. This option sets the behavior of the application when updating and managing the preferences and can have unintended impacts on the application if settings are unexpectedly changed.

It is recommended that the option for When syncing be set to Ask my preference - to avoid unexpected settings changes.

Set to “Ask my preference” to avoid unexpected changes.

Premiere Pro Sync Settings

33 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Project Manager

7 Project Manager Adobe Premiere Pro may be used to manage the media on the Isilon storage – and this may be a useful feature for environments that do not have a Media Asset Manager. It is important to implement a workflow to clean up media and files once a project has been completed – to create space for future projects. There are two main approaches to project management using Adobe Premiere Pro.

Use an automated process to move all files associated with a project to a new destination.

Use an automated process to consolidate and transcode all files associated with a project to a new destination.

Where files are moved to a new destination, this may be a new directory or volume on a different SmartPools tier, or on a different Isilon cluster.

To make best use of available resources, and to preserve content in its original format and quality, it is recommended to use the “Collect Files and Copy to New Location” option.

It is recommended to select “Collect Files Select the target path for the files. and Copy to New Location”

Figure 16 Adobe Premiere Pro Project Management

34 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3 Example Architecture

8 Example Architecture

Figure 17 Example architecture

This architecture illustrates a Premiere environment supported by Isilon storage with multiple of client types. All systems, running a mix of Windows and macOS can collaborate and share content simultaneously.

• The Isilon storage cluster is connected to this environment with 40GbE.

- 1x or 2x 40GbE links per Isilon node (10GbE is also an option).

• Client systems with the highest performance requirements, such as those working with uncompressed DPX sequences, are connected via 40GbE. • For editorial clients with performance requirements up to 1GB/s, a 10GbE connection is enough.

- On Windows client systems that require >1GB/s throughput but for whom 40GbE is unavailable, 2x 10GbE links to the network switch and leveraging SMB3 multi-channel provides >1GB/s aggregate throughput to Premiere from the Isilon storage cluster. - Currently, macOS does not support SMB3 multi-channel.

• Most environments also have client systems connected via 1GbE for content viewing and light-weight proxy editing. • In this environment, the Adobe Project files, cache files, and all media are stored on the Isilon shared storage.

35 Dell EMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334.3