Solved

AIX scheduler

Posted on 2001-09-12
8
638 Views
Last Modified: 2013-12-06
Does anybody have some good information (books, docs, URLs) on the AIX scheduler. I know quite a bit about it, but some pieces are still missing.

The background: I have an app with a fixed priority that has to run every 20msec (that makes it some kind of real time ...). The app will run for not more than 2msec. If I use the 'monitor' tool that's available, sometimes I see my app using ~50% of the CPU time. That is apparently wrong. The scheduler counts ticks (and here is where I have gaps) looking at the state of the app (running, dormant etc) for every running app. It seems I get in sync with the scheduler somewhere and it sees me more often that it should ...

Any pointers?

======
Werner
0
Comment
Question by:griessh
8 Comments
 
LVL 1

Expert Comment

by:nhuanvn
ID: 6478253
If your app makes some kind of realtime, UNIX cannot
assure it. There are two variants of UNIX that can
guarantee realtime feature, the RTAI(realtime application
interface) and RTLinux(realtime Linux).
Check www.lineo.com for RTAI. You can have the link
to RTLinux through a google search.
0
 
LVL 11

Author Comment

by:griessh
ID: 6478324
nhuanvn

Thanks for the reply. I think I understand my app good enough, I am working with and on it now for 6 years. It is as close to RT as I need it, don't worry about that. My problem is to understand the AIX scheduler.

======
Werner
0
 

Expert Comment

by:_serega
ID: 6493172
just a tip:
you can examine exactly what's happening by reading
proc | user structure using kvm | /dev/kmem | procfs interface.
that structures contain information about in-kernel, in-user times, and bunch of stuff that's not available on getrusage().
i know nothing about AIX scheduler. but that what you're saying sounds strange. scheduler must release the processor resource if your app falls asleep, such behaviour you describe
reminds not sleep condition, but infinite loop. try to take a look on what routine your app stops, `ps' should show it as wchan.
on normal situation, it should be one of the 'sleepy' system calls.
0
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

 
LVL 11

Author Comment

by:griessh
ID: 6493282
_serega

Thanks for your comment. I think I know how to retrieve ALL the information the kernel can give me about processes on the system. I also understand the basic funtionality of a scheduler. Knowing that it just adds 'ticks' to a counter when it 'sees' a running process I have the feeling that my process is just too much 'synced' with the scheduler. But I need a bit more info to prove that.

So the conclusion: I really need info on the AIX scheduler, preferable from somebody who knows AIX :-)

======
Werner
0
 

Expert Comment

by:_serega
ID: 6493348
so if you know so much, run objdump -d on kernel,
find out the scheduler code, and read it.
i'm shure you know what objdump is,
and how to find the code, and the your target  platform's  instruction set
0
 
LVL 11

Author Comment

by:griessh
ID: 6493552
_serega

I tried to explain to you that I HAVE the information you suggest to retrieve. My problem is how that information is created.

If you have more of those sarcastic comments like the last one I'd suggest you just keep them for yourself ...

======
Werner
0
 
LVL 11

Author Comment

by:griessh
ID: 6716038
No more feedback, I'll have to contact IBM <sigh> ...
======
Werner
0
 
LVL 6

Accepted Solution

by:
Mindphaser earned 0 total points
ID: 7076411
Points refunded and moved to PAQ

** Mindphaser - Community Support Moderator **
0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use. However, not all UNIX file systems (UFS) can be expanded this way. The conca…
I have been running these systems for a few years now and I am just very happy with them.   I just wanted to share the manual that I have created for upgrades and other things.  Oooh yes! FreeBSD makes me happy (as a server), no maintenance and I al…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question