I.I. Semenchenko - Master Student, Computer Science and Control Systems Department, Bauman Moscow State Technical University
Yu.E. Gapanyuk - Ph.D. (Computer Sciences), Associate Professor, Computer Science and Control Systems Department, Bauman Moscow State Technical University
G.I. Revunkov - Ph.D. (Eng.), Associate Professor, Computer Science and Control Systems Department, Bauman Moscow State Technical University
G.B. Yeliseev - Student, Computer Science and Control Systems Department, Bauman Moscow State Technical University
This article discusses the processing of metagraphs based on metagraph calculus using the actor approach.
An essential feature of an actor is the absence of a shared state with other actors and other entities of the system, which allows adding an unlimited number of new components without complicating the system.
The basis of the communication of actors is a message system. Messages are transferred between actors at their logical addresses. The received message falls into the “mailbox” of the actor. As soon as the actor finishes work on the current task, which is associated with the processing of the current message, the next message is retrieved from the mailbox, and processing begins. Most software implementations support setting the priority of messages; this allows us to influence the order of message processing and to process essential messages in the first place.
The actor model is well suited for the implementation of a metagraph system. Since metagraph components can be described as predicates, the most natural representation of a metagraph is to create an actor for each predicate. With this approach, any interaction between the components of the metagraph will occur in the form of message passing.
The software implementation is made in the Scala programming language using the Akka actor library.
The main operators of metagraph calculus can be implemented using the actor approach. The construction operator is designed to create new predicate vertices based on existing ones. The delete operator is designed to remove lower-level predicate vertices from upper-level predicate vertices. Transitive deletion also transitively deletes all elements that lose their logical integrity as a result of deletion. To change the metagraph structure, the replacement operator is intended. The replacement operation consists of deletion and construction operations; therefore, the implementation of this operator does not require the creation of additional methods.
For the experiments, an auxiliary DataGenerator library was developed, which fills the system with data.
The main bottleneck of the implemented actor system is the number of messages processed per unit time. To increase the performance of the actor system, it is necessary to introduce additional physical machines or increase the frequency of processors used.
When the system is running, the load of all CPU cores reaches 70%, this suggests that the developed software implementation effectively consumes this resource.
The actor system is able to use the entire provided amount of RAM. Since the amount of RAM can be limited from above when starting a Java machine, it can be concluded that the developed system is customizable from the point of view of RAM used on a particular node.
Thus, the conducted experiments show that the actor approach for processing metagraphs is efficient, and consumes the provided computing resources sufficiently effective.
- Evin I.A. Vvedenie s teoriyu slozhny`x setej. Komp`yuterny`e issledovaniya i modelirovanie. 2010. T. 2. № 2. S. 121 - 141.
- Kuzneczov O.P., Zhilyakova L.Yu. Slozhny`e seti i kognitivny`e nauki. Sb. nauch. trudov XVII Vseros. nauchno-texnich. konf. «Nejroinformatika-2015». Ch. 1. M.: MIFI. 2015. S. 18.
- Anoxin K.V. Kognitom: gipersetevaya model` mozga. Sb. nauch. trudov XVII Vseross. nauchno-texnich. konf. «Nejroinformatika-2015». Ch. 1. M.: NIYaU MIFI. 2015. S. 14 - 15.
- Chernen`kij V.M., Terexov V.I., Gapanyuk Yu.E. Predstavlenie slozhny`x setej na osnove metagrafov. Sb. nauch. trudov XVII Vseross. nauchno-texnich. konf. «Nejroinformatika-20156». Ch. 1. M.: NIYaU MIFI. 2016.
- Samoxvalov E`.N., Revunkov G.I., Gapanyuk Yu.E. Ispol`zovanie metagrafov dlya opisaniya semantiki i pragmatiki informacionny`x system. Vestnik MGTU im. N.E`. Baumana. Ser. Priborostroenie. 2015. Vy`p. 1. S. 83 - 99.
- Chernen`kij V.M., Terexov V.I., Gapanyuk Yu.E. Struktura gibridnoj intellektual`noj informacionnoj sistemy` na osnove metagrafov. Nejrokomp`yutery`: razrabotka, primenenie. 2016. № 9. S. 3 - 14.
- Gapanyuk Yu.E. Podxod k razrabotke metagrafovogo ischisleniya. Dinamika slozhny`x sistem – XXI vek. 2018. № 3. S. 40 - 46.
- Vernon V. Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka. Addison-Wesley Professional. 2015. 480 p.