Ramos Garea, SabelaTaboada, Guillermo L.Expósito, Roberto R.Touriño, JuanDoallo, Ramón2018-11-082018-11-082013-02-01Sabela Ramos, Guillermo L. Taboada, Roberto R. Expósito, Juan Touriño, Ramón Doallo; Design of Scalable Java Communication Middleware for Multi-Core Systems, The Computer Journal, Volume 56, Issue 2, 1 February 2013, Pages 214–228, https://doi.org/10.1093/comjnl/bxs1220010-46201460-2067http://hdl.handle.net/2183/21256This is a post-peer-review, pre-copyedit version of an article published in The Computer Journal. The final authenticated version is available online at: https://doi.org/10.1093/comjnl/bxs122[Abstract] This paper presents smdev, a shared memory communication middleware for multi-core systems. smdev provides a simple and powerful messaging application program interface that is able to exploit the underlying multi-core architecture replacing inter-process and network-based communications by threads and shared memory transfers. The performance evaluation of smdev on several multi-core systems has shown noticeable improvements compared with other Java shared memory solutions, reaching and even overcoming the performance of natively compiled libraries. Thus, smdev has obtained start-up latencies around 0.76 μs and almost 90 Gbps bandwidth for point-to-point communications, as well as high performance and scalability both for collective operations and representative messaging kernels. This fact has motivated the integration of smdev in F-MPJ, our message-passing implementation in Java.engParallel programmingJava multi-threadingShared memoryMulti-core architecturesMessage Passing in Java (MPJ)Design of Scalable Java Communication Middleware for Multi-Core Systemsjournal articleopen access10.1093/comjnl/bxs122