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

  1. Newsgroups: comp.realtime
  2. Path: sparky!uunet!cs.utexas.edu!sun-barr!sh.wide!wnoc-tyo-news!news.u-tokyo.ac.jp!ccut!s.u-tokyo!is.s.u-tokyo!jeff
  3. From: jeff@is.s.u-tokyo.ac.jp (Jeff McAffer)
  4. Subject: Re: novel idea?
  5. References: <erempel.726720401@sol.UVic.CA> 
  6.     <1993Jan11.171954.1@wombat.newcastle.edu.au> <C0onL4.2qE@newcastle.ac.uk>
  7. Nntp-Posting-Host: water
  8. Message-ID: <1993Jan12.84450.12190@kei.is.s.u-tokyo.ac.jp>
  9. Reply-To: jeff@is.s.u-tokyo.ac.jp
  10. Organization: University of Tokyo / Object Technology International
  11. In-Reply-To: Adrian.Waterworth@newcastle.ac.uk's message of 11 Jan 93 
  12.     09:27:03 GMT
  13. Sender: news@kei.is.s.u-tokyo.ac.jp (Usenet News System)
  14. Date: Tue, 12 Jan 1993 08:44:45 GMT
  15. X-Bytes: 3081
  16. Lines: 64
  17.  
  18. In article <C0onL4.2qE@newcastle.ac.uk> Adrian.Waterworth@newcastle.ac.uk (Adrian Waterworth) writes:
  19.  
  20.  >      I'm not sure that I entirely agree. In particular, why should
  21.  >it be necessary "to re-compile the source code each time you switched
  22.  >processors"? Assuming that enough memory or on-line storage is
  23.  >available, what's wrong with having two _pre-compiled_ versions of the
  24.  >task (one for each processor)? The task switching problem then becomes
  25.  >a simple case of suspending on one processor and loading/running on the
  26.  >other. I can't think of any references straight off the top of my head,
  27.  >but I know that this kind of technique has long been proposed (and
  28.  >probably used by now) as a means of supporting load-balancing and
  29.  >process migration in heterogeneous distributed systems.
  30.  
  31. Several people have expressed ideas similar to this.  That is, have
  32. the same source compiled for all the different machines and just task
  33. switch.  I agree that this will work but it is too particular a solution.
  34.  
  35. It would be better to look at the bigger picture.  For instance, from
  36. the Client/Server view, some service is being asked for.  The i860 is
  37. in the middle of supplying the service and we decide that it would be
  38. better done on the 040 (for whatever reason).  In a general (read
  39. heterogenous) computing environment, the 040 not only has different
  40. instruction codes but may also have a different memory architecture,
  41. OS, software (application) structure...
  42.  
  43. Since we are going to switch the task to the 040 we assume that the
  44. 040 can supply the required service.  There is no strict requirement
  45. for it to provide it with the same task recompiled for a different
  46. machine.  In fact, there is no real requirement that it even supply
  47. the service in the same way (implementationally).  In fact, it need
  48. not even supply the service at all!  I just needs to know how to get
  49. the service done.  That may mean shipping it off to yet another
  50. processor.  Who knows.  All we need to know is that it can do it and
  51. it will cost X to get it going.
  52.  
  53. The factors involved are:
  54.  
  55. 1) saving work already done before the switch (not necessary but may
  56. be nice)
  57.  
  58. 2) in cooperation with #1, a finer granularity of services (tasks) so
  59. we can continue a service given the intermediate results.
  60.  
  61. 3) deciding when it will be better to switch a task to another
  62. machine.
  63.  
  64. 4) determining appropriate service (task) on the target machine to use
  65. to continue the task.  This may even require the starting of a new
  66. task on the target.
  67.  
  68. #3 is the most difficult.  You need some way of measuring the costs of
  69. both switching and not switching.  if the ratio is less than 1 then a
  70. switch would help.  You may require it to be < 0.8 of something before
  71. switching.
  72.  
  73. Rather than striving for homogeneity at the compiled (machine, p,
  74. byte...) code level or a direct and identity mapping amongst tasks in
  75. a system we should be looking for consistency and generality at the
  76. task/service level.  A task is a task is a task.  If it does what you
  77. want, use it!
  78.  
  79. --
  80. ato de, |m        -- spice is the irony of life!   thks mm
  81.