From: ikluft@uts.amdahl.com (Ian Kluft) Subject: Re: Multi-Processor Architecture Date: 19 May 1993 06:34:55 GMT
kem@prl.ufl.edu (Kelly Murray) writes:
>It is /real/ tough to support multiple CPUs as a shared-memory parallel
>machine. Linux is woefully inadequate, and would require major rewrites
>to support this. Ever wonder why SunOS has been worked on for years to do
>this?
Yeah, exactly. The problem is that everything in the kernel can and does
modify data structures anywhere it's necessary. Let's say that one process
on processor 0 is modifying a kernel data structure (i.e. process table,
in-core inode, buffer cache, network packet, it doesn't matter which...) at
the same time as a process on processor 1 is modifying the same one. Without
some synchronization, data will get corrupted in a hurry and the system will
crash in various creative ways as it tries to continue to use the data.
I'm not saying it can't be done. But in this worldwide development environ-
ment where everyone has single processor boxes, it would be tough to get
driver writers and kernel hackers to write properly-operating multiprocessor
code. They can't test it properly for that...
This is probably one case where we should point people to CMU's Mach. They
have a 386 port and it's designed specifically or multiprocessor operation.
-- Ian Kluft KD6EUI PP-ASEL Amdahl Corporation, Open Systems Development ikluft@uts.amdahl.com Santa Clara, CA [disclaimer: any opinions expressed are mine only... not those of my employer]