[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: Conflicting Priorities in occam



     Barry Cook wrote:
     
"1) PRI ALT is a way of declaring an "urgent" channel
     
2) Except that if the process receiving the message is low priority, then
  "urgent" may take a long time to be received."
  
  -----------------------------------------------------------
  
  
  My top level interpretation of the PRI ALT and PRI PAR issues is the 
  following:
  
  1) PRI ALT is necessary (or at least useful, and apparently free of unusual 
  problems) to express ordering preferences. It seems to be safely usable in all 
  cases (hardware or software, uniprocessor or multiprocessor), since its scope 
  is always local to a single thread of control on a single processor, whether 
  hardware or software.
  
  and 
  
  2)PRI PAR is a very difficult thing to get right, since it reflects the desire 
  to share a processor resource, normally a very implementation-dependent issue. 
  Except for control of resource sharing I see no good reason to support it. 
  Unfortunately, controlling the effects of resource sharing is a critical issue 
  in concurrent real time systems 
  
  
  
  The resource sharing issue would ideally be kept independent of the design of 
  correctly functioning programs. With a sufficient total quantity of available 
  processing resources, whether hardware or software, a given correctly- 
  functioning concurrent program should be mappable without change. 
  
  Historically, resource issues have been handled outside the scope of the 
  concurrent program. Resource sharing is typically handled with process 
  priorities (and inheritance) on uniprocessors. Little observable success has 
  been achieved in dealing with resource sharing across multiprocessors.
  
  So, I see process to processor distribution (mapping) as the way that hardware 
  processes are joined to timing specifications. A unified framework would 
  certainly be welcome, but I don't think that PRI PAR alone meets the 
  requirements here. The priorities assigned would probably need to be local for 
  efficiency, and that of course depends on which concurrent process are mapped 
  where.
  
  Bottom line: I see two independent areas fcr real time program specification: 
  logical (consisting of occam including PRI ALT, but without PRI PAR), and 
  temporal (relating processor performance capabilities and the process mappings 
  to the timing requirements placed upon the logical design). PRI PAR styled 
  priority functionality would be "buried" inside the runtime support package 
  for a given as-mapped system. That is, the need for priority is a side-effect 
  of meeting the timing requirements of the concurrent program on certain 
  processors.
  
  Jim
  
  -------------------------------
  James Wolffe
  Sr Member Technical Staff
  Northrop Grumman Norden Systems
  Melville MY USA