{"title":"“Don't hide power”","authors":"P. Bosch, S. Mullender","doi":"10.1145/319195.319218","DOIUrl":"https://doi.org/10.1145/319195.319218","url":null,"abstract":"A standard PC today has an I/O throughput in excess of 100MBps. It can, therefore, be used as a continuous-media server. Since PC hardware is also cheap, it is surprising that not many continuous-media servers today are built on PC hardware. This paper describes two things. First, we give a summary of I/O measurements on a 200MHz Pentium-Pro based machine. Second, we present the design and implementation of a continuousmedia server called Clockwise whose design was partially dictated by the measured characteristics of \u0000the hardware.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125011673","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Scaling and selectivity: from NSTP to SGAP","authors":"M. Day","doi":"10.1145/319195.319221","DOIUrl":"https://doi.org/10.1145/319195.319221","url":null,"abstract":"We previously designed the Notification Service Transfer Protocol (NSTP) as a general-purpose coordination mechanism for building synchronous groupware applications. We initially thought that a colleague awareness tool (colloquially, a \"buddy list\") was just another synchronous groupware application. However, as users requested more capabilities, we discovered that awareness applications have an underlying model of interaction that differs from our other, quasi-meeting, applications. In particular, we ran into problems of scaling (NSTP's model required too much unnecessary information to be distributed) and selectivity (NSTP's model did not allow fine enough control of the way information was exposed). Accordingly, we designed the Simple General Awareness Protocol (SGAP) to address the problems that arise in sophisticated awareness applications. The problem is broader than NSTP alone: the international standard T. 120 suffers from the same limitations, as does any other infrastructure built around a quasi-meeting model.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125108721","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Task set design tools for an embedded distributed control system","authors":"E. Fuchs, D. Millinger","doi":"10.1145/319195.319223","DOIUrl":"https://doi.org/10.1145/319195.319223","url":null,"abstract":"The design of an advanced distributed embedded control system, e.g., in the automotive or aerospace industry, is often approached cooperatively by a system manufacturer and several subsystem suppliers. Therefore a decomposition of the system into smaller subsystems with well-defined, stable interfaces among them must be developed. The internal design of these subsystems can then be based on the definition and the properties of the subsystem interfaces. In this paper we present the Time-Triggered Architecture (TTA) supporting such a design approach and concentrate on the design and implementation of a subsystem developed by one supplier. We propose a set of local design tools for the application developer that supports the systematic and efficient development of application tasks on top of a time-triggered operating system. 1 I n t r o d u c t i o n The design of an embedded distributed control system is often carried out by the system manufacturer in close cooperation with the subsystem suppliers, e.g., in the automotive or the aerospace industry. A well known example from the aerospace industry is the Integrated Modular Avionics (IMA) *This work was supported by the Esprit OMI Project 23396, Time-Triggered Architecture (TTA). where the modules provided by different suppliers are integrated into a cabinet by the SAFEbus [HD92] (Honeywell's implementation of ARINC 659[Inc93]). This manufacturer/supplier relationship is the main reason why we have structured the design process in the Time-Triggered Architecture (TTA)[SHS+97] into two phases and put special emphasis on the design of the interfaces between the system manufacturer and the subsystem suppliers. More information concerning the Time-Triggered Architecture can be found in the book by Kopetz [Kop97] and concerning the communication subsystem in [KG94, KHK~-97]. We will first describe the global design issues as they are the basis for the local design on which we will concentrate in the rest of the paper. The global design deals with all issues that are relevant for more than one subsystem and where the activities at the different subsystems must be coordinated to operate in a consistent and highly synchronized manner. The tool set described in this paper is based on an adapted and extended version of TRAPPER, a software engineering environment for parallel applications [SSKF95]. In Section 2 the main activities and tools required for the design of all system-level issues are briefly addressed. The main topic of this paper, the task model and the local design tools are addressed in Sections 3 and 4. The paper concludes in Section 5.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125829444","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
T. Jaeger, J. Liedtke, Vsevolod Panteleenko, Yoonho Park, N. Islam
{"title":"Security architecture for component-based operating systems","authors":"T. Jaeger, J. Liedtke, Vsevolod Panteleenko, Yoonho Park, N. Islam","doi":"10.1145/319195.319229","DOIUrl":"https://doi.org/10.1145/319195.319229","url":null,"abstract":"","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126726758","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Supporting storage and retrieval of computer and human activity","authors":"M. D. Spiteri, J. Bates","doi":"10.1145/319195.319236","DOIUrl":"https://doi.org/10.1145/319195.319236","url":null,"abstract":"This paper describes the architecture we designed and constructed to support the storage and retrieval of human and computer activity. We collect information about activities occurring in the real physical world as well as information relating to activities occurring within a computer environment. Important information regarding such activities is digitally represented through paramertised asynchronous events, denoting, for example, workstation operations like manipulation of files and launching of applications, or tracking of users' physical movements, usage of the telephone system, taking books from the library, etc. Our past experience has demonstrated how using events as the glue to build distributed active systems simplifies the construction of complex applications, and enables legacy stand-alone components to be rapidly integated within a larger collaborative environment. Our motivation for storing events is that events can represent indexing points into activities and enable an activity to be reconstructed or replayed. This is particularly useful for capture of online collaboration, automated diary generation, memory recollection environments, and novel scenarios like visualisation and analysis of user mobility. We have designed and authored an event repository architecture that provides powerful search and retrieval facilities, enabling extraction of behaviour patterns, searching for simple and composite occurrences, and replay of stored sequences.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129764348","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"SPINE: a safe programmable and integrated network environment","authors":"M. Fiuczynski, R. Martin, Tsutomu Owa, B. Bershad","doi":"10.1145/319195.319197","DOIUrl":"https://doi.org/10.1145/319195.319197","url":null,"abstract":"The emergence of fast, cheap embedded processors present s the opportunity to execute code directly on the network interface. We are developing an extensible execution environment, called SPINE, that enables applications to compute directly on the network interface This structure allows network-oriented applications to communicate with other applications executing on the host CPU, peer devices, and remote nodes with low latency and high efficiency. 1 I n t r o d u c t i o n Many I/O intensive applications such as multimedia client, file servers, host based IP routers often move large amounts of data between devices, and therefore place high I/O demands on both the host operating system and the underlying I/O subsystem. Although technology trends point to continued increases in link bandwidth, processor speed, and disk capacity the lagging performance improvements and scalability of I/O busses is increasingly becoming apparent for I/O intensive applications. This performance gap exists because recent improvements in workstation performance have not been balanced by similar improvements in I/O performance. The exponential growth of processor speed relative to the rest of the I/O system, though, presents the opportunity for application-specific processing to occur directly on intelligent I/O devices. Several network interface cards, such as the Myricom's LANai, Alteon's ACEnic, and I20 systems, provide the infrastructure to compute on the device itself. With the technology trend of cheap, fast embedded processors (e.g., StrongARM, PowerPC, MIPS) used by intelligent network interface cards, the challenge is not so much in the hardware design as in a redesign of the software architecture needed to match the capabilities of the raw hardware. We are working to move application-specific functionality directly onto the network interface, and thereby reduce I/O related data and control transfers to the host system to improve overall system performance. The resulting ensemble of host CPUs and device processors forms a potentially large distributed system. In the context of our work, we are exploring how to program such a system at two levels. At one level, we are investigating how to migrate application functionality onto the network interface. Our approach is empirical: we take a monolithic application and migrate its I/O specific functionality into a number of device extensions. An extension is code that is logically part of the application, but runs directly on the network interface. At the next level, we are defining the operating systems interfaces that enable applications to compute directly on an intelligent network interface. Our operating system services rely on two technologies. First, applications and extensions communicate via a message-passing model based on Active Messages [5]. Second, the extensions run in a safe execution environment, called SPINE, that is derived from the SPIN operating system [1]. Applications that will benefit from this s","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130377655","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","authors":"P. Guedes, J. Bacon","doi":"10.1145/319195","DOIUrl":"https://doi.org/10.1145/319195","url":null,"abstract":"The design and performance of a scable ORB architecture for CORBA asynchronous messaging.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132744677","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An asynchronous distributed systems platform for heterogeneous environments","authors":"N. Davies, A. Friday, S. Wade, G. Blair","doi":"10.1145/319195.319206","DOIUrl":"https://doi.org/10.1145/319195.319206","url":null,"abstract":"Since its introduction over a decade ago the tuple space paradigm has attracted interest from the distributed systems community. Despite being developed for shared memory parallel architectures, the simplicity and elegance of the model has led researchers to attempt to realise it in loosely coupled distributed environments. This paper argues that these attempts have largely failed due to their selection of inappropriate target domains, lack of multicast support and failure to operate in heterogeneous environments. We present the design and implementation of a new tuple space platform engineered using IP multicast. The platform is designed to support complex distributed applications such as groupware and mobile applications, operates over a range of end-systems and networks and offers performance comparable to existing RPC based platforms even in tests designed to benefit the RPC paradigm.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115691362","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Replicated invocations in wide-area systems","authors":"A. Bakker, M. Steen, A. Tanenbaum","doi":"10.1145/319195.319215","DOIUrl":"https://doi.org/10.1145/319195.319215","url":null,"abstract":"In many object-oriented distributed systems a client invokes a method of a distributed object through a call on a local proxy of that object. If a client is replicated, such a call may possibly be done by several of its replicas. Consequently, what is conceptually a single method invocation may result in several identical calls on the same object. Such an invocation is said to be replicated, the individual calls are referred to as the copies of the invocation. The problems associated with replicated invocations are well known [3][4]. However, existing solutions depend on global coordination, or, for example, assume group communication is fast and efficient, so that they can be applied only in local-area networks. In this paper we present the problems associated with replicated invocations in the context of wide-area systems and present a new solution to these problems. Our solution allows massively and widely replicated objects to efficiently call other massively and widely replicated objects using replicated invocations. Our solution is scalable in the sense that it uses local communication whenever possible, requires no complete knowledge of group memberships and puts only a small load on replicas of the called object. For the moment we limit ourselves to a single replicated object making replicated invocations on a single replicated object. We assume that both calling and called object use active replication [6]. Nodes in the system are assumed to be fail-stop. Only state-modifying operations (write methods) are carried out by all replicas. Read methods are sent to a single (nearby) replica. For this purpose each proxy is (implicitly) connected to the nearest replica of the object it represents. Write methods modify only the (volatile) state variables of the object; we assume they have no other side effects. Write methods are guaranteed to be carried out by each replica in the same global order. The remainder of the paper is organized as follows. Section 2 describes the problems introduces by replicated invocations in a wide-area context. Section 3 gives an overview of our solution as it would operate in the absence of node failures. Section 4 describes the fault tolerance of the solution. Section 5 discusses related work and we finish by presenting conclusions and future work.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114608758","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Functional divisions in the Piglet multiprocessor operating system","authors":"S. Muir, Jonathan M. Smith","doi":"10.1145/319195.319234","DOIUrl":"https://doi.org/10.1145/319195.319234","url":null,"abstract":"Abst rac t As multiprocessor computer systems become more commonplace, and peripherals are built with on-board CPUs, we believe that new operating system models are required to make the most efficient use of such systems. At the same time, the role of computers is changing from a computational device to a communications tool, thus emphasising the ability to efficiently support multimedia communication rather than computation alone. These changes prompted the development of Piglet, an asymmetric multiprocessor operating system. Piglet partitions processors into flmctional groups in order to better utilise multiple processors. We describe the implementation of Piglet and show how it can provide efficient multiplexing of shared resources.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132414589","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}