Adaption and optimization of lock-free data structures
The promising results of research in non-blocking data structures would apparently be a perfect aid for the software engineering problems that come with the main-stream multi-core architecture. The main challenge with the new architecture is that it supports real parallelism and requires multi-thread programming for best utilization. Multi-threading is known to be complex and so is also the theoretic results of non-blocking data structures, wherefore work has been performed for merging the gap between research and practitioners by the means of creating software libraries. In the software industry, trends in practiced software engineering has evolved strongly towards object-oriented methods and use of managed execution environments with extensive software development tools for shorter development costs and times. Unfortunately the available practical results in non-blocking data structures in respect of multi-threading, mostly targeted for lower-level languages, are not directly compatible with the new managed environments using higher-level languages and object-orientation. The problems are many and complex, motivating more research rather than being solved by the software industry. We will investigate the obstacles that lay ahead for a thorough dissipation of the promising non-blocking techniques into the software industry, and try to develop new semantics, design and models for non-blocking data structures that better fit with contemporary development environments.
This project partly builds on previous work with lock-free data structures, realized within the NOBLE software library project. Implementation and dissipation of research results will be done in cooperation with Parallel Scalable Solutions AB and other partners in industry.