IOTA's Jinn: General-Purpose Ternary Microprocessor for Large-Scale Distributed Computing (Infrastructure of the Future IoT Landscape)

IOTA's Jinn: General-Purpose Ternary Microprocessor for Large-Scale Distributed Computing (Infrastructure of the Future IoT Landscape)

By rhyzom | rhyzom | 21 Jan 2020


Integral to IOTA's enterprise is a ternary microprocessor for large scale distributed computing called Jinn. Most digital technology today operates on binary logic circuitry, zeroes and ones (on/off), while IOTA aims to introduce a balanced ternary type processing unit which deals with trits - a trit can have a value of 1, 0 or -1, thus balancing around 0. Its architecture is said to imitate the brain of vertebrate animals and avoid many of the pitfalls associated with the von Neumann architecture (von Neumann bottleneck). The von Neumann computer architecture is based on a 1945 description of the system by John von Neumann in the  First Draft of a Report on the EDVAC, describing an electronic digital computer with a processing unit (composed of an arithmetic logic unit and processor registers), a control unit with an instruction register and a program counter, memory for data and instructions storage, an external mass storage and a set of input/output mechanisms. The term has come to refer to any stored-program computer where an instruction fetch and a data operation cannot occur at the same time due to their using a shared bus (a bus is a communication system transferring data between components in a computer or between computers and includes all related hardware and software components, including wire, optical fiber, communication protocols, etc.) - which is what is known as the von Neumann bottleneck.

1024px-Von_Neumann_Architecture.svg.png

The von Neumann architecture scheme.

IOTA's ternary-based Jinn design is particularly suited for purposes to do with ML/AI as it is structurally similar to how actual neurons operate in generating action potentials and is also said to be ideal for self-organizing and self-coordinating systems economies. Must keep in mind that IOTA is geared towards the Internet-of-Things, a domain somewhat parallel to our human-oriented Internet, but not the same as - rather to do with data-driven machine economies and stochastic ad hoc networks, things such as swarm intelligence and dynamically merging and detaching loosely coupled subsystems and tangles. IOTA's tangle is itself a fascinating mathematical object, its unique distributed ledger and data transport layer which isn't blockchain-based, but instead a DAG-valued (directed acyclic graph) stochastic process on the surface of which a wide range of algorithms and operations can be flexibly implemented.

Image

Sergei Ivancheglo (a.k.a. Come-from-Beyond) clams that those already familiar with FPGAs or artificial neural networks will quickly understand the rationale behind the design choices of Jinn, while recommending others that might be interested look over “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs” by John Backus. In essence, it is to do with introducing a functional style programming paradigm on top of a logically suitable hardware architecture. Functional programming (languages like Haskell, Scala, OCaml) more closely resembles mathematics in its clear expressions of just mathematical functions without variables and with immutability of programs, which make it much easier to reason about in many circumstances, particularly when dealing with mission critical systems, distributed systems or data processing. IOTA's language for quorum-based computations is called Abra and is a functional dataflow language in ternary.

The basic computing component of Jinn's architecture itself is a cell composed of three mergers, a look-up table (LUT) and a latch.

1*Tl46rhVkrUUZai3W_pnNug.png

Structure of a Jinn computing unit. 3 mergers taking input the output of which is taken up by the look-up table, which in turn computes an output according to the rules of its truth table which is then relayed to the latch.

Each merger has three Inputs and outputs the value which arrives first (if it's something other than NULL), each LUT has also three inputs and outputs the value as computed according to its internal truth table which can be set to any configuration of 0, 1, -1 and NULL values.Each latch has one input and constantly outputs the stored value which changes only when a non-NULL value arrives to its input and can be deactivated on an individual basis to allow the LUTs to pass their outputs directly to other cells bypassing the latch. Groups of such computing cells are accessible via a fractal bus as illustrated below.

 

 1*VYcByHYADSIIS9VwpbfSQA.png

In computer architecture a bus refers to a communication system that functions are a bridge for transferring data between components inside a computer or between computers. These include all related hardware and software components, including wire, optical fiber and communication protocols.

An arrangement of the sort allows for the efficient exploitation of Jinn's asynchronous computation model. The bus is also used to configure the cells as well as feed them data from the supervisor (a computer program controlling the execution of other routines and regulating work scheduling, I/O operations, errors and others, basically regulating the work flow in a data processing system) or receive data sent the opposite way, the I/O values transferred between cells in a neighbor-to-neighbor fashion (machine-to-machine). The Jinn processor consisting of cells connected to the supervisor via the fractal bus and the supervisor realizing the Environment-Entity-Effect protocol (EEE) used in Qubic (IOTA's layer for quorum-based computations, somewhat analogous - but not the same as - smart contracts in Ethereum and blockchains). The latter (EEE) is said to be what makes Jinn a general-purpose processor, but that being a more complex topic which should be explored on its own in a separate article.

Image

IOTA is one of the most, if not maybe even the most ambitious project in the cryptosphere. Although to say it is part of crypto and its scene/culture wouldn't be exactly accurate because IOTA's reach and areas of research and development extend far beyond just simply cryptocurrency. The IOTA token itself is simply one component of the enterprise and can be understood as a kind of "machine money", a numerarie or unit-of-accounting and measure of value between devices, machines and connected systems - one allowing for high loads of transaction throughput and streams of micro and nano transactions which deal with highly granular and precise measurements. Zero-value data transactions (MAM) are free in the IOTA model and the tangle itself is a ledger which deals with probabilities and approximations rather than rigid determinism.

The basics of Jinn are said to be very simple, but with simplicity which leads to very powerful solutions in regards to computational/computable tasks, which CfB says will be demonstrated with Aigarth.

How do you rate this article?

0


rhyzom
rhyzom

Verum ipsum factum. Chaotic neutral.


rhyzom
rhyzom

Ad hoc heuristics for approaching complex systems and the "unknown unknowns". Techne & episteme. Verum ipsum factum. In the words of Archimedes: "Give me a lever and a place to rest it... or I shall kill a hostage every hour." Rants, share-worthy pieces and occasional insights and revelations.

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.