Application. Protocol Stack. Kernel. Network. Network I/F

Size: px
Start display at page:

Download "Application. Protocol Stack. Kernel. Network. Network I/F"

Transcription

1 Real-Time Communication in Distributed Environment Real-Time Packet Filter Approach 3 Takuro Kitayama Keio Research Institute at SFC Keio University 5322 Endo Fujisawa Kanagawa, Japan takuro@sfc.keio.ac.jp Tetsuya Saito Graduate School of Media and Governance, Keio University 5322 Endo Fujisawa Kanagawa, Japan saimune@sfc.keio.ac.jp Akihiko Miyoshi Keio Research Institute at SFC Keio University 5322 Endo Fujisawa Kanagawa, Japan miyos@sfc.keio.ac.jp Hideyuki Tokuda Faculty of Environmental Information Keio University 5322 Endo Fujisawa Kanagawa, Japan hxt@sfc.keio.ac.jp Abstract Recent modern operating system technology enables protocol processing in user space using in-kernel packet lter and user-level protocol processing library for exibility without sacricing the performance of traditional kernelized protocol processing. This technology can be adapted to build a highly preemptable protocol processing mechanism for distributed real-time environment. In this paper, we discuss the structural dierence of various operating systems from the protocol processing point of view, and propose an extended mechanism of packet lter and user-level protocol processing library for real-time communication. Using this mechanism, priority of the client can be handed o to the server without priority inversion problem while protocol processing. 1. Introduction In distributed real-time systems, applications on each node must communicate and coordinate each other across a network. In such environment, even if client and server applications are well written, it is not sucient. Communication mechanism under these applications must support real-time functionalities to make the system predictable. In such communication, the problem can be divided into two parts. One is the 3 This research is conducted under the fund of Informationtechnology Promotion Agency, Japan (IPA). network bandwidth and throughput, and the other is protocol processing in both sender and receiver side. Many traditional operating systems use FIFO queuing for network processing. This causes serious priority inversion problems, if a higher priority thread is trying to send a message while lower priority thread is sending a message. In addition, the protocol stacks are implemented in the kernel, so any high priority activities can be blocked by an incoming lower priority packets. Many modern operating systems, however, have protocol stack implemented in the user space as a server for high exibility. Furthermore, protocol stack implemented as a user-level library provides both high performance and high exibility. Coincidently, these mechanisms can be suitable for real-time environment to make protocol processing preemptable compared to traditional operating system architecture. We address the problems on sender and receiver side protocol processing and designed a real-time communication mechanism on Real-Time Mach microkernel. Real-Time Mach(RT-Mach) has been developed by Carnegie Mellon University(CMU), and Keio University, and Japan Advanced Institute of Science and Technology(JAIST). The main objectives of RT- Mach is to provide a common real-time computing environment[18]. In RT-Mach, we have real-time thread where a periodic activity can be easily dened by explicitly specifying timing attributes. It also provides real-time synchronization[17], real-time IPC(RT- IPC)[5], high resolution clocks and timers[16], and a processor capacity reservation mechanism[11].

2 In this paper, we propose a distributed real-time communication mechanism to support distributed realtime applications. In Section 2, we explain our distributed real-time communication model. In Section 3, we discuss some of the design choices illustrating previous approaches. Section 4 shows the implementation overview of our system. In Section 5, the evaluation result of the current mechanism is presented and we conclude in Section Communication Model Kernel Application I/F The abstraction of our real-time communication model is that the priority is associated with processing whether the processing is done on a client machine or server machine. We dene the real-time communication model in distributed system as: Client-server communication. Point-to-point communication. Broadcast and multi-cast messages are not considered in this paper, but is a future consideration. A server consists of single or multiple thread activities. Server's priority is dynamically changed based on the priority of requests. A server has its own priority for its initialization. Once the server receives a request, it processes with the priority of the request. Priority of the request is propagated from client's priority. The priority needs to be transfered from the client machine to the server machine through a network. The meaning of priority is consistent among all clients and servers in the system. The scheduling policy of client and server machines must be the same. Communications are either synchronous or asynchronous. Duration of a server priority propagation begins when the server receives a request from a client, and lasts until the server replies to the client in case of synchronous communications. Remote Procedure Call(RPC) and remote method invocation mechanism can be mapped to this model. In the case of asynchronous communication case, priority of the server is propagated until the server receives a next request. Figure 1. In-Kernel Protocol Processing 3. Design Choices In this section, we consider ve approaches of protocol processing in distributed real-time environment, and discuss the advantages and disadvantages In-Kernel Protocol Processing Many traditional operating systems such as 4.3BSD[7] use this approach. It provides high throughput and fast response to the network. Figure 1 illustrates this protocol processing model. In this approach, all protocol processing is in the kernel and non-preemptable, i.e. kernelized. This gives the protocol processing activity highest priority in the system. Higher priority activity can be preempted by an incoming lower priority packet. Sending large amount of packets by lower priority activity may take over the processor during protocol processing regardless of the importance of any other activities. This approach is less exible compared to the rest of the four approaches explained in the following sections Using netmsgserver netmsgserver[2] is a message server for communicating across a network on the Mach microkernel. It has a name service facility and extends the local Mach Inter-Process Communication(IPC) abstraction over a network. The security mechanism, remote procedure calls using Mach Interface Generator(MIG), copy-on-reference operation over a network are provided. Figure 2 shows the communication mechanism of netmsgserver over a network using TCP/IP. 2

3 Application netmsgserver Application Protocol Server Unix Server Kernel I/F Kernel I/F Figure 2. Using netmsgserver Figure 3. Shared Protocol Processing Server First, an application program sends a local message using Mach-IPC to netmsgserver, then netmsgserver converts the data to the network representation. Then, it sends the data to the protocol processing server(in this case, UNIX server) to process TCP/IP. Finally, the packet goes out to the network. Receiving a packet is vice versa. Thus, the problem in this model is the overhead. Sending and receiving data requires many context switching and data copying. Hutchinson, et al.[3] proposed fast Mach IPC implementation over a network using xrpc protocol. They reduced the overhead, but an issue still remains. The priority of netmsgserver and the protocol processing server can be assigned explicitly when sending a packet. But when receiving a packet, netmsgserver and the protocol processing server must run with the highest priority, otherwise priority inversion problem may occur if the packet has higher priority than other schedulable activities Shared Protocol Processing Server This approach is used particularly in microkernel architecture. The overhead of this approach is less than that of netmsgserver approach, but higher than inkernel protocol processing. Since the protocol stack exists in the user space, this structure provides better exibility than the in-kernel protocol processing model. x-kernel[3] and UNIX server on Mach microkernel use this architecture. Figure 3 shows this architecture. Using this architecture, protocols can be created or modied easily without changing the microkernel. The priority of the protocol processing server can be assigned explicitly by application programs or prior- ity inheritance can be applied for sending packets and it is preemptable. When receiving packets, however, the server's priority cannot be inherited by incoming packet from the network. So, the priority of protocol processing must be highest among the thread activities which use the protocol stack. Nakajima, et al.[14] proposed a Prioritized IP(PIP) which extends IP protocol using IP option eld. NPS is implemented as a real-time network engine on Real- Time Mach. By adding priority elds in the IP option, processing of UDP can be handled with the priority of the message. So this processing is preemptable by any other higher thread activities. Processing IP still needs the highest priority and it only provides UDP/IP protocol User-Level Protocol Processing The mechanism of protocol processing in user-level library is proposed for high performance and high exibility on microkernel[8]. All TCP/IP and UDP/IP protocol processing are done in the user-level library. Figure 4 depicts the mechanism of this approach. The user-level library directly accesses a network device driver in the microkernel to send and receive packets. When receiving a packet, the packet lter[10, 19] in the microkernel dispatches incoming network packets to the receiver. Unlike the shared protocol processing server approach, this mechanism does not need context switching to send and receive packets from a network. An operating system server is required only for maintaining sockets. This approach minimizes the overhead of protocol processing, but the priority inversion problem similar as in shared protocol processing 3

4 Socket Library Application In Kernel Protocol Processing Shared Protocol Server User-Level Protocol Processing Packet Filter Assigning Priority Performance Flexibility Preemptability Good Bad Bad Bad Good Good Good Good Good Good Good Good Kernel Packet Filter I/F Table 1. Protocol Processing Comparison(1) Figure 4. User-Level Protocol Processing server still remains when receiving incoming packets. Mercer, et al.[12] and Lee, et al.[6] extend this mechanism for predictable communication protocol processing on Real-Time Mach microkernel using processor capacity reservation[11]. This is conceptually the same as real-time publisher/subscriber(rt/ps)[15]model. In their model, a server has its own processor reservation or priority, and protocol processing is done using its reservation or priority. Protocol processing is fully preemptable both for sending and receiving packets. A problem arises when the server reservation is running out. Under this condition, the requests are processed with lower priority(time shared) even if the request has the highest priority. With the xed priority scheduling policy, server work including protocol processing is done by the server priority regardless of the client priority. Thus, the priority of the client request is ignored and may lead to a priority inversion problem Packet Filter Assigning the Priority The nal approach which we actually choose for our real-time communication in distributed environment is basically the same structure as the user-level protocol processing model. The user-level library directly accesses a network interface to send and receive packets. To solve the priority inversion problem during the protocol processing in the server side, the packet lter in the microkernel should assign the server priority based on the priority described in incoming packets when the packet lter dispatches the packet to the server. At the client side, when a client sends a request, the outgoing packets take the client priority. This makes the client priority to be handed o to the server over the network. This approach provides high performance, high exibility, and fully preemptable protocol processing. Also, another benet is that servers can run with the client priority from the beginning of the protocol processing Comparison To summarize the characteristics of the protocol processing implementation, Table 1 shows the comparison of each protocol processing explained in this section from the point of performance, exibility, and preemptability. In-kernel protocol processing provides better performance where shared protocol processing server on microkernel architecture has higher exibility and preemptability, but has bad performance. User- Level protocol processing provide high performance, exibility, and preemptability, and our approach also has such characteristics. Figure 5 illustrates the processing priority in each phase of protocol processing. The problem in userlevel protocol processing is illustrated in this gure. Inkernel protocol processing needs to be kernelized when sending and receiving packets. Shared protocol processing server and user-level protocol processing partially solve this problem. Sending packets can be done with the client priority. Receiving packets needs to be done with the server priority. To avoid blocking by lower priority activities during protocol processing, servers must have the highest priority among the activities which need to communicate with the servers. Our approach solve this problem. Both sending and receiving protocol processing can be done with request priority Other Related Works Many other mechanisms has been proposed to support real-time communication. An attempt has been done by Tenet Group[1] to support continuous media 4

5 In-Kernel Protocol Processing Cc Cpc Cnc Cl Cns Cps Cs Shared Protocol Processing Server Cc Cpc Cnc Cns Cps Cs User-Level Protocol Processing Cl Cc Cpc Cnc Cns Cps Cs Packet Filter Assigning Priority Cc Cpc Cnc Cns Cps Cs t MK Server Server Packet Filter RT-IPC I/F P ri o Client Client Client Packet Filter MK I/F Kernelized Computation with Server Priority Computation with Client Priority Cc Client Computation Cpc Protocol Processing in Client Side Cnc Processing in Client Side Cns Processing in Server Side Cps Protocol Processing in Server Side Cs Server Computation Cl Local Communication Overhead Figure 5. Protocol Processing Comparison(2) applications with high-speed computer network. D. Kandlur, et al.[4] has built a real-time communication systems to guarantee the maximum delivery time for messages. These attempts are supported by high-speed networks which provide the notion of priorities. Our approach is to build a real-time communication mechanism even if the underlying network does not support priorities like the most popular network in the world. To support such kind of networks, we are focusing on the protocol processing in host machines. 4. Implementation In this section, we explain the implementation of the real-time communication mechanism in distributed environment. Figure 6 illustrates the overview of the system. We are implementing real-time communication system using many real-time functionalities provided by RT-Mach. Our real-time communication mechanism is based on the user-level protocol processing method described in Section 3.4, and provides the priority propagation mechanism from clients to servers without priority inversions while protocol processing. This mechanism also provides good performance, preemptability, and exibility as the user-level protocol processing method. To add the priority information into packets, we use Figure 6. Real-Time Communication Prioritized IP(PIP)[14]. PIP is an extension of the IP protocol to transfer priority information. It uses a new IP option eld so that PIP packet can be routed and received by traditional IP systems since unknown IP option is just ignored. In this case, priority propagation cannot be used. In the added priority eld, priority, period, and deadline are contained to support various RT-Mach scheduling policies. The modications for the real-time communication mechanism are as follows. Packet Filter The current packet lter implemented in RT-Mach peeks incoming packet from the network to search the destination of the communication end-point(socket port). We are extending the packet lter, called real-time packet lter, to make the packet lter check whether the incoming packet is PIP or not. If the packet is PIP, the real-time packet lter peeks the PIP packet option eld to nd out the priority. Socket Library In the client side, when a client sends a packets to a network, the priority of the client is copied into the PIP packet by the extended version of the socket library. In the server side, on the other hand, the original socket library waits for an IPC message using a IPC port. Our extension is to use RT-IPC. The server is waiting for a RT-IPC message using a RT-IPC port. RT-IPC is an extension of original Mach IPC with various real-time mechanisms. It provides prioritized queuing for messages, priority hand-o between sender and receiver, and priority inheritance protocol with the integration of real-time synchronization. These mechanisms can be enabled, disabled, or selected with real-time port attributes. 5

6 Using RT-IPC, the specied priority is easily propagated to the server thread. Microkernel After the packet lter nds the destination socket port, and the request priority in PIP option eld, the RT-Mach microkernel sends a RT- IPC message where the original microkernel sends a IPC message to dispatch incoming packets. 4.4 BSD Lite Server Since the original socket library needs 4.4 BSD Lite Server to maintain socket ports, we needed to modify 4.4 BSD Lite Server. The IPC port which is used in socket library to receive incoming packets by a server thread is allocated by 4.4 BSD Lite Server. We modied 4.4 BSD Lite Server to allocate RT-IPC port instead of IPC port. Another modication of 4.4 BSD Lite Server is the packet lter programming to handle the PIP option eld. Currently, the implementation of the real-time communication mechanism is under way. The experimental version of the real-time communication mechanism has been implemented. This version only support UDP/IP with the extension of PIP. The priority propagation between clients and servers is working. In following section, we will present the evaluation result of the current real-time communication mechanism. 5. Evaluation In this section, we will show the evaluation result of the experimental implementation of our real-time communication mechanism. The measurements are done on two IBM PC/AT compatible machines. Each machine has 166MHz Intel Pentium processor and 32 megabytes of memory and 3Com EtherLinkIII(ISA, 3c509) for Ethernet interface. We used RDTRC (read time stamp counter) instruction[9] on the Pentium processor for measurements. To show the eect of the protocol processing mechanism by the dierent implementation, we have measured four implementations. The rst one is the inkernel protocol processing, and we used FreeBSD RELEASE. It is represented as FreeBSD in the gures. The second implementation uses 4.4 BSD Lite Server running on the RT-Mach microkernel as an implementation of shared protocol processing server. BSD Lite Server in the gures indicates this implementation. The third implementation uses user-level protocol processing library on RT-Mach. It also uses 4.4 BSD Lite Server for maintaining sockets, but protocol processing is done in the library. It is shown as Socket Library Round Trip Cost (Milli-Seconds) Transfer Size (Bytes) FreeBSD BSD Lite Server Socket Library RT Communication Figure 7. Round Trip Cost of Client-Server Communication in the gures. The last one is our real-time communication mechanism on RT-Mach. RT Communication indicated in the gures is this mechanism. We used the xed priority scheduling policy on RT-Mach to measure BSD Lite Server, Socket Library, and RT Communication Basic Performance Figure 7 show the round trip cost between a client and a server machine across Ethernet using UDP/IP. The measurement was repeated 1000 times and the averages are taken. 4.4 BSD Lite Server is the worst in the four implementation, because of the overheads of local IPC cost between the benchmark program and the 4.4 BSD Lite Server on both client and server side. The local IPC happens when the client sends a request, the server receives the request, the server sends a reply, and the client receives the reply, so it occurs four times in one round trip. Also, context switching is necessary four times. The total overhead is more than 1ms. The socket library implementation is about 0.2ms slower than FreeBSD. The overhead comes from the packet lter. It needs to search the receiver of incoming packets. IPC from microkernel to the receiver task is 6

7 Time (Milli-Seconds) Time (Milli-Seconds) FreeBSD BSD Lite Server Socket Library RT Communication Iterations (Times) Figure 8. Without Background Job Iterations (Times) FreeBSD BSD Lite Server Socket Library RT Communication also expensive, where the receiver just returns from trap call in FreeBSD. But these overheads are less than 0.2ms, and relatively smaller then that of 4.4 BSD Lite Server. Our Real-Time communication mechanism is slightly slower than the socket library implementation. This causes the priority propagation when the server receives a packet Eect of Priority Propagation To show the eects of priority propagation between a client to a server, we created a client-server benchmark test. The benchmark is very simple. A client sends a request packet to a server, then the server consumes 100ms of computation time, then sends a reply packet to the client. The measurement starts before the client sends the request packet, and ends after the client receives the reply packet from the server. We executed this cycle 100 times with two dierent conditions and show elapsed time of each iteration. Figure 8 shows the result of the benchmark when the server machine is not under heavy load. Figure 9 depicts the benchmark result with a heavy load condition on server machine. We executed RT-Mach kernel build as the background job on the server machine. When the server machine is not under the loaded condition, the elapsed time of all four implementation is very stable. But once the server machine is heavily Figure 9. With Background Job loaded, FreeBSD, 4.4 BSD Lite Server, and Socket Library compete with the background job, so the elapsed time becomes very unstable. The unstability of Real- Time communication mechanism with loaded condition is about 20ms caused by I/O interrupts, and other methods are about 250ms 300ms because they compete with the back ground job. 6. Conclusion In this paper, we addressed the problems which arise in protocol processing of distributed real-time communication. To examine the current available protocol processing technologies, we have compared the structure of a traditional operating system and some modern operating systems from protocol processing point of view, and discussed the advantages and disadvantages. Recent modern operating system architectures which use user-level socket library and in-kernel packet lter meet the demands of real-time communication protocol processing to build a preemptable protocol processing. We are extending such technology to be a fully preemptable and priority inversion free protocol processing mechanism maintaining high performance and high exibility. The main idea of our system is that the server priority can be handed o from the client before 7

8 protocol processing begins by using real-time packet lter. Currently, we have implemented the real-time communication mechanism. By comparing the performance of dierent protocol processing mechanism, our real-time mechanism is about 0.2ms slower than In- Kernel protocol processing, but about more than 1ms faster than shared protocol processing server architecture. Under heavy loaded condition in server machine, our real-time communication mechanism gets stable performance compared to other protocol processing. Currently, our real-time communication mechanism is still experimental, we will complete the implementation and evaluate in more detail. We are building a real-time Java environment on top of the RT-Mach microkernel[13]. One of the facility of real-time Java is real-time remote method call across a network. To implement remote method call in this environment, we are planning to use the mechanism described in this paper. Acknowledgment We would like to thank the members of the MKng Project for their variable inputs and comments. References [1] D. Ferrari and D. Verma. A Scheme for Real-Time Channel Establishment in Wide-Area s. IEEE Journal on Selected Areas in Communications, pages 368{379, Apr [2] M. N. Group. Server Design, Sept [3] N. C. Hutchinson and L. L. Peterson. The x- Kernel: An architecture for implementing network protocols. IEEE Transactions on Software Engineering, 17(1):64{76, Jan [4] D. Kandlur, K. G. Shin, and D. Ferrari. Real-time communication in multi-hop networks. IEEE Trans. on Parallel and Distributed Systems, pages 1044{1056, Oct [5] T. Kitayama, T. Nakajima, and H. Tokuda. RT-IPC: An IPC extension for Real-Time Mach. In Proceedings of the USENIX Symposium on Microkernel and Other Kernel Architectures, [6] C. Lee, K. Yoshida, C. Mercer, and R. Rajkumar. Predictable communication protocol processing in realtime mach. In the proceedings of IEEE Real-time Technology and Applications Symposium, June [7] S. J. Leer, M. K. McKusic, M. J. Karels, and J. S. Quarieran. The Design and Implementation of the 4.3BSD UNIX Operating System. Addison Wesley, [8] C. Maeda and B. N. Bershad. Protocol Service Decomposition for High-Performance ing. In Proceedings of the 14th Symposium on Operating Systems Principles, [9] T. Mathisen. Pentium secrets. Byte magazine. [10] S. McCanne and V. Jacobson. The BSD Packet Filter: A New Architecture for User-level Packet Capture. In Proceedings of the 1993 Winter USENIX Conference, Jan [11] C. W. Mercer, S. Savage, and H. Tokuda. Processor Capacity Reserves for Multimedia Operating Systems. In Proceedings of the IEEE International Conference on Multimedia Computing and Systems, May [12] C. W. Mercer, J. Zelenka, and R. Rajkumar. On Predictable Operating System Protocol Processing. Technical Report CMU-CS , Carnegie Mellon University, [13] A. Miyoshi and H. Tokuda. Real-Time Java Server for Real-Time Mach. In Proceedings of the Fifth International Workshop on Parallel and Distributed Real- Time Systems, Apr [14] T. Nakajima and H. Tokuda. User-level Real-Time System on Real-Time Mach. In Proceedings of 4th International Workshop on Parallel and Distributed Real-Time System, [15] R. Rajkumar, M. Gagliardi, and L. Sha. The Real- Time Publisher/Subscriber Inter-Process Communication Model for Distributed Real-Time Systems: Design and Implementation. In Proceedings of the IEEE Real-time Technology and Applications Symposium, June [16] S. Savage and H. Tokuda. RT-Mach Timers: Exporting Time to the User. In Proceedings of USENIX 3rd Mach Symposium, Apr [17] H. Tokuda and T. Nakajima. Evaluation of Real-Time Synchronization in Real-Time Mach. In Proceedings of 2nd USENIX Mach Workshop, Nov [18] H. Tokuda, T. Nakajima, and P. Rao. Real-Time Mach: Towards a Predictable Real-Time System. In Proceedings of USENIX 1st Mach Workshop, Oct [19] M. Yuhara, B. N. Bershad, C. Maeda, and J. E. B. Moss. Ecient Packet Demultiplexing for Multiple Endpoints and Large Messages. In Proceedings of the 1994 Winter USENIX Technical Conference, Jan

Periodic Thread A. Deadline Handling Thread. Periodic Thread B. Periodic Thread C. Rate Change. Deadline Notification Port

Periodic Thread A. Deadline Handling Thread. Periodic Thread B. Periodic Thread C. Rate Change. Deadline Notification Port A Continuous Media Application supporting Dynamic QOS Control on Real-Time Mach Tatsuo Nakajima Hiroshi Tezuka Japan Advanced Institute of Science and Technology 15 Asahidai, Tatsunokuchi, Ishikawa, 923-12

More information

Networking Performance for Microkernels. Chris Maeda. Carnegie Mellon University. Pittsburgh, PA March 17, 1992

Networking Performance for Microkernels. Chris Maeda. Carnegie Mellon University. Pittsburgh, PA March 17, 1992 Networking Performance for Microkernels Chris Maeda Brian N. Bershad School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 March 17, 1992 Abstract Performance measurements of network

More information

T H. Runable. Request. Priority Inversion. Exit. Runable. Request. Reply. For T L. For T. Reply. Exit. Request. Runable. Exit. Runable. Reply.

T H. Runable. Request. Priority Inversion. Exit. Runable. Request. Reply. For T L. For T. Reply. Exit. Request. Runable. Exit. Runable. Reply. Experience with Real-Time Mach for Writing Continuous Media Applications and Servers Tatsuo Nakajima Hiroshi Tezuka Japan Advanced Institute of Science and Technology Abstract This paper describes the

More information

Temporal Protection in Real-Time Operating Systems. Abstract

Temporal Protection in Real-Time Operating Systems. Abstract Temporal Protection in Real-Time Operating Systems Cliff Mercer 1, Ragunathan Rajkumar 2 and Jim Zelenka 1 1 Department of Computer Science 2 Software Engineering Institute Carnegie Mellon University Pittsburgh,

More information

Number of bits in the period of 100 ms. Number of bits in the period of 100 ms. Number of bits in the periods of 100 ms

Number of bits in the period of 100 ms. Number of bits in the period of 100 ms. Number of bits in the periods of 100 ms Network Bandwidth Reservation using the Rate-Monotonic Model Sourav Ghosh and Ragunathan (Raj) Rajkumar Real-time and Multimedia Systems Laboratory Department of Electrical and Computer Engineering Carnegie

More information

Frank Miller, George Apostolopoulos, and Satish Tripathi. University of Maryland. College Park, MD ffwmiller, georgeap,

Frank Miller, George Apostolopoulos, and Satish Tripathi. University of Maryland. College Park, MD ffwmiller, georgeap, Simple Input/Output Streaming in the Operating System Frank Miller, George Apostolopoulos, and Satish Tripathi Mobile Computing and Multimedia Laboratory Department of Computer Science University of Maryland

More information

A Resource-Centric Approach To Multimedia Operating Systems

A Resource-Centric Approach To Multimedia Operating Systems A Resource-Centric Approach To Multimedia Operating Systems Shuichi Oikawa Ragunathan Rajkumar Real-Time and Multimedia Laboratory School of Computer Science Carnegie Mellon University 5000 Forbes Avenue,

More information

Temporal Protection in Real-Time Operating Systems. Abstract

Temporal Protection in Real-Time Operating Systems. Abstract Temporal Protection in Real-Time Operating Systems Cliff Mercer*, Ragunathan Rajkumar+ and Jim Zelenka* *Department of Computer Science +Software Engineering Institute Carnegie Mellon University Pittsburgh,

More information

LEC. woo. \C1 iegie. DI1IIIIIJIII1ffui AD-A Science. SDTI c. On Predictable Operating System Protocol Processing

LEC. woo. \C1 iegie. DI1IIIIIJIII1ffui AD-A Science. SDTI c. On Predictable Operating System Protocol Processing AD-A282 657 DI1IIIIIJIII1ffui Science On Predictable Operating System Protocol Processing Clifford W. Mercer, Jim Zelenka, and Ragunathan Rajkumar May 1994 A. CMU-CS-94-165 NTI. SDTI c woo LEC \C1 iegie

More information

Disk. Real Time Mach Disk Device Driver. Open/Play/stop CRAS. Application. Shared Buffer. Read Done 5. 2 Read Request. Start I/O.

Disk. Real Time Mach Disk Device Driver. Open/Play/stop CRAS. Application. Shared Buffer. Read Done 5. 2 Read Request. Start I/O. Simple Continuous Media Storage Server on Real-Time Mach Hiroshi Tezuka y Tatsuo Nakajima Japan Advanced Institute of Science and Technology ftezuka,tatsuog@jaist.ac.jp http://mmmc.jaist.ac.jp:8000/ Abstract

More information

Processor Capacity Reserves: Operating System Support for Multimedia Applications

Processor Capacity Reserves: Operating System Support for Multimedia Applications Processor Capacity Reserves: Operating System Support for Multimedia Applications Clifford W. Mercer, Stefan Savage, and Hideyuki Tokuda School of Computer Science Carnegie Mellon University Pittsburgh,

More information

The latency of user-to-user, kernel-to-kernel and interrupt-to-interrupt level communication

The latency of user-to-user, kernel-to-kernel and interrupt-to-interrupt level communication The latency of user-to-user, kernel-to-kernel and interrupt-to-interrupt level communication John Markus Bjørndalen, Otto J. Anshus, Brian Vinter, Tore Larsen Department of Computer Science University

More information

Real-Time Scalability of Nested Spin Locks. Hiroaki Takada and Ken Sakamura. Faculty of Science, University of Tokyo

Real-Time Scalability of Nested Spin Locks. Hiroaki Takada and Ken Sakamura. Faculty of Science, University of Tokyo Real-Time Scalability of Nested Spin Locks Hiroaki Takada and Ken Sakamura Department of Information Science, Faculty of Science, University of Tokyo 7-3-1, Hongo, Bunkyo-ku, Tokyo 113, Japan Abstract

More information

Integrated Management of Priority Inversion in Real-Time Mach

Integrated Management of Priority Inversion in Real-Time Mach Integrated Management of Priority Inversion in Real-Time Mach Tatsuo Nakajimajl, Takuro Kitayamat2, Hiroshi Arakawaj3, and Hideyuki Tok~daS~$~ Japan Advanced Institute of Science and Technology J2 Oki

More information

On Latency Management in Time-Shared Operating Systems *

On Latency Management in Time-Shared Operating Systems * On Latency Management in Time-Shared Operating Systems * Kevin Jeffay University of North Carolina at Chapel Hill Department of Computer Science Chapel Hill, NC 27599-3175 jeffay@cs.unc.edu Abstract: The

More information

Real-Time Mach Timers: Exporting Time to the User

Real-Time Mach Timers: Exporting Time to the User Real-Time Mach Timers: Exporting Time to the User Stefan Savage and Hideyuki Tokuda School of Computer Science Carnegie Mellon University Pittsburgh, Pennsylvania 15213 fsavage,hxtg@cs.cmu.edu Abstract

More information

Lecture 17: Threads and Scheduling. Thursday, 05 Nov 2009

Lecture 17: Threads and Scheduling. Thursday, 05 Nov 2009 CS211: Programming and Operating Systems Lecture 17: Threads and Scheduling Thursday, 05 Nov 2009 CS211 Lecture 17: Threads and Scheduling 1/22 Today 1 Introduction to threads Advantages of threads 2 User

More information

Abstract Studying network protocols and distributed applications in real networks can be dicult due to the need for complex topologies, hard to nd phy

Abstract Studying network protocols and distributed applications in real networks can be dicult due to the need for complex topologies, hard to nd phy ONE: The Ohio Network Emulator Mark Allman, Adam Caldwell, Shawn Ostermann mallman@lerc.nasa.gov, adam@eni.net ostermann@cs.ohiou.edu School of Electrical Engineering and Computer Science Ohio University

More information

LRP: A New Network Subsystem Architecture for Server Systems. Rice University. Abstract

LRP: A New Network Subsystem Architecture for Server Systems. Rice University. Abstract LRP: A New Network Subsystem Architecture for Server Systems Peter Druschel Gaurav Banga Rice University Abstract The explosive growth of the Internet, the widespread use of WWW-related applications, and

More information

Eect of fan-out on the Performance of a. Single-message cancellation scheme. Atul Prakash (Contact Author) Gwo-baw Wu. Seema Jetli

Eect of fan-out on the Performance of a. Single-message cancellation scheme. Atul Prakash (Contact Author) Gwo-baw Wu. Seema Jetli Eect of fan-out on the Performance of a Single-message cancellation scheme Atul Prakash (Contact Author) Gwo-baw Wu Seema Jetli Department of Electrical Engineering and Computer Science University of Michigan,

More information

Acknowledgment packets. Send with a specific rate TCP. Size of the required packet. XMgraph. Delay. TCP_Dump. SlidingWin. TCPSender_old.

Acknowledgment packets. Send with a specific rate TCP. Size of the required packet. XMgraph. Delay. TCP_Dump. SlidingWin. TCPSender_old. A TCP Simulator with PTOLEMY Dorgham Sisalem GMD-Fokus Berlin (dor@fokus.gmd.de) June 9, 1995 1 Introduction Even though lots of TCP simulators and TCP trac sources are already implemented in dierent programming

More information

Operating System Support

Operating System Support Operating System Support Dr. Xiaobo Zhou Adopted from Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 1 Learning Objectives Know what a modern

More information

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a Asynchronous Checkpointing for PVM Requires Message-Logging Kevin Skadron 18 April 1994 Abstract Distributed computing using networked workstations oers cost-ecient parallel computing, but the higher rate

More information

CPU Resource Reservation for Simultaneous Multi-Thread Systems. Hiroshi Inoue, Takao Moriyama, Yasushi Negishi, and Moriyoshi Ohara

CPU Resource Reservation for Simultaneous Multi-Thread Systems. Hiroshi Inoue, Takao Moriyama, Yasushi Negishi, and Moriyoshi Ohara RT676 Computer Science 13 pages Research Report September 12, 6 CPU Resource Reservation for Simultaneous Multi-Thread Systems Hiroshi Inoue, Takao Moriyama, Yasushi Negishi, and Moriyoshi Ohara IBM Research,

More information

Predictable Interrupt Management and Scheduling in the Composite Component-based System

Predictable Interrupt Management and Scheduling in the Composite Component-based System Predictable Interrupt Management and Scheduling in the Composite Component-based System Gabriel Parmer and Richard West Computer Science Department Boston University Boston, MA 02215 {gabep1, richwest}@cs.bu.edu

More information

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: SYSTEM ARCHITECTURE & SOFTWARE [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University OpenMP compiler directives

More information

RT extensions/applications of general-purpose OSs

RT extensions/applications of general-purpose OSs EECS 571 Principles of Real-Time Embedded Systems Lecture Note #15: RT extensions/applications of general-purpose OSs General-Purpose OSs for Real-Time Why? (as discussed before) App timing requirements

More information

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL Jun Sun, Yasushi Shinjo and Kozo Itano Institute of Information Sciences and Electronics University of Tsukuba Tsukuba,

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

OS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4

OS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4 OS DESIGN PATTERNS II CS124 Operating Systems Fall 2017-2018, Lecture 4 2 Last Time Began discussing general OS design patterns Simple structure (MS-DOS) Layered structure (The THE OS) Monolithic kernels

More information

Operating System Architecture. CS3026 Operating Systems Lecture 03

Operating System Architecture. CS3026 Operating Systems Lecture 03 Operating System Architecture CS3026 Operating Systems Lecture 03 The Role of an Operating System Service provider Provide a set of services to system users Resource allocator Exploit the hardware resources

More information

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS EECS 571 Principles of Real-Time Embedded Systems Lecture Note #10: More on Scheduling and Introduction of Real-Time OS Kang G. Shin EECS Department University of Michigan Mode Changes Changes in mission

More information

Java Virtual Machine

Java Virtual Machine Evaluation of Java Thread Performance on Two Dierent Multithreaded Kernels Yan Gu B. S. Lee Wentong Cai School of Applied Science Nanyang Technological University Singapore 639798 guyan@cais.ntu.edu.sg,

More information

SMD149 - Operating Systems

SMD149 - Operating Systems SMD149 - Operating Systems Roland Parviainen November 3, 2005 1 / 45 Outline Overview 2 / 45 Process (tasks) are necessary for concurrency Instance of a program in execution Next invocation of the program

More information

Implementation of ATM Endpoint Congestion Control Protocols. Prashant R. Chandra, Allan L. Fisher, Corey Kosak and Peter A.

Implementation of ATM Endpoint Congestion Control Protocols. Prashant R. Chandra, Allan L. Fisher, Corey Kosak and Peter A. Implementation of ATM Endpoint Congestion Control Protocols Prashant R. Chandra, Allan L. Fisher, Corey Kosak and Peter A. Steenkiste School of Computer Science and Department of Electrical and Computer

More information

User Level IPC and Device Management in the Raven Kernel. D. Stuart Ritchie and Gerald W. Neufeld.

User Level IPC and Device Management in the Raven Kernel. D. Stuart Ritchie and Gerald W. Neufeld. User Level IPC and Device Management in the Raven Kernel D. Stuart Ritchie and Gerald W. Neufeld fsritchie,neufeldg@cs.ubc.ca Department of Computer Science University of British Columbia Vancouver, B.C.

More information

POSIX in Real-Time. By Kevin M. Obenland 03/15/2001. Daniel Correia nºmec Carlos Guisado nºmec 49099

POSIX in Real-Time. By Kevin M. Obenland 03/15/2001. Daniel Correia nºmec Carlos Guisado nºmec 49099 POSIX in Real-Time By Kevin M. Obenland 03/15/2001 Daniel Correia nºmec 18713 Carlos Guisado nºmec 49099 Posix. What is and why? The original Portable Operating System Interface for Computing Environments

More information

Profiling the Performance of TCP/IP on Windows NT

Profiling the Performance of TCP/IP on Windows NT Profiling the Performance of TCP/IP on Windows NT P.Xie, B. Wu, M. Liu, Jim Harris, Chris Scheiman Abstract This paper presents detailed network performance measurements of a prototype implementation of

More information

A New Approach to Determining the Time-Stamping Counter's Overhead on the Pentium Pro Processors *

A New Approach to Determining the Time-Stamping Counter's Overhead on the Pentium Pro Processors * A New Approach to Determining the Time-Stamping Counter's Overhead on the Pentium Pro Processors * Hsin-Ta Chiao and Shyan-Ming Yuan Department of Computer and Information Science National Chiao Tung University

More information

Chapter 5: CPU Scheduling

Chapter 5: CPU Scheduling Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation Chapter 5: CPU Scheduling

More information

Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking

Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking Di-Shi Sun and Douglas M. Blough School of Electrical and Computer Engineering Georgia Institute of Technology Atlanta, GA

More information

KMSB KMSN... KMSN KMSN. WAN/LAN/WirelessLAN ... Connection Manager KMSB. Object Storage. Session Manager. Media-CO Storage. Component-CO Storage

KMSB KMSN... KMSN KMSN. WAN/LAN/WirelessLAN ... Connection Manager KMSB. Object Storage. Session Manager. Media-CO Storage. Component-CO Storage Keio Media Space Board for KMSF-CODE 1 1 2 2 3 1 ;3 1 2 3 Keio Media Space Family (KMSF) KMSF KMSF-CODE (Collaborative Object on Distributed Environment) Keio Media Space Board 1 Keio Media Space Family

More information

Improved Address-Space Switching on Pentium. Processors by Transparently Multiplexing User. Address Spaces. Jochen Liedtke

Improved Address-Space Switching on Pentium. Processors by Transparently Multiplexing User. Address Spaces. Jochen Liedtke Improved Address-Space Switching on Pentium Processors by Transparently Multiplexing User Address Spaces Jochen Liedtke GMD German National Research Center for Information Technology jochen.liedtkegmd.de

More information

Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group. vs. REAL-TIME SYSTEMS MICHAEL ROITZSCH

Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group. vs. REAL-TIME SYSTEMS MICHAEL ROITZSCH Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group REAL-TIME vs. SYSTEMS MICHAEL ROITZSCH DEFINITION system whose quality depends on the functional correctness of computations

More information

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an

More information

Processor Capacity Reserves for Multimedia Operating Systems

Processor Capacity Reserves for Multimedia Operating Systems Processor Capacity Reserves for Multimedia Operating Systems Clifford W. Mercer, Stefan Savage, and Hideyuki Tokuda May 1993 CMU-CS-93-157 School of Computer Science Carnegie Mellon University Pittsburgh,

More information

HIGH-PERFORMANCE NETWORKING :: USER-LEVEL NETWORKING :: REMOTE DIRECT MEMORY ACCESS

HIGH-PERFORMANCE NETWORKING :: USER-LEVEL NETWORKING :: REMOTE DIRECT MEMORY ACCESS HIGH-PERFORMANCE NETWORKING :: USER-LEVEL NETWORKING :: REMOTE DIRECT MEMORY ACCESS CS6410 Moontae Lee (Nov 20, 2014) Part 1 Overview 00 Background User-level Networking (U-Net) Remote Direct Memory Access

More information

Multimedia Applications Require Adaptive CPU Scheduling. Veronica Baiceanu, Crispin Cowan, Dylan McNamee, Calton Pu, and Jonathan Walpole

Multimedia Applications Require Adaptive CPU Scheduling. Veronica Baiceanu, Crispin Cowan, Dylan McNamee, Calton Pu, and Jonathan Walpole Multimedia Applications Require Adaptive CPU Scheduling Veronica Baiceanu, Crispin Cowan, Dylan McNamee, Calton Pu, and Jonathan Walpole Department of Computer Science and Engineering Oregon Graduate Institute

More information

Process. Program Vs. process. During execution, the process may be in one of the following states

Process. Program Vs. process. During execution, the process may be in one of the following states What is a process? What is process scheduling? What are the common operations on processes? How to conduct process-level communication? How to conduct client-server communication? Process is a program

More information

Ref: Chap 12. Secondary Storage and I/O Systems. Applied Operating System Concepts 12.1

Ref: Chap 12. Secondary Storage and I/O Systems. Applied Operating System Concepts 12.1 Ref: Chap 12 Secondary Storage and I/O Systems Applied Operating System Concepts 12.1 Part 1 - Secondary Storage Secondary storage typically: is anything that is outside of primary memory does not permit

More information

instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals

instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals Performance Evaluations of a Multithreaded Java Microcontroller J. Kreuzinger, M. Pfeer A. Schulz, Th. Ungerer Institute for Computer Design and Fault Tolerance University of Karlsruhe, Germany U. Brinkschulte,

More information

TCP over Wireless Networks Using Multiple. Saad Biaz Miten Mehta Steve West Nitin H. Vaidya. Texas A&M University. College Station, TX , USA

TCP over Wireless Networks Using Multiple. Saad Biaz Miten Mehta Steve West Nitin H. Vaidya. Texas A&M University. College Station, TX , USA TCP over Wireless Networks Using Multiple Acknowledgements (Preliminary Version) Saad Biaz Miten Mehta Steve West Nitin H. Vaidya Department of Computer Science Texas A&M University College Station, TX

More information

CS 326: Operating Systems. CPU Scheduling. Lecture 6

CS 326: Operating Systems. CPU Scheduling. Lecture 6 CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating

More information

Advanced Operating Systems (CS 202) Scheduling (2)

Advanced Operating Systems (CS 202) Scheduling (2) Advanced Operating Systems (CS 202) Scheduling (2) Lottery Scheduling 2 2 2 Problems with Traditional schedulers Priority systems are ad hoc: highest priority always wins Try to support fair share by adjusting

More information

director executor user program user program signal, breakpoint function call communication channel client library directing server

director executor user program user program signal, breakpoint function call communication channel client library directing server (appeared in Computing Systems, Vol. 8, 2, pp.107-134, MIT Press, Spring 1995.) The Dynascope Directing Server: Design and Implementation 1 Rok Sosic School of Computing and Information Technology Grith

More information

Real-Time Communication Support for Embedded Linux over Ethernet

Real-Time Communication Support for Embedded Linux over Ethernet Real-Time Communication Support for Embedded Linux over Ethernet Sang-Hun Lee and Hyun-Wook Jin Department of Computer Science and Engineering, Konkuk University, Seoul 143-701, Korea {mir1004, jinh}@konkuk.ac.kr

More information

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests

More information

Design and Evaluation of a Socket Emulator for Publish/Subscribe Networks

Design and Evaluation of a Socket Emulator for Publish/Subscribe Networks PUBLISHED IN: PROCEEDINGS OF THE FUTURE INTERNET SYMPOSIUM 2010 1 Design and Evaluation of a for Publish/Subscribe Networks George Xylomenos, Blerim Cici Mobile Multimedia Laboratory & Department of Informatics

More information

Fault-Tolerant RT-Mach (FT-RT-Mach) and. an Application to Real-Time Train Control. A. Egan, D. Kutz, D. Mikulin, R. Melhem, D.

Fault-Tolerant RT-Mach (FT-RT-Mach) and. an Application to Real-Time Train Control. A. Egan, D. Kutz, D. Mikulin, R. Melhem, D. 19 0 Fault-Tolerant RT-Mach (FT-RT-Mach) and an Application to Real-Time Train Control A. Egan, D. Kutz, D. Mikulin, R. Melhem, D. Mosse Department of Computer Science University of Pittsburgh Pittsburgh,

More information

38 Simplified Method for Session Coordination Using Multi-level QOS Specification and Translation

38 Simplified Method for Session Coordination Using Multi-level QOS Specification and Translation 38 Simplified Method for Session Coordination Using Multi-level QOS Specification and Translation Nobuhiko NISHIO and Hideyuki TOKUDA Faculty of Environmental Information, Keio University 5322, Endoh,

More information

Embedded Systems. 6. Real-Time Operating Systems

Embedded Systems. 6. Real-Time Operating Systems Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [THREADS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Shuffle less/shuffle better Which actions?

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial)

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial) Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

CPU THREAD PRIORITIZATION USING A DYNAMIC QUANTUM TIME ROUND-ROBIN ALGORITHM

CPU THREAD PRIORITIZATION USING A DYNAMIC QUANTUM TIME ROUND-ROBIN ALGORITHM CPU THREAD PRIORITIZATION USING A DYNAMIC QUANTUM TIME ROUND-ROBIN ALGORITHM Maysoon A. Mohammed 1, 2, Mazlina Abdul Majid 1, Balsam A. Mustafa 1 and Rana Fareed Ghani 3 1 Faculty of Computer System &

More information

NETWORK SIMULATION USING NCTUns. Ankit Verma* Shashi Singh* Meenakshi Vyas*

NETWORK SIMULATION USING NCTUns. Ankit Verma* Shashi Singh* Meenakshi Vyas* NETWORK SIMULATION USING NCTUns Ankit Verma* Shashi Singh* Meenakshi Vyas* 1. Introduction: Network simulator is software which is very helpful tool to develop, test, and diagnose any network protocol.

More information

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:

More information

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1 Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview

More information

G Robert Grimm New York University

G Robert Grimm New York University G22.3250-001 Receiver Livelock Robert Grimm New York University Altogether Now: The Three Questions What is the problem? What is new or different? What are the contributions and limitations? Motivation

More information

A transport-layer approach for achieving predictable throughput for Internet applications

A transport-layer approach for achieving predictable throughput for Internet applications Seventh International Conference on Networking A transport-layer approach for achieving predictable throughput for Internet applications Go Hasegawa, Kana Yamanegi and Masayuki Murata Graduate School of

More information

MONITORING AND ANALYZING COMMUNICATION LATENCY IN DISTRIBUTED REAL-TIME SYSTEMS

MONITORING AND ANALYZING COMMUNICATION LATENCY IN DISTRIBUTED REAL-TIME SYSTEMS MONITORING AND ANALYZING COMMUNICATION LATENCY IN DISTRIBUTED REAL-TIME SYSTEMS A thesis presented to the faculty of the Fritz J. and Dolores H. Russ College of Engineering and Technology of Ohio University

More information

Comparison of scheduling in RTLinux and RT-Mach Fredrik Löfgren frelo305 Dan Persson danpe454

Comparison of scheduling in RTLinux and RT-Mach Fredrik Löfgren frelo305 Dan Persson danpe454 Comparison of scheduling in RTLinux and RT-Mach 2006-11-18 Fredrik Löfgren 840803-1915 frelo305 Dan Persson 840912-2515 danpe454 Abstract Real-time systems are getting more common the world these days.

More information

Performance of Multihop Communications Using Logical Topologies on Optical Torus Networks

Performance of Multihop Communications Using Logical Topologies on Optical Torus Networks Performance of Multihop Communications Using Logical Topologies on Optical Torus Networks X. Yuan, R. Melhem and R. Gupta Department of Computer Science University of Pittsburgh Pittsburgh, PA 156 fxyuan,

More information

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 15 1.5 Operating-System Operations

More information

Fore ATM Switch ASX1000 D/E Box (0 to 20000km) ACTS (36000km)

Fore ATM Switch ASX1000 D/E Box (0 to 20000km) ACTS (36000km) Performance of TCP extensions on noisy high BDP networks Charalambous P. Charalambos, Victor S. Frost, Joseph B. Evans August 26, 1998 Abstract Practical experiments in a high bandwidth delay product (BDP)

More information

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria A Predictable RTOS Mantis Cheng Department of Computer Science University of Victoria Outline I. Analysis of Timeliness Requirements II. Analysis of IO Requirements III. Time in Scheduling IV. IO in Scheduling

More information

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010 SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single

More information

NetWare Link-Services Protocol

NetWare Link-Services Protocol 44 CHAPTER Chapter Goals Describe the Network Link-Service Protocol. Describe routing with NLSP. Describe the data packet used by NLSP. Background The (NLSP) is a link-state routing protocol from Novell

More information

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview Chapter 4: chapter goals: understand principles behind services service models forwarding versus routing how a router works generalized forwarding instantiation, implementation in the Internet 4- Network

More information

Lecture 2 Process Management

Lecture 2 Process Management Lecture 2 Process Management Process Concept An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks The terms job and process may be interchangeable

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance Objectives Explore the structure of an operating

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 4, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Computer Systems Assignment 4: Scheduling and I/O

Computer Systems Assignment 4: Scheduling and I/O Autumn Term 018 Distributed Computing Computer Systems Assignment : Scheduling and I/O Assigned on: October 19, 018 1 Scheduling The following table describes tasks to be scheduled. The table contains

More information

On Hierarchical Scheduling in VxWorks

On Hierarchical Scheduling in VxWorks On Hierarchical Scheduling in VxWorks by Mikael Åsberg (mag04002@student.mdh.se) Master thesis Supervisor: Moris Behnam Examiner: Thomas Nolte Mälardalen University Department of Computer Science and Electronics

More information

LINUX INTERNALS & NETWORKING Weekend Workshop

LINUX INTERNALS & NETWORKING Weekend Workshop Here to take you beyond LINUX INTERNALS & NETWORKING Weekend Workshop Linux Internals & Networking Weekend workshop Objectives: To get you started with writing system programs in Linux Build deeper view

More information

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW 2 SO FAR talked about in-kernel building blocks: threads memory IPC drivers

More information

As related works, OMG's CORBA (Common Object Request Broker Architecture)[2] has been developed for long years. CORBA was intended to realize interope

As related works, OMG's CORBA (Common Object Request Broker Architecture)[2] has been developed for long years. CORBA was intended to realize interope HORB: Distributed Execution of Java Programs HIRANO Satoshi Electrotechnical Laboratory and RingServer Project 1-1-4 Umezono Tsukuba, 305 Japan hirano@etl.go.jp http://ring.etl.go.jp/openlab/horb/ Abstract.

More information

real-time data storage

real-time data storage Towards a Responsive Network Protocol Atsushi Shionozaki shio@mt.cs.keio.ac.jp Mario Tokoro mario@mt.cs.keio.ac.jp Department of Computer Science Keio University 3-14-1 Hiyoshi, Kohoku-ku, Yokohama 233

More information

Global Scheduler. Global Issue. Global Retire

Global Scheduler. Global Issue. Global Retire The Delft-Java Engine: An Introduction C. John Glossner 1;2 and Stamatis Vassiliadis 2 1 Lucent / Bell Labs, Allentown, Pa. 2 Delft University oftechnology, Department of Electrical Engineering Delft,

More information

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

More information

Computer Networked games

Computer Networked games Computer Networked games Another form of multimedia traffic audio, video and interactive Slides courtesy Mark Claypool @ WPI page 1 Game Types First Person Shooters Doom, Quake, Counter-strike, Massive

More information

Mac OS X. Mach in the Darwin Kernel. COMP342 4/5/06

Mac OS X. Mach in the Darwin Kernel.  COMP342 4/5/06 Mac OS X Mach in the Darwin Kernel http://www.maths.mq.edu.au/~steffen/talks/ COMP342 4/5/06 Daniel A. Steffen Mathematics Department Macquarie University steffen@maths.mq.edu.au Mach in the Darwin Kernel

More information

(Preliminary Version 2 ) Jai-Hoon Kim Nitin H. Vaidya. Department of Computer Science. Texas A&M University. College Station, TX

(Preliminary Version 2 ) Jai-Hoon Kim Nitin H. Vaidya. Department of Computer Science. Texas A&M University. College Station, TX Towards an Adaptive Distributed Shared Memory (Preliminary Version ) Jai-Hoon Kim Nitin H. Vaidya Department of Computer Science Texas A&M University College Station, TX 77843-3 E-mail: fjhkim,vaidyag@cs.tamu.edu

More information

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter Lecture Topics Today: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) Next: Processes (Stallings, chapter 3.1-3.6) 1 Announcements Consulting hours posted Self-Study Exercise #3 posted

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University L14.1 Frequently asked questions from the previous class survey Turnstiles: Queue for threads blocked

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:

More information

操作系统概念 13. I/O Systems

操作系统概念 13. I/O Systems OPERATING SYSTEM CONCEPTS 操作系统概念 13. I/O Systems 东南大学计算机学院 Baili Zhang/ Southeast 1 Objectives 13. I/O Systems Explore the structure of an operating system s I/O subsystem Discuss the principles of I/O

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

Supporting Time-sensitive Applications on a Commodity OS

Supporting Time-sensitive Applications on a Commodity OS Supporting Time-sensitive Applications on a Commodity OS Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Department of Computer Science and Engineering Oregon Graduate Institute, Portland

More information