Located Functions for Distributed Computations Stephen Crouch, Peter Henderson, Robert John Walters University of Southampton, Southampton, United Kingdom, SO17 1BJ
Popular approaches abstract away location (GRID) Users are discouraged from considering location Exemplified by Web Services Attention is concentrated on the meaning of computation (calculations)
But, Locations cannot be ignored They have to be considered if computations are to be performed efficiently and reliably A suitable notation is required for describing and reasoning about them
Consider a simple GRID task Data extracted from a database (and processed) More data extracted from another (and processed) Results of both operations are combined Final processing and formatting for presentation
Might look like this Process Data & Visualise Database 1 Database 2 Database Service 1 Database Service 2 Query Results Result
Could be abstracted to: Useful for reasoning about meaning and getting the right result
Issues for realisation Data may be available from multiple locations Processing may be available in many places Factors: speed, bandwidth, reliability, security, cost… When one dataset is huge, it may make sense to move many others Exploiting useful/necessary processing power may also involve apparently unnecessary relocations of data Choices have to be made but the abstract description devoid of locations doesn’t help…
Our proposition, “Decorate” abstract description with locations A natural way to specify where data comes from, and where it is processed Implications of location decisions easy to understand and quantify
The notation: Add locations to names of data and processes of the abstract notation List alternatives where they exist Use _ for unknowns or “don’t care”
In the example: Data D 1 is at location 1, D 2 is at 2 … Can do f anywhere, g must happen at 2 Process h can be executed at 1 or 2
Making decisions Where to get the data (and where to put it) Where to do the processing Processing has to be co-located with the Data it uses Implication of choices is evident from the notation