| C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Asheville, NC, December 1993. |
....will play an increasingly important role in many areas of computer science. Multithreading is a key structuring technique for programs that manipulate information in modern distributed computing environments. Important examples of multithreaded software include sophisticated user interface systems [13, 4, 26] and responsive multithreaded servers [23] Programmers also use multithreaded software to exploit the capabilities of smallscale shared memory multiprocessors, a major source of computational power for scientific, engineering and information intensive computing. Unfortunately, problems such as ....
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Asheville, NC, December 1993.
.... such as high performance web servers that execute on multiprocessors, to hide the latency of events such as fetching remote data, for parallel programming on commodity SMPs, to build sophisticated user interface systems [18] and as a general structuring mechanism for large software systems [12]. But multithreaded programs present a challenging problem for a compiler or program analysis system: the interactions between multiple threads make it difficult to extend traditional program analysis techniques developed for sequential programs to multithreaded programs. A straightforward ....
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Asheville, NC, December 1993.
....time is the time during which the user is neither making requests of the system nor waiting for the system to respond. Wait time is the time when the user is actively waiting for the system to do something, which is equivalent to the duration of interactive episodes in our studies. Hauser et al. [20] have approached the role of threads in interactive systems by analyzing the design patterns in two threaded object oriented environments: Cedar and GVX. Their analysis focuses on the use of threads for program structuring instead of runtime statistics. The authors identify ten different paradigms ....
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using Threads in Interactive Systems: A Case Study. Proceedings of the 14th ACM Symposium on Operating Systems Principles, pp. 94-105, December 1993.
.... threads of control for many reasons: to build responsive servers that communicate with multiple parallel clients [15] to exploit the parallelism in shared memory multiprocessors [5] to produce sophisticated user interfaces [16] and to enable a variety of other program structuring approaches [11]. Research in program analysis has traditionally focused on sequential programs [14] extensions for multithreaded programs have usually assumed a block structured, parbegin parend form of multithreading in which a parent thread starts several parallel threads, then immediately blocks waiting ....
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Asheville, NC, Dec. 1993.
....that shapes the field is the reason for using multiple threads and the resulting data usage patterns of the program. In this section we focus on activity management programs, or programs that use threads to manage a set of conceptually parallel activities such as interacting with a remote client [10, 49]. Because of the loose connection between the computations of the threads, these programs typically use an unstructured form of concurrency in which each thread executes independently of its parent thread. These programs typically manipulate several different kinds of data with different ....
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Asheville, NC, Dec. 1993.
....we point out routes for multiprocessor extensions. We also discuss a number of nonblocking synchronization mechanisms. In their SYNTHESIS work, Massalin and Pu [16] introduced the concept of a single server thread (a variant of the serializer pattern first described by Hauser and associates [10]) which serializes complex object updates that cannot be implemented in a nonblocking fashion. In this paper, we present a simple modification to the single server scheme that makes it truly nonblocking and useful for use in real time systems. Furthermore, we show that the singleserver mechanism ....
....incurring overhead for maintaining the lock. Also, on multiprocessors, the lock must be set even when reading from shared data structures because otherwise readers can see intermediate states. Another technique to facilitate complex object updates is the serializer or single server approach [10]. It uses a single server thread to serialize operations. Other threads enqueue messages into the server thread s work queue to request execution of operations on their behalf. If the server thread runs at a high priority, it does not block the requesting thread any more than if it had executed ....
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using threads in interactive systems: A case study. In 14th ACM Symposium on Operating System Principles (SOSP), pages 94--105, Asheville, NC, December 1993.
....Parallel computing will continue to play a crucial role in delivering maximum performance for scientific and engineering computations. The increasing use of multiple threads as an effective program construction technique (used, for example, in user interface systems and multi threaded servers [Hauser et al. 1993; Cardelli and Pike 1985; Reppy 1992] demonstrates that parallelism is not just for performance it can also increase the expressive power of a language. This research was supported in part by an Alfred P. Sloan Research Fellowship. 2 Delta Efficient synchronization is one of the ....
HAUSER, C., JACOBI, C., THEIMER, M., WELCH, B., AND WEISER, M. 1993. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles. Asheville, NC.
....an object manager, which is a heavyweight process and manages a collection of objects having the same functional abstraction. Such a manager process may be multithreaded to service multiple requests concurrently. Thread Usage Paradigms: There are number of common usages of the thread construct. Hauser et al. 1993] have described different paradigms of thread usage. Some of the important usages include exploiting parallelism, defer work, deadlock avoidance, pumps, slack processes, and rejuvenation. The use of threads for exploiting parallelism on multiprocessors is most obvious in this list. In distributed ....
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using Threads in Interactive Systems: A Case Study. In Proceedings of the 14th ACM Symposium on Operating System Principles, pages 94--105, December 1993.
....it is not common, since we only force a context switch when the event receiving process has used less CPU that the running process, making it probable that it earns more effective tickets than the preempted processes. 3. 2 Kernel Priorities Priority inversion [Lampson Redell 1980, Birrell 1989, Hauser et al. 1993] is a well documented problem in concurrent systems. Consider the following situation. A low priority process acquires a non preemptable kernel resource such as a lock. A medium priority process begins running after a high priority process blocks waiting for the kernel lock to be released. The ....
....have a chance to use its pages before they are evicted. Waldspurger Weihl 1994] explains that proportionalshare resource management can be applied across diverse resources but does not provide an algorithm or policy by which an entire system can be scheduled toward optimal system performance. [Hauser et al. 1993, Nieh et al. 1994] suggest that adjusting priorities (tickets) toward higher level scheduling goals is very difficult or intractable. We find the pursuit of more intelligent system wide resource schedulers an exciting research question. We envision a framework by which a process registers its ....
Hauser, C., Jacobi, C., Theimer, M., Welch, B., and Weiser, M. Using threads in interactive systems: A case study. In Proceedings of the 14th ACM Symposium on Operating Systems Principles, pp. 94--105, December 5--8 1993.
....manage machine resources within the kernel [5] affording clients only crude control through ad hoc interfaces that inhibit modularity. For example, dynamic priority schedulers are difficult to understand, provide poor control over service rates, and violate modular abstraction principles [2, 6, 7, 16]. This paper advocates a radically different approach to computational resource management. Tickets are first class objects that represent resource rights, allowing clients to express a wide range of resource management policies. Currencies abstract collections of tickets to permit modular ....
....6. Related Work As mentioned earlier, traditional operating systems provide only crude control over resource management. For example, dynamic priority schedulers, which are the dominant paradigm for managing processor time in modern operating systems, are complex, ad hoc, and hard to understand [2, 7, 6]. Resource rights do not vary smoothly with priorities. Priority mechanisms also violate modular abstraction principles: when separately developed modules are combined, the internal priority values in each must be exposed to understand resource allocation in the resulting system. For other ....
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles, pages 94--105, Dec. 1993.
....Goals) 2 Concurrency Class 2 (Jan. 16) Faber: Monitors and messages [7, 8, 9] for next class: Text Chapter 10 (Time and coordination) Class 3 (Jan. 21) Faber: Time and RPC [10, 11] Text Chapter 5 (RPC) Class 4 (Jan. 23) Heidemann: Threads (Memory consistency intro) carry over: 12] [13, 14]. Class 5 (Jan. 28) Heidemann: DSM carry over: 15] 16, 17] Text Chapter 17 (DSM) Homework 1 given out. Photographs. 3 Distributed State Class 6 (Jan. 30) Heidemann: CATOCS [19] Text Chapter 11 (Replication) carry over from DSM: 18] Moved from next class: 22] Class 7 (Feb. 4) Faber: ....
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using threads in interactive systems: A case study. In Proceedings of the 14th Symposium on Operating Systems Principles, pages 94--105, December 1993.
....Parallel computing will continue to play a crucial role in delivering maximum performance for scientific and engineering computations. The increasing use of multiple threads as an effective program construction technique (used, for example, in user interface systems and multi threaded servers [9, 2, 15]) demonstrates that parallelism is not just for performance it can also increase the expressive power of a language. Efficient synchronization is one of the fundamental requirements of effective parallel computing. The tasks in fine grain parallel computations, for example, need fast ....
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Ashville, NC, December 1993.
....Class 0 (Jan. 7) Diagnostic exam Class 1 (Jan. 12) Introduction Overview Reading: 2, 3, 4] Class 2 (Jan. 14) design principles [5, 6, 7] Optional: Text Chapter 2 (Design Goals) Homework 1 given out. 2 Concurrency Class 3 (Jan. 21) Monitors and messages [8, 9, 10] Class 4 (Jan. 26) RPC [11, 12]. Optional: Text Chapter 5 (RPC) Class 5 (Jan. 28) DSM [13, 14] Class 6 (Feb. 2) Causality [15, 16] Homework 1 due, homework 2 given out. Class 7 (Feb. 4) ISIS and schedulers [17, 18] 3 Naming Resource Discovery Class 8 (Feb. 9) classic naming [19, 20] Class 9 (Feb. 11) Naming ....
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using threads in interactive systems: A case study. In Proceedings of the 14th Symposium on Operating Systems Principles, pages 94--105, December 1993.
....computing Many operating system services such as synchronization and scheduling, virtual memory and interprocess communication are generally important for any application requiring high performance. For example, any program that uses threads internally as a program structuring device [Hauser et al. 93] can benefit from fast synchronization [Bershad et al. 92] Any program that interacts with an operating system server can benefit from fast interprocess communication [Bershad et al. 90, Draves et al. 91] Many applications have become sensitive to the degree to which their memory access ....
Hauser, C., Jacobi, C., Theimer, M., Welch, B., and Weiser, M. Using Threads in Interactive Systems: A Case Study. In Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles, pages 94--105, December 1993.
....Class 0 (Jan. 7) Diagnostic exam Class 1 (Jan. 12) Introduction Overview Reading: 2, 3, 4] Class 2 (Jan. 14) design principles [5, 6, 7] Optional: Text Chapter 2 (Design Goals) Homework 1 given out. 2 Concurrency Class 3 (Jan. 21) Monitors and messages [8, 9, 10] Class 4 (Jan. 26) RPC [11, 12]. Optional: Text Chapter 5 (RPC) Class 5 (Jan. 28) DSM [13, 14] Class 6 (Feb. 2) Causality [15, 16] Homework 1 due, homework 2 given out. Class 7 (Feb. 4) ISIS and schedulers [17, 18] 3 Naming Resource Discovery Class 8 (Feb. 9) classic naming [19, 20] Class 9 (Feb. 11) Naming ....
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using threads in interactive systems: A case study. In Proceedings of the 14th Symposium on Operating Systems Principles, pages 94--105, December 1993.
No context found.
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Asheville, NC, December 1993.
No context found.
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Asheville, NC, Dec. 1993.
No context found.
C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth Symposium on Operating Systems Principles, Asheville, NC, Dec. 1993.
No context found.
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using threads in interactive systems: A case study. In 14th ACM Symposium on Operating System Principles (SOSP), pages 94--105, Asheville, NC, December 1993.
No context found.
Hauser, C., C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using threads in interactive systems: A case study. In SOSP'93, December 1993, pp. 94--105.
No context found.
Hauser, C et.al. Using Threads in Interactive Systems: A Case Study. 14th ACM Symposium on Operating Systems Principles, December 1993.
No context found.
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using threads in interactive systems: A case study. In Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles (SOSP), pages 94--105, Asheville, North Carolina, December 1993.
No context found.
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using threads in interactive systems: A case study. Operating Systems Review, pages 94--105, December 1993.
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