Introduction to MemComputing and its Applications in High Performance Computing
Speaker: Fabio Lorenzo Traversa, MemComputing, Inc.
Presentation
Seminar Slide Deck (PDF-6.7MB)
Abstract
MemComputing attempts to formalize the general concept of computing with and in memory (or computational memory), as opposed to conventional computing paradigms where the processing unit and memory are assumed physically separated entities exchanging information [1,2]. To study this alternative computing paradigm, we have introduced the Universal Memcomputing Machine (UMM) as the abstract model describing the class of non-von Neumann architectures leveraging the computational memory as central building block [1]. Proven to be equivalent to a non-deterministic Turing machine, the UMM leads to intriguing theoretical conclusions such as efficient solution of non-deterministic polynomial (NP) problems, with particular emphasis on combinatorial optimization [1,2].
The challenge is therefore finding a practical realization of a UMM possessing enough requirements to efficiently solve problems that are combinatorial in nature. To this end, we have introduced the novel, unconventional, computational architecture based on Self-Organizing Gates (SOG), which we call Self-Organizing Circuits (SOCs) [3]. Each SOG is designed to reach an equilibrium if and only if a given relation among terminal states is satisfied. For example, if it is a boolean relation, we have a Self-Organizing Logic Gate [3]. Unlike standard logic gates, they exploit the unique properties of being input/output terminal agnostic. Once assembled to form a Self-Organizing Logic Circuit, they take advantage of the collective state of the system to perform a computation. This creates nonlocal long-range correlations [4] that enable exceptionally fast convergence for solutions of hard combinatorial problems. To illustrate, I will discuss several results using this approach to solve hard instances of MaxSAT problems [5] and Integer linear Programming [6], accelerating the training of deep learning neural networks [7] and challenging problems hoped to be solved one day by quantum computers. These problems are at the core of High-Performance Computing. For example, applications to scheduling a multitude of machines performing multiple jobs, or allocating memory, are important problems for HPC and it will be discussed how to efficiently address them with Memcomputing.
- [1] F. L. Traversa and M. Di Ventra, Universal Memcomputing Machines, IEEE Transactions on Neural Networks and Learning Systems 26, 2702 (2015).
- [2] M. Di Ventra, F. L. Traversa, Perspective: Memcomputing: Leveraging memory and physics to compute efficiently, Journal of Applied Physics, 123, 180901 (2018).
- [3] F. L. Traversa and M. Di Ventra, Polynomial-time solution of prime factorization and NP-complete problems with digital memcomputing machines, Chaos: An Interdisciplinary Journal of Nonlinear Science 27, 023107 (2017).
- [4] M. Di Ventra, F. L Traversa, I. V. Ovchinnikov, Topological field theory and computing with instantons, Annalen der Physik, 529, 1700123 (2017).
- [5] F. L. Traversa, P. Cicotti, F. Sheldon, and M. Di Ventra, Evidence of an exponential speed-up in the solution of hard optimization problems, Complexity, 2018, Article ID 7982851 (2018).
- [6] F. L. Traversa, and M. Di Ventra, MemComputing Integer Linear Programming, arXiv preprint arXiv:1808.09999 (2019).
- [7] H. Manukian, F. L. Traversa, M. Di Ventra, Accelerating deep learning with memcomputing, Neural Networks, 110, 1-7 (2019).
- [8] F. Sheldon, F. L. Traversa, M. Di Ventra, Taming a non-convex landscape with dynamical long-range order: memcomputing the Ising benchmarks, Phys. Rev. E 100, 053311 (2019).
- [9] F. L. Traversa, Aircraft Loading Optimization: MemComputing the 5th Airbus Problem, submitted, arXiv preprint arXiv:1903.08189 (2019).
Biography