The MASM Forum

Projects => ObjAsm => Topic started by: HSE on May 05, 2022, 09:55:20 PM

Title: Multiprocessing with UEFI
Post by: HSE on May 05, 2022, 09:55:20 PM
Hi All!

I failed trying to use more than one CPU in non-blocking mode. Then I recreated this classical example to find the problem. It's a presentation of Daryl McDaniels, Software and Solutions Group, Intel, from 15 June, 2010.

Now I can see what the problem was: bad position of Event argument  :biggrin: (then function was running in the other CPU but blocking main CPU[booting one])

A couple of functions must be added to ObjMemEFI, but are exactly the same in ObjMem64.

Very interesting, I maked an emulation of C Print function, but using macros  :biggrin:. (still very primitive, require additional spaces)

If somebody know more examples running more than one CPU, that could fantastic. (Semaphore, Mutex, Threads, in that order I think).

Title: Re: Multiprocessing with UEFI
Post by: Gunther on May 06, 2022, 01:06:06 AM
HSE,

do you mean multiple CPUs or multiple cores?

Title: Re: Multiprocessing with UEFI
Post by: HSE on May 06, 2022, 08:46:32 AM
Hi Gunther!

So far I'm learning of Multiprocess, CPU means  the minimum independ unit capable of execute a process. That can be the same that CORE, but core is in a superior level because with hyperthread each core have 2 CPU. A PROCESSOR can have several core. And a a PC or MainFrame can have several processors.

You tell us about the superior level as a FARM and as BEOWOLF. They are categories of NET. Apparently Multiprocess exclude Distribution, later term used only for Nets.

When we were learning computation, most of that terms were equivalent  :biggrin: You can find better references than me.

Here I'm running the program in different CPUs of same PROCESSOR.

Regards, HSE.
Title: Re: Multiprocessing with UEFI
Post by: Gunther on May 06, 2022, 12:07:41 PM
HSE,

Quote from: HSE on May 06, 2022, 08:46:32 AM
So far I'm learning of Multiprocess, CPU means  the minimum independ unit capable of execute a process.

I see. But you need special multiprocessor boards for that. Whether it's multiple CPUs or cores, it's usually referred to as hard coupling.
I understand what you mean.