home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / realtime / 1545 < prev    next >
Encoding:
Text File  |  1993-01-11  |  3.5 KB  |  71 lines

  1. Newsgroups: comp.realtime
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!news.sei.cmu.edu!bb3.andrew.cmu.edu!crabapple.srv.cs.cmu.edu!dstewart
  3. From: dstewart+@cs.cmu.edu (David B Stewart)
  4. Subject: Re: novel idea?
  5. Message-ID: <C0pDAv.IxG.1@cs.cmu.edu>
  6. Sender: news@cs.cmu.edu (Usenet News System)
  7. Nntp-Posting-Host: ius4.ius.cs.cmu.edu
  8. Organization: The Robotics Institute, Carnegie Mellon University
  9. References: <erempel.726720401@sol.UVic.CA> <1993Jan11.171954.1@wombat.newcastle.edu.au>
  10. Date: Mon, 11 Jan 1993 18:42:17 GMT
  11. Lines: 58
  12.  
  13. In article <1993Jan11.171954.1@wombat.newcastle.edu.au> eepjm@wombat.newcastle.edu.au (Peter Moylan) writes:
  14. >In article <erempel.726720401@sol.UVic.CA>, erempel@sol.UVic.CA (Evan Rempel) writes:
  15. >> 
  16. >> I am looking for an OS (real time obviously) that has the
  17. >> ability to swap a task from one cpu to another. This is merely
  18. >> a multiprocessing system. The catch is that I want to be
  19. >> able to mix cpu's. Say a 68040 as the general, but then a i860
  20. >> running on the side for complex graphics. If the i860 becomes
  21. >> bogged down (I don't know what I would be doing to bog down the
  22. >> i860, but lets say I do) and the 68040 is sitting idle (or close
  23. >> to it) can one of the tasks that is running on the i860 be switched
  24. >> over to the 68040 to run there.
  25. >> 
  26. >> I know that the single task on the 040 would run slower than on the
  27. >> i860, but if the i860 was bogged down, the net result would
  28. >> be a system speedup.
  29. >
  30. >You must be joking.  The machine languages of these two processors
  31. >are totally different.  Would you plan to run an 860 simulator on
  32. >the 68040, or recompile the source code each time you switched
  33. >processors?  Either way, the overheads are mind-boggling.
  34. >
  35. >"Run slower" is a gross understatement.
  36.  
  37.  
  38. I don't think he is joking, and I know it is feasible, as we are working
  39. on reconfigurable systems, and the above is one possible application
  40. for our methodology.
  41.  
  42. You obviously don't transfer the binaries across.  However, it is reasonable
  43. to have the same source code module compiled for the different
  44. architectures.   That same module is then downloaded to a few different
  45. processors.  If there are a hundred processors in the system, it might
  46. not be reasonable to download the code to all of them.  However, to download
  47. it to 2 or 3 or 4 gives you at least some flexibility.
  48.  
  49. Suppose that you the module is a periodic task.  Then each cycle
  50. of the periodic task can occur on any of the processors that has that
  51. task's code downloaded.  Any state information for the task (i.e. passed
  52. along from one cycle to the next) must be stored in a shared memory
  53. segment, so that regardless of which processor the task executes on,
  54. it can obtain that state information with only a fixed (and small) amount
  55. of overhead.  The global state variable table mechanism in the
  56. Chimera Real-Time Operating System already does this, so again I know
  57. it is possible.
  58.  
  59. Instead of shooting down an idea so quickly, think about it more, and you'll
  60. realize how many possibilities you can come up with, even though they are not
  61. exactly what is described in the original idea.  Then think about the problems
  62. of each, and one of those might actually work!
  63.  
  64. ~dave
  65.  
  66. -------------------------------------------------------------------------------
  67. David B. Stewart  - email: <dstewart@cmu.edu>            The Robotics Institute
  68. snail mail:       - ECE Dept., Carnegie Mellon University, Pittsburgh, PA 15213
  69. Current Projects: - Chimera 3.0 Real-Time Operating System
  70.           - Reconfigurable Sensor-Based Control Systems
  71.