Breadcrumb

  1. Home
  2. Research
  3. Programs
  4. Dispersed Computing

Dispersed Computing

 

Program Summary

In the current art, users with significant computing requirements have typically depended on access to large, highly shared data centers to which they backhaul their data (e.g., images, video, or network log files) for processing. However, in many operational scenarios, the cost and latency of this backhaul can be problematic, especially when network throughput is severely limited or when the user application requires a near real-time response. In such cases, users’ ability to leverage computing power that is available “locally” (in the sense of latency, available throughput, or similar measures that are relevant to the user or mission) could substantially improve application performance while reducing mission risk.

The Dispersed Computing program seeks scalable, robust decision systems that enable secure, collective tasking of computing assets in a mission-aware fashion by users with competing demands, and across large numbers of heterogeneous computing platforms. Dispersed Computing seeks to design systems able to operate in environments where network connectivity is highly variable and degraded. The envisioned computing paradigm aims to enable the strategic, opportunistic movement of code to data, and data to code, in a fashion that best suits user, application, and mission needs.

Dispersed Computing also seeks innovation in network protocols. The lack of programmable computing capabilities within data networks, together with the “end to end” design principle that has guided Internet architecture from its beginnings, have resulted in application-layer and transport-layer protocol logic largely being confined to the end points that act as sources and sinks of the data. However, in the decades since the Internet architecture and its main protocols were first defined (such as the initial description of the Transmission Control Protocol (TCP) in 1981), network transmission capacities have grown by many orders of magnitude, users’ application requirements have changed enormously, and programmable, secure high-speed information processing within the network is now technically feasible. These advances warrant a fundamental reconsideration of how one might leverage programmable execution environments that are located along the path between end-points to boost performance through, e.g., dynamic modification of protocol logic, or localized in-path analytics to facilitate efficient diagnostics and corrective actions. Programmable platforms incorporating Dispersed Computing software will be referred to as Networked Computation Points, or NCPs. A given NCP could execute functions in support of user applications, network protocol stacks, or both.

The Dispersed Computing BAA is available at https://www.fbo.gov/spg/ODA/DARPA/CMO/DARPA-BAA-16-41/listing.html

Contact