|  | Exploring Lua for Concurrent Programming
               Alexandre Skyrme (Pontifical Catholic University of Rio de Janeiro, Brazil)
 
               Noemi Rodriguez (Pontifical Catholic University of Rio de Janeiro, Brazil)
 
               Roberto Ierusalimschy (Pontifical Catholic University of Rio de Janeiro, Brazil)
 
              Abstract: The popularization of multi-core processors and   of technologies such as hyper-threading demonstrates a fundamental   change in the way processors have been evolving and also increases   interest in concurrent programming, particularly as a means to   improve software performance. However, concurrent programming is   still considered complex, mostly due to difficulties in using the   available programming models, which have been subject to recurring   criticism. The increased interest in concurrency and the lack of   proper models to support it stimulates the development of proposals   aimed at providing alternative models for concurrent programming. In   this paper, we work with some of Lua's facilities to explore such a   model, based on user threads and message passing. We also   demonstrate why Lua was particularly well suited for this objective,   describe the main characteristics of the explored model and present   a library developed to implement it, along with results of a   performance evaluation. 
             
              Keywords: Lua, concurrency, luaproc, message passing, non-preemptive multithreading, preemptive multithreading 
             Categories: D.1.3, D.3.2, D.3.3  |