openlvc / portico

Portico is an open source, cross-platform, fully supported HLA RTI implementation. Designed with modularity and flexibility in mind, Portico is a production-grade RTI for the Simulation and Training Community, so come say hi!
http://www.porticoproject.org
152 stars 81 forks source link

EPIC: Large Scale Federation Support #218

Open timpokorny opened 6 years ago

timpokorny commented 6 years ago

Summary

The purpose of these updates is to allow Portico to operate in extremely large federations that blend a mix of high and low capability devices (in both a computation and network sense).

The ultimate goal is to put in place a structure that can support:

Background

As part of an ongoing process working with the US National Institute of Standards, we have been looking at way to enable Portico to serve both large federations (>100 federates) and those that simultaneously contain federates running on high-powered infrastructure alongside those that may be running on low-powered or bandwidth constrained devices (such as IoT appliances).

The particular simulations that NIST envisages supporting as part of its UCEF initiative (Universal CPS Environment for Federation, where CPS is Cyber-Physical Systems) are ones that bring requirements that are challenging to meet and which the currently communications operations certainly cannot stretch to accommodate. These include:

Portico requires changes to support these sorts of federations. The updates necessary to support the extreme end of these environments must also be done in a manner that doesn't impact the easy-of-use of the current fully-distributed, serverless model.

While wonderly simple in many ways, this serverless model has caused a number of problems that we will ultimately be able to address at the same time as this work:

High-Level Design

The high-level design for this structure can be seen in the following diagram:

wp3-forwarder-architecture

Key points to note here are:

Task List

This work is broken down into three phases:

Phase 1: Create the Infrastructure for Central RTI

Phase 2: Port HLA Services to Central RTI

Phase 3: Cluster / Forwarder Infrastructure

timpokorny commented 6 years ago

This is complete bar for the lower-priority calls.