Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipeline scheduling #4

Open
raloos opened this issue May 6, 2010 · 2 comments
Open

Pipeline scheduling #4

raloos opened this issue May 6, 2010 · 2 comments

Comments

@raloos
Copy link
Member

raloos commented May 6, 2010

Processor function process() is called in one or several work threads which are managed by a scheduler. This scheduler is responsible for workload management and cache locality management, meaning that threads "walk" with a frame(number) through the pipeline.

@raloos
Copy link
Member Author

raloos commented Jul 30, 2010

First version implemented using QtConcurrentRun framework. Cache management is neglected for now, next part is making the scheduler actually schedule. This is only of use when there are LOSSY connections.

@raloos
Copy link
Member Author

raloos commented Mar 23, 2011

Ok, scheduler schedules using the partial graph ordering generated by the cycle check. To use all cores N pipeline stages are scheduled at the same time, where N is the number of virtual CPUs available. (virtual because of SMT enabled CPUs). So in the case of my Core i3 with 2 cores and 2-way SMT 4 pipeline stages are in flight at any given time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant