-
Notifications
You must be signed in to change notification settings - Fork 101
Distributed Systems
Dan Bohus edited this page Feb 8, 2022
·
1 revision
A distributed \psi system may have many separate pipelines running in separate processes, on separate machines, publishing and subscribing to streams being conveyed using various protocols. The following pieces of infrastructure are available for building such systems with \psi:
-
Microsoft.Psi.Remoting
contains theRemoteExporter
andRemoteImporter
components allowing streams to be serialized and transmitted between \psi processes and/or machines. This is the preferred means of conveying streams between \psi pipelines.RemoteClockExporter
/RemoteClockImporter
components may also be used to synchronize the pipeline clocks when \psi processes run on separate machines. -
Microsoft.Psi.Interop
components and classes facilitate bridging to other ecosystems over ZeroMQ, raw TCP sockets or via flat files, with JSON, MessagePack, CSV or custom serialization of \psi streams. -
Microsoft.Psi.Interop.Rendezvous
is a system for communicating information about the endpoints in a distributed \psi system. The rendezvous system allows many processes (\psi pipelines, Python, ...) to advertise their available streams and to discover those of other pipelines.
- Basic Stream Operators
- Writing Components
- Pipeline Execution
- Delivery Policies
- Stream Fusion and Merging
- Interpolation and Sampling
- Windowing Operators
- Stream Generators
- Parallel Operator
- Intervals
- Data Visualization (PsiStudio)
- Data Annotation (PsiStudio)
- Distributed Systems
- Bridging to Other Ecosystems
- Debugging and Diagnostics
- Shared Objects
- Datasets
- Event Sources
- 3rd Party Visualizers
- 3rd Party Stream Readers
Components and Toolkits
- List of NuGet Packages
- List of Components
- Audio Overview
- Azure Kinect Overview
- Kinect Overview
- Speech and Language Overview
- Imaging Overview
- Media Overview
- ONNX Overview
- Finite State Machine Toolkit
- Mixed Reality Overview
- How to Build/Configure
- How to Define Tasks
- How to Place Holograms
- Data Types Collected
- System Transparency Note
Community
Project Management