Controlling Multi Thread Execution using Single Thread Event Loop

被引:0
|
作者
Srivastava, Ratnesh Prasad [1 ]
Nandi, G. C. [2 ]
机构
[1] GBPUA&T, Coll Technol, Informat Technol, Pantnagar, Uttar Pradesh, India
[2] Indian Inst Informat Technol, Informat Technol, Allahabad, Uttar Pradesh, India
关键词
Actor; Callback; Abstraction; Promise; Monad; Inversion of Control;
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Programming language of today does not have concurrency semantics and the only way of developing concurrency is to use multithread based request/response architecture. This model of concurrency produces non deterministic nature of execution and leads issues of deadlock, race conditions and synchronization further leads problem of managing locks. We decided to use single threaded non blocking asynchronous communication as used in Node. js[1]. Actor[2][3][4] model uses non blocking asynchronous communication and event loop ensures single threaded model of control of execution to process one message at a time. Actors communicate by communication passing style using callback (a mechanism of using function inside a function) has issues of Inversion of control or callback hell. So we decided to use Promise[5] a monad[6][7] as a return type of asynchronous communication. All the concurrent execution models Erlang[8], Salsa[9], Scala[10] developed in past supports thread based deployment model and does not abstract invocation from execution[8]. We support design by contract or programming through interfaces by developing a promise based concurrent abstraction framework. Using this abstraction we successfully integrated the components and designed the application of robotics subsumption model. Finally we concluded that promise based asynchronous communication is faster and takes less time than synchronous and callback based asynchronous communication.
引用
收藏
页码:88 / 94
页数:7
相关论文
共 50 条
  • [1] THE EVENT OF A THREAD
    Hamilton, Ann
    PAJ-A JOURNAL OF PERFORMANCE AND ART, 2013, 35 (02) : 70 - 76
  • [2] Multi-Thread Performance on a Single Thread In-Memory Database
    Lubis, Ramot
    Sagala, Albert
    2015 7th International Conference on Information Technology and Electrical Engineering (ICITEE), 2015, : 571 - 575
  • [3] Using Differential Execution Analysis to Identify Thread Interference
    Bouksiaa, Mohamed Said Mosli
    Trahay, Francois
    Lescouet, Alexis
    Voron, Gauthier
    Dulong, Remi
    Guermouche, Amina
    Brunet, Elisabeth
    Thomas, Gael
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2019, 30 (12) : 2866 - 2878
  • [4] A 'SINGLE THREAD'
    SCHEETZ, NB
    SOUTHERN HUMANITIES REVIEW, 1994, 28 (02): : 180 - 180
  • [5] A Single Thread
    Walsh, Cassandra
    LIBRARY JOURNAL, 2019, 144 (07) : 85 - 85
  • [6] A Single Thread
    Holstine, Lesa
    LIBRARY JOURNAL, 2008, 133 (17) : 52 - 52
  • [7] A Performance-Energy Model to Evaluate Single Thread Execution Acceleration
    Kim, Seung Hun
    Kim, Dohoon
    Lee, Changmin
    Jeong, Won Seob
    Ro, Won Woo
    Gaudiot, Jean-Luc
    IEEE COMPUTER ARCHITECTURE LETTERS, 2015, 14 (02) : 99 - 102
  • [8] Thread labeling for news event
    Yan Z.-H.
    Li F.
    Journal of Shanghai Jiaotong University (Science), 2013, 18 (04) : 418 - 424
  • [9] Thread Labeling for News Event
    闫泽华
    李芳
    JournalofShanghaiJiaotongUniversity(Science), 2013, 18 (04) : 418 - 424
  • [10] Single Thread Program Parallelism with Dataflow Abstracting Thread
    Chen, Tianzhou
    Tang, Xingsheng
    Ma, Jianliang
    Ju, Lihan
    Jiang, Guanjun
    Shi, Qingsong
    ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, PT 2, PROCEEDINGS, 2010, 6082 : 11 - 21