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

Size: px
Start display at page:

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

Transcription

1 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, Ibaraki, , Japan jun sun@hlla.is.tsukuba.ac.jp ABSTRACT The parallel world model allows users to create, delete and merge multiple execution environments of processes called \worlds". Its applications include optimistic processing and safe update of software packages. This paper presents the implementation of a distributed le system supporting this model. Unlike previous methods, the parallel world model is realized at the level of le body after name resolution. This enables usage of block-level copyon-write to enhance the performance of the write operation. A lazy method is used to shorten the response times of applications. Experiments have been done to measure the performance of the le system. 1 INTRODUCTION In an environment of workstations connected with a highspeed network, large idle times are observed in many workstations. Optimistic processing is one of the most eective methods to use these surplus resources. Optimistic processing or speculative processing is processing that is started eagerly before it is known to be required [2][4]. To support optimistic processing, it is necessary to conceal update until it is required, to make the update eective quickly when it is known to be needed, and to discard it when unneeded. To support optimistic processing at the level of les and processes, we are implementing an operating system supporting the parallel world model. The parallel world model allows the users to create, delete, and merge multiple execution environments of processes called \worlds". A world is a container of les and processes. A world is not only a unit of isolation but also a unit of inheritance. When a user wants to conceal the modication of les, she/he creates a new child world from an existing parent world. The child world inherits all the contents of its parent world. When les are modied in the new child world, this modication is eective only in the child world and the parent world remains unchanged. When the user selects the modied child world instead of the parent world, she/he merges it to the parent world. In this case, the modied les in the child world overwrite the corresponding les in the parent world. When the user wants to discard the modied les in the child world, she/he simply deletes the child world. The applications of the parallel world model include optimistic processing and safe update of software packages. The speculative make is a typical example of optimistic applications [5]. An optimistic application can use worlds eectively as follows: 1. An optimistic application creates a new child world from the mandatory world. 2. The optimistic application runs processes in the child world. The results (newly created and modied les) are concealed in the child world, and can not be accessed from the mandatory world. 3. When the results are known to be required, the optimistic application merges the child world into the mandatory world. Files in the child world appear in the mandatory world immediately. 4. Otherwise, the optimistic application deletes the child world. Files in the child world are also deleted. A large software package, such as a window system, a database system, or an operating system, usually consists of a large number of les, and it is very dicult to update such packages. For example, suppose that some security problems were found in an operating system, and a large number of les needed to be updated. This update sometimes destroys local congurations. Update of a software package can be regarded as an optimistic processing. By using worlds, the update of a software package can be done easily and safely. An administrator can create a child world of the root world, and install the software package in the child world. If the administrator nds serious problems, she/he can cancel the installation by deleting the world. Otherwise, she/he merges the child world to the parent root world. In this paper, we present the implementation of a distributed le system supporting the parallel world model. The rst feature of the implementation is the use of a body-based method to realize multiple (parallel) execution 1

2 environments. In the previous works[2][5], multiple execution environments are realized by using name-based methods. In a name-based method, a name resolution module, such as namei() in Unix, is modied and this module maps a le name into dierent entities such as is in Unix according to the environment ids (world ids). In a body-based method, a name resolution module maps a le name into the same body, and the multiple environments are realized by the body. This makes it possible to use block-level copy-on-write to implement the write operation, and its performance is improved. For example, suppose that a user has to modify a single byte of data in a large le. In the previous name-based methods, the whole le must be copied. On the other hand, in our proposing body-based method, only a single block must be copied. In our experiments, our body-based method produced results that were more than 3 times faster than a name-based method for an 800k-byte le in a cold cache case. The second feature of the implementation is the use of a lazy method to realize the world operations. In the optimistic applications, the response times are bound by the execution time of the world merge operation. Therefore, it is important to shorten the execution time of the world merge operation. In the speculative make, for example, if the execution time of compilation is shorter than the out-of-date time, the response time is less than or equal to seconds in our lazy method. Note that the parallel world model does not enforce the regular serializability in conventional transaction systems [1]. In the parallel world model, each application denes its specic consistency constraints, and checks if those constraints are satised by itself. Each application must delete child worlds when it nds some violations of application-specic consistency constraints. For example, the speculative make deletes child worlds when it nds the update of the source of target les. 2 OVERVIEW OF THE SYSTEM The system consists of the world server, the name server, the le server, and the process server. The world server maintains the DAGs (directed acyclic graphs) of worlds. The name server corresponds to the name resolution module. The le server exports the le operations, such as reading and writing. The process server manages processes. When a client wants to read or write les, the client sends requests to the le server. When a client wants to create, delete or merge worlds, the client sends requests to the world server. 2.1 The World Server The requests pertaining to worlds are sent from clients to the world server. When the world server receives a world create request from a client, it allocates a structure on its disk, saves the parent-child relations in the structure, and sends notications to each resource server (the le server, the process server, or the name server) by RPC. When the world server receives a world delete request, rst, it deletes all descendants of the target world recursively, and deallocates the structure of the target world. The world server also sends notications. When the world server receives a world merge request, it changes the parent-child relations according to the request, and sends notication. The server also keeps the information about the merge operation for a while for future reference. The world server is also capable of returning the status and relations of worlds for cache maintenance in each resource server. The world server manages the relation of worlds. The contents of each world are maintained by each resource server in a server-specic manner. The advantage of this method is that the system can be modular, and interserver communication can be reduced. 3 THE IMPLEMENTATION OF THE FILE SERVER This section describes the implementation of the le server. The le server deals with the requests from clients, such as reading and writing les, as well as the notications from the world server. The rst feature of the implementation is the use of a body-based method to realize the parallel world model. This enables us to use block-level copy-on-write to improve the performance of the write operation. The second feature of the implementation is the use of a lazy method to manipulate the notications from the world server. One of the most important data structures is the le index structure. The incoming requests for the le server are classied into two groups: the regular le operations such as read and write, and the notications of world status change, as described in Section 2.1. Compared with the interface of NFS[6], the main feature of the interface of the le operations is that each procedure takes an additional parameter world id t. This is used to identify the world in which that le operation takes place. The le server also exports three procedures to receive the notication of world status changes from the world server. To handle this group of procedures, a lazy method is used (see Section 3.2 for details). 3.1 The File Index Structure To realize the parallel world model, the le index structure plays the most important role. Each le body corresponds to a le index structure as shown in Figure 1. Each entry in this structure contains two items: a world id and a id. Each entry represents the entity of a le in the world that is specied by the world id. Each le entity corresponds to a structure that is similar to a UNIX i structure. Each holds all the 2

3 A world id A file index structure length indirect disk address The id of the disk block that contains the overflow part of this structure deleted The length of this structure A id Figure 1: A le index structure world merge notification eager method merge file A merge file B merge file C time lazy method world merge notification record world merge merge file A data blocks or some modied data blocks of a le body. When a le body has more than seven entities, an extra disk block is used to store the overow part of this structure The write operation To implement the write operation, block-level copy-onwrite is used. This method enhances the performance of the write operation on large les in child worlds. Since read-only blocks are shared among worlds, we can also save disk space. Its algorithm is as follows: First, the le server checks and performs delayed world operations if there are such operations (see Section 3.2 for details). Next, the le server searches the le index structure for a of the given world. When it is found, the le server writes data to this. Otherwise, the le server creates a new, and adds the id of this new and the id of the given world to the le index structure. If the update occupies the whole block(s), the le server writes data to this. Otherwise, the le server copies the corresponding disk block(s) from a in an ancestor world to this new, and writes data to this new (block-level copy-on-write). Ancestor worlds can be obtained from the world server through RPC. Results of RPC are cached in the le server for future reference The read operation First, the le server checks and performs delayed world operations if there are such operations (see Section 3.2 for details). Next, the le server searches the le index structure for a of the given world id. If it is found, the le server reads data from the corresponding. If it is not found, the le server reads from a of an ancestor world. 1 In the current implementation, only one disk block is used for the overow part of the le index structure. Figure 2: The eager and lazy method 3.2 The Lazy Method As described in Section 1, the response times of optimistic applications are bound by the execution times of the world merge operations. To shorten these execution times, we use a lazy method, as shown in Figure 2. Suppose that a world contains File A,B and C. In the eager method (the left hand side), when the le server receives a notication of world merge from the world server, it performs the merge operation immediately, and replies OK to the world server. After that, when the le server receives a read request for File A from a client, it performs the read operation on File A and replies the result to the client. In the lazy method (the right hand side), when the le server receives a notication of world merge from the world server, it does not perform the merge operation on all the les in the world, but remembers it, and replies OK to the world server immediately. After that, when the le server receives a read request for File A from a client, rst, it checks the delayed world operations on File A. In this case, since there is a delayed world merge operation, the le server performs the merge operation on File A. After that, the le server executes the read operation on File A, and replies the result to the client. The next time the le server receives a read request for File A, the le server checks the delayed world operation. In this case, since there is no delayed world merge operation, the le server does not perform the merge operation on File A. The le server executes the read operation on File A, and replies the result to the client. Note that delayed world merge operations can be performed by some background threads. In this case, the rst-time overhead after merge can be eliminated. 3

4 4 PERFORMANCE EXPERIMENTS In this section, we present the results of experiments to evaluate the eciency of the world and the le operations in our le system. In the following experiments, to emulate the cold cache case, we call a special RPC procedure that purges disk caches in the le server. To emulate the warm cache case, we repeat the experiments. Time (seconds) bytes update with file-level copy-on-write 8191 bytes update with block-level copy-on-write one byte update with block-level copy-on-write 8192 bytes update with block level copy-on-write 4.1 The Experimental Environment All experiments were performed on a Sun UltraSPARC compatible machine (143 MHz UltraSPARC with 64 MB memory), and the operating system is Solaris We use a disk partition as our le server's disk, and use the UNIX raw device (no caching) to access the disk. Caching for disk blocks is implemented by the le server. We use SunRPC for interprocess communication. 4.2 World Operations This experiment was done to measure the performance of the world operations in the le server. In this experiment, disk outputs are cached. We used two empty worlds and worlds with 100 les to measure the execution time. The result is shown in Table 1. The execution time of the world create operation is seconds. This time includes two RPC calls and no disk input. For empty worlds, the execution times of the world merge operation and the world delete operation are seconds. For worlds with 100 les, the execution times of those operations are seconds. In the case of the empty world, two RPCs and one disk input are involved. In the case of world with 100 les, two RPCs and two disk inputs are involved. 4.3 Overhead of Merge Operation As described in Section 3.2, the lazy method makes the execution time of the rst le operation after the world merge operation longer than that of the second and later le operations. This experiment is done to measure this dierence. In this experiment, the le size is xed to 100 blocks (800 kb). We measured the execution time to read Table 1: The performance of the world operations empty world time (sec) RPC input dirty blocks create merge delete world with 100 les time (sec) RPC input dirty blocks create merge delete The number of modified blocks (1 block = 8k bytes) Figure 3: Eectiveness of block-level copy-on-write a single disk block in the cold cache case. The following three cases were examined: 1. A le including a single. 2. A le including two s not to be merged. 3. A le including two s to be merged. In cases 2 and 3, all blocks are modied. The result of this experiment is shown in Table 2. The time to read a block in case 2 is the same as that in case 1. In case 3, the rst time, the execution time is slower than that in any other results. This extra time is used to merge the two s. This includes two disk inputs. The second time, the execution time in case 3 is the same as that in the other cases. 4.4 Block-level Copy-on-write As described in Section 3.1, block-level copy-on-write is used in the le server. To measure the eciency of this method, we implemented a special le server that uses le-level copy-on-write. In this experiment, the le size is xed to 100 disk blocks (800 kb), and some parts of the le are updated in a child world. The size of these parts is changed from 1 byte to 100 blocks (whole le). This experiment is done under the cold cache case. Since all disk outputs are cached in this experiment, the following execution times do not include the time to write data to the disk. The result of this experiment is shown in Figure 3. In the case of le-level copy-on-write, even when the number of modied disk blocks is one, all the data blocks are read into a memory. In the cases of 8191-byte and one-byte update with block-level copy-on-write, only modied data Table 2: The execution times of the read operation(in seconds) File First Second A single Two s not to be merged Two s to be merged

5 blocks are read to a memory. In the case of 8192-byte update with block-level copy-on-write, no data block is read to a memory. 5 DISCUSSIONS 5.1 The Speculative Make The speculative make[2] uses worlds to implement the function of the make utility of Unix. When the speculative make detects the updates of source les, it creates a child world, and starts compilation in the child world before a user types \make". When the user types \make", the speculative make merges the child worlds into the mandatory world. The response time of the speculative make is bound by the execution time of the merge operation if the processes in child worlds are completed. In the speculative make, the out-of-date time is used to compile targets. The outof-date time is the dierence between the time when the user types \make" and the latest time stamp of any of the sources of the targets. The article [2] reports that the median and mean values of the target out-of-date times were 32 and 378 seconds, respectively. If the execution time of compilation is shorter than the out-of-date time, the response time is equal to the execution time of merge. As shown in Section 4.2, this time is less than or equal to seconds, and is much shorter than that in the article [2]. This is because we use a lazy method. 5.2 Safe Update of a Software Package As an example of safe update of a software package, we use the installation of a cluster of recommended patches for Solaris This patch cluster includes executables to be replaced, installation scripts and their documents. It takes about 30 minutes to install the patch cluster. This installation often destroys local congurations. For example, suppose that we have replaced sendmail and named locally before this installation. This installation replaces our sendmail and named with the vendor's. By using worlds, this problem can be solved as follows: First, we create a child world for installing the patche cluster. Second, we run the installation scripts in the child world. After that, we examine new installed les in the child world, and nd that our sendmail and named are destroyed. We can repair these les. Finally, we merge the child world to the parent world. 6 RELATED WORKS In optimistic make[2], the idea of encapsulation is introduced. The operations on encapsulation include create, mandate and abort, and they correspond to create, merge and delete in our system. To implement encapsulation, a name-based method is used. Compared to this system, the rst feature of our system is the use of a body-based method and block-level copy-on-write. This enhances the performance of the write operation. The second feature is the use of the lazy method. This shortens the response time of speculative make. 3D File System[3] is designed to allow users to view dierent versions of a le in a UNIX le system. The translucent le service (TFS)[6] supplies a copy-on-write le system that allows sharing of le hierarchies while providing each with a private hierarchy. Compared to these systems, the rst feature of our system is that the merge operation is supported. The second feature is that a lazy method and block-level copy-on-write are used. 7 CONCLUSION We show the implementation of a le system supporting the parallel world model. Applications of this model include optimistic processing and safe update of software packages. A body-based method is used to realize the parallel world model. A lazy method is used to enhance the performance of world operations, and blocklevel copy-on-write is used to enhance the performance of the write operation. The results of experiments illustrate that the system provides the facility to support those applications. We are implementing a garbage collector for s of merged or deleted worlds. We are also interested in extending our system for other applications, such as version management, disconnected operation, and long-term transaction. REFERENCES [1] Barghouti, N. and Kaiser G.E.: Concurrency Control in Advanced Database Applications, ACM Computing Surveys, Vol.23, No.3, pp (1991). [2] Bubenik, R. and Zwaenepoel, W.: Optimistic Make, IEEE transactions on computer, Vol.41, No.2, pp (1991). [3] Korn, D. and Krell, E.: The 3-D File System, Proceedings of USENIX Summer Conference '89, pp (1989). [4] Osborne, R. B.: Speculative Computation in Multilisp, Proc. US/Japan Workshop on Parallel Lisp, Springer-Verlag LNCS 441, pp (1990). [5] Shinjo, Y. and Sun, J.: Operating systems based on the parallel world model, IPSJ Computer System Symposium, pp (1997). [6] SunOS Reference Manual, Sun Microsystems Inc. (1992). 5

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Zhou B. B., Brent R. P. and Tridgell A. y Computer Sciences Laboratory The Australian National University Canberra,

More information

Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of C

Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of C Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of California, San Diego CA 92093{0114, USA Abstract. We

More information

Using the Holey Brick Tree for Spatial Data. in General Purpose DBMSs. Northeastern University

Using the Holey Brick Tree for Spatial Data. in General Purpose DBMSs. Northeastern University Using the Holey Brick Tree for Spatial Data in General Purpose DBMSs Georgios Evangelidis Betty Salzberg College of Computer Science Northeastern University Boston, MA 02115-5096 1 Introduction There is

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

Shigeru Chiba Michiaki Tatsubori. University of Tsukuba. The Java language already has the ability for reection [2, 4]. java.lang.

Shigeru Chiba Michiaki Tatsubori. University of Tsukuba. The Java language already has the ability for reection [2, 4]. java.lang. A Yet Another java.lang.class Shigeru Chiba Michiaki Tatsubori Institute of Information Science and Electronics University of Tsukuba 1-1-1 Tennodai, Tsukuba, Ibaraki 305-8573, Japan. Phone: +81-298-53-5349

More information

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

Cluster quality 15. Running time 0.7. Distance between estimated and true means Running time [s]

Cluster quality 15. Running time 0.7. Distance between estimated and true means Running time [s] Fast, single-pass K-means algorithms Fredrik Farnstrom Computer Science and Engineering Lund Institute of Technology, Sweden arnstrom@ucsd.edu James Lewis Computer Science and Engineering University of

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

RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH. Computer Science Department and Institute. University of Maryland

RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH. Computer Science Department and Institute. University of Maryland RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH Gilberto Matos James Purtilo Computer Science Department and Institute for Advanced Computer Studies University of Maryland

More information

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines B. B. Zhou, R. P. Brent and A. Tridgell Computer Sciences Laboratory The Australian National University Canberra,

More information

Distributed File Systems. CS 537 Lecture 15. Distributed File Systems. Transfer Model. Naming transparency 3/27/09

Distributed File Systems. CS 537 Lecture 15. Distributed File Systems. Transfer Model. Naming transparency 3/27/09 Distributed File Systems CS 537 Lecture 15 Distributed File Systems Michael Swift Goal: view a distributed system as a file system Storage is distributed Web tries to make world a collection of hyperlinked

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

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

OPERATING SYSTEM. Chapter 12: File System Implementation

OPERATING SYSTEM. Chapter 12: File System Implementation OPERATING SYSTEM Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management

More information

On-Line Software Version Change Using State. Transfer Between Processes. Deepak Gupta. Pankaj Jalote. Department of Computer Science and Engineering

On-Line Software Version Change Using State. Transfer Between Processes. Deepak Gupta. Pankaj Jalote. Department of Computer Science and Engineering On-Line Software Version Change Using State Transfer Between Processes Deepak Gupta Pankaj Jalote Department of Computer Science and Engineering Indian Institute of Technology Kanpur - 208016 ; India Abstract

More information

Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems. Robert Grimm University of Washington

Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems. Robert Grimm University of Washington Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems Robert Grimm University of Washington Extensions Added to running system Interact through low-latency interfaces Form

More information

The Structuring of Systems Using Upcalls

The Structuring of Systems Using Upcalls CS533 - Concepts of Operating Systems, Winter 2012 The Structuring of Systems Using Upcalls David D. Clark Presented by: Peter Banda Agenda Layers and Upcalls Example Multi-task Modules Problems with Upcalls

More information

and easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs.

and easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs. and easily tailor it for use within the multicast system. After expressing an initial application design in terms of MIL specications, the application code and speci- cations may be compiled and executed.

More information

Chapter 11: Implementing File

Chapter 11: Implementing File Chapter 11: Implementing File Systems Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

Chapter 11: Implementing File-Systems

Chapter 11: Implementing File-Systems Chapter 11: Implementing File-Systems Chapter 11 File-System Implementation 11.1 File-System Structure 11.2 File-System Implementation 11.3 Directory Implementation 11.4 Allocation Methods 11.5 Free-Space

More information

Chapter 11: Implementing File Systems. Operating System Concepts 9 9h Edition

Chapter 11: Implementing File Systems. Operating System Concepts 9 9h Edition Chapter 11: Implementing File Systems Operating System Concepts 9 9h Edition Silberschatz, Galvin and Gagne 2013 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory

More information

The Design and Implementation of a DCD Device Driver for UNIX

The Design and Implementation of a DCD Device Driver for UNIX THE ADVANCED COMPUTING SYSTEMS ASSOCIATION The following paper was originally published in the Proceedings of the 1999 USENIX Annual Technical Conference Monterey, California, USA, June 6 11, 1999 The

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

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

Partial Marking GC. A traditional parallel mark and sweep GC algorithm has, however,

Partial Marking GC. A traditional parallel mark and sweep GC algorithm has, however, Partial Marking GC Yoshio Tanaka 1 Shogo Matsui 2 Atsushi Maeda 1 and Masakazu Nakanishi 1 1 Keio University, Yokohama 223, Japan 2 Kanagawa University, Hiratsuka 259-12, Japan Abstract Garbage collection

More information

Technische Universitat Munchen. Institut fur Informatik. D Munchen.

Technische Universitat Munchen. Institut fur Informatik. D Munchen. Developing Applications for Multicomputer Systems on Workstation Clusters Georg Stellner, Arndt Bode, Stefan Lamberts and Thomas Ludwig? Technische Universitat Munchen Institut fur Informatik Lehrstuhl

More information

Persistent Identifier (PID) Partition. Indirectory free-list. Object Object Object Free space

Persistent Identifier (PID) Partition. Indirectory free-list. Object Object Object Free space Towards Scalable and Recoverable Object Evolution for the PJama Persistent Platform M. Dmitriev and C. Hamilton Department of Computing Science, University of Glasgow, Glasgow G12 8RZ, Scotland, UK fmisha,

More information

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk HRaid: a Flexible Storage-system Simulator Toni Cortes Jesus Labarta Universitat Politecnica de Catalunya - Barcelona ftoni, jesusg@ac.upc.es - http://www.ac.upc.es/hpc Abstract Clusters of workstations

More information

Operating System Performance and Large Servers 1

Operating System Performance and Large Servers 1 Operating System Performance and Large Servers 1 Hyuck Yoo and Keng-Tai Ko Sun Microsystems, Inc. Mountain View, CA 94043 Abstract Servers are an essential part of today's computing environments. High

More information

Run-time Environments -Part 3

Run-time Environments -Part 3 Run-time Environments -Part 3 Y.N. Srikant Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Compiler Design Outline of the Lecture Part 3 What is run-time support?

More information

Chapter 11: Implementing File Systems

Chapter 11: Implementing File Systems Chapter 11: Implementing File Systems Operating System Concepts 99h Edition DM510-14 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation

More information

LogSI-HTM: Log Based Snapshot Isolation in Hardware Transactional Memory

LogSI-HTM: Log Based Snapshot Isolation in Hardware Transactional Memory LogSI-HTM: Log Based Snapshot Isolation in Hardware Transactional Memory Lois Orosa and Rodolfo zevedo Institute of Computing, University of Campinas (UNICMP) {lois.orosa,rodolfo}@ic.unicamp.br bstract

More information

CS 111. Operating Systems Peter Reiher

CS 111. Operating Systems Peter Reiher Operating System Principles: File Systems Operating Systems Peter Reiher Page 1 Outline File systems: Why do we need them? Why are they challenging? Basic elements of file system design Designing file

More information

Mining N-most Interesting Itemsets. Ada Wai-chee Fu Renfrew Wang-wai Kwong Jian Tang. fadafu,

Mining N-most Interesting Itemsets. Ada Wai-chee Fu Renfrew Wang-wai Kwong Jian Tang. fadafu, Mining N-most Interesting Itemsets Ada Wai-chee Fu Renfrew Wang-wai Kwong Jian Tang Department of Computer Science and Engineering The Chinese University of Hong Kong, Hong Kong fadafu, wwkwongg@cse.cuhk.edu.hk

More information

File-System Structure

File-System Structure Chapter 12: File System Implementation File System Structure File System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery Log-Structured

More information

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations. A Framework for Embedded Real-time System Design? Jin-Young Choi 1, Hee-Hwan Kwak 2, and Insup Lee 2 1 Department of Computer Science and Engineering, Korea Univerity choi@formal.korea.ac.kr 2 Department

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

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

FILE SYSTEMS, PART 2. CS124 Operating Systems Fall , Lecture 24

FILE SYSTEMS, PART 2. CS124 Operating Systems Fall , Lecture 24 FILE SYSTEMS, PART 2 CS124 Operating Systems Fall 2017-2018, Lecture 24 2 Last Time: File Systems Introduced the concept of file systems Explored several ways of managing the contents of files Contiguous

More information

Minoru SASAKI and Kenji KITA. Department of Information Science & Intelligent Systems. Faculty of Engineering, Tokushima University

Minoru SASAKI and Kenji KITA. Department of Information Science & Intelligent Systems. Faculty of Engineering, Tokushima University Information Retrieval System Using Concept Projection Based on PDDP algorithm Minoru SASAKI and Kenji KITA Department of Information Science & Intelligent Systems Faculty of Engineering, Tokushima University

More information

Client (meet lib) tac_firewall ch_firewall ag_vm. (3) Create ch_firewall. (5) Receive and examine (6) Locate agent (7) Create pipes (8) Activate agent

Client (meet lib) tac_firewall ch_firewall ag_vm. (3) Create ch_firewall. (5) Receive and examine (6) Locate agent (7) Create pipes (8) Activate agent Performance Issues in TACOMA Dag Johansen 1 Nils P. Sudmann 1 Robbert van Renesse 2 1 Department of Computer Science, University oftroms, NORWAY??? 2 Department of Computer Science, Cornell University,

More information

The Measured Cost of. Conservative Garbage Collection. Benjamin Zorn. Department of Computer Science. Campus Box 430

The Measured Cost of. Conservative Garbage Collection. Benjamin Zorn. Department of Computer Science. Campus Box 430 The Measured Cost of Conservative Garbage Collection Benjamin Zorn Department of Computer Science Campus Box #430 University of Colorado, Boulder 80309{0430 CU-CS-573-92 April 1992 University of Colorado

More information

Component-Based Communication Support for Parallel Applications Running on Workstation Clusters

Component-Based Communication Support for Parallel Applications Running on Workstation Clusters Component-Based Communication Support for Parallel Applications Running on Workstation Clusters Antônio Augusto Fröhlich 1 and Wolfgang Schröder-Preikschat 2 1 GMD FIRST Kekulésraÿe 7 D-12489 Berlin, Germany

More information

DAT (cont d) Assume a page size of 256 bytes. physical addresses. Note: Virtual address (page #) is not stored, but is used as an index into the table

DAT (cont d) Assume a page size of 256 bytes. physical addresses. Note: Virtual address (page #) is not stored, but is used as an index into the table Assume a page size of 256 bytes 5 Page table size (determined by size of program) 1 1 0 1 0 0200 00 420B 00 xxxxxx 1183 00 xxxxxx physical addresses Residency Bit (0 page frame is empty) Note: Virtual

More information

When Java technology burst onto the Internet scene in 1995,

When Java technology burst onto the Internet scene in 1995, MOBILE CODE SECURITY SECURE JAVA CLASS LOADING The class loading mechanism, LI GONG Sun Microsystems central to Java, plays a key role in JDK 1.2 by enabling When Java technology burst onto the Internet

More information

File Systems: Allocation Issues, Naming, and Performance CS 111. Operating Systems Peter Reiher

File Systems: Allocation Issues, Naming, and Performance CS 111. Operating Systems Peter Reiher File Systems: Allocation Issues, Naming, and Performance Operating Systems Peter Reiher Page 1 Outline Allocating and managing file system free space File naming and directories File volumes File system

More information

CMPUT Language Paradigms. Programming Paradigms. Dr. B. Price & Dr. R. Greiner. 7th September Real languages draw upon multiple paradigms

CMPUT Language Paradigms. Programming Paradigms. Dr. B. Price & Dr. R. Greiner. 7th September Real languages draw upon multiple paradigms CMPUT 325 - Language Paradigms Dr. B. Price & Dr. R. Greiner 7th September 2004 Dr. B. Price & Dr. R. Greiner CMPUT 325 - Language Paradigms 1 Programming Paradigms Real languages draw upon multiple paradigms

More information

Mobile NFS. Fixed NFS. MFS Proxy. Client. Client. Standard NFS Server. Fixed NFS MFS: Proxy. Mobile. Client NFS. Wired Network.

Mobile NFS. Fixed NFS. MFS Proxy. Client. Client. Standard NFS Server. Fixed NFS MFS: Proxy. Mobile. Client NFS. Wired Network. On Building a File System for Mobile Environments Using Generic Services F. Andre M.T. Segarra IRISA Research Institute IRISA Research Institute Campus de Beaulieu Campus de Beaulieu 35042 Rennes Cedex,

More information

2 Application Support via Proxies Onion Routing can be used with applications that are proxy-aware, as well as several non-proxy-aware applications, w

2 Application Support via Proxies Onion Routing can be used with applications that are proxy-aware, as well as several non-proxy-aware applications, w Onion Routing for Anonymous and Private Internet Connections David Goldschlag Michael Reed y Paul Syverson y January 28, 1999 1 Introduction Preserving privacy means not only hiding the content of messages,

More information

Stackable Layers: An Object-Oriented Approach to. Distributed File System Architecture. Department of Computer Science

Stackable Layers: An Object-Oriented Approach to. Distributed File System Architecture. Department of Computer Science Stackable Layers: An Object-Oriented Approach to Distributed File System Architecture Thomas W. Page Jr., Gerald J. Popek y, Richard G. Guy Department of Computer Science University of California Los Angeles

More information

Complementary Garbage Collector.

Complementary Garbage Collector. Complementary Garbage Collector Shogo Matsui 1 Yoshio Tanaka 2 Atsushi Maeda 2 and Masakazu Nakanishi 2 1 Kanagawa University, Hiratsuka 259-12, Japan 2 Keio University, Yokohama 223, Japan (sho@info.kanagawa-u.ac.jp,

More information

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1 Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L20-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:

More information

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

gateways to order processing in electronic commerce. In fact, the generic Web page access can be considered as a special type of CGIs that are built i

gateways to order processing in electronic commerce. In fact, the generic Web page access can be considered as a special type of CGIs that are built i High-Performance Common Gateway Interface Invocation Ganesh Venkitachalam Tzi-cker Chiueh Computer Science Department State University of New York at Stony Brook Stony Brook, NY 11794-4400 fganesh, chiuehg@cs.sunysb.edu

More information

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

Application. Protocol Stack. Kernel. Network. Network I/F 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

More information

Process Time Comparison between GPU and CPU

Process Time Comparison between GPU and CPU Process Time Comparison between GPU and CPU Abhranil Das July 20, 2011 Hamburger Sternwarte, Universität Hamburg Abstract This report discusses a CUDA program to compare process times on a GPU and a CPU

More information

Implementations of Dijkstra's Algorithm. Based on Multi-Level Buckets. November Abstract

Implementations of Dijkstra's Algorithm. Based on Multi-Level Buckets. November Abstract Implementations of Dijkstra's Algorithm Based on Multi-Level Buckets Andrew V. Goldberg NEC Research Institute 4 Independence Way Princeton, NJ 08540 avg@research.nj.nec.com Craig Silverstein Computer

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

Concurrency and Recovery. Index Trees. Digital Equipment Corporation. Cambridge Research Lab. CRL 91/8 August 19, 1991

Concurrency and Recovery. Index Trees. Digital Equipment Corporation. Cambridge Research Lab. CRL 91/8 August 19, 1991 Concurrency and Recovery Index Trees for David Lomet Betty Salzberg Digital Equipment Corporation Cambridge Research Lab CRL 91/8 August 19, 1991 Digital Equipment Corporation has four research facilities:

More information

V Advanced Data Structures

V Advanced Data Structures V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,

More information

Chapter 10: File System Implementation

Chapter 10: File System Implementation Chapter 10: File System Implementation Chapter 10: File System Implementation File-System Structure" File-System Implementation " Directory Implementation" Allocation Methods" Free-Space Management " Efficiency

More information

Distributed File Systems

Distributed File Systems Distributed File Systems Today l Basic distributed file systems l Two classical examples Next time l Naming things xkdc Distributed File Systems " A DFS supports network-wide sharing of files and devices

More information

Switch. Switch. PU: Pentium Pro 200MHz Memory: 128MB Myricom Myrinet 100Base-T Ethernet

Switch. Switch. PU: Pentium Pro 200MHz Memory: 128MB Myricom Myrinet 100Base-T Ethernet COMPaS: A Pentium Pro PC-based SMP Cluster and its Experience Yoshio Tanaka 1, Motohiko Matsuda 1, Makoto Ando 1, Kazuto Kubota and Mitsuhisa Sato 1 Real World Computing Partnership fyoshio,matu,ando,kazuto,msatog@trc.rwcp.or.jp

More information

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1 Windows 7 Overview Windows 7 Overview By Al Lake History Design Principles System Components Environmental Subsystems File system Networking Programmer Interface Lake 2 Objectives To explore the principles

More information

OPERATING SYSTEMS II DPL. ING. CIPRIAN PUNGILĂ, PHD.

OPERATING SYSTEMS II DPL. ING. CIPRIAN PUNGILĂ, PHD. OPERATING SYSTEMS II DPL. ING. CIPRIAN PUNGILĂ, PHD. File System Implementation FILES. DIRECTORIES (FOLDERS). FILE SYSTEM PROTECTION. B I B L I O G R A P H Y 1. S I L B E R S C H AT Z, G A L V I N, A N

More information

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which

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

Lustre Capability DLD

Lustre Capability DLD Lustre Capability DLD Lai Siyao 7th Jun 2005 OSS Capability 1 Functional specication OSS capabilities are generated by, sent to when opens/truncate a le, and is then included in each request from to OSS

More information

Chapter 12: File System Implementation. Operating System Concepts 9 th Edition

Chapter 12: File System Implementation. Operating System Concepts 9 th Edition Chapter 12: File System Implementation Silberschatz, Galvin and Gagne 2013 Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods

More information

18.3 Deleting a key from a B-tree

18.3 Deleting a key from a B-tree 18.3 Deleting a key from a B-tree B-TREE-DELETE deletes the key from the subtree rooted at We design it to guarantee that whenever it calls itself recursively on a node, the number of keys in is at least

More information

Application. CoCheck Overlay Library. MPE Library Checkpointing Library. OS Library. Operating System

Application. CoCheck Overlay Library. MPE Library Checkpointing Library. OS Library. Operating System Managing Checkpoints for Parallel Programs Jim Pruyne and Miron Livny Department of Computer Sciences University of Wisconsin{Madison fpruyne, mirong@cs.wisc.edu Abstract Checkpointing is a valuable tool

More information

Software transactional memory

Software transactional memory Transactional locking II (Dice et. al, DISC'06) Time-based STM (Felber et. al, TPDS'08) Mentor: Johannes Schneider March 16 th, 2011 Motivation Multiprocessor systems Speed up time-sharing applications

More information

File System Implementation. Sunu Wibirama

File System Implementation. Sunu Wibirama File System Implementation Sunu Wibirama File-System Structure Outline File-System Implementation Directory Implementation Allocation Methods Free-Space Management Discussion File System Structure File

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Silberschatz, Galvin and Gagne 2013 Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods

More information

Understanding Task Scheduling Algorithms. Kenjiro Taura

Understanding Task Scheduling Algorithms. Kenjiro Taura Understanding Task Scheduling Algorithms Kenjiro Taura 1 / 48 Contents 1 Introduction 2 Work stealing scheduler 3 Analyzing execution time of work stealing 4 Analyzing cache misses of work stealing 5 Summary

More information

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009. CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar Louisiana State University August 27 th, 2009 1 Announcements TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu

More information

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009 CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu Announcements All of you should be now in the class mailing

More information

Concurrency Control CHAPTER 17 SINA MERAJI

Concurrency Control CHAPTER 17 SINA MERAJI Concurrency Control CHAPTER 17 SINA MERAJI Announcement Sign up for final project presentations here: https://docs.google.com/spreadsheets/d/1gspkvcdn4an3j3jgtvduaqm _x4yzsh_jxhegk38-n3k/edit#gid=0 Deadline

More information

Computer Systems Laboratory Sungkyunkwan University

Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23 FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 23 2 Persistent Storage All programs require some form of persistent storage that lasts beyond the lifetime of an individual process Most

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Computer Systems Engineering: Spring Quiz I Solutions

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Computer Systems Engineering: Spring Quiz I Solutions Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.033 Computer Systems Engineering: Spring 2011 Quiz I Solutions There are 10 questions and 12 pages in this

More information

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1 Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L16-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:

More information

Job Re-Packing for Enhancing the Performance of Gang Scheduling

Job Re-Packing for Enhancing the Performance of Gang Scheduling Job Re-Packing for Enhancing the Performance of Gang Scheduling B. B. Zhou 1, R. P. Brent 2, C. W. Johnson 3, and D. Walsh 3 1 Computer Sciences Laboratory, Australian National University, Canberra, ACT

More information

D1 D2 D3 D4 D5 D6 D7 D8

D1 D2 D3 D4 D5 D6 D7 D8 Digital Signatures for Flows and Multicasts Chung Kei Wong Simon S. Lam Department of Computer Sciences The University of Texas at Austin Austin, TX 78712-1188 fckwong,lamg@cs.utexas.edu TR-98-15 May 31,

More information

Network. Department of Statistics. University of California, Berkeley. January, Abstract

Network. Department of Statistics. University of California, Berkeley. January, Abstract Parallelizing CART Using a Workstation Network Phil Spector Leo Breiman Department of Statistics University of California, Berkeley January, 1995 Abstract The CART (Classication and Regression Trees) program,

More information

Machine Problem 1: A Simple Memory Allocator

Machine Problem 1: A Simple Memory Allocator Machine Problem 1: A Simple Memory Allocator Introduction In this machine problem, you are to develop a simple memory allocator that implements the functions my malloc() and my free(), very similarly to

More information

V Advanced Data Structures

V Advanced Data Structures V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,

More information

les are not generally available by NFS or AFS, with a mechanism called \remote system calls". These are discussed in section 4.1. Our general method f

les are not generally available by NFS or AFS, with a mechanism called \remote system calls. These are discussed in section 4.1. Our general method f Checkpoint and Migration of UNIX Processes in the Condor Distributed Processing System Michael Litzkow, Todd Tannenbaum, Jim Basney, and Miron Livny Computer Sciences Department University of Wisconsin-Madison

More information

CAD with use of Designers' Intention. Osaka University. Suita, Osaka , Japan. Abstract

CAD with use of Designers' Intention. Osaka University. Suita, Osaka , Japan. Abstract CAD with use of Designers' Intention Eiji Arai, Keiichi Shirase, and Hidefumi Wakamatsu Dept. of Manufacturing Science Graduate School of Engineering Osaka University Suita, Osaka 565-0871, Japan Abstract

More information

CHAPTER 4 AN INTEGRATED APPROACH OF PERFORMANCE PREDICTION ON NETWORKS OF WORKSTATIONS. Xiaodong Zhang and Yongsheng Song

CHAPTER 4 AN INTEGRATED APPROACH OF PERFORMANCE PREDICTION ON NETWORKS OF WORKSTATIONS. Xiaodong Zhang and Yongsheng Song CHAPTER 4 AN INTEGRATED APPROACH OF PERFORMANCE PREDICTION ON NETWORKS OF WORKSTATIONS Xiaodong Zhang and Yongsheng Song 1. INTRODUCTION Networks of Workstations (NOW) have become important distributed

More information

Key Range Locking Strategies for. David Lomet. Digital Equipment Corporation. Cambridge Research Lab. CRL 93/2 February 10, 1993

Key Range Locking Strategies for. David Lomet. Digital Equipment Corporation. Cambridge Research Lab. CRL 93/2 February 10, 1993 Key Range Locking Strategies for Improved Concurrency David Lomet Digital Equipment Corporation Cambridge Research Lab CRL 93/2 February 10, 1993 Digital Equipment Corporation has four research facilities:the

More information

OS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation

OS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation CSE 421/521 - Operating Systems Fall 2012 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management

More information

The language should have few implementation dependencies and should be simple, so that interactions between language features do not give unexpected b

The language should have few implementation dependencies and should be simple, so that interactions between language features do not give unexpected b Using Analytical Approaches for High Integrity Ada95 Systems Stephen Michell Maurya Software 29 Maurya Court, Ottawa, Ontario K1G 5S3 Canada Email: steve@maurya.on.ca Dan Craigen, Mark Saaltink ORA Canada

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

CHAPTER 3 - PROCESS CONCEPT

CHAPTER 3 - PROCESS CONCEPT CHAPTER 3 - PROCESS CONCEPT 1 OBJECTIVES Introduce a process a program in execution basis of all computation Describe features of processes: scheduling, creation, termination, communication Explore interprocess

More information

CS 550 Operating Systems Spring File System

CS 550 Operating Systems Spring File System 1 CS 550 Operating Systems Spring 2018 File System 2 OS Abstractions Process: virtualization of CPU Address space: virtualization of memory The above to allow a program to run as if it is in its own private,

More information

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection Part V Process Management Sadeghi, Cubaleska RUB 2008-09 Course Operating System Security Memory Management and Protection Roadmap of Chapter 5 Notion of Process and Thread Data Structures Used to Manage

More information

criterion, thereby reducing communication overhead and improving eciency. Since traditional shared memory environments do not provide such alternative

criterion, thereby reducing communication overhead and improving eciency. Since traditional shared memory environments do not provide such alternative InterAct: Virtual Sharing for Interactive Client-Server Applications? Srinivasan Parthasarathy and Sandhya Dwarkadas Department of Computer Science University of Rochester Rochester, NY 14627{0226 fsrini,sandhyag@cs.rochester.edu

More information

MANAGEMENT OF TASKS IN VIRTUALIZED ENVIRONMENTS

MANAGEMENT OF TASKS IN VIRTUALIZED ENVIRONMENTS MANAGEMENT OF TASKS IN VIRTUALIZED ENVIRONMENTS Asil ALKAYA Adnan Menderes University / Faculty of Business Administration Title Asst. Prof. Dr. E-mail: asil.alkaya@adu.edu.tr Abstract Virtualization has

More information

Generalized Iteration Space and the. Parallelization of Symbolic Programs. (Extended Abstract) Luddy Harrison. October 15, 1991.

Generalized Iteration Space and the. Parallelization of Symbolic Programs. (Extended Abstract) Luddy Harrison. October 15, 1991. Generalized Iteration Space and the Parallelization of Symbolic Programs (Extended Abstract) Luddy Harrison October 15, 1991 Abstract A large body of literature has developed concerning the automatic parallelization

More information