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 条
  • [21] Multi-thread mechanism
    Li, Xinming
    Li, Yi
    Xiaoxing Weixing Jisuanji Xitong/Mini-Micro Systems, 1998, 19 (02): : 65 - 72
  • [22] NO SINGLE THREAD - LEWIS,JM
    MILLER, RA
    PSYCHIATRIC ANNALS, 1977, 7 (03) : 108 - 108
  • [23] SINGLE-THREAD NUTS
    不详
    MACHINE DESIGN, 1973, 45 (28) : 68 - 69
  • [24] Using Multiple Threads to Accelerate Single Thread Performance
    Sura, Zehra
    O'Brien, Kevin
    Brunheroto, Jose
    2014 IEEE 28TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM, 2014,
  • [25] VSCP: A Cache Controlling Method for Improving Single Thread Performance in Multicore System
    Liu, Yu
    An, Hong
    Li, Xiaomei
    Leng, Peng
    Sun, Sun
    Chen, Junshi
    2012 IEEE 14TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2012 IEEE 9TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS (HPCC-ICESS), 2012, : 161 - 168
  • [26] Thread scheduling for GPU-based OPC simulation on multi-thread
    Lee, Heejun
    Kim, Sangwook
    Hong, Jisuk
    Lee, Sooryong
    Han, Hwansoo
    OPTICAL MICROLITHOGRAPHY XXXI, 2018, 10587
  • [27] Loop recreation for thread-level speculation
    University of New South Wales, Australia
    不详
    Proc Int Conf Parallel Distrib Syst ICPADS,
  • [28] Speculative-Aware Execution: A Simple and Efficient Technique for Utilizing Multi-Cores to Improve Single-Thread Performance
    Mameesh, Rania H.
    Franklin, Manoj
    PACT 2010: PROCEEDINGS OF THE NINETEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2010, : 421 - 430
  • [29] Mathematical determination of thread length in the knit loop
    Shustov, E. Yu.
    Kudryavin, L. A.
    Shustov, Yu. S.
    FIBRE CHEMISTRY, 2005, 37 (02) : 119 - 122
  • [30] Mathematical Determination of Thread Length in the Knit Loop
    E. Yu. Shustov
    L. A. Kudryavin
    Yu. S. Shustov
    Fibre Chemistry, 2005, 37 : 119 - 122