Welcome, Guest. Please login or register.

Author Topic: Why is SMT (multicore) support hard for Amiga OS?  (Read 11621 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Trev

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show only replies by Trev
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #59 from previous page: June 29, 2010, 10:12:12 PM »
Quote from: wawrzon;568022
isnt it still the same on win/mac/ix that apps have to be designed in order to take advantage of multiprocessor/multicore? so why makes it any difference on amiga in thi case.

at least i recall such about lightwave or photoshop earlier..

Sort of. A thread running on one of those operating systems may be scheduled on any available processor. The same could be done under Exec; however, Windows, Mac OS, and Linux prevent unassisted user code from modifying kernel structures, suspending scheduling, and disabling interrupts. Many (most) Amiga applications (read: programmers) know too much about the kernel, and rather than using a solid and safe design, they manipulate kernel objects directly.

As most Amiga users would rather run software written in 1990 than software written today, these unsafe programming practices pose a problem for innovation.
 

Offline psxphill

Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #60 on: June 30, 2010, 10:03:40 AM »
Quote from: Trev;568007
Whose requirements are those? What is AmigaOS, exactly? The kernel? The API? The coupled hardware? Regarding new applications, isn't that the point?
 
If the legacy kernel is itself a process under a new kernel--one that did all the magic necessary to support the legacy kernel as a process--then barring hardware incompatibilities, how would old applications know the difference? New applications could use the same APIs we use today, minus the bits we know to be "bad."

The question was "Why is SMT (multicore) support hard for Amiga OS?"
 
If all you want is a decent operating system and compatibility for amiga applications then winuae with a transparent desktop is probablt better for you. I'm sure someone has done this, not sure if it was official/finished though but basically it would look like the amiga windows are on your host operating system desktop. Also tcpip & filesystems can be hooked through to the native OS as well.
 
If you create a new OS that isn't compatible with anything else then you're going to struggle to get support.
 
Your only real hope would be to add support for multiple processors to AROS. As it's open source and most software for it is also open source then you can probably afford to break compatibilty.
 
It's still not trivial, because you have to get both cpu's running & make the changes to exec to support it.
 
Quote from: wawrzon;568022
isnt it still the same on win/mac/ix that apps have to be designed in order to take advantage of multiprocessor/multicore? so why makes it any difference on amiga in thi case.
 
at least i recall such about lightwave or photoshop earlier..

For one application to take advantage all you should need is to have multiple tasks (aka threads). Which is already possible on all versions of AmigaOS. Tasks are generally used if you need the UI to remain responsive while a process is carried out that may involve disk/network/other libraries that may not return immediately.
 
However two applications (each with a single task) on a multi cpu machine will also be able to take advantage.
 

Offline hardlink

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 586
    • Show only replies by hardlink
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #61 on: June 30, 2010, 06:12:48 PM »
Quote from: Trev;568024

As most Amiga users would rather run software written in 1990 than software written today, these unsafe programming practices pose a problem for innovation.


What, people are up to 1990 software, you mean some new stuff came out? Were MusicCraft and WordPerfect updated and I missed it? Has Workbench 1.4 been released yet? What about GOMF 3.1?
 

Offline BifTopic starter

  • Full Member
  • ***
  • Join Date: Aug 2009
  • Posts: 124
    • Show only replies by Bif
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #62 on: July 05, 2010, 10:16:43 PM »
Learning more here and doing some other research, it becomes clearer to me why SMP is hard. I think I probably underestimate the complexity of developing a multi-core kernel itself. I probably spend too much time on the other side of the kernel to think about all the ramifications of handling PCI bus stuff, etc., and I guess some variants of AmigaOS are based on microkernels that might not make it easy to provide SMP, etc (or maybe make it easier, I dunno).

Quote from: NorthWay;567863
Let me rephrase what I said:
The Forbid/Permit semaphore is a publicly readable and writeable kernel structure.
You are free to change the definition of how the OS works, but then you are on your own. AROS (very sensibly (IMNSHO)) decided to take 3.1 with warts and all and implement that first. When they are 100% done you can add New Stuff.


I wasn't suggesting changing how it works. I think I understood what you said, and I think it is fine if Forbid()/Permit() serializes execution of any apps waiting on a Forbid(). Even with all this contention I think multi-core would be effective where needed, because apps that suck up lots of CPU wouldn't be doing it all within Forbid() sections as that would be completely terrible programming practice. And if they do that, too bad for those apps. From Amiga Classic perspective there wasn't really enough CPU available to do heavy number crunching, so I can see how apps back then could monopolize a lot of the CPU just dealing with the OS for GUI/file IO, etc. I don't think that applies as much going forward.

Also understood about AROS wanting get the basics covered first. I wasn't even suggesting adding multicore to AROS right away, just trying to say it would have to be the sandbox for the experiment if someone like myself wanted to play with it as it's the only one with code to play with.

Quote from: Trev;567876
@Karlos

Personally, I don't care whether or not my OS4 box runs classic (680x0 or PPC) software, so long-term, I'd like to see support for legacy software disappear entirely. If you wanted to keep them, though, you could keep the first 32 bits of a 64-bit address space reserved for that stuff and create as many individual or shared sandboxes as the user wants. Think VM86 and DOS under OS/2 and Windows NT.


Quote from: Trev;568007
Whose requirements are those? What is AmigaOS, exactly? The kernel? The API? The coupled hardware? Regarding new applications, isn't that the point?

If the legacy kernel is itself a process under a new kernel--one that did all the magic necessary to support the legacy kernel as a process--then barring hardware incompatibilities, how would old applications know the difference? New applications could use the same APIs we use today, minus the bits we know to be "bad."


I think the Amiga without the legacy apps wouldn't be too interesting to me. My vision of an Amiga box going forward is something that can be all things Amiga, including historical, with as much modernization of things as possible as well. I don't really care how it does this, running on some unix variant kernel, through emulation, WINE-style, etc., though the better/faster/more compatible it runs the better it is IMO. I think in the end the OS X model is probably where it needs to go. Obviously that might be difficult to get the resources for, no idea how hard that is.

Quote from: hardlink;567944
The 'original' Los Gatos Amiga crew were very much aware of the problems related to the 1983-1985 design decisions, and tried to apply what they learned in their next design, the 3DO operating system. I don't know if they made it SMP friendly or not, but it suffered the same ultimate fate as Amiga.


Heh, I am probably one of the rare few who actually developed for the 3DO M2. It's funny because at the time I had no clue there was any kind of Amiga connection. I didn't learn about the people behind Amiga until the last year when I got back into it since that info was scarce in the pre-internet world that my Amiga days existed in before. I've since learned that I previously crossed paths with a few people and techs related to Amiga. Would have been nice to know at the time as I would have got a kick out of it and maybe brought it up.

The M2 seemed quite elegant to program for. It was quite polished for where it was in development. I think because of this I don't remember much about the system. I had to go to wikipedia and look up that it was indeed a dual core power PC box, so it suported SMP! That probably would have messed up programmers pretty good at that time - maybe not a great design decision. The audio DSP did also make the system AMP =). I remember you had to cobble together a bunch of fortran authored objects to create a plugin/signal path. It seemed pretty advanced at the time, hard to believe it even worked, but it did! So there you go, the M2 had both SMP and AMP, which makes it somewhat topical to this thread. =) No idea about the original 3DO.
 

Offline Trev

  • Zero
  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show only replies by Trev
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #63 on: July 06, 2010, 01:42:57 AM »
Quote
I think in the end the OS X model is probably where it needs to go.

Can you be more specific? Apple dropped support for the classic environment after 10.5, and it was never supported on Intel Macs. I expect Apple will drop Rosetta once all major developers have made the switch to Intel. (Are there any major PowerPC developers left?)
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #64 on: July 06, 2010, 03:20:40 AM »
The OS X model makes sense. Building a new Workbench on a Linux kernel makes sense. That is precisely why it will be opposed tooth and nail and eventually abandoned.  Anyone who had any sense left the community years ago.  The voices that seriously think that there are millions that want a '90s OS on very expensive low end dead end hardware are in control...
[SIGPIC][/SIGPIC]

What we\'re witnessing is the sad, lonely crowing of that last, doomed cock.
 

Offline obscurepanic

  • Jr. Member
  • **
  • Join Date: May 2009
  • Posts: 52
    • Show only replies by obscurepanic
Re: Why is SMT (multicore) support hard for Amiga OS?
« Reply #65 on: July 13, 2010, 08:03:44 AM »
AmigaOS is still a non-mainstream computer operating system. I wouldn't particularly say it's a hobby OS because it's an obscure term IMO.

I don't think there is a need for the multicore support. I'm going to order a new Amiga computer in Asia in the near future and I don't want any price hike on the hardware just because of the multicore support with a more expensive multicore CPU. :(