Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
> On Sun, May 06, 2007 at 07:12:00PM -0400, markw at mohawksoft.com wrote: >> If someone has an educated argument against this position I would really >> like to be educated. > > We have a easily parallelizable, highly math-intensive workload > that forms the core of our services. (We == work, that is.) > We start as many processes as we have CPU cores available as > determined by Linux. This scales linearly on both single-core > CPUs and multicore CPUs. It scales almost, but not quite, > linearly on HyperThreading CPUs. you are saying Please explain what you mean. "Hyperhreading" CPUs are multi-core CPUs, aren't they, or am I missing something? SMP systems don't scale linearly, pretty close as long as there is no contention, but not linearly. I'm concerned about the resource contention on multi-core CPUs. > >> Second, does anyone out there know if dual core processors can (as a >> matter of hardware and OS implementation) be used to run two different >> processes simultaneously rather than merely two different threads of a >> single process. > > Yes. Are you sure? > >> VMM map have to be loaded into the memory controller, meaning that >> separate processes with different virtual memory mapping could not >> benefit >> from two cores. > > That is not the case. CPU cache is split between the processes, > but unless you have a program structure where the main loops > don't fit into cache, you are unlikely to see much impact. > Remember, you're running a multitasking OS anyway. Right? Multi-core CPUs generally share an MMU between processors. When an OS (on 386 and higher CPU based operating systems) switch tasks, they also switch (if I recall correctly) the CR3 register to switch page descriptors or edit they page table map. If processors are sharing memory management units, running two different processes on two different processing cores should not be possible CPU, cache or not. This isn't bad if you have multi-threaded apps, but if you have an app that multi-tasks using fork(), you are SOL on multi-core, unless, of course, this is incorrect. > > -dsr- > > -- > .. .----. -- .-. . .- -.. .. -. --. -.-- --- ..- .-. -- .- .. .-.. > .-.-.- .-- .... --- . .-.. ... . .. ... ..--.. > http://tao.merseine.nu/~dsr/eula.html is hereby incorporated by reference. > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |