Enabling Pinning Strategies for Stream Processing Applications on Multicores

preprint OA: closed
Full text JSON View at publisher
Full text 13,744 characters · extracted from preprint-html · click to expand
Enabling Pinning Strategies for Stream Processing Applications on Multicores | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article Enabling Pinning Strategies for Stream Processing Applications on Multicores Lorenzo Bindi, Salvatore D’Amico, Gabriele Mencagli, Massimo Torquati This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-7893532/v1 This work is licensed under a CC BY 4.0 License Status: Published Journal Publication published 09 Mar, 2026 Read the published version in International Journal of Parallel Programming → Version 1 posted 12 You are reading this latest preprint version Abstract Data stream processing (DSP) applications consist of data-flow graphs of operators that process data streams. These operators run as dedicated threads, either in parallel or concurrently, on computing platforms with multi-core CPUs. The decision of where to run threads of parallel programs, specifically which CPU core of the underlying architecture to use, is known as thread pinning, and it can significantly affect the application’s throughput. For DSP applications, finding an efficient pinning can be challenging as it depends on information about the data-flow structure, operator types, and communication patterns. Although thread pinning is a low-level optimization available in several parallel programming frameworks , DSP frameworks typically do not allow users to configure thread pinning, leaving the decision to the Operating System. This paper extends the WindFlow DSP library, and its FastFlow-based parallel runtime system, to expose thread pinning mechanisms through a usable API. The effectiveness of this approach is demonstrated through extensive evaluations of four applications, using six custom pinning strategies on a high-end server. Data Stream Processing Parallel Programming Thread Pinning Multicores Full Text Additional Declarations No competing interests reported. Cite Share Download PDF Status: Published Journal Publication published 09 Mar, 2026 Read the published version in International Journal of Parallel Programming → Version 1 posted Editorial decision: Accepted 24 Feb, 2026 Reviews received at journal 27 Jan, 2026 Reviewers agreed at journal 16 Jan, 2026 Reviews received at journal 10 Dec, 2025 Reviews received at journal 08 Dec, 2025 Reviewers agreed at journal 03 Nov, 2025 Reviewers agreed at journal 31 Oct, 2025 Reviewers agreed at journal 29 Oct, 2025 Reviewers invited by journal 29 Oct, 2025 Editor assigned by journal 28 Oct, 2025 Submission checks completed at journal 27 Oct, 2025 First submitted to journal 18 Oct, 2025 You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-7893532","acceptedTermsAndConditions":true,"allowDirectSubmit":false,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":538926195,"identity":"2c1c48c9-adc0-4cb7-ab78-e82fd08a4a26","order_by":0,"name":"Lorenzo Bindi","email":"","orcid":"","institution":"University of Pisa","correspondingAuthor":false,"prefix":"","firstName":"Lorenzo","middleName":"","lastName":"Bindi","suffix":""},{"id":538926196,"identity":"6200ad02-11c9-4c9a-a942-69f398971da9","order_by":1,"name":"Salvatore D’Amico","email":"","orcid":"","institution":"University of Pisa","correspondingAuthor":false,"prefix":"","firstName":"Salvatore","middleName":"","lastName":"D’Amico","suffix":""},{"id":538926197,"identity":"4a1af372-00b2-445e-8fbf-e7c09654eb63","order_by":2,"name":"Gabriele Mencagli","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABFElEQVRIie2RMUvDQBSAX5ZzOepWXnjS+wsNhdjB3b9xIRCXqJs4xHogxEXt6i+RjoHAucT/EBenIk4lLsULTWuFJLPDfcPdew8+3nt3ABbLv4QDSJju0iN2oOoKAutX8DdlPGuUTofXx54CKJuwQxGnb/qrvMYRDHNdVskNH7hLv3xfTGEgVKviFRfhsyxwAhSdeQ/6lTOKj8dB0T2Yp+IJBCkGimKfgOla8dFUupX50ihrvFV0uSJYG8Ut+hWBdRdlVqaYkZMmnCHvV8b4GYLU6KUU+e7jU2YeObpCswtnTLYqYn6eO1VyIg4p/MBqNRuJ+/zF/V6Y4C5r77ItN1Pkm8tRm/9q7aL+5rOdYrFYLJYtP1RATCMjK2XTAAAAAElFTkSuQmCC","orcid":"","institution":"University of Pisa","correspondingAuthor":true,"prefix":"","firstName":"Gabriele","middleName":"","lastName":"Mencagli","suffix":""},{"id":538926198,"identity":"7f325f75-0119-4b63-8ab8-ba6d5c0e16d7","order_by":3,"name":"Massimo Torquati","email":"","orcid":"","institution":"University of Pisa","correspondingAuthor":false,"prefix":"","firstName":"Massimo","middleName":"","lastName":"Torquati","suffix":""}],"badges":[],"createdAt":"2025-10-18 12:53:08","currentVersionCode":1,"declarations":"","doi":"10.21203/rs.3.rs-7893532/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-7893532/v1","draftVersion":[],"editorialEvents":[{"content":"https://doi.org/10.1007/s10766-026-00813-x","type":"published","date":"2026-03-09T15:59:09+00:00"}],"editorialNote":"","failedWorkflow":false,"files":[{"id":95497385,"identity":"e5a2760a-ab11-4126-89a7-6ae1f531a631","added_by":"auto","created_at":"2025-11-10 04:49:30","extension":"json","order_by":0,"title":"","display":"","copyAsset":false,"role":"acdc-reference","size":5311,"visible":true,"origin":"","legend":"","description":"","filename":"c6cdf92e411941c9884e92b22fb862c0.json","url":"https://assets-eu.researchsquare.com/files/rs-7893532/v1/fdcd438e8194a663747aa0ab.json"},{"id":104739404,"identity":"27f81d12-bcb7-4756-9066-bb641c749082","added_by":"auto","created_at":"2026-03-16 16:06:04","extension":"pdf","order_by":1,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":719162,"visible":true,"origin":"","legend":"","description":"","filename":"MencagliIJPP2025.pdf","url":"https://assets-eu.researchsquare.com/files/rs-7893532/v1_covered_926e0a46-3adb-405d-b026-ab63dcc8007c.pdf"}],"financialInterests":"No competing interests reported.","formattedTitle":"Enabling Pinning Strategies for Stream Processing Applications on Multicores","fulltext":[],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":false,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":false,"hideJournal":false,"highlight":"","institution":"","isAcceptedByJournal":true,"isAuthorSuppliedPdf":true,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":true,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"[email protected]","identity":"international-journal-of-parallel-programming","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":false,"externalIdentity":"ijpp","sideBox":"Learn more about [International Journal of Parallel Programming](http://link.springer.com/journal/10766)","snPcode":"10766","submissionUrl":"https://submission.nature.com/new-submission/10766/3","title":"International Journal of Parallel Programming","twitterHandle":"","acdcEnabled":true,"dfaEnabled":true,"editorialSystem":"em","reportingPortfolio":"Springer Hybrid","inReviewEnabled":true,"inReviewRevisionsEnabled":false},"keywords":"Data Stream Processing, Parallel Programming, Thread Pinning, Multicores","lastPublishedDoi":"10.21203/rs.3.rs-7893532/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-7893532/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"Data stream processing (DSP) applications consist of data-flow graphs of operators that process data streams. These operators run as dedicated threads, either in parallel or concurrently, on computing platforms with multi-core CPUs. The decision of where to run threads of parallel programs, specifically which CPU core of the underlying architecture to use, is known as thread pinning, and it can significantly affect the application’s throughput. For DSP applications, finding an efficient pinning can be challenging as it depends on information about the data-flow structure, operator types, and communication patterns. Although thread pinning is a low-level optimization available in several parallel programming frameworks , DSP frameworks typically do not allow users to configure thread pinning, leaving the decision to the Operating System. This paper extends the WindFlow DSP library, and its FastFlow-based parallel runtime system, to expose thread pinning mechanisms through a usable API. The effectiveness of this approach is demonstrated through extensive evaluations of four applications, using six custom pinning strategies on a high-end server.","manuscriptTitle":"Enabling Pinning Strategies for Stream Processing Applications on Multicores","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2025-11-10 04:49:25","doi":"10.21203/rs.3.rs-7893532/v1","editorialEvents":[{"type":"communityComments","content":0},{"type":"decision","content":"Accepted","date":"2026-02-24T05:09:35+00:00","index":"","fulltext":""},{"type":"editorInvitedReview","content":"","date":"2026-01-27T07:21:56+00:00","index":"hide","fulltext":""},{"type":"reviewerAgreed","content":"252736038372638736437913861737949548437","date":"2026-01-16T16:48:28+00:00","index":"hide","fulltext":""},{"type":"editorInvitedReview","content":"","date":"2025-12-10T13:46:06+00:00","index":"hide","fulltext":""},{"type":"editorInvitedReview","content":"","date":"2025-12-08T20:51:44+00:00","index":"hide","fulltext":""},{"type":"reviewerAgreed","content":"69684093294771361275451749107701218517","date":"2025-11-03T05:45:03+00:00","index":"hide","fulltext":""},{"type":"reviewerAgreed","content":"287591843389468410340028947735931228762","date":"2025-10-31T11:31:52+00:00","index":"hide","fulltext":""},{"type":"reviewerAgreed","content":"279436084850170127412816528255210346083","date":"2025-10-29T07:34:04+00:00","index":"hide","fulltext":""},{"type":"reviewersInvited","content":"","date":"2025-10-29T07:25:48+00:00","index":"","fulltext":""},{"type":"editorAssigned","content":"","date":"2025-10-28T11:40:21+00:00","index":"","fulltext":""},{"type":"checksComplete","content":"","date":"2025-10-27T06:59:35+00:00","index":"","fulltext":""},{"type":"submitted","content":"International Journal of Parallel Programming","date":"2025-10-18T12:37:48+00:00","index":"","fulltext":""}],"status":"published","journal":{"display":true,"email":"[email protected]","identity":"international-journal-of-parallel-programming","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":false,"externalIdentity":"ijpp","sideBox":"Learn more about [International Journal of Parallel Programming](http://link.springer.com/journal/10766)","snPcode":"10766","submissionUrl":"https://submission.nature.com/new-submission/10766/3","title":"International Journal of Parallel Programming","twitterHandle":"","acdcEnabled":true,"dfaEnabled":true,"editorialSystem":"em","reportingPortfolio":"Springer Hybrid","inReviewEnabled":true,"inReviewRevisionsEnabled":false}}],"origin":"","ownerIdentity":"b1794c4b-d980-4322-b51d-f07c76821150","owner":[],"postedDate":"November 10th, 2025","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"published-in-journal","subjectAreas":[],"tags":[],"updatedAt":"2026-03-16T16:02:33+00:00","versionOfRecord":{"articleIdentity":"rs-7893532","link":"https://doi.org/10.1007/s10766-026-00813-x","journal":{"identity":"international-journal-of-parallel-programming","isVorOnly":false,"title":"International Journal of Parallel Programming"},"publishedOn":"2026-03-09 15:59:09","publishedOnDateReadable":"March 9th, 2026"},"versionCreatedAt":"2025-11-10 04:49:25","video":"","vorDoi":"10.1007/s10766-026-00813-x","vorDoiUrl":"https://doi.org/10.1007/s10766-026-00813-x","workflowStages":[]},"version":"v1","identity":"rs-7893532","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-7893532","identity":"rs-7893532","version":["v1"]},"buildId":"8U1c8b4HqxoKbykW_rLl7","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2025) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00