Jump to content

Multiprocessor support in 98SE?


Recommended Posts


Some dude I know keeps saying that some russians are working on multicore/cpu on Win98SE... Someone know what he's talking about?

Cheers,

Eric

No but perhaps you could ask your mate if he's got more information.

Link to comment
Share on other sites

Some dude I know keeps saying that some russians are working on multicore/cpu on Win98SE... Someone know what he's talking about?

I don't know about any Russians working on it, but RLoew sure is/was!

What is the interest if it true ?

Whatever the interest may be, if anyone has interest (or knows about it, at least), there's a good chance he/she is an MSFN member, and a regular to this particular forum. So the OP posted in the exact right place. :yes:

Now, if you don't have any interest whatsoever in Win 9x/ME, I respect that, but I sure hope you'll respect the fact that we actually do have lots of interest in it.

So, please, *don't* flame-bait! Consider yourself warned.

@all: Please everybody, do me a favor, *do* ignore the flame-bait. Thanks!

Link to comment
Share on other sites

Some dude I know keeps saying that some russians are working on multicore/cpu on Win98SE... Someone know what he's talking about?

I don't know about any Russians working on it, but RLoew sure is/was!

I have written a Multicore SDK so people can write Programs using Multiple Cores. A Demo is available on my Website.

Link to comment
Share on other sites

I have written a Multicore SDK so people can write Programs using Multiple Cores. A Demo is available on my Website.

Is this something that is eventually going to evolve into a driver that allows the use of multiple cores by programs not written with your SDK?

Link to comment
Share on other sites

Multicore/multiprocessor support in Windows 98 (The operating system, not the programs you run on it)??

I think that it was stated somewhere in this forum that this was impossible without re-writing a huge part of Windows 9x.

Maybe I'm mistaken... it's been too long.

Link to comment
Share on other sites

It's possible that I was the one who wrote that "impossible". If so, I take it back. Nowadays I envisage two possible scenarios:

1) the easier one would be a wrapper that let one move selectively, by hand, one given process at a time (or perhaps even a small group of interdependent processes) to another core, for all of its execution time (useful for playing videos, for instance, while keeping everything else fast and responsive).

2) the more complicated one would be to keep just the OS and the VxD executing on one core, while all other processes get to execute on another one (a variation of the master-slave processor scheduling scheme).

Both are simpler to implement than full symmetric multiprocessing... and two cores, which is the commonest hardware available at present is perfect for either. And both can be a great improvement for those having at least a second core sittng idle, while they use 9x/ME.

Link to comment
Share on other sites

I have written a Multicore SDK so people can write Programs using Multiple Cores. A Demo is available on my Website.

Is this something that is eventually going to evolve into a driver that allows the use of multiple cores by programs not written with your SDK?

No. Explicit code is needed for inter-core communication so the Program needs to be coded for it.

It's possible that I was the one who wrote that "impossible". If so, I take it back. Nowadays I envisage two possible scenarios:

1) the easier one would be a wrapper that let one move selectively, by hand, one given process at a time (or perhaps even a small group of interdependent processes) to another core, for all of its execution time (useful for playing videos, for instance, while keeping everything else fast and responsive).

Same problem.

2) the more complicated one would be to keep just the OS and the VxD executing on one core, while all other processes get to execute on another one (a variation of the master-slave processor scheduling scheme).

Same problem, plus I don't think the OS uses that much CPU time.

I was able to split DOS 7 between two cores, with Interrupts handled in the Base Core and everything else in another. There was no noticeable speed improvement.

Both are simpler to implement than full symmetric multiprocessing... and two cores, which is the commonest hardware available at present is perfect for either. And both can be a great improvement for those having at least a second core sittng idle, while they use 9x/ME.

Not much simpler. Once you implement multiprocessor scheduling and inter-core communication, there isn't much left to do.

Edited by rloew
Link to comment
Share on other sites

I have written a Multicore SDK so people can write Programs using Multiple Cores. A Demo is available on my Website.

Is this something that is eventually going to evolve into a driver that allows the use of multiple cores by programs not written with your SDK?

No. Explicit code is needed for inter-core communication so the Program needs to be coded for it.

And no hope either a specially written dll could intercept, translate and redirect calls from already existing multicore capable applications to and back from your driver?

I had some hopes I could look for an FX-60 to replace my FX-55 as to boost rendering speed of a few cool multicore capable apps I am using but I understand chances are slim this will be possible.

Anyway all you are doing is very interesting. Cheers. B)

Link to comment
Share on other sites

I have written a Multicore SDK so people can write Programs using Multiple Cores. A Demo is available on my Website.

Is this something that is eventually going to evolve into a driver that allows the use of multiple cores by programs not written with your SDK?

No. Explicit code is needed for inter-core communication so the Program needs to be coded for it.

And no hope either a specially written dll could intercept, translate and redirect calls from already existing multicore capable applications to and back from your driver?

I had some hopes I could look for an FX-60 to replace my FX-55 as to boost rendering speed of a few cool multicore capable apps I am using but I understand chances are slim this will be possible.

Anyway all you are doing is very interesting. Cheers. B)

I wasn't aware of any multi-core applications that run under Windows 9X. In any case, they probably would use a proprietary interface so I would probably have to Patch them on a case by case basis.

Link to comment
Share on other sites

I would question the benefits of this. The OS itself isn't threadsafe, so you'd have to split the OS functions on one core or the other and handle IPC yourself in a driver - the OS would still be single core, and you'd have some overhead in IPC for an OS that expects everything to be serial. You could do a base split (like rloew's post on DOS previously), but to *really* split the OS, you'd have to either rewrite large parts of the kernel or do all the IPC in your own driver, and I'm actually not sure which would be harder (and that's not sarcasm). On top of that, given there are no apps I am aware of that actually support 9x and have any sort of multicore support for that OS, there would be very little benefit. People with really slow machines might, but even a PPro 200 is fast for running 9x, so a modern(ish) multi-core or multi-threaded CPU really isn't going to give you a whole lot of noticeable benefit to using multiple cores under that OS. If you want an older OS that's multi-core capable and will run on older and newer hardware, honestly, using a BSD or Linux would be a better choice.

Link to comment
Share on other sites

On top of that, given there are no apps I am aware of that actually support 9x and have any sort of multicore support for that OS, there would be very little benefit.

It is not because you are not aware of something that it does not exist. :whistle:

Here you can grab Mandelbulb 3D for example: http://www.fractalforums.com/index.php?action=downloads;sa=view;down=13

I've had my 15 minutes of internet fame under the blob pseudonym with renders made with this application btw. In case you're interested by my cutting edge 3D fractal art see for example: http://orbittrap.ca/?p=1379 and http://sites.google.com/site/mandelbox/variations :D

Even though that software runs surprisingly fast with one single core, I'd sure love to be able to upgrade my CPU as mentioned in my post above to boost its speed by a factor of 2.

Besides that I think there are more than a few other recent applications that run on 98/ME (some perhaps requiring KernelEx) that are multicore capable and I am unsure whether the not so old Adobe applications such as Photoshop 7, Premiere 6.5, After Effects 6.5 which I all have could also eventually benefit as I think they are multi processors capable on NT/2K/XP systems.

Link to comment
Share on other sites

I wasn't aware of any multi-core applications that run under Windows 9X. In any case, they probably would use a proprietary interface so I would probably have to Patch them on a case by case basis.

That is most interesting. As you you may have read I've linked to Mandelbulb 3D in the post just above and in case it pick your fancy to investigate the feasability for other apps, I can think of Incendia http://www.incendia.net/ which is another awesome free 3D fractal application of which I have the single core version installed and which runs fine on stock 98/ME despite it is labeled as an XP/Vista software only. The free 3D renderer Kerkythea http://www.kerkythea.net/joomla/ featuring cutting edge physically accurate unbiased rendering engines, which runs only with KernelEx would certainly also be a candidate in my book. And I am sure there is no lack of audio/video transcoders running on 98/ME that are multicore capable on NT systems, I'll have a look at that eventually. I've also mentioned above the old versions of flagship Adobe products which I believe are multi processor capable but I am unsure whether they are capable of using multiple cores on current hardware when run on NT systems.

Link to comment
Share on other sites

I wasn't aware of any multi-core applications that run under Windows 9X. In any case, they probably would use a proprietary interface so I would probably have to Patch them on a case by case basis.

That is most interesting. As you you may have read I've linked to Mandelbulb 3D in the post just above and in case it pick your fancy to investigate the feasability for other apps, I can think of Incendia http://www.incendia.net/ which is another awesome free 3D fractal application of which I have the single core version installed and which runs fine on stock 98/ME despite it is labeled as an XP/Vista software only. The free 3D renderer Kerkythea http://www.kerkythea.net/joomla/ featuring cutting edge physically accurate unbiased rendering engines, which runs only with KernelEx would certainly also be a candidate in my book. And I am sure there is no lack of audio/video transcoders running on 98/ME that are multicore capable on NT systems, I'll have a look at that eventually. I've also mentioned above the old versions of flagship Adobe products which I believe are multi processor capable but I am unsure whether they are capable of using multiple cores on current hardware when run on NT systems.

What I said still stands.

The applications you described may run on Windows 9X and may be multi-core capable, but not at the same time, or not the same version.

I haven't worked with NT or XP so I'm not sure how they provide multi-core support. In any case, the issues I described before remain as there could any number of System Calls within the various cores Threads that would need to be hooked.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...