Jump to content

Nuclear computation

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Flatmax (talk | contribs) at 12:11, 7 January 2018 (Created page with 'Nuclear computation is a type of computation which allows threads to either spawn new threads or converge many threads to one. The aim of...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Nuclear computation is a type of computation which allows threads to either spawn new threads or converge many threads to one. The aim of nuclear computation is to take advantage of threading abilities of modern multi-core processors where the trend is to increase their hardware ability to compute more threads then their earlier generation processors.

Nuclear computation allows a computational thread to use thread fission to turn one thread into many or thread fusion to turn many threads into one.

Description

Thread fission

Conceptually fission computation can cause a chain reaction, where one thread can signal many threads to start processing and they too may signal other threads to start processing. It is possible to starve the computer, where the computer runs out of resources and halts - either do to a lack of memory, power or disk resources.

Thread fusion

Fusion computation is a type of threshold triggered computation, where several threads signal the single waiting thread, which begins execution once the required number of thread signals exceed the threshold of the waiting thread.

Implementation examples

Link Programming language License
Nuclear processing C++ Free license with sticky copyright

History

Previous conceptual ties between nuclear processes and computation were termed loop fission and fusion which were forms of compiler preprocessing. Loop fission (loop distribution) allowed one computational loop to be broken into separate loops by a compiler at compile time. Loop fusion (loop jamming) allowed many computational loops to be combined into one by the compiler at compiler time. These processes were not directly under the control of the programmer and were decided and controlled by the compiler.