skip to main content
article
Open access

A unified model of pointwise equivalence of procedural computations

Published: 01 November 1994 Publication History

Abstract

The execution of a program on a processor is viewed as a representation of that program going through a sequence of states. Each state change is manifested by the execution of a single instruction. Models that depend on this perspective are presented. The first is a static model of a description of a procedural computation. This model formalizes the description of the information in an executable module. Following this dynamic model of a procedural computation is given. This second model describes how a computation transitions from state to state and how the states of a computation are represented. Next, the state of a procedural computation is defined at certain well-defined points in its progression. These points represent potential points of correspondence to another instance of the computation. Then, the equivalence of these well-defined computation states is described. This refinement eliminates the nonmatching potential correspondences. The remaining points describe where the two computations are in the same state. These are precisely the points of equivalence of procedural computations. This final model of pointwise equivalence can be applied to the problem of migrating a computation from one processor to another (possibly architecturally dissimilar) processor.

References

[1]
AHO, A. V., SETHI, R., AND ULLMAN, J. D. 1986. Compilers: Principles, Technzques, and Tools. Addison-Wesley, Reading, Mass.
[2]
ATTARDZ, G., BALDY, A., BONI, U., CARIGNANI, F., COZ~I, G., PhiL, A., DUROCH~R, E., FILOTTI, I., QUNG, W., HUNTBR, M., MARKS, J., RICHARDSON, C., AND WATSON, A. 1988. Techniques for dynamic software migration. In Proceedings oj the 5th Annual Esprit Conference. North-Holland, Amsterdam, 475-491.
[3]
BIRRt~LL, A. D. AND NBLSON, B. J. 1984. Implementing remote procedure calls. A CM Trans. Comput. Syst. $, 1 (Feb.), 39-59.
[4]
CHERITON, D. R. 1984. The v kernel: A software base for distributed systems. IEEE Soflw. 1, 2 (Apr.), 19-42.
[5]
CHI}RITON, D. R. 1988. The v distributed system. Commun. of the A CM 31, 3 (Mar.), 314-333.
[6]
DUBACH, F. B. 1990. Code-point and data mapping in dynamic native-code cross-architectural process ndgration. M.S. thesis, Univ. of Colorado at Colorado Springs, Colorado Springs, Colorado.
[7]
DUBACH, F. B., RUTHI~RFORD, R. M., AND SHUB, C. M. 1989. Process-originated 1Tdgrationin a heterogeneous environment. In A CM Conference on Computer Science. ACM, New York.
[8]
FALCONE, J. R. 1987. A programmable interface language for heterogeneous distributedsystems. A CM Trans. on CompuL Syst 5, 4 (Nov.), 330-351.
[9]
HOLLANDER, Y. AND SILBERMAN, G. 1987. A mechanism for the migration of tasks in heterogeneous d~strlbuted processing systems. In Internai~onal Conference on Parallel Processing and Applications. North-Holland, Amsterdam, 93-98.
[10]
MAGUIRE, G. Q. AND SMITH, J. M. 1988. Process migration: Effects on scientific computation. A CM SIGPLAN Notzces 23, 3 (Mar.), 102-106o
[11]
SHARP, S. E. 1989. Register mismatch in heterogeneous process originated migration. UCCS CS-650 Proj. Rep, Univ. of Colorado at Colorado Springs, Colorado Springs, Colorado.
[12]
SHUB, C. M. 1990. Native code process-originated migration in a heterogeneous environment. In A GM Conference on Computer Science. ACM, New York, 266-270.
[13]
SMITH, J. M. 1988. A survey of process migration mechanisms. Oper. Syst. Rev. 22, 3 (July), 28-40.
[14]
THBIMER, M. M. 1986. Preemptable remote execution facilities for loosely-coupled distributed systems. Ph. D. thesis, Dept. of Computer Science, Stanford Univ., Stanford, Calif.
[15]
THBIMBR, M. M. AND HAYES, B. 1992. Heterogeneous migration by recompilation. Tech. Rep. CSL-92-3 (Mar.), Xerox Corporation, Palo Alto, CIMf.
[16]
THBIM~R, M. M., LANTZ, K. A., AND CHI~RITON~ D. R. 1985. Preemptableremote executionfacilities for the v-system. In Proceedings of the lOth A CM Symposzum on Operating Systema Principles. ACM, New York, 2-12.
[17]
VON BANK, D. G. 1990. Gnu c language system support for dynamic native code heterogeneous process-originated migration in the v system. M.S. thesis, Univ. of Colorado at Colorado Springs, Colorado Springs, Colorado.

Cited By

View all
  • (2024)Offloading Datacenter Jobs to RISC-V Hardware for Improved Performance and Power EfficiencyProceedings of the 17th ACM International Systems and Storage Conference10.1145/3688351.3689152(39-52)Online publication date: 16-Sep-2024
  • (2024)UNIFICO: Thread Migration in Heterogeneous-ISA CPUs without State TransformationProceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction10.1145/3640537.3641565(86-99)Online publication date: 17-Feb-2024
  • (2024)HEXO: Offloading Long-Running Compute- and Memory-Intensive Workloads on Low-Cost, Low-Power Embedded SystemsIEEE Transactions on Cloud Computing10.1109/TCC.2024.348217812:4(1415-1432)Online publication date: Oct-2024
  • Show More Cited By

Recommendations

Reviews

R. Sambasiva Rao

The migration of an executing process from one machine to a different one where it is to be executed is a fascinating and challenging task. A source program in any high-level language is compiled, and it runs on a processor under an operating system. The execution of each instruction produces a change in the state. Thus, the program's execution on a processor is modeled as a sequence of states. Hence, process migration requires cooperation between the operating systems, application, and language. In earlier work on heterogeneous migration, the migrating program is suspended. Then a copy of the state is transferred to a target or destination machine, and the run is continued. The disadvantage of this approach is the extra work required to gather the information regarding the state of the process, which is distributed between the address space and CPU registers. In one approach, the compiler is modified to generate a code for all expected target machines along with the necessary migration information. Another attempt was to dynamically construct a machine development program representing the state of computation at the time of migration. This program is compiled on the destination machine and then run to continue the migrated process. In a third approach, the debugger information is used to build a machine-independent form of the process. It is transferred to the target machine, where it is converted to the target machine's architecture, and the execution is continued. This paper adopts the concept of finding pointwise equivalents in the computation where it is possible to transfer the code between the two machines. Considering a process with initial state SA 0 ,SB 0 and final state SA n ,SB m on two machines of different architectures, naturally there will be different intermediate steps. This contribution aims at identifying the existence and nature of the points of equivalence in a hypothetical process coded in C. The program reads a matrix of integers, sorts the columns, and displays the sorted matrix. The authors assume that the architecture of one machine is such that it implements access to array elements by placing an offset in a register, and uses address modifications with indexing access to the element. The other machine takes the array elements by using address arithmetic to place a pointer into a register, and then it employs dereferencing to access the element. The authors anticipate a straightforward extension of pointwise equivalence to an arbitrary number of instances of computation. A modern, retargetable language needs modification to incorporate the model of pointwise equivalence while generating the object code. Furthermore , it should incorporate transformation information for different target machines.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems  Volume 16, Issue 6
Nov. 1994
243 pages
ISSN:0164-0925
EISSN:1558-4593
DOI:10.1145/197320
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 1994
Published in TOPLAS Volume 16, Issue 6

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. dynamic migration
  2. heterogeneous migration

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)54
  • Downloads (Last 6 weeks)7
Reflects downloads up to 16 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Offloading Datacenter Jobs to RISC-V Hardware for Improved Performance and Power EfficiencyProceedings of the 17th ACM International Systems and Storage Conference10.1145/3688351.3689152(39-52)Online publication date: 16-Sep-2024
  • (2024)UNIFICO: Thread Migration in Heterogeneous-ISA CPUs without State TransformationProceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction10.1145/3640537.3641565(86-99)Online publication date: 17-Feb-2024
  • (2024)HEXO: Offloading Long-Running Compute- and Memory-Intensive Workloads on Low-Cost, Low-Power Embedded SystemsIEEE Transactions on Cloud Computing10.1109/TCC.2024.348217812:4(1415-1432)Online publication date: Oct-2024
  • (2024)Dapper: A Lightweight and Extensible Framework for Live Program State Rewriting2024 IEEE 44th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS60910.2024.00074(738-749)Online publication date: 23-Jul-2024
  • (2022)An OpenMP Runtime for Transparent Work Sharing across Cache-Incoherent Heterogeneous NodesACM Transactions on Computer Systems10.1145/350522439:1-4(1-30)Online publication date: 5-Jul-2022
  • (2021)Xar-trekProceedings of the 22nd International Middleware Conference10.1145/3464298.3493388(104-118)Online publication date: 6-Dec-2021
  • (2020)An OpenMP Runtime for Transparent Work Sharing Across Cache-Incoherent Heterogeneous NodesProceedings of the 21st International Middleware Conference10.1145/3423211.3425679(415-429)Online publication date: 7-Dec-2020
  • (2019)Cross-ISA execution of SIMD regions for improved performanceProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325832(55-67)Online publication date: 22-May-2019
  • (2019)Program analysis for process migrationProceedings of the 8th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis10.1145/3315568.3329969(32-37)Online publication date: 22-Jun-2019
  • (2019)HEXOProceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing10.1145/3307681.3325408(85-96)Online publication date: 17-Jun-2019
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media