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

PFOO-U yields impossible result #6

Open
nickstanisha opened this issue Jan 27, 2022 · 0 comments
Open

PFOO-U yields impossible result #6

nickstanisha opened this issue Jan 27, 2022 · 0 comments

Comments

@nickstanisha
Copy link

nickstanisha commented Jan 27, 2022

I tried PFOO-U with a short test trace and discovered what appears to be an impossible solution. My trace was

1 1 10
2 1 10
3 2 10
4 1 10
5 2 10
6 2 10
7 2 10
8 1 10

ran with cache size = 11 and max-valued step size, and my solution from PFOO (using OHRGoal/PFOO-U/pfoou) was

// output from PFOO-U
// ID, Size, Utility, decision_var, is_hit

1 10 0.1    1    0
1 10 0.05   1    1
2 10 0.05   0.1  0
1 10 0.025  1    1    **
2 10 0.1    1    0.1  **
2 10 0.1    1    1
2 10 0      0    1
1 10 0      0    1

I've highlighted the two rows that I believe yield an impossible solution as caching both objects entirely would exceed the cache size. The regular FOO-U (OHRgoal/FOO/foo) implementation seems to yield the correct integer hit rate of 4/8

// output from FOO
// Time, ID, Size, decision_var

1 1 10 1
2 1 10 0.1
3 2 10 1
4 1 10 0.1
5 2 10 1
6 2 10 1
7 2 10 0
8 1 10 0

As a result of this the miss rate from PFOO-U (3/8) is less than the miss rate from FOO-U (4/8) on this trace which seems like it violates the claim from the paper that PFOO-L ≤ FOO-L ≤ OPT ≤ FOO-U ≤ PFOO-U

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

No branches or pull requests

1 participant