Abstract
In this paper, we explore the problem of designing an effective master-slave operating system architecture for multiprocessors and describe current status of our prototype implementation, called APRIX (Asymmetric Parallel Real-tIme KernelS). This work has been largely motivated by the recent emergence of heterogeneous multiprocessors and the fact that the masterslave approach can be easily applied to heterogeneous multiprocessors while SMP (symmetric multiprocessing) approaches are restricted to homogeneous multiprocessors with UMA (Uniform Memory Access). The purpose of this paper is to identify and discuss design issues that have significant impact on the functionality and performance of the master-slave approach. Specifically, our study will investigate three major issues: structural design of a master-slave operating system based on our experience with a prototype development of APRIX, functional design of remote invocation mechanism that is required for executing kernel mode operations on a remote procesor, and performance improvement via application-specific kernel configuration. We finally describe our initial implementation of APRIX and preliminary experiment results.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Kagstrom, S., Grahn, H., Lundberg, L.: Experiences from implementing multiprocessor support for an industrial operating system kernel. In: Proceeding of 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pp. 365–368. IEEE Computer Society Press, Los Alamitos (2005)
Lehey, G.: Improving the FreeBSD SMP Implementation. In: Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference, pp. 155–164 (2001)
Love, R.: Linux Kernel Development, 2nd edn. Novell Press (2005)
Vahalia, U.: UNIX Internals: The New Frontiers. Prentice Hall, Upper Saddle River New Jersey (1996)
Bach, M.J.: Design of the UNIX Operating System. Prentice Hall, Englewood Cliffs (1986)
Clark, R., O’Quin, J., Weaver, T.: Symmetric Multiprocessing for the AIX Operating System. In: Proceedings of the 40th IEEE Computer Society International Conference in Compcon, pp. 110–115. IEEE Computer Society Press, Los Alamitos (1996)
Janssens, M.D., Annot, J.K., Van De Goor, A.J.: Adapting UNIX for a Multiprocessor Environment. Communications of the ACM 29, 895–901 (1986)
Russell, C.H., Waterman, P.J.: Variations on UNIX for Parallel-Processing Computers. Communications of the ACM 30, 1048–1055 (1987)
Kleiman, S., Voll, J., Eykholt, J., Shivalingiah, A., Williams, D.: Symmetric Multiprocessing in Solaris 2.0. In: Proceedings of the Thirty-Seventh International Conference on COMPCON, pp. 181–186 (1992)
Goble, G.H., Marsh, M.H.: A Dual Processor VAX 11/780. In: Proceedings of the 9th Annual Symposium on Computer Architecture, pp. 291–298 (1982)
Kagstrom, S., Lundberg, L., Grahn, H.: A Novel Method for Adding Multiprocessor Support to a Large and Complex Uniprocessor Kernel. In: Proceedings of 18th International Parallel and Distributed Processing Symposium (2004)
Muir, S., Smith, J.: AsyMOS-an Asymmetric Multiprocessor Operating System. In: Proceedings of Open Architectures and Network Programming, pp. 25–34 (1998)
Muir, S., Smith, J.: Functional Divisions in the Piglet Multiprocessor Operating System. In: Proceedings of the 8th ACM SIGOPS European Workshop on Support for Composing Distributed Applications, pp. 255–260. ACM Press, New York (1998)
Wolf, W.: The Future of Multiprocessor Systems-on-Chips. In: Proceedings of the 41st Annual Conference on Design Automation, pp. 681–685 (2004)
Maeda, S., Asano, S., Shimada, T., Awazu, K., Tago, H.: A Real-Time Software Platform for the Cell Processor. IEEE Micro. 25, 20–29 (2005)
Carbone, J.: A SMP RTOS for the ARM MPCore Multiprocessor. ARM Information Quaterly 4, 64–67 (2005)
Friedrich, L.F, Stankovic, J., Humphrey, M., Marley, M., Haskins, J.: A Survey of Configurable, Component-Based Operating Systems for Embedded Applications. IEEE Micro. 21, 54–68 (2001)
Liedtke, J.: On micro-kernel construction. In: Proceedings of the 15th ACM Symposium on Operating Systems Principles, ACM Press, New York (1995)
Gabber, E., Small, C., Bruno, J., Brustoloni, J., Silberschatz, A.: The Pebble Component-Based Operating System. In: Proceedings of the USENIX Annual Technical Conference (1999)
Ford, B., Lepreau, J., Clawson, S., Maren, K.V., Robinson, B., Turner, J.: The Flux OS Toolkit: Reusable Components for OS Implementation. In: Proceedings of the 6th Workshop on Hot Topics in Operating Systems (1997)
Bieman, J.M., Ott, L.M.: Measuring Functional Cohesion. IEEE transactions on Software Engineering 20, 644–657 (1994)
Kumar, R., Tullsen, D.M., Jouppi, N.P., Ranganthan, P.: Heterogeneous Chip Multiprocessors. IEEE Computer 38, 28–32 (2005)
Kahle, J.A., Day, M.N., Hofstee, H.P., Johns, C.R., Maeurer, T.R., Shippy, D.: Introduction to the Cell Multiprocessor. IBM Journal of Research and Development 49, 589–604 (2005)
Carpenter, J., Funk, S., Holman, P., Srinivasan, A., Anderson, J., Baruah, S.: A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms. In: Leung, J.Y.-T. (ed.) Handbook of Scheduling: Algorithms, Models, and Performance Analysis, Chapman Hall/CRC Press, Boca Raton, USA (2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Seo, M., Kim, H.S., Maeng, J.C., Kim, J., Ryu, M. (2007). An Effective Design of Master-Slave Operating System Architecture for Multiprocessor Embedded Systems. In: Choi, L., Paek, Y., Cho, S. (eds) Advances in Computer Systems Architecture. ACSAC 2007. Lecture Notes in Computer Science, vol 4697. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74309-5_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-74309-5_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74308-8
Online ISBN: 978-3-540-74309-5
eBook Packages: Computer ScienceComputer Science (R0)