LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel
User Name
Password
Linux - Kernel This forum is for all discussion relating to the Linux kernel.

Notices


Reply
  Search this Thread
Old 05-29-2006, 03:48 PM   #1
wini_g
Member
 
Registered: Jun 2003
Distribution: SuSE 11.0
Posts: 171

Rep: Reputation: 30
Smile Noob IO behaviour iritations


Bit of a rant - sorry .

The CPU scheduler under Linux seems to do a great job - I can run many CPU intensive things at once .

They all just gracefully slow down the more you add.

My problem is that this is not the case with IO (reading writing from disk).

I ran Opera (with ~50 tabs), Firefox (with ~20) & F-Spot (photo management - 10000+ pics) yesterday evening all at once.

Its a 600 MB RAM system with 1 disk for OS & 1 disk for swap & space for pictures etc (anything valuable which must live).

My issue is that Opera & F-spot will both consume close to 100% CPU & it creates no problem at all - a bit slower but thats it .

Not the case for IO - even when f-spot is reniced to something like 15 .

I can then end up not being able to browse just because (a reniced to 15) f-spot is reading in pictures (which is the behavior of an unnamed OS although to a far greater extend - which was one reason I switched for daily stuff) .

Yes its a huge amount of pics & it all swaps like 600MB but shouldnt the IO priority adjust to CPU priority ... ?

Does IO scheduling not go as far in its functionality as CPU scheduling under Linux ?

Miny rant over & curious 4 feedback.
 
Old 05-31-2006, 01:27 AM   #2
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,126

Rep: Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120Reputation: 4120
So pick a different I/O scheduler and see if you get a better fit.
grep dmesg for scheduler, then go google for the differences between them.
 
Old 05-31-2006, 03:51 PM   #3
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
I/O scheduling and CPU scheduling are really not very much related to one another, in terms of their influence on system performance. The CPU is so-o-o much faster than everything else, it just needs to give fair-share scheduling to all the CPU-bound processes while responding quickly enough to I/O interrupts. The fact that you're using nice is, well, a nice thing to do ... helps it keep its, well, priorities straight. (Actually, I didn't write that as a pun... I just happened a-pun it.)

Anyhow ...

You probably want to expand the system above 600MB if you can, because this will give you lots of buffer-space. That's good.

It sounds to me like you might be saturating your I/O system. It might be time for another disk-interface card. (The onboard I/O interfaces are not designed for raw speed.) A "smart" card that knows how to do its own buffering and such is also a good thing. These cards are not particularly expensive.

Spread the information out across multiple DASD .. err, disk volumes ... on multiple channels that are fully equipped to operate simultaneously. FireWire, for instance, has more parallel-I/O capability than "good ol' EIDE."

Once the hardware can do it, Linux can schedule it.
 
Old 06-14-2006, 07:56 AM   #4
wini_g
Member
 
Registered: Jun 2003
Distribution: SuSE 11.0
Posts: 171

Original Poster
Rep: Reputation: 30
AAhhhhh IC .. so its stone age hardware design from last century problems again

THX for your replies.


Yeah I completly forgot that oviously the bus will be a bottleneck at some point .


Yes makes sense .. but :

Two IDE channels - one for each disk .

If it says UDMA100 - AFAIK it means that the max data possible that can be moved would be 100 MB a second .

One disk is 100 the other 66 or so ... so in theory the data should be able to move from the disks to memory & processor as fast as the disks can spit it out .

Or is this again something where there is something in a PC which doesnt agree to fast data movement ?

Okay .. reread ... PCs are simply not designed with max speed in mind it seems.


THX again .

Maybe time to get a new system

 
Old 06-15-2006, 12:58 PM   #5
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
Well, that's not really quite the case...

The stock I/O controllers that are built in to most motherboards are not designed for high throughput. They're more-or-less designed to efficiently run your grandmother's machine while she browses the web and sends you unwanted pictures.

If you purchase a fast I/O-controller card and snap it into one of the motherboard slots, you immediately get much faster throughput.

If you need very fast performance, including the ability to have multiple I/O transfers going on "really 'at once,'" you start moving into the world of, say, FireWire. (FireWire is basically the latest incarnation of SCSI...) Now you are moving data on a multi-lane high-speed highway.

The odd thing is, this greatly-improved hardware really does not cost that much, nor is it particularly hard to find. You just won't find it at OfficeMax (usually), and the red-shirted kid at CompUSA might give you a blank stare ... which is no surprise.
 
Old 06-15-2006, 05:39 PM   #6
wini_g
Member
 
Registered: Jun 2003
Distribution: SuSE 11.0
Posts: 171

Original Poster
Rep: Reputation: 30
THX again

Firewire is AFAIK what Apple uses (introduced as well ?) for their external disks & video moving stuff .

& which is also more common place for PCs to now have .

I thought "fibre-channel" is the new SCSI ?

I never thought as Firewire as being fast because I thought it was similiary slowish like USB .

The USB port reducing the data that can be moved ... well I have to then look up things .

& Update my general hardware knowledge .

THX again
 
Old 06-15-2006, 10:50 PM   #7
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
Fiber-channel is a still-faster backplane mechanism, based on optical fibers.
 
  


Reply

Tags
kernel



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
vi Behaviour! dlublink SUSE / openSUSE 5 09-20-2006 09:14 AM
noob with a noob question phoonerorlater Linux - Newbie 2 09-29-2004 03:43 PM
3 Noob Quetions From A Noob DaveyB Slackware 20 08-11-2004 08:00 PM
Firewall help (noob really really huge noob) ProtoformX Linux - Networking 1 03-29-2004 12:19 AM
Complete noob question from a noob noob_hampster Linux - Software 2 09-04-2003 12:03 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel

All times are GMT -5. The time now is 11:14 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration