{"action":"created","issue":{"url":"https://api.github.com/repos/axboe/fio/issues/527","repository_url":"https://api.github.com/repos/axboe/fio","labels_url":"https://api.github.com/repos/axboe/fio/issues/527/labels{/name}","comments_url":"https://api.github.com/repos/axboe/fio/issues/527/comments","events_url":"https://api.github.com/repos/axboe/fio/issues/527/events","html_url":"https://github.com/axboe/fio/issues/527","id":294888934,"number":527,"title":"Running on Windows with more than 1 processor group","user":{"login":"adityagulavani","id":939621,"avatar_url":"https://avatars2.githubusercontent.com/u/939621?v=4","gravatar_id":"","url":"https://api.github.com/users/adityagulavani","html_url":"https://github.com/adityagulavani","followers_url":"https://api.github.com/users/adityagulavani/followers","following_url":"https://api.github.com/users/adityagulavani/following{/other_user}","gists_url":"https://api.github.com/users/adityagulavani/gists{/gist_id}","starred_url":"https://api.github.com/users/adityagulavani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adityagulavani/subscriptions","organizations_url":"https://api.github.com/users/adityagulavani/orgs","repos_url":"https://api.github.com/users/adityagulavani/repos","events_url":"https://api.github.com/users/adityagulavani/events{/privacy}","received_events_url":"https://api.github.com/users/adityagulavani/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-02-06T19:44:30Z","updated_at":"2018-02-12T07:31:45Z","closed_at":null,"author_association":"NONE","body":"Is there a way to build/run Fio for Windows to support more than 1 processor group (system with more than 64 logical cores). \r\n\r\nOn Linux, I am facing no issues at all scaling the workload across the 2 sockets. But, on Windows, since it is using Processor Groups for scheduling the process, the workload is running on a single socket at any given time. This is gating me from finishing the thread scaling study. \r\n\r\nHow do I run Fio on Windows with numjobs>64 "},"comment":{"url":"https://api.github.com/repos/axboe/fio/issues/comments/364846274","html_url":"https://github.com/axboe/fio/issues/527#issuecomment-364846274","issue_url":"https://api.github.com/repos/axboe/fio/issues/527","id":364846274,"user":{"login":"sitsofe","id":4005180,"avatar_url":"https://avatars0.githubusercontent.com/u/4005180?v=4","gravatar_id":"","url":"https://api.github.com/users/sitsofe","html_url":"https://github.com/sitsofe","followers_url":"https://api.github.com/users/sitsofe/followers","following_url":"https://api.github.com/users/sitsofe/following{/other_user}","gists_url":"https://api.github.com/users/sitsofe/gists{/gist_id}","starred_url":"https://api.github.com/users/sitsofe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sitsofe/subscriptions","organizations_url":"https://api.github.com/users/sitsofe/orgs","repos_url":"https://api.github.com/users/sitsofe/repos","events_url":"https://api.github.com/users/sitsofe/events{/privacy}","received_events_url":"https://api.github.com/users/sitsofe/received_events","type":"User","site_admin":false},"created_at":"2018-02-12T07:31:45Z","updated_at":"2018-02-12T07:31:45Z","author_association":"CONTRIBUTOR","body":"It looks like going beyond one processor group will only \"work\" if the user is willing to do some sort of manual assignment of threads. Here's my understanding:\r\n\r\n- Windows groups processors into processor groups (where even a hyperthread is a processor)\r\n- The processors in a group may be from different NUMA nodes(!) but Windows will broadly try to processors that are near to each other in the same process group\r\n- A processor group can only a maximum of 64 processors so if you have more than 64 processors you will by definition have more than one process group\r\n- Processor groups can have an unbalanced number of processors relative to each other\r\n- By default a process is only in one processor group but a process can have threads that the program manually assigned to different processor groups thus forcing the process to be a multi processor group one.\r\n- A thread can ONLY be in one processor group at any time\r\n- 32 bit processes don't have access to more than 64 processors\r\n- Just because you have two processor groups doesn't mean one group contains that maximum of 64 processors inside it\r\n\r\nI don't think there's anything sensible that fio can safely do so the user will have to set some options if they want to use more than one processor group. If a `processor_group=<int>` option were added then aside from the monotonic clock test only using only one processor group all the `cpu*` options could just be said to be relative to the processor group specified and a warning printed to use processor groups if the user tries to set a CPU above 63."}}
{"actor":{"display_login":"sitsofe"}}