kab@myrias.com (Kenneth Bobey) (12/27/89)
Consider an application where multiple threads exist within a single task. On a multiprocessor, when does Mach permit these threads to execute in parallel? Is a specific architecture (e.g. tightly coupled shared memory) required? -- Ken Bobey, Myrias Research kab@myrias.com OR uunet!myrias!kab #900 10611-98 Ave. Edmonton Canada DDD: 403-428-1616 FAX: 403-421-8979
af@spice.cs.cmu.edu (Alessandro Forin) (12/28/89)
In article <630775301.11467@myrias.com>, kab@myrias.com (Kenneth Bobey) writes: > Consider an application where multiple threads exist within a > single task. On a multiprocessor, when does Mach permit these > threads to execute in parallel? Is a specific architecture > (e.g. tightly coupled shared memory) required? > Threads are independently scheduled by the kernel, therefore they can all run in parallel, on any multiprocessor type. New additions to the scheduler also permit now user control over scheduling, by assigning threads to "processor-sets". A processor set contains a number of processors, all threads in a pset will be concurently scheduled on a corresponding set of real processors. Also new is the handling of priorities, which could be (on a given pset) both the regular 'timesharing'-like, or fixed priorities 'real-time'-like. The RealTime-Mach project is using this new scheduler, among other things, for their system. The scheduler has also been a proven success in parallel algorithm work (both teaching and research), since it allows precise mesuring of parallel execution times on an otherwise timeshared machine (Encore Multimax). So far the bulk of the multiprocessors on which Mach runs have been tightly coupled ones, which we call UMA (Uniform Memory Access time) multis. The best known example of a NUMA (Non-UMA) multi is at this point the IBM ACE multiprocessor, see the proceedings of the recent SOSP (OS Review V23,5) for a description of their work. The BBN Butterfly was the first such machine to run Mach, and I believe BBN still commercially supports it along with their version of Mach. To my knowledge, there is not yet any port of Mach to NORMA (NO Remote Memory Access) multis, e.g. hypercubes and such. Work in this area is quite active though, we'll probably see one soon. sandro-