Abstract
File systems being used as standard software in today’s computer systems have to deal with access conflicts when several processes request I/O operations to the same file. There have to be coordination mechanisms for resolving such conflicts according to the prescriptions of the POSIX standard. Access coordination is usually implemented by executing file operations by one process exclusively, sacrificing scalability of multiple concurrent accesses in multicomputers. To resolve this problem, we propose a scalable coordination scheme which avoids sequentialization of accesses by locking only parts of the file (i.e. arbitrary records). It allows several processes to operate on the same file truly in parallel, while POSIX semantics is retained. Scalability is achieved by employing scalable shared memory access mechanisms and scalable elementary locks. The locking scheme has successfully been tested within an experimental file system implementation.
Zusammenfassung
Dateisysteme, die in heutigen Rechnern als Standardsoftware benutzt werden, müssen Zugriffskonflikte bewältigen, sobald verschiedene Prozesse auf dieselbe Datei zugreifen. Es muß Koordinationsmechanismen geben, um solche Konflikte entsprechend dem POSIX-Standard aufzulösen. Diese Mechanismen sind normalerweise in der Form implementiert, daß jeweils nur ein Prozeß allein die Dateioperationen ausführen darf. Dadurch sind gleichzeitig stattfindende Zugriffe in Multiprozessoren nicht skaliebar ausführbar. Wir schlagen als Lösung ein skalierbares Koordinationsschema vor, das die Sequentialisierung von Zugriffen vermeidet, indem nur (beliebige) Teile einer Datei gesperrt werden. Das Schema erlaubt echten Parallelzugriff auf dieselbe Datei, wobei die POSIX-Semantik erhalten bleibt. Skalierbarkeit wird dabei durch Verwendung von skalierbaren Shared-Memory-Zugriffsmechanismen und skalierbaren elementaren Sperrmechanismen erreicht. Das Sperrschema wurde in einer experimentellen Implementierung eines Dateisystems erfolgreich getestet.
Similar content being viewed by others
References
Almasi, G. S., Gottlieb, A.: Highly parallel computing. Redwood City: Benjamin/Cummings 1989.
Bach, M. J.: The design of the UNIX operating system. Englewood Cliffs: Prentice-Hall 1986.
Best, M. L., Greenberg, A., Stanfill, C., Tucker, L. W.: CMMD I/O: A parallel Unix I/O. Proc. Seventh Intnl. Par. Proc. Symp., pp. 489–495 (1993).
Broom, B. M.: A synchronous file server for distributed file systems. Technical Report TR-CS-92-12, Dept. of Computer Science, Australian National University, August 1992.
Corbett, P. F., Johnson Baylor, S., Feitelson, D. G.: Overview of the Vesta parallel file system. Comp. Arch. News21, 7–14 (1993).
Eckardt, H., Hellwagner, H., Klein, A.: Scalable parallel file systems for distributed shared memory. Siemens Internal Report, 1993.
Hellwagner, H.: On the practical efficiency of randomized shared memory. In: Parallel Processing: Proc. CONPAR 92/VAPP V (Bougé, L., Cosnard, M., Robert, Y., Trystram, D., eds.), pp. 429–440. Berlin Heidelberg New York Tokyo: Springer 1992.
Hellwagner, H.: Design considerations for scalable parallel file systems. Comp. J.36, 741–755 (1993).
IEEE Std 1003.1-1990/International Standard ISO/IEC 9945-1: Information technology — portable operating system interface (POSIX) — Part 1: system application program interface (API) [C language]. New York: IEEE 1990.
Kotz, D., Schlatter Ellis, C.: Caching and writeback policies in parallel file systems. J. Par. Distr. Comp.17, 140–145 (1993).
Leffler, S. J., McKusick, M. K., Karels, M. J., Quarterman, J. S.: The design and implementation of the 4.3 BSD UNIX operating system. New York: Addison-Wesley 1989.
Lenosky, D., Laudon, J., Gharachorloo, K., Weber, W.-D., Gupta, A., Henessy, J., Horowitz, M., Lam, M. S.: The Stanford DASH multiprocessor. Computer25, 63–79 (1992).
Mellor-Crummey, J. M., Scott, M. L.: Scalable reader-writer synchronization for shared-memory multiprocessors. Proc. 3rd ACM Symp. on Principles and Practice of Parallel Programming (PPoPP), pp. 106–113. New York: ACM Press 1991.
Mutisya, G., Broom, B. M.: Distributed file caching for the AP1000. Proceedings of the Third Fujitsu-ANU CAP Workshop, November 1992, pp. 1–17. Fujitsu 1992.
Nitzberg, B., Lo, V.: Distributed shared memory: a survey of issues and algorithms. Computer24, 52–60 (1991).
Pierce, P.: A concurrent file system for a highly parallel mass storage subsystem. Proc. 4th Conf. on Hypercube Concurrent Computers and Applications. Monterey, CA, Mar. 1989, pp. 155–160, 1989.
Pratt, T. W., French, J. C., Dickens, P. M., Janet, S. A.: A comparison of the architecture and performance of two parallel file systems. Proc 4th Conf. on Hypercube Concurrent Computers and Applications. Monterey, CA, Mar. 1989, pp. 161–166, 1989.
del Rosario, J. M., Bordawekar, R., Choudhary, A.: Improved parallel I/O via a two-phase run-time access strategy. Comp. Arch. News21, 31–38 (1993).
Rothnie, J.: Kendall Square research introduction to the KSR1. In: Supercomputer ’92, (Meuer, H. W., ed.), pp. 104–114. Berlin Heidelberg New York Tokyo: Springer, 1992.
Valiant, L. G.: General purpose parallel architectures. In: Handbook of theoretical computer science. (van Leeuwen, J., ed.). Amsterdam: North-Holland 1990.
Valiant, L. G.: A bridging model for parallel computation. Commun. ACM33, 103–111 (1990).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Eckardt, H. A scalable record locking scheme for parallel file access. Computing 58, 113–128 (1997). https://doi.org/10.1007/BF02684435
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02684435