Re: [Gems-users] Trying to run multi-program


Date: Tue, 13 Apr 2010 15:58:24 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Trying to run multi-program
IIRC, 50% CPU time means 1 CPU fully utilized on a 2-CPU platform. However, I haven't run prstat in awhile on a solaris host. Of course, prstat probably doesn't very heavily utilize the CPU....

Regards,
Dan

On Tue, Apr 13, 2010 at 3:55 PM, sparsh mittal ISU <sparsh@xxxxxxxxxxx> wrote:
Hello
I will surely tryout your suggestions.
I tried running just one program  and found that prstat runs on cpu1 and app1 on cpu0 and app1 uses 50% cpu time. This time, both prstat and app1 are continuously running.
That means, CPU time may have some different meaning, is it?
Thanks
Sparsh


On Tue, Apr 13, 2010 at 3:05 PM, sparsh mittal ISU <sparsh@xxxxxxxxxxx> wrote:
Thanks for the remark. Yes,that was a typo. (you are really brilliant Dan). I corrected it and tried again. However the output of prstat -a is
PID state cpu process
316 cpu0 50% app1
317 run    50% app2
324 cpu1 0.1% prstat

Thus, on cpu1, prstat is running, so, that may be the reason that app2 is put on the run queue. The man prstat shows that cpu utilization shows: "The percentage of recent CPU time used by the process."  That means 50% of  time of  cpu0 is being used by app1. But why not 100%?

Thanks
Sparsh
On Tue, Apr 13, 2010 at 2:15 PM, Dan Gibson <degibson@xxxxxxxx> wrote:
It looks like you are binding both to processor 0. Was that a typo?


On Tue, Apr 13, 2010 at 2:13 PM, sparsh mittal ISU <sparsh@xxxxxxxxxxx> wrote:
Hello
Thanks for the responses.
I think the number of processors should be power of two. So, if I try to use processor_bind, then I have tried the following program.

#include<sys/types.h>
#include <sys/processor.h>
#include <sys/procset.h>

int main()
{
processor_bind(272, 316, 0,NULL);
processor_bind(272, 317, 0, NULL);
return 0;
}

Here 316 and 317 are the PIDs of two benchmarks and 272 is the PPID, as shown by command ps -el.
So, I compiled the program, by
gcc process.c -o procExe

and then I execute it
./procExe

Is that all? I still see the CPU utilizations to be around 50% and never two processes are simultaneously running.
Thanks
Sparsh


On Tue, Apr 13, 2010 at 1:33 PM, Dan Gibson <degibson@xxxxxxxx> wrote:
I don't know the details, but somehow psrset_bind is stronger than processor_bind, though the latter allows 'binding' to processor zero. I would call processor_bind().

Regards,
Dan

2010/4/13 Javi Merino <merinocj@xxxxxxxxx>
Dan Gibson wrote:
> >From man psrset:
> The default processor set (0) always exists and may not be destroyed.
> All processes and processors at system init time start out in the
> system default processor set. For this reason processor 0 may never be
> removed from the default group. (Hence this feature is of no value on
> a single processor system.)
>
> Hence, in order to have two bound processes, you need at least three
> processors. What you have probably done is inadvertently bound both
> processes to CPU 1.

What I do is launch the benchmarks and then run a C program which
basically does:

processor_bind(P_PID, pid_of_bench1, 0, NULL);
processor_bind(P_PID, pid_of_bench2, 1, NULL);

I think this way you avoid the processor sets. I did this a while ago
and can't remember the details, but I think this works and effectively
binds the pids to processors 0 and 1. Is it wrong?

Regards,
Javi

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.



_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.





--
Thanks and Regards
Sparsh Mittal
Graduate Student
Electrical and Computer Engineering
Iowa State University, Iowa, USA

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.





--
http://www.cs.wisc.edu/~gibson [esc]:wq!

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.





--
Thanks and Regards
Sparsh Mittal
Graduate Student
Electrical and Computer Engineering
Iowa State University, Iowa, USA



--
Thanks and Regards
Sparsh Mittal
Graduate Student
Electrical and Computer Engineering
Iowa State University, Iowa, USA

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.





--
http://www.cs.wisc.edu/~gibson [esc]:wq!
[← Prev in Thread] Current Thread [Next in Thread→]