BEGIN:VCALENDAR
VERSION:2.0
PRODID:Linklings LLC
BEGIN:VTIMEZONE
TZID:Europe/Stockholm
X-LIC-LOCATION:Europe/Stockholm
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20210916T132456Z
LOCATION:
DTSTART;TZID=Europe/Stockholm:20210706T173000
DTEND;TZID=Europe/Stockholm:20210706T190000
UID:submissions.pasc-conference.org_PASC21_sess182_post179@linklings.com
SUMMARY:P39 - Battling Lock Contention - One at a Time
DESCRIPTION:Poster\n\nP39 - Battling Lock Contention - One at a Time\n\nPf
 eiler, Haensel, Morgenstern, Beckmann, Kabadshow\n\nThe abundance of avail
 able compute resources on modern HPC systems is a challenge for algorithms
  requiring strong-scaling. With dozens or even hundreds of cores per node 
 compute-bound problems can easily shift to be bound by synchronization ove
 rheads. Fine-grained parallelism and concurrency control of shared resourc
 es necessitate the utilization of locks. Our use case comprises a lightwei
 ght C++ tasking library, called Eventify, tailored for a Fast Multipole Me
 thod (FMM) for molecular dynamics. The tasking framework employs locks to 
 safeguard access to the multi-consumer/multi-producer queues. The FMM requ
 ires locks to safely update data shared between different tasks. In this p
 oster, we present several locking mechanisms and examine the impact on loc
 k contention. For the FMM data structures we consider the classical C++ st
 d::mutex implementation and our implementation of cache-aware MCS locks. B
 esides these two locks, additionally Boost lock-free queue is employed for
  the task queues. We show benchmarks of different locking mechanisms for c
 ompute-bound and synchronization-bound examples.
END:VEVENT
END:VCALENDAR
