jeremycollake / groupextend Goto Github PK
View Code? Open in Web Editor NEWEnables processor group unaware apps to use the entire CPU via active thread management
Home Page: https://bitsum.com/portfolio/groupextend/
License: MIT License
Enables processor group unaware apps to use the entire CPU via active thread management
Home Page: https://bitsum.com/portfolio/groupextend/
License: MIT License
May not be desirable.
Dedicated thread for enumeration.
Default process group needs detected by NT Native API, else can result in improper thread distribution when it doesn't realize thread needs moved. Assumption of first group in GetProcessGroupAffinity is invalid (returned array is sorted numerically).
Process Lasso already adapted at of 9.8.1.13 beta.
Excess compute was found at loop iterating over returned ToolHelp snapshot with Thread32First/Next. Thread32Next never returns FALSE, never finding the end of the snapshot, and therefore continuing indefinitely, consuming all compute available to that thread.
Preliminary analysis:
Cause is previously unknown ToolHelp API thread-safety quirk, despite each thread obtaining distinct snapshots.
Description:
When a thread obtains and iterates on a snapshot, while another thread obtains and iterates on a new/distinct snapshot, the First/Next API loop in both threads may continue indefinitely. Although the root cause is still unclear, the ToolHelp API may not be as thread-safe as purported.
Possibility of reentrancy issue into thread requesting the snapshot was eliminated.
Default process group needs detected by NT Native API, else can result in improper thread distribution when it doesn't realize thread needs moved. Assumption that default is first item in returned GetProcessGroupAffinity array is invalid (returned array is sorted numerically).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.