Also, have a look at this thread 
http://stackoverflow.com/questions/12093053/concurrent-mutable-priority-queue
A lockfree/concurrent priority queue would be extremely useful too.

(NB. We already make use of boost::lockfree classes)

JB

From: <[email protected]> on behalf of John Biddiscombe 
<[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Wednesday, 1 March 2017 at 14:49
To: "[email protected]" <[email protected]>
Subject: [hpx-users] FW: Help for GSoC Project on Concurrent data structures 
support

I’m forwarding this email to the list just to keep other informed of the 
discussion

From: Biddiscombe, John A.
Sent: 01 March 2017 09:32
To: 'SATYADEV CHANDAK'
Subject: RE: Help for GSoC Project on Concurrent data structures support

Satyadev

How familiar are you with concurrent containers? If you know the basics, then 
I’d suggest taking a look at the concurrent data structures branch of hpx

https://github.com/STEllAR-GROUP/hpx/tree/concurrent_data_structures/hpx/concurrent

and examining the small amount of work that has been started. also, see

https://github.com/STEllAR-GROUP/hpx/blob/master/plugins/parcelport/verbs/unordered_map.hpp
https://github.com/STEllAR-GROUP/hpx/blob/master/plugins/parcelport/verbs/readers_writers_mutex.hpp
(newer versions of stuff in the concurrent branch)

That I have been working on more recently. They are nasty because they just use 
a normal map and a lock around it, with the bonus that the lock is a 
readers/writer lock so you can concurrently have N readers or 1 writer (great 
if the map is only modified rarely, but accessed frequently). The ability for 
the user to take a lock before iterating is also included. The readers/writers 
mutex is hand rolled from some code off the web, but we really should use std:: 
shared lock for readers and upgrade lock to exclusive etc for writer.

You should have a look at the concurrent vector, and think about how to improve 
it. We really need vector, map (+ set less important) to be properly concurrent 
if possible, and they need unit tests and integration into the main branch of 
HPX.

Have a look at the material and reading about concurrent structures on the web. 
Then you need a plan of
where to start
what to do
how to do it
what are the objectives

that kind of thing

I’m a bit busy today and on vacation for a few days after this, but send more 
questions if you have them and I’ll answer when I can

yours

JB

--
John Biddiscombe,                        email:biddisco @.at.@ cscs.ch
http://www.cscs.ch/
CSCS, Swiss National Supercomputing Centre  | Tel:  +41 (91) 610.82.07
Via Trevano 131, 6900 Lugano, Switzerland   | Fax:  +41 (91) 610.82.82



From: SATYADEV CHANDAK [mailto:[email protected]]
Sent: 01 March 2017 05:43
To: Biddiscombe, John A.
Subject: Help for GSoC Project on Concurrent data structures support

Hi Sir.
I am willing to work on Concurrent data structures support project by STE||AR 
group for GSoC. Can you please give me some tasks that will help me in writing 
a better proposal for the project ? Thanks in advance :)

Thanks and Regards
Satyadev Chandak.
_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to