ProBalance for *I/O*

Started by Coldblackice, April 19, 2015, 04:32:42 PM

Previous topic - Next topic

Coldblackice

I know Process Lasso watches processes and responsiveness as far as CPU usage (and restraints), but I/O usage can have detrimental effects to the system too. It'd be great if PL could watch I/O usage of programs and services, report who's the most greedy, and perhaps even restrain their I/O usage ability (disk reads/writes, memory usage, swap/paging, etc).

Jeremy Collake

This is something I've explored, it's been requested for years. Unfortunately, I/O is a lot more tricky. There all lots of different types, and lots of different quotas at which they become problematic.

Let's just say that as soon as I see a good opportunity, I will definitely implement such an algorithm. It's not beyond my capacity.
Software Engineer. Bitsum LLC.

BenYeeHua

Yup, but this is very hard, because I/O can means many thing, like RAM, Network, Hard disk, CPU cache I/O usage...

For me, my idea is let Process Lasso monitor based on the Disk usage(like the Disk usage you can check with Windows 8+ Task Manger), then lower the  background process I/O priority to lower, just like the CPU usage.

Because most people are bound on the Disk I/O, so this is always a good thing to priority, and I always tested it, and it works well(for game launcher that need to patch a lot of game file in a short time and lowering the computer responsiveness). ;)

Quote from: Jeremy Collake on April 19, 2015, 05:04:59 PM
This is something I've explored, it's been requested for years. Unfortunately, I/O is a lot more tricky. There all lots of different types, and lots of different quotas at which they become problematic.

Let's just say that as soon as I see a good opportunity, I will definitely implement such an algorithm. It's not beyond my capacity.
Yup, it is not like CPU usage, which will only affected by CPU, it will be affected by many device, like Network card if you has a very high download speed.

Maybe try on the Disk usage first?
Windows seen like provide a lot of information about Disk (based on the Windows Task Manager), like Disk usage(or Active time), and also average response time, this should be enough for user that still using HDD. ;)

Coldblackice

Disk usage would be great. What about even scraping whatever API calls "Resource Monitor" is using to get the disk stats there?

Another possibility, when factoring in the wide range of I/O and how to objectively measure: per-process percentage change. So if a process on average hits 5 page-faults an hour, but today is average 10, that sets off a PL alarm or restraint. Or if a process is doing double the disk reads/writes in the last 30 minutes than it usually does (maybe even around that same time period of day), it set a restrain/alarm.

I can dream, can't I... :)

BenYeeHua

And sometimes we found new idea from our dreams. ;)

Jeremy Collake

It's all not impossible, I'm one to make things happen.

But I have a rule. It's the KISS rule.

I know I've got a correct solution when it's simple and elegant.

Trying to measure per-process I/O and compare it against norm is inelegant, though could be done. Right now, it would at least require a lot of work to make happen.

I suggest we just continue waiting for me to see an opportunity. That is, if you prefer efficacy over placebo ;)
Software Engineer. Bitsum LLC.

Coldblackice


Jeremy Collake

Quote from: Zero3K on December 04, 2016, 04:59:10 PM
Any news regarding the implementation of this suggestion?

I'm afraid not. I have been very busy with a lot of things, but this is not one of them. One reason is because I believe it may be infeasible to do any better than Windows already does, so there is still a lot of research I'd have to do. It won't be in v9. Maybe the magic v10 (version X).
Software Engineer. Bitsum LLC.