20,208 research outputs found
Lock-free Concurrent Data Structures
Concurrent data structures are the data sharing side of parallel programming.
Data structures give the means to the program to store data, but also provide
operations to the program to access and manipulate these data. These operations
are implemented through algorithms that have to be efficient. In the sequential
setting, data structures are crucially important for the performance of the
respective computation. In the parallel programming setting, their importance
becomes more crucial because of the increased use of data and resource sharing
for utilizing parallelism.
The first and main goal of this chapter is to provide a sufficient background
and intuition to help the interested reader to navigate in the complex research
area of lock-free data structures. The second goal is to offer the programmer
familiarity to the subject that will allow her to use truly concurrent methods.Comment: To appear in "Programming Multi-core and Many-core Computing
Systems", eds. S. Pllana and F. Xhafa, Wiley Series on Parallel and
Distributed Computin
A horizontally-scalable multiprocessing platform based on Node.js
This paper presents a scalable web-based platform called Node Scala which
allows to split and handle requests on a parallel distributed system according
to pre-defined use cases. We applied this platform to a client application that
visualizes climate data stored in a NoSQL database MongoDB. The design of Node
Scala leads to efficient usage of available computing resources in addition to
allowing the system to scale simply by adding new workers. Performance
evaluation of Node Scala demonstrated a gain of up to 74 % compared to the
state-of-the-art techniques.Comment: 8 pages, 7 figures. Accepted for publication as a conference paper
for the 13th IEEE International Symposium on Parallel and Distributed
Processing with Applications (IEEE ISPA-15
A study of event traffic during the shared manipulation of objects within a collaborative virtual environment
Event management must balance consistency and responsiveness above the requirements of shared object interaction within a Collaborative Virtual Environment
(CVE) system. An understanding of the event traffic during collaborative tasks helps in the design of all aspects of a CVE system. The application, user activity, the display
interface, and the network resources, all play a part in determining the characteristics of event management.
Linked cubic displays lend themselves well to supporting natural social human communication between remote users. To allow users to communicate naturally and subconsciously, continuous and detailed tracking is necessary. This, however, is hard to balance with the real-time consistency constraints of general shared object interaction.
This paper aims to explain these issues through a detailed examination of event traffic produced by a typical CVE, using both immersive and desktop displays, while supporting a variety of collaborative activities. We analyze event traffic during a highly collaborative task requiring various forms of shared object manipulation, including the concurrent manipulation of a shared object. Event sources are categorized and the influence of the form of object sharing as well as the display device
interface are detailed. With the presented findings the paper wishes to aid the design of future systems
- …