LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
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 09-04-2012, 04:18 AM   #1
DKSL
LQ Newbie
 
Registered: Apr 2012
Posts: 29

Rep: Reputation: Disabled
Scheduler benchmarking


Hi,

Are there any benchmark tools available for benchmarking the Linux scheduler on Android? While googling came across a tool called "interbench" http://users.on.net/~ckolivas/interbench/, which can be used to benchmark the interactiveness of Linux. Are there such tools for android/ ARM? (any Linx tool that can be cross compiled to ARM)

Thanks

Last edited by DKSL; 09-04-2012 at 08:14 AM.
 
Old 09-04-2012, 08:50 AM   #2
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
You might need to more-carefully define exactly what it is you're looking for, in order to be certain that you are looking at the right thing. The "interactiveness" of Linux, a.k.a. its "response time," really does not have that much to do with the CPU scheduler. Rather, it has to do with how quickly the application in question provides its first response to whatever the user has asked it to do. This can be heavily influenced by the application's design, by the mutexes and other synchronization mechanisms applications must hold (or that are held for them, by the API routines that they call), and so on.

Generally speaking, the CPU scheduler doesn't have too much at all to do with this. It will dutifully parcel out CPU-time, more or less fairly and equally, to any and every active thread that says it can use it.

The API, and as I said, the application itself, will be the major instruments of perception. The time-interval being measured is the moment from when I ask the application to do something, and the time that I receive the first visual indication that something is happening with response to it. My perception of responsiveness is also affected by how frequently and how steadily those visual indicators are updated. Well-designed applications dedicate a thread to this, and perform all UI updates through that thread.

Last edited by sundialsvcs; 09-04-2012 at 08:54 AM.
 
Old 09-04-2012, 09:36 AM   #3
DKSL
LQ Newbie
 
Registered: Apr 2012
Posts: 29

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by sundialsvcs View Post
You might need to more-carefully define exactly what it is you're looking for, in order to be certain that you are looking at the right thing. The "interactiveness" of Linux, a.k.a. its "response time," really does not have that much to do with the CPU scheduler. Rather, it has to do with how quickly the application in question provides its first response to whatever the user has asked it to do. This can be heavily influenced by the application's design, by the mutexes and other synchronization mechanisms applications must hold (or that are held for them, by the API routines that they call), and so on.

Generally speaking, the CPU scheduler doesn't have too much at all to do with this. It will dutifully parcel out CPU-time, more or less fairly and equally, to any and every active thread that says it can use it.

The API, and as I said, the application itself, will be the major instruments of perception. The time-interval being measured is the moment from when I ask the application to do something, and the time that I receive the first visual indication that something is happening with response to it. My perception of responsiveness is also affected by how frequently and how steadily those visual indicators are updated. Well-designed applications dedicate a thread to this, and perform all UI updates through that thread.
I am changing the process priorities and want to measure if there is any effect on CPU timeslice, interactivity. Also if only a few applications are running anyway they will get the needed resources. However a benchmark tool inserts background load and can check what are the effects under them.

Yes what you said was correct and thanks for the input. Application design and other factors will have a huge effect on the responsiveness(The rate at which your workloads can proceed under different load conditions - interbench ). However my requirement is to benchmark two instances of OS(one the stock one and the customized one) and to see the pros and cons of them.

I need to simulate some background load(small, medium, high) and under each load conditions how will the priority changing instance of the OS and the stock instance of the OS will behave? And need to cross compile it to ARM as well.
 
Old 09-04-2012, 01:11 PM   #4
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
The scheduler will apportion "a fair share" of resources among all of the processes that are in "runnable" state at any particular instance. AFAIK it does not alter the length of a time-slice (quantum) but I could be wrong on this. The "priority" value is one of several inputs that are used to insert runnable tasks into appropriate positions within the runlist. I would suggest that you obtain and review the source-code to the scheduler as your primary determinant of how your workload will be dispatched.

Also... I would frankly be extremely surprised to see any sort of "CPU intensive" workload on a portable phone.
 
Old 09-04-2012, 01:56 PM   #5
DKSL
LQ Newbie
 
Registered: Apr 2012
Posts: 29

Original Poster
Rep: Reputation: Disabled
Nice value is only one factor, in the case of android they give all the priority to the foreground app and have cgroups to limit the background app's CPU usage. However if you run a CPU intensive app 'superPI' to calculate PI value it will take a lot of CPU. It was shown like that when I used top.

I have a way of changing application priorities based on location. Now looking for a way test the significance of it. I plan on creating a background work load so the effect of priority change can be noticed easily and has to constant too every time..

Found a tool called lmbench going to test with it..
 
  


Reply

Tags
arm, benchmark, interactive, linux, scheduler



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
LXer: This Week: Benchmarking, Benchmarking, & IGDNG LXer Syndicated Linux News 0 08-16-2009 10:50 PM
Benchmarking TL_CLD Slackware 3 10-16-2007 08:42 AM
Benchmarking DM or WM justanothersteve Linux - Desktop 3 08-08-2006 09:27 AM
Benchmarking goldfish_memory Linux - General 1 11-18-2005 12:45 PM
Stress benchmarking linear Linux - General 0 01-13-2002 01:44 AM

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

All times are GMT -5. The time now is 02:44 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