GitHub Project - Working with Large Asset Counts in PI AF SDK

Document created by bshang Employee on Oct 12, 2015Last modified by bshang Employee on Jan 27, 2016
Version 6Show Document
  • View in full screen mode



Due to the increasing number of connected devices in recent years, more and more PI Systems are built to support up to millions of AF assets and data streams. Although OSIsoft produces a healthy, growing PI software ecosystem, current off-the-shelf products may not be optimized yet for some use cases involving large asset count systems. In these cases, custom applications can be developed and optimized using the PI AF SDK.



Large Asset Count Project - How to Handle Millions of AF Elements Efficiently


The goal of this project is to provide a set of example code that handles representative large asset count use cases effectively and efficiently using PI AF SDK.


This project demonstrates PI AF SDK strategies to handle PI Systems with large asset counts up to millions of AF Elements and PI Points.


The set of example code and documentation is provided in the OSIsoft GitHub repository below and White Paper attached.:


osisoft/PI-AF-SDK-large-asset-count-Project · GitHub


Three major parts are illustrated:


1)      Building a flat AF element structure efficiently

2)      Creating an AF hierarchy from the flat structure efficiently

3)      Performing PI System calculations including

          a.      Roll-ups

          b.      Condition detection

          c.      Historical analysis


A webinar has been hosted to introduce these examples. The presentation and recording can be found below:

PI Developers Club Webinar Series - Optimizing AF SDK for Large Asset Counts


Special thanks to Jin Huang for creating many of the examples, David Black for writing the White Paper, and Mike Monacella for reviewing and organizing the project.


We welcome your feedback and questions, and look forward to continuing the discussion here in the comments below.