{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/18403","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/18403/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/18403/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/18403/events","html_url":"https://github.com/dotnet/coreclr/pull/18403","id":330938399,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzODA3NjU5","number":18403,"title":"[WIP] Associate work-stealing threadpool queues with cores.","user":{"login":"VSadov","id":8218165,"node_id":"MDQ6VXNlcjgyMTgxNjU=","avatar_url":"https://avatars0.githubusercontent.com/u/8218165?v=4","gravatar_id":"","url":"https://api.github.com/users/VSadov","html_url":"https://github.com/VSadov","followers_url":"https://api.github.com/users/VSadov/followers","following_url":"https://api.github.com/users/VSadov/following{/other_user}","gists_url":"https://api.github.com/users/VSadov/gists{/gist_id}","starred_url":"https://api.github.com/users/VSadov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VSadov/subscriptions","organizations_url":"https://api.github.com/users/VSadov/orgs","repos_url":"https://api.github.com/users/VSadov/repos","events_url":"https://api.github.com/users/VSadov/events{/privacy}","received_events_url":"https://api.github.com/users/VSadov/received_events","type":"User","site_admin":false},"labels":[{"id":390279535,"node_id":"MDU6TGFiZWwzOTAyNzk1MzU=","url":"https://api.github.com/repos/dotnet/coreclr/labels/*%20NO%20MERGE%20*","name":"* NO MERGE *","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-06-10T04:02:43Z","updated_at":"2018-11-29T18:20:51Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/18403","html_url":"https://github.com/dotnet/coreclr/pull/18403","diff_url":"https://github.com/dotnet/coreclr/pull/18403.diff","patch_url":"https://github.com/dotnet/coreclr/pull/18403.patch"},"body":"New implementation of ThreadPool work queues as a lock-free deques softly associated with CPU cores.\r\n\r\nThe implementation avoids 1:1 strict mapping between work queues and working threads. \r\nThe issue is that the number of workers could exceed the number of cores, sometimes by a vast amount - in order to mitigate worker latency (cache misses, synchronization, IO, intentional or not...).\r\n\r\nInstead the change proposes a soft mapping of work queues to CPU cores.\r\n\r\nThis implementation improves handling of cases where the number of workers exceeds the number of cores and causes precipitous performance drops. \r\nIn particular:\r\n- the cost of snooping/stealing does not grow with the number of workers.\r\n- the local queues are generally deeper (since there are fewer of them) and thus stealing is less frequent and less contentious.\r\n- blocking or preempting a worker does not result in its entire work queue be only accessible through stealing.\r\n- reduced likelihood that a given workitem executes on a different core from the one on which it was created/scheduled.\r\n\r\nFixes:#19088"},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/442939162","html_url":"https://github.com/dotnet/coreclr/pull/18403#issuecomment-442939162","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/18403","id":442939162,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MjkzOTE2Mg==","user":{"login":"VSadov","id":8218165,"node_id":"MDQ6VXNlcjgyMTgxNjU=","avatar_url":"https://avatars0.githubusercontent.com/u/8218165?v=4","gravatar_id":"","url":"https://api.github.com/users/VSadov","html_url":"https://github.com/VSadov","followers_url":"https://api.github.com/users/VSadov/followers","following_url":"https://api.github.com/users/VSadov/following{/other_user}","gists_url":"https://api.github.com/users/VSadov/gists{/gist_id}","starred_url":"https://api.github.com/users/VSadov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VSadov/subscriptions","organizations_url":"https://api.github.com/users/VSadov/orgs","repos_url":"https://api.github.com/users/VSadov/repos","events_url":"https://api.github.com/users/VSadov/events{/privacy}","received_events_url":"https://api.github.com/users/VSadov/received_events","type":"User","site_admin":false},"created_at":"2018-11-29T18:20:51Z","updated_at":"2018-11-29T18:20:51Z","author_association":"MEMBER","body":"@dotnet-bot test Windows_NT x64 Release CoreFX Tests please"}}
{"actor":{"display_login":"VSadov"}}