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 条
  • [41] Combining Thread Level Speculation, Helper Threads, and Runahead Execution
    Xekalakis, Polychronis
    Ioannou, Nikolas
    Cintra, Marcelo
    ICS'09: PROCEEDINGS OF THE 2009 ACM SIGARCH INTERNATIONAL CONFERENCE ON SUPERCOMPUTING, 2009, : 410 - 420
  • [42] Effect of core thread tension on structure and quality of multi-thread boucle yarn
    Alshukur, Malek
    Sun, Danmei
    INDIAN JOURNAL OF FIBRE & TEXTILE RESEARCH, 2016, 41 (04) : 367 - 372
  • [43] A quantitative framework for automated pre-execution thread selection
    Roth, A
    Sohi, GS
    35TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-35), PROCEEDINGS, 2002, : 430 - 441
  • [44] A thread partitioning technique for multithreaded execution along hot paths
    Ootsu, Kanemitsu
    Kobayashi, Takahiko
    Yokota, Takashi
    Baba, Takanobu
    PROCEEDINGS OF THE IASTED INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING AND NETWORKS, 2007, : 297 - +
  • [45] SINGLE-THREAD ENGAGING NUTS
    SEITZ, WL
    PETRUS, S
    MACHINE DESIGN, 1967, 39 (14) : 52 - &
  • [46] Cooperative types for controlling thread interference in Java']Java
    Yi, Jaeheon
    Disney, Tim
    Freund, Stephen N.
    Flanagan, Cormac
    SCIENCE OF COMPUTER PROGRAMMING, 2015, 112 : 227 - 260
  • [47] SINGLE-THREAD ENGAGING NUTS
    SEITZ, WA
    PETRUS, S
    MACHINE DESIGN, 1969, 41 (21) : 48 - &
  • [48] Noncontact measurement of the quantity of remained thread using a specific pattern of residual thread
    Kametani, Hitoshi
    Kadowaki, Ken
    Nihon Kikai Gakkai Ronbunshu, C Hen/Transactions of the Japan Society of Mechanical Engineers, Part C, 2009, 75 (754): : 1633 - 1638
  • [49] Unbounded-Thread Program Verification using Thread-State Equations
    Athanasiou, Konstantinos
    Liu, Peizun
    Wahl, Thomas
    AUTOMATED REASONING (IJCAR 2016), 2016, 9706 : 516 - 531
  • [50] Parallel Loop Locality Analysis for Symbolic Thread Counts
    Liu, Fangzhou
    Zhu, Yifan
    Sun, Shaotong
    Ding, Chen
    Smith, Wesley
    Hosseini, Kaave Seyed
    PROCEEDINGS OF THE 2024 THE INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PACT 2024, 2024, : 219 - 232