Publication:
BindMe: a thread binding library with advanced mapping algorithms

dc.contributor.departmentN/A
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.kuauthorSoomro, Pirah Noor
dc.contributor.kuauthorSasongko, Muhammad Aditya
dc.contributor.kuauthorErten, Didem Unat
dc.contributor.kuprofilePhD Student
dc.contributor.kuprofileResearcher
dc.contributor.kuprofileFaculty Member
dc.contributor.otherDepartment of Computer Engineering
dc.contributor.schoolcollegeinstituteGraduate School of Sciences and Engineering
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.contributor.yokidN/A
dc.contributor.yokidN/A
dc.contributor.yokid219274
dc.date.accessioned2024-11-09T23:09:33Z
dc.date.issued2018
dc.description.abstractBinding parallel tasks to cores according to a placement policy is one of the key aspects to achieve good performance in multicore machines because it can reduce on-chip communication among parallel threads. Binding also prevents operating system from migrating threads, which improves data locality. However, there is no single mapping policy that works best among all different kinds of applications and platforms because each machine has a different topology and each application exhibits different communication pattern. Determining the best policy for a given application and machine requires extra programming effort. To relieve the programmer from that burden, we introduce BindMe, A thread binding library that assists programmer to bind threads to underlying hardware. BindMe incorporates state-of-the-art mapping algorithms, which use communication pattern in an application to formulate an efficient task placement policy. We also introduce ChoiceMap, A communication aware mapping algorithm that respects mutual priorities of parallel tasks and performs a fair mapping by reducing communication volume among cores. We have tested BindMe and ChoiceMap with various applications from NaS parallel benchmark and Rodinia bechmark. Our results show that choosing a mapping policy that best suits the application behavior can increase its performance and no single policy gives the best performance across different applications.
dc.description.indexedbyWoS
dc.description.indexedbyScopus
dc.description.issue21
dc.description.openaccessNO
dc.description.publisherscopeInternational
dc.description.sponsoredbyTubitakEuTÜBİTAK
dc.description.sponsorshipScientific and Technological Research Council of Turkey [116C066]
dc.description.sponsorshipHigher Education Commission of Pakistan the Scientific and Technological Research Council of Turkey, Grant/award Number: 116C066
dc.description.sponsorshipHigher Education Commission of Pakistan
dc.description.volume30
dc.identifier.doi10.1002/cpe.4692
dc.identifier.eissn1532-0634
dc.identifier.issn1532-0626
dc.identifier.quartileQ3
dc.identifier.scopus2-s2.0-85052461137
dc.identifier.urihttp://dx.doi.org/10.1002/cpe.4692
dc.identifier.urihttps://hdl.handle.net/20.500.14288/9324
dc.identifier.wos447267900005
dc.keywordsCommunication matrix
dc.keywordsMachine topology
dc.keywordsMapping algorithms
dc.keywordsMulticore
dc.keywordsTask binding
dc.languageEnglish
dc.publisherWiley
dc.sourceConcurrency and Computation-Practice and Experience
dc.subjectComputer science
dc.subjectSoftware engineering
dc.subjectComputer science-Mathematics
dc.subjectElectrical electronics engineering
dc.titleBindMe: a thread binding library with advanced mapping algorithms
dc.typeJournal Article
dspace.entity.typePublication
local.contributor.authorid0000-0001-8654-3249
local.contributor.authorid0000-0002-6166-4252
local.contributor.authorid0000-0002-2351-0770
local.contributor.kuauthorSoomro, Pirah Noor
local.contributor.kuauthorSasongko, Muhammad Aditya
local.contributor.kuauthorErten, Didem Unat
relation.isOrgUnitOfPublication89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isOrgUnitOfPublication.latestForDiscovery89352e43-bf09-4ef4-82f6-6f9d0174ebae

Files