| M.L. Scott, T.J. LeBlanc, and B.D. Marsh. "Design Rationale for Psyche, a General-Purpose Multiprocessor Operating System", in Proceedings of the 1988 International Conference on Parallel Processing, pp. 255-262, 1988. |
....and inter process communication. These abstractions can be composed to build user level servers that implement common services such as file systems, processes, and virtual memory. Examples of micro kernel architectures include Mach [1] Chorus [12] Amoeba [35, 45] V [10] Choices [9] Psyche [42], L3 L4 [28, 29] and Arena [34] The most notable effect of the micro kernel design is to separate the implementation of the system into smaller, more manageable pieces in the form of the kernel and the user level servers. This arrangement greatly improves the modularity of the system and allows ....
M.L. Scott, T.J. LeBlanc, and B.D. Marsh. "Design Rationale for Psyche, a General-Purpose Multiprocessor Operating System", in Proceedings of the 1988 International Conference on Parallel Processing, pp. 255-262, 1988.
....to deal with such preemption. This includes upcalls that notify the application of certain events that might effect its scheduling decisions, such as blocking and unblocking in kernel calls, timer expiration, or program faults. Examples include scheduler activations [20, 49] and the Psyche system [508, 390], and are described in more detail in Section 4.4.2. The problem with this approach is that it violates the layered design of the system by creating a tight coupling between the kernel and the user level runtime system 39 [562, p. 184] This adds complexity to the implementation and reduces ....
....arriving message causes some process to rollback, such that its virtual time becomes earlier than that of the currently running process, it will preempt the current process. Local queues have also been used in shared memory systems, such as StarOS on CM [228, chap. 6] Chrysalis [352] and Psyche [508, 510] on the BBN butterfly, EMBOS on Elxsi systems [498, 436] the Fujitsu AP1000 array processor [275] PUMA [613] and the EMMA2 system [26] MEMSY, which has memory modules shared by pairs of PEs, also uses local queues [270] Some architectures support a local queue and context switching in ....
[Article contains additional citation context not shown here]
M. L. Scott, T. J. LeBlanc, and B. D. Marsh, "Design rationale for Psyche, a general-purpose multiprocessor operating system". In Intl. Conf. Parallel Processing, vol. II, pp. 255--262, Aug 1988.
....to deal with such preemption. This includes upcalls that notify the application of certain events that might effect its scheduling decisions, such as blocking and unblocking in kernel calls, timer expiration, or program faults. Examples include scheduler activations [13, 32] and the Psyche system [305, 234]. The problem with this approach is that it violates the layered design of the system by creating a tight coupling between the kernel and the userlevel runtime system [335, p. 184] This adds complexity to the implementation and reduces portability. Finally, it should be noted that using a ....
M. L. Scott, T. J. LeBlanc, and B. D. Marsh, "Design rationale for Psyche, a general-purpose multiprocessor operating system". In Intl. Conf. Parallel Processing, vol. II, pp. 255--262, Aug 1988.
....can easily become a serial bottleneck. Moreover, in a NUMA architecture, it is difficult to take advantage of the memory structure. At the other extreme is local scheduling with each processor maintaining it own local workpile, and the activities are mapped to processors via program command [23]. The advantages are numerous. At the system level, local queues are considered more efficient because activities do not move from one board to another. Thus state information such as the activity s stack is always local and does not have to be copied. Local queues also reduce contention for ....
M. L. Scott, T. J. LeBlanc, and B. D. Marsh, "Design rationale for Psyche, a generalpurpose multiprocessor operating system". In Intl. Conf. Parallel Processing, vol. II, pp. 255--262, Aug 1988.
....we intend to do a more detailed analysis of our protocols and strategies, using a large set of user applications. Also, we will look at the differences and resemblances between protocols for replication and coherence protocols for CPU caches [18, 27] non uniform memory access (NUMA) architectures [28, 29], file caches [30, 31, 32] and distributed database systems [14] Based on this analysis, we will try to improve our implementations. Our model has several advantages over other models based on logically shared data. It provides a higher level of abstraction and, in many cases, is more efficient. ....
M.L. Scott, T.J. Leblanc, and B.D. Marsh, "Design Rationale for Psyche, a GeneralPurpose Multiprocessor Operating System," International Conference on Parallel Processing, St. Charles, Ill., pp. 255-261 (Aug. 1988).
....same address for the same data [16] SunOS requires shared pages to be aligned in virtual space on extremely large boundaries (at least the size of the largest cache) so that aliases will map to the same cache line [10, 24] 1 . Single address space operating systems such as Opal [7, 8] or Psyche [45] solve the problem by eliminating the need for virtual address aliasing entirely. In a single address space all shared data is referenced through global addresses; as in OS 2, this allows pointers to be shared freely across process boundaries. Protection bit modification in virtual caches can also ....
....segments in and out of its working set as necessary. This type of windowing mechanism is used on the PA RISC [27] Shared memory. The sharing mechanism is defined by the page table. One can simplify virtual cache management by sharing memory via global addresses, a scheme used in many systems [7, 8, 16, 18, 20, 21, 45], and shown to have good performance. Alternatively, one could share memory through virtual address aliasing. Fine grained protection. One can maintain protection bits in the cache, or in an associated structure like a TLB. If one could live with protection on a per segment basis, one could ....
M. L. Scott, T. J. LeBlanc, and B. D. Marsh. "Design rationale for Psyche, a general-purpose multiprocessor operating system." In Proc. 1988 International Conference on Parallel Processing, August 1988.
....goal of developing intelligent robots. Using a hardware architecture in which a large scale multiprocessor controls a behavioral system with vision and manipulation capabilities, we propose to build a software environment for real time systems based on the Psyche multiprocessor operating system [11, 12]. The distinguishing characteristic of our approach is an emphasis on adaptability in a dynamic real world environment. We plan to develop a programming environment, consisting of an operating system, library packages, and other software tools, to support the construction of adaptable real time ....
M. L. Scott, T. J. LeBlanc and B. D. Marsh, "Design Rationale for Psyche, a GeneralPurpose Multiprocessor Operating System," Proc. 1988 International Conference on Parallel Processing, St. Charles, IL, Aug 1988, pp. 255-262.
....in section 2, and a more detailed rationale and comparison to related work in section 3. We discuss implementation details in section 4, provide examples of the use of our tools in section 5, and conclude in section 6. 2. Overview Our emphasis on shared memory has its roots in the Psyche project [51, 52]. Our focus in Psyche was on mechanisms and conventions that allow processes from dissimilar programming models (e.g. Lynx threads and Multilisp futures) to share data abstractions, and to synchronize correctly [37 40, 53] Fundamental to this work was the assumption that sharing would occur both ....
M. L. Scott, T. J. LeBlanc and B. D. Marsh, "Design Rationale for Psyche, a GeneralPurpose Multiprocessor Operating System," Proceedings of the 1988 International Conference on Parallel Processing, V. II - Software, 15-19 August 1988, pp. 255-262.
....Hemlock in section 2, and a more detailed description of its linkers in section 3. We describe example applications in section 4, discuss some semantic subtleties in section 5, and conclude in section 6. 2. An Overview of Hemlock Our emphasis on shared memory has its roots in the Psyche project[19, 20]. Our focus in Psyche was on mechanisms and conventions that allow processes from dissimilar programming models (e.g. Lynx threads and Multilisp futures) to share data abstractions, and to synchronize correctly[14, 21] The fundamental assumption of this work was that sharing would occur both ....
M. L. Scott, T. J. LeBlanc, and B. D. Marsh, "Design Rationale for Psyche, a GeneralPurpose Multiprocessor Operating System," Proceedings of the 1988 International Conference on Parallel Processing, vol. II - Software, pp. 255-262, St. Charles, IL, 15-19 August
....of examples to illustrate how different parallel programming models can be built on top of Psyche. In the following section we overview the Psyche kernel interface, explaining how it differs from more conventional systems. Additional details and design rationale can be found in other papers [24, 25]. Using two different models as examples (lightweight threads in a single shared address space and heavyweight processes that communicate with messages) we show how dissimilar models can be implemented on top of Psyche. We then describe the implementation of a parallel data structure that can be ....
M. L. Scott, T. J. LeBlanc and B. D. Marsh, "Design Rationale for Psyche, a General-Purpose Multiprocessor Operating System," Proceedings of the 1988 International Conference on Parallel Processing, V. II - Software, 15-19 August 1988, pp. 255-262.
....5. The implementation of our mechanisms, while not of production quality, nonetheless supports some useful performance experiments; we report on these in section 6. Our conclusions are presented in section 7. 2. Rationale Our approach was developed as part of the Psyche parallel operating system [19 21], running on the BBN Butterfly Plus multiprocessor [3] The design of our thread mechanisms was heavily influenced by the need to support multi model parallel programming, the primary goal of Psyche. In particular, we have attempted to ensure that kernel assumptions about the nature of threads are ....
M. L. Scott, T. J. LeBlanc and B. D. Marsh, "Design Rationale for Psyche, a General-Purpose Multiprocessor Operating System," Proceedings of the 1988 International Conference on Parallel Processing, August 1988, pp. 255-262.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC