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


Date: Tue, 13 Apr 2010 14:15:00 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Trying to run multi-program
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!
[← Prev in Thread] Current Thread [Next in Thread→]