home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / sys / amiga / hardware / 14511 < prev    next >
Encoding:
Text File  |  1992-08-25  |  3.7 KB  |  72 lines

  1. Newsgroups: comp.sys.amiga.hardware
  2. Path: sparky!uunet!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!eagle!bach.lerc.nasa.gov!fsset
  3. From: fsset@bach.lerc.nasa.gov (Scott Townsend)
  4. Subject: Crazy Multiprocessing Idea
  5. Message-ID: <1992Aug25.172659.7639@eagle.lerc.nasa.gov>
  6. Sender: news@eagle.lerc.nasa.gov
  7. Nntp-Posting-Host: bach.lerc.nasa.gov
  8. Organization: NASA Lewis Research Center [Cleveland, Ohio]
  9. Distribution: na
  10. Date: Tue, 25 Aug 1992 17:26:59 GMT
  11. Lines: 59
  12.  
  13. Warning -- half-baked idea below.  I welcome you're comments.
  14.  
  15. Though I'm not a 'power' Amiga user, there have been times when I could
  16. use some significant amounts of extra capability.  Doing system coding for
  17. a parallel processor here at work gave me an idea that _might_ be applicable
  18. to the Amiga.  I'm curious what others out there think, who may have more
  19. experience with apps that might want multiprocessing power (say ray-traced
  20. animations, etc)
  21.  
  22. The basic scheme is to have one or more processor boards with local memory
  23. sitting on the Zorro bus (_not_ coprocessor bus)  Maybe a 68040 with 4+ megs
  24. of RAM which sits in the Zorro memory space.  There should also be at least
  25. one interrupt from a slave processor to the host (i.e. the 68030 in an
  26. A3000) and an interrupt going back the other way.  So we've got the normal
  27. Amiga CPU being used as a host or front-end processor to one or more
  28. slave processors with local memory, and a method to signal between them.
  29.  
  30. Next, for software.  The host would set up each slave with the standard Exec
  31. style library vectors (address 4 would be mapped special on the slaves).
  32. These vectors would jump to a simple routine which sent an interrupt to the
  33. host along with the parameters required for whatever library call was being
  34. made.  The host, upon fielding the interrupt, would signal a standard
  35. process to actually execute the call.  Upon completion, this front-end
  36. process would send the results back to the respective slave with an interrupt
  37. which would let the vectored library routine in the slave pick up the
  38. return value(s) and return to the slave application.  Essentially a remote
  39. procedure call from the slave to the host.
  40.  
  41. I've implemented something like this for a parallel machine here at work.
  42. The individual 88000 processors do the number crunching and use an SGI UNIX
  43. box (via an RPC like mechanism) for file & device I/O.
  44.  
  45. What I like about this scheme for the Amiga is that it could work without
  46. having to change any Commodore system software or application software (*).
  47. Anything which requires synchronization between processes/tasks is handled
  48. by the front-end process.  (this might become a choke-point, depending upon
  49. the application(s) running on the slave(s))  Note that you might need to
  50. perform some special cache management for the processors to see each others
  51. updates, but that should be able to remain hidden within the RPC scheme.
  52.  
  53. (*) only applications which access system resources strictly through standard
  54.     library routines would work.  But the applications I can imagine really
  55.     needing multiprocessing would normally have a 'background' processing
  56.     mode which simply sat reading data, crunching, and then writing results.
  57.  
  58. While not as slick as having a symmetric multiprocessing Exec, I think this
  59. approach is quite doable.  What I don't know is how many applications out there
  60. would actually benefit from it.  I would imagine animation work would be
  61. helped quite a bit, but I haven't done much.  
  62.  
  63. So what do you think?
  64.  
  65. (I know this isn't a unique idea, but I haven't seen it tossed-around in this
  66.  group so I thought I'd bring it up)
  67.  
  68.  
  69. -- 
  70. Scott Townsend,  Sverdrup Technology Inc.  NASA Lewis Research Center Group
  71. fsset@bach.lerc.nasa.gov
  72.