1 |
Duncan, |
2 |
I thank you very much. Being little specific about my objective is i am |
3 |
thinking of an |
4 |
embedded system which can give me a very high processing speed. In other |
5 |
words i wouldn't have much memory or other resources. Also i have to take |
6 |
charge of the process scheduling as much as i can. So if i understand |
7 |
correct i would be better off by |
8 |
looking into kernal code rather than using other scheduling utilitis. |
9 |
right??? |
10 |
|
11 |
Thanks. |
12 |
|
13 |
|
14 |
On 5/26/06, Duncan <1i5t5.duncan@×××.net> wrote: |
15 |
> |
16 |
> "Mihir Sevak" <mihir.sevak@×××××.com> posted |
17 |
> 48fcf8860605260703m2264be8hcd5a5fc9d43c86dd@××××××××××.com, excerpted |
18 |
> below, on Fri, 26 May 2006 10:03:24 -0400: |
19 |
> |
20 |
> > i am using C as a programming language. I have an AMD 64 dual core |
21 |
> > system. Is there any way i can take charge of those two processors and |
22 |
> > command them which thread should run on which processor??? I am prepared |
23 |
> > with scheduling mechanism but only thing i am lacking is how to take |
24 |
> > charge and decide that which processor should run which thread. |
25 |
> |
26 |
> I'm rather far from an expert in the field, but AFAIK, you use kernel |
27 |
> scheduling domains for that, and configure your app to use a specific |
28 |
> scheduling domain. AFAIK, the functionality is fairly new, and you'll |
29 |
> need 2.6.16 or even the 2.6.17-rcs, plus some special user side utilities |
30 |
> to configure and manage the domains, to get it working. |
31 |
> |
32 |
> Automatic kernel SMP scheduling normally does a pretty good job, noting of |
33 |
> course that on some hardware, some chipset elements may be connected to |
34 |
> only one of the CPUs (tho that shouldn't be a problem for dual-core), and |
35 |
> the various costs of switching between cores on the same CPU, as opposed |
36 |
> to different CPU/sockets, as opposed to different hosts (in a clustering |
37 |
> environment), what with local vs remote memory and cache coherency and the |
38 |
> like. Specifying a CPU/core is now possible using the special tools |
39 |
> mentioned above, but it's seldom worth the trouble, and can actually be |
40 |
> worse. It may be better to tweak the various tweakables exposed by the |
41 |
> kernel for its automated scheduling, changing how it chooses to switch |
42 |
> CPUs if one is busier than the other. |
43 |
> |
44 |
> FWIW, I have a dual Opteron system here, single-cores. I expect to be |
45 |
> upgrading later this year to dual-cores, for a 4-core system on dual |
46 |
> socket-940. I've generally been fairly happy with the kernel's scheduling |
47 |
> as-is, allowing for when I'm running single-threaded apps that /can't/ |
48 |
> divide the work. If the app is multithreaded, or I'm running several apps |
49 |
> in parallel, the kernel generally does a pretty good job of keeping things |
50 |
> balanced. Back when I had a single-disk system, that was often the |
51 |
> bottleneck. However, with a 4 disk RAID system (kernel-RAID, RAID-6 for |
52 |
> most of it, RAID-0 for the performance critical redundancy unneeded stuff, |
53 |
> RAID-1 for /boot) and 8 gig of memory, the bottleneck is again usually the |
54 |
> CPUs, thus the planned upgrade to 2 by dual-cores later this year. |
55 |
> |
56 |
> Of course, that's for personal desktop/workstation use. If I were running |
57 |
> something less general purpose, say a big database server or the like, |
58 |
> there would indeed be reason to think about specific tuning including |
59 |
> possibly confining some tasks to specific CPUs. |
60 |
> |
61 |
> -- |
62 |
> Duncan - List replies preferred. No HTML msgs. |
63 |
> "Every nonfree program has a lord, a master -- |
64 |
> and if you use the program, he is your master." Richard Stallman |
65 |
> |
66 |
> -- |
67 |
> gentoo-amd64@g.o mailing list |
68 |
> |
69 |
> |
70 |
|
71 |
|
72 |
-- |
73 |
"How can anything be impossible when impossible itself says I M Possible???" |
74 |
Mihir |