Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

I hate Unix schedulers

Sloppy (14984) writes | more than 6 years ago

Unix 9

One of the things that annoyed the hell out of me when I made the "big switch" around 2000-2002 from AmigaOS to Linux, is the dynamic scheduling. I'm pretty sure I've bitched in my /. journal about this before, but I'm too lazy to go back and look.

One of the things that annoyed the hell out of me when I made the "big switch" around 2000-2002 from AmigaOS to Linux, is the dynamic scheduling. I'm pretty sure I've bitched in my /. journal about this before, but I'm too lazy to go back and look.

Hey, when I "nice" a time-consuming process, I fucking expect it to not slow my computer down, no matter how CPU-intense it is. That's how it was on AmigaOS: I could run as many tasks as I wanted, and as long as I gave them a priority lower (or was it higher, damn I don't remember the specifics) than 0, it had absolutely no impact on the responsiveness of the computer, and anything that I ran at a normal priority, ran just as fast as it would if I hadn't been running those other tasks at all. That's the joy of an absolute scheduler: it starves the low-priority tasks, and as a user that's what I want.

But all the so-called "modern" systems after the 1980s, from OS/2 to Windows to Linux (and now Mac OS as of version 10) totally fuck this up.

My Mac here at work runs a long job every morning, that I have niced. When it's running, the whole damn machine feels sluggish and -- seriously -- I can out-type the speed at which my fucking keystrokes are appearing in this fucking web browser's textarea. It is so utterly ridiculous that a 1.5GHz machine can't run as fast as 50 MHz Amiga.

Niced processes should starve if there's anything better to do. Absolutely starve. That is a good thing, not a bad thing.

But can Unix have this? Nooooo, because something (I don't know what) might deadlock (at least according to Linus, when the topic comes up in the context of Linux). Well, get your locks sorted out, Unixheads, so that maybe someday Unix can run as fast as an Amiga that has a tenth of the processing power.

cancel ×

9 comments

Sorry! There are no comments related to the filter you selected.

BTW (1)

Sloppy (14984) | more than 6 years ago | (#22872936)

No need to tell me, "The Amiga is dead, get over it." I know. I don't need the Amiga to come back, I just want its nonsucky aspects to come back.

Re:BTW (1)

loucura! (247834) | more than 6 years ago | (#22882488)

If you don't want a process to run, why execute it? If you're willing to starve it, why don't you move it to a period of time when you're not interacting with the machine?

Re:BTW (1)

Sloppy (14984) | more than 6 years ago | (#22884840)

If you don't want a process to run, why execute it?

I want it to run, but only when my web browser is idle. There's an abundance of CPU time available in between each one of my keystrokes, and I'm happy for niced processes to use the CPU during that time. But the very instant I press a key, niced processes should be completely pre-empted until the interactive process (web browser) finishes processing the keystroke (echoing it into the textarea) or otherwise blocks for some reason.

why don't you move it to a period of time when you're not interacting with the machine?

I do try to do that (cron starts it at about 5am) but sometimes it takes a long time and runs for several hours. But the only reason I do that, is that I have to because the machine is hell to use while the job is running. Running stuff at night is a work-around for the problem, not a solution. A solution would be for modern OSs to be as snappy as AmigaOS.

Realtine patches (1)

jawtheshark (198669) | more than 6 years ago | (#22873254)

Have you tried the realtime kernel patches for Linux? That's what you're describing: you want a realtime-os. In that case, get the correct kernel. At least with Linux, you can.

Or try QNX ;-)

Re:Realtine patches (1)

Cyberdyne (104305) | more than 6 years ago | (#22875066)

Have you tried the realtime kernel patches for Linux? That's what you're describing: you want a realtime-os. In that case, get the correct kernel. At least with Linux, you can.

Even without the realtime patches, schedtool -B on a recent kernel should give exactly the results Sloppy is after: 'run this process only if you have nothing better to do (so it's OK if it never gets done)', as opposed to nice's 'second class mail (it'll get there, but not as quickly)' meaning.

Meanwhile, my monster Opteron server spent the entire day fscking, after a long power outage last night defeated the UPS. Grr. (Before you suggest it, this is a journalled file system - but with 95 million files, something had to give eventually...)

Re:Realtine patches (1)

jawtheshark (198669) | more than 6 years ago | (#22879796)

Yes, I understand that and it clearly does and the question is: Why? Why can't it be fixed? My jobs runs at 4h00 every night, I don't notice them. Stupid workaround, yes, I know.

Opteron server spent the entire day fscking, after a long power outage last night defeated the UPS.[...] 95 million files

You think that NTFS would have fared better? ;-)

Re:Realtine patches (1)

Sloppy (14984) | more than 6 years ago | (#22885112)

Even without the realtime patches, schedtool -B on a recent kernel should give exactly the results Sloppy is after: 'run this process only if you have nothing better to do (so it's OK if it never gets done)', as opposed to nice's 'second class mail (it'll get there, but not as quickly)' meaning.
Ooh neat, I'll check into that. Thanks. :-)

Re:Realtine patches (1)

Sloppy (14984) | more than 6 years ago | (#22885060)

That's what you're describing: you want a realtime-os. In that case, get the correct kernel. At least with Linux, you can.

I haven't tried that with Linux, but my Linux machines (i.e. home computers) don't have to work nearly as hard as the computer I use at .. well .. work. And at work, I run MacOS X; no RT patch available (as far as I know!).

I'm surprised that what I want is a special case, though. Maybe (and I'm not really sure about this) an absolute scheduler isn't the best thing for a traditional server OS, so it shouldn't be the default for Linux. But it is the way a desktop (all desktops!) should be. As soon as we start saying I need a realtime-os, it sounds like I'm part of some weird niche who needs his computer to adjust the control rods within a few microseconds of some sensor detecting too many neutrons.

I'm not a niche, though: I'm just a guy who runs a text editor, a web browser, and a bunch of scripts. The only thing "niche" about me, is that I've used Amigas so, apparently unlike most people, I know that computers don't have to be slow, even when they're working hard.

Re:Realtine patches (1)

jawtheshark (198669) | more than 6 years ago | (#22886590)

Do you know Tet? Talk to Tet [slashdot.org] .... He was an Amiga user, converted to Linux. He will most certainly knows what to do.
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>