Cosy Operating System: Overview, Architecture And Inner Workings

downloadDownload
  • Words 1035
  • Pages 2
Download PDF

I. Introduction

COSY is a microkernel-based operating system designed specifically for work on parallel computers with multiple processors (hundreds or thousands of processors). The development of COSY began in 1992. The system is designed to grow with the number of processors without any jobs or tasks becoming delayed or halted. There are two other operating systems, with similar functionality as COSY, Chorus and Mach. Yet, COSY has the advantage in that it was developed to improve on the number of processors an operating system could support.

II. Comparison

While there are not many operating systems designed to work on parallel computers, there are two that are comparable to COSY. These two, Chorus and Mach both use server federation instead of the kernel federation that COSY uses. The server federation is easier to set up. It does not require the modifications of an existing kernel as COSY might. The tradeoff, however, is that the overhead is massively larger than COSY as the system will need to make several kernel calls for each communication sent. By running on the kernel federation COSY can reduce communication errors and keep data loss to a minimum. Mach and Chorus were designed to handle a very specific number of processors, 2-64. This limits the applications on which those two operating systems can be used. On the other hand, COSY was built to handle more than a hundred processors, which also limits its use to larger projects.

Click to get a unique essay

Our writers can write you a new plagiarism-free essay on any topic

III. Overview

Currently COSY is implemented solely on two platforms: the Parsytec-PowerXplorer and the SC and GC families. COSY uses distributed intelligence and autonomous units. It performs its communication using LAN and Fieldbus. The interface is X-Windows object-based. COSY is preferable for use on parallel computers as it requires low overhead and its scalability is incomparable. With the current scalability, COSY is able to support hundreds of processors at a time while providing the automatic scheduling of parallel programs. It also brings dynamic multi-programming, autonomous operation and dedicated communication primitives to the table.

IV. Architecture

When the idea of developing a parallel operating system that could achieve a similar efficiency of a run-time libraries approach system, two different kernel structures were considered for implementation as the backbone of COSY.

The kernel is the core of an operating system that controls the mediate access to the CPU, RAM, and I/O devices and manages system resources between application and hardware. Monolithic Kernel in which the user services and kernel services are implemented under the same address space, making the operating system execution faster, but it increases the size of the kernel. Microsoft Window 9x, Linux, and Unix are the most modern operating systems implemented with a Monolithic Kernel architecture.

Similarly, the microkernel is another kernel structure that also offers CPU scheduling and memory management along with other operating system functions. However, with the microkernel structure, the user services and kernel services are implemented in its own address space which is kernel address space and user address space. Only the essential services such as inter process-communication, memory management, and CPU scheduling are inside the kernel. The remaining OS services are now inside the system application program. The advantage of a microkernel structure is that if anyone service fails it won’t lead to the failure of the entire system which is essential for parallel computing. It also offers customizability and modularity to the user as many essential components are not fixed into the kernel, allowing the user to modify, update, replace, and remove modules during runtime without interrupting the kernel itself. Security is also another factor that is crucial to many of the users. Microkernel offers a far more secure environment compared to a monolithic kernel with restricted privileges given only to the components that are needed for the job as opposed to services and drivers running without restrictions in kernel mode [2]. For these reasons, microkernel was the architecture of choice for COSY.

V. Inner Workings

Figure 1 below shows the seven object types that are put into use by COSY. The kernel manages the resources of the operating system. As shown in Figure 1 the kernel works with segment and address space as an object container. The segment which is the physical memory adds mappings into the address spaces. This allows the memory to be accessed. The address space could be defined as the memory that the process sees. Address space can also contain process groups. This allows for several processes to be in the same address space and share the data. The address space also holds the channels and num locks. Channels are easier to understand. They are the gateways for communication. Messages are sent using the channels. This provides the benefit of creating dynamic servers. Numlocks are also fairly simple concepts. They are general semaphores used for synchronization. Both numlocks and channels are not only accessible through the address space (as they are contained there) but also through node boundaries.

Figure 2 illustrates a representation of how scalability would work on the COSY operating system. A particular job would be divided up into several tasks, and the tasks would be distributed. This allows for a reduced wait time as more tasks could run simultaneously. This process could also reduce the chances of deadlock as there would be no long line for tasks. All tasks could be running at the same time.

VI. Conclusion

Although COSY is still an ongoing project and has not been released for commercial use yet, various applications have successfully run on COSY. Examples of applications are: heat flow simulation, molecular dynamics simulation [3], ray tracing over different types of equation solvers, and optimization problems implemented with tree search algorithms. The results from the applications showed COSY is capable of providing the components of a resident operating system that is efficient without compromising on memory or speed for parallel computing. With developers keen on improving the autonomy and programming environment to be more user friendly, COSY could be critical for parallel computing.

References

  1. Butenuth, Roger, and Hans-Ulrich Heiß Wolfgang Burke. “COSY: An Operating System for Highly Parallel Computers – Semantic Scholar.” SemanticScholar, Allen Institute for Artificial Intelligence, 1 Jan. 1996.
  2. R. Butenuth, H.-U. Heiss: “Highly Parallel Molecular Dynamics Simulation”, will appear in High-Performance Computing ’97 (HPC), April 6-10, 1997, Atlanta, USA
  3. Roch, Benjamin. ‘Monolithic kernel vs. Microkernel.’ TU Wien (2004).

image

We use cookies to give you the best experience possible. By continuing we’ll assume you board with our cookie policy.