NuNet platform demo

Kabir Veitas
NuNet

--

NuNet is building a framework that will be able to provide globally distributed computing power and storage for decentralized networks. We believe that there is a tremendous amount of unused latent computing resources available in the world that can be put to good use by enabling interoperability between owners of data, computing resources, and computational processes that demand them.

We are designing a flexible network that connects computing supply with demand from a variety of different sources to multiple types of endpoints. The platform envisions encompassing mobile consumer devices, edge computing and IoT devices, personal computers, servers, and data centers. NuNet will enable intelligent automation of workflow designs among its components, and unlock new business models to individuals, organizations, researchers, and socially beneficial projects.

For a broad introduction to NuNet’s vision and ambition, see these slides and the video below:

Today we are launching two applications that demonstrate the main aspects of the NuNet platform currently in development: NuNet Network Status (live at https://stats.nunet.io) and NuNet Platform Demo Application (live at https://demo.nunet.io).

This article demonstrates how they relate to NuNet’s conceptual and software architecture.

Conceptual architecture — interoperability layer

Conceptually, NuNet acts as a layer of interoperability (API of APIs) between computational processes and physical infrastructures:

The upper layer in the diagram consists of AI agents, UI interfaces, open, proprietary databases and algorithms — everything that allows to perform global computing tasks. SingularityNET’s global AI network and DAIA’s decentralized AI technologies are the first frameworks which NuNet is integrating into the platform, but the vision and technology are not limited by them.

The lowest layer consists of actual physical machines which run computing processes — server farms, clouds, PCs, game consoles, mobile phones, etc. Currently, most of the world computing load is run on public and private clouds. However, global computing load is shifting from the ‘center’ of networks (public / private clouds and server farms) to the ‘edge’ (mobile devices and IoT). Advances in autonomous technologies and robotics (including connected and self-driving cars) promises to put even more computing power on the road, near end users, and data sources.

We envision the NuNet platform acting as a middle layer, which will enable the computational reflection and tokenomic mechanisms needed for algorithms and AI agents to discover and execute themselves on decentralized hardware devices, which are owned and operated by different individuals — including mobile phones and, in the future, autonomous robots and cars.

Software architecture — API of APIs

Architecturally, NuNet provides a collection of open APIs covering different functionalities of the platform (including, but not limited to, resource and data description, discovery, algorithm ingestion, process validation, telemetry, provenance, workflow aggregation, and reputation) and the mechanism of orchestration between them. This API of APIs will ensure interoperability between users of the platform:

  • Compute providers — owners of PCs, mobile phones and server farms, willing to contribute idle cycles of their devices for community projects or in exchange for NuNet tokens. Compute providers may also include decentralized frameworks, such as Golem, iExec, SOMN, and others.
  • Data providers —owners and operators of databases willing to open up their data for usage by AI and algorithms, using decentralized data exchange protocols, such as Ocean Protocol. Data and compute providers will retain control over who will be able to use their data, as well as specify conditions of usage (e.g. free for socially beneficial projects and compensated in NuNet tokens for all other usages).
  • Consumers — individuals and organizations willing to execute end-tasks on the platform, usually using AI algorithms and data provided by NuNet’s technology partners or by proprietary sources.
  • AI Service providers are the actual providers of the algorithms and their logic, which NuNet will run on the distributed hardware provided by the compute providers. SingularityNET’s AI services will be the first to be able to run on NuNet’s infrastructure.
  • Finally, network operators provide special kinds of algorithms and AI, which enable the functionality and operation of the platform itself. Network operators will be able to earn tokens for the usage of their services and AI algorithms on the platform, just like other AI service providers.

NuNet will encourage the evolution of the API of APIs, in order to provide the interoparabilty demanded by users, technical partners, and the changing realities of global computing. The NuNet Foundation will sustain open and fair usage of the platform, and support the growth of the ecosystem by coordinating research and coding activities of platform developers and integrate the OSS of technology partners. In the beginning, the core team will develop all components needed to bootstrap the platform. However, the medium and long term goal of NuNet Foundation is to concentrate on core platform development, in terms of APIs and tokenomic mechanisms, leaving other component development to partners and users.

With respect to its long term development strategy, NuNet is going to develop its API of APIs in an iterative use-case based manner. The NuNet Foundation will carefully select actual use-cases which will be used to introduce new and advanced existing APIs. In this way, the platform will be operational and scalable from day one for selected use-cases. When a reasonable number of use-cases have been added to the NuNet platform, the API of APIs will reach maturity for generic use-cases, after which NuNet Foundation will concentrate solely on the sustainability and coordination of the platform.

Community betas

As indicated in the beginning, NuNet is releasing community betas of two distinct, yet related applications, which together demonstrate the main aspects of the platform. Both applications are released on the basis of open source (MIT) licences.

Network Status

The NuNet Network Status app is live at https://stats.nunet.io. It displays real-time statistics about all computational processes executed on the network and their telemetry information. Also, the application tracks the number of successful and failed processes, registered consumers, and hardware devices, as well as the amount of NuNet tokens paid by consumers to hardware providers for executing their computing tasks.

Source code, issue tracking and commenting is available at https://gitlab.com/nunet/nunet-network-status.

The following telemetry metrics are tracked for each process:

  • Total CPU: processor work used to complete a computational process. The metric is measured in MTicks (million ticks) and shows how much a CPU time was used during the execution of a measured process.
  • MaxRAM: the largest RAM utilization in megabytes that occurred during execution of a measured computational process. It indicates a minimum RAM requirement for running the process.
  • RAM: memory used by a computational process, measured in megabyte seconds (MBs). The metric is calculated by adding spot RAM usages sampled every second for the entire time of execution and indicates how much memory the process actually consumed (as opposed to maximum memory requirement measured by MaxRam).
  • Time: the real time of the process execution measured in seconds.
  • NET: the sum of data transferred and received via network interfaces during process execution, in kilobytes (KB);
  • NetTime: the average amount of data transferred and received via network interfaces during process execution, in kilobytes per second (KB/s);

Viewers are able to dynamically select the time range of interest for which aggregated statistics are calculated. Aggregated statistics include current network capacity (i.e. the sum of dedicated capacities of all hardware devices and execution environments registered to the network), aggregate usage of this capacity during selected time range, and network activity graphs.

NuNet Platform Demo Application

The NuNet platform demo application is live at https://demo.nunet.io. Source code, issue tracking, and commenting is available at https://gitlab.com/nunet/nunet-demo. It is the first application actually running on the demo platform — and all computations executed by the users of it are reflected on the NuNet Network Status page as separate computational processes.

Application logic

The business logic that the demo application implements is a simple dog chasing game, where users can upload a photo via mobile phone camera or desktop browser, and submit it for analysis by a pipeline of two SingularityNET services:

a) object detection, which detects if a dog exists in the picture (see the service on SingularityNET marketplace) and

b) dog breed detection, which identifies a dog by its breed (see the service on SingularityNET marketplace).

The demo simulates a situation, where there are two devices registered by compute providers on the platform, and each device is suitable for running one of the processes of the pipeline. Owners of these devices require certain amounts of NTXd (NuNet demo) tokens to cover their costs of computing.

All users receive 50NTXd on first login which allow them to run certain number of tasks on the platform. The application rewards a user with additional NTXd tokens if a dog breed is recognized in the submitted picture. After each successful task completion, a user will be able to run more computational tasks on the network and pay hardware providers accordingly. Users are also able to share the results of the game on their favorite social networks from within the app.

Registered users will be able to access the complete history of their activity on the network, submitted pictures, results, amounts of tokens paid to hardware providers for each task, and token balances. NuNet’s telemetry API will provide the required real time data, as partially demonstrated by the consumer perspective implemented in demo app.

Economy of computing processes

NuNet’s platform will aim not to own or operate any computing resources directly, but rather to source them from independent providers. The internal NuNet tokenomy, based on native NTX token and payment gateways, will be provided by the platform enabling consumers to pay for AI algorithms needed for the business logic of their applications. The internal tokenomy will also allow AI algorithms to find proper execution environments, run themselves, and compensate computing costs to hardware device providers. The metadata about computing processes running in the decentralized network will flow between devices in secure manner and will be accessible only to relevant users.

Providers of devices will be able to browse all registered devices, dedicate full or part of device capacities for usage on the platform, track actual usage, earnings of each device, and set prices of computing resources — as demonstrated by the provider perspective in the demo app.

API of APIs’ coverage

Apart from demonstrating the main aspects of the platform, the demo application starts to partially cover the development roadmap of API of APIs as indicated in the image below by shaded areas.

NuNet platform aspects partially covered by demo application v0.1.1.

One of the most important APIs of the NuNet platform is the telemetry API. The image below illustrates how telemetry information is collected from the processes running on the decentralized devices of the platform and displayed to the user, as well as used for calculating price of computing and consumer token balances.

The same telemetry information is captured by the NuNet Network Status application and included into network statistics — see the corresponding process numbers in the image below.

In the fully implemented platform, telemetry API will enable storage and propagation of various metadata, such as reputation scores, validation information, preferences of compute providers and consumers, and more. The efficiency of interoperability and communication between decentralized computational processes will largely depend on this metadata.

See a short demonstration of the demo application and statistics page in video below.

Summary

NuNet is aiming to create an interoperability layer between decentralized AI algorithms and heterogeneous computing devices — mobile phones, PCs, private and public clouds, autonomous robots and more. In this post we have introduced two recently released open source applications that demonstrate main aspects of the platform:

We are excited to present these applications to the community and everybody interested in the future of global decentralized computing. We are looking forward to comments, suggestions, thoughts and contributions (both technical and conceptual). Please do not forget to check our website at https://nunet.io and join our Telegram community at https://t.me/NuNet_Community.

--

--