English Amiga Board Amiga Lore


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 08 November 2014, 17:55   #1
alewis
Monochrome and 8 bit

 
Join Date: Nov 2004
Location: Underbarrow, Gods Country
Age: 51
Posts: 579
WinUAE multi-threaded

hi, working on an iPad, which I hate* so sorry if this is a question answered elsewhere

Does WinUAE take advantage of multi-core/SMP systems, or is it single threaded? No burning issue, just curious.

*i find an iPad horrible for doing anything other than browsing. Virtual keyboards suck. Content creation is next to impossible, and entering search terms is a fight against auto-complete and fat-finger-itis!
alewis is offline  
AdSense AdSense  
Old 08 November 2014, 18:47   #2
spiff
Oh noes!
spiff's Avatar
 
Join Date: Mar 2003
Location: Neverland
Posts: 659
A little bit

Interview with Toni Wilen
(Interview realized by David Brunet - J


- What about support for the multi-core x86 ?

Very difficult. For compatible modes (like A500), practically impossible, if you want any performance gains. Chips in Amiga "talk" to each other continuously, you can't have a separate thread for chips, because continuous inter-chip messaging would kill the performance.

Some "post"-processing parts could be moved to other threads, but it isn't easy, at least if you don't want to lose performance on single core CPUs... (not interested, not worth the trouble, at least I won't waste my time for free). Also, in theory, JIT CPU emulation could be moved to a separate thread, but again, I am not interested in possible performance gains (in worst case, the result is slower performance if there is too much messaging between threads...).

Some parts of emulation have always been multithreaded, e.g. the filesystem. I am also trying to move the RTG Amiga VRAM buffer to real display copy/color space translation part to a separate thread, which should be an easy way to increase RTG performance.

Bug-free multithreaded coding is troublesome; it is all too easy to introduce bugs that will be extremely difficult to debug. It will be even more complex if it still needs to run on a single core CPU without the extra threads.
spiff is offline  
Old 08 November 2014, 19:57   #3
alewis
Monochrome and 8 bit

 
Join Date: Nov 2004
Location: Underbarrow, Gods Country
Age: 51
Posts: 579
Thanks Spiff.

Will keep an eye on future developments re RTG performance. My interest in UAE is simply to run Pagesetter, as I don't have a decent PC DTP program.

Though, it's nice emulating my old Amigas, and the hardware I didn't have!
alewis is offline  
Old 08 November 2014, 21:40   #4
ma693541
Computer Wizard

ma693541's Avatar
 
Join Date: Aug 2007
Location: Ramberg/Norway
Posts: 573
As i know for PPC emulation in WinUAE, you will need a DUAL-Core or better CPU on the host machine.
ma693541 is offline  
Old 09 November 2014, 15:18   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,518
Threading system used in current PPC CPU should be technically possible with m68k CPU and should be possible without too much slowdown even when program does lots of IO. (Originally used messaging system is gone, it was too slow and complex). There is also possibility it only increases mainly CPU/memory benchmarks and nothing else..

But unfortunately it would be 100% incompatible with all "UAE" expansions (uaehf.device, uaegfx, bsdsocket etc... in other words all "software" emulated expansions)

Rewriting current m68k<>native hook/trap system will be really complex task. Too complex.
Toni Wilen is online now  
Old 09 November 2014, 16:13   #6
BigFan
Registered User

BigFan's Avatar
 
Join Date: Feb 2014
Location: Germany
Posts: 261
Wouldn't be sufficient anyway.

Code on 68K has to be re-written too. A fast processor is quite speedy to emulate 040 at 500 MHz. Until Jit makes use of multi-threading, there isn't a big perfomance boost in multi-threaded uae. Yet, not enough to pay off the work you put in.
BigFan is offline  
Old 09 November 2014, 16:52   #7
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,518
Quote:
Originally Posted by BigFan View Post
Wouldn't be sufficient anyway.

Code on 68K has to be re-written too. A fast processor is quite speedy to emulate 040 at 500 MHz. Until Jit makes use of multi-threading, there isn't a big perfomance boost in multi-threaded uae. Yet, not enough to pay off the work you put in.
You are correct that it won't increase max raw speed (where CPU only does calculations and accesses only fast RAM) but it would keep CPU speed fast even when other parts of emulation need more CPU time. Also it would allow JIT to run longer blocks without causing syncronization problems. (Now JIT and other parts of emulation need to alternate, possibly 1000s of times / second)

Could be fun experiment some day (when not caring about UAE expansion incompatibility)...

There won't be single core CPU emulators that would take advantage of multiple cores anyway. (At least I can't see how it would be possible, every instruction depends on previous instruction = can't be parallelized)
Toni Wilen is online now  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Multi Zocker mai HOL data problems 0 04 December 2009 11:08
Multi-Disk Games in WinUAE noel411 New to Emulation or Amiga scene 6 12 September 2007 19:44
MULTI mouse HELP :) for winUAE .8.24 deddie support.WinUAE 9 15 October 2005 00:35
Multi-Assign Shoonay support.Apps 17 12 April 2005 15:16
Multi-session cds in WinUAE... th4t1guy support.WinUAE 5 18 July 2003 17:34

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 22:16.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.14194 seconds with 11 queries