LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Writing a CPU Consume Program to Test a Distributed System (https://www.linuxquestions.org/questions/programming-9/writing-a-cpu-consume-program-to-test-a-distributed-system-260644/)

russelh 11-29-2004 04:13 PM

Writing a CPU Consume Program to Test a Distributed System
 
Hi all -

I am working on a project testing out openMosix. For those that don't know what that is, it is a distributed OS patch that allows you to add nodes to your cluster and it will handle distributing processes. I want to write a program that will consume a certain portion of the cpu, or will perform a random bunch of i/o requests so that I can test out openMosix on my system.

I have tried doing the typical things like compiling the kernel to see how openMosix works, but for the project I am tweaking with some of the distributed OS algorithms and seeing if I can improve them. Therefore, I need a program to throw a consistent load at the nodes to duplicate results and compare. Ideally, I want to have a config file that says I want to consume X% of the cpu, or something like that.

My problem is that I don't know how to do this! I am not asking for anyone to write code, just to throw some ideas out there for how to go about starting something like this.

Thanks in advance for all of your help! :)

shishir 11-30-2004 12:37 AM

you could have some code that uses a way that limits the cpu usage to a certain limit in one instance of the process , using setrlimit and not setting any limit in another instance of the same code...

then if you have an SMP system, you might want to try the cpu-binding of processes...

HTH

Marius2 11-30-2004 06:35 AM

Hm I may be completely wrong here, but I believe this is not how the Linux scheduler
works (may be different with Mosix and/or SMP kernel). You can't control how much CPU
time a certain process will consume, all you can do is assign a certain priority (in relation to
other processes' priority) to it. How much CPU time your process will effectively consume
depends onits priority, total number of processes and their priority in relation to your process.

shishir 11-30-2004 07:17 AM

i havent ever tried this stuff..but yes the man page for setrlimit does tend to suggest that you can tune these values to take a specified by the rlimit structure...if the process suns longer than the time specified as the limit, it receives the signal,SIGXCPU, tho the catch is : this time is in seconds...which I dont think should be that big an issue as the application desired should be doing something that takes a long time...if i got the question..

russelh 11-30-2004 02:27 PM

Thanks for the tips... I will look into the setrlimit stuff. Funny that testing the cpu loads would be the hard part, not the actual tweaking of the load algorithms. Hmmm...

Much appreciated!


All times are GMT -5. The time now is 03:04 PM.