Hierarchical directives-based management of runtime behaviors
US-9389890-B2 · Jul 12, 2016 · US
US10387229B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10387229-B2 |
| Application number | US-201514949667-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 23, 2015 |
| Priority date | Nov 23, 2015 |
| Publication date | Aug 20, 2019 |
| Grant date | Aug 20, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods are provided for copying, from a local place to a remote place, only array variables from a set at the local place that are used at the remote place. A method includes identifying the array based on the array meeting a condition of being defined outside of a code block for a copy command and used inside of the code block. The copy command mandates a copying of all the array variables in the set from the local place to the remote place. The method includes generating a function having code that selectively serializes or deserializes only the array variables from the set that are used at the remote place. The method includes serializing, at the local place, and deserializing at the remote place, only the array variables from the set that are used at the remote place, by invoking the function.
Opening claim text (preview).
What is claimed is: 1. A method of copying, from a local place to a remote place in a Partitioned Global Address Space language model, only array variables from a set at the local place that are used at the remote place, the method comprising: identifying the array based on the array meeting a condition of being defined outside of a code block for a copy command and used inside of the code block for the copy command, the copy command mandating a copying of all the array variables in the set from the local place to the remote place; generating a function having code that selectively serializes or deserializes only the array variables from the set that are used at the remote place; serializing, at the local place, only the array variables from the set that are used at the remote place, by invoking the generated function; and deserializing, at the remote place, only the array variables from the set that are used at the remote place, by invoking the generated function. 2. The method of claim 1 , wherein said serializing and deserializing steps exclude remaining array variables in the set that are unused at the remote place. 3. The method of claim 1 , further comprising: calculating index expressions for each of the array variables at the local place and each of the same named array variables at the remote place; determining whether the index expressions calculated with respect to the local place match the index expressions calculated with respect to the remote place; and adjusting one or more index expressions at the local place when one or more respective index expression mismatches exists. 4. The method of claim 3 , further comprising determining if any of the array variables at the local place are side-effect free, and adjusting the index expression of the determined array variables when a side-effect exists. 5. The method of claim 4 , wherein a given array variable is side-effect free when there is no input operation or output operation for the given variable. 6. The method of claim 4 , wherein a given array variable is side-effect free when the given array variable is declared as a field and there is no store operation to the given array variable. 7. The method of claim 3 , wherein said adjusting step comprises a converting a term used to bound a variable to a place at which a current computation is running, to a corresponding identifier for the remote place. 8. The method of claim 3 , wherein said adjusting step comprises surrounding a given one of the index expressions with an exception handling statement. 9. A computer program product for copying, from a local place to a remote place in a Partitioned Global Address Space language model, only array variables from a set at the local place that are used at the remote place, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising: identifying the array based on the array meeting a condition of being defined outside of a code block for a copy command and used inside of the code block for the copy command, the copy command mandating a copying of all the array variables in the set from the local place to the remote place; generating a function having code that selectively serializes or deserializes only the array variables from the set that are used at the remote place; serializing, at the local place, only the array variables from the set that are used at the remote place, by invoking the generated function; and deserializing, at the remote place, only the array variables from the set that are used at the remote place, by invoking the generated function. 10. The computer program product of claim 9 , wherein said serializing and deserializing steps exclude remaining array variables in the set that are unused at the remote place. 11. The computer program product of claim 9 , further comprising: calculating index expressions for each of the array variables at the local place and each of the same named array variables at the remote place; determining whether the index expressions calculated with respect to the local place match the index expressions calculated with respect to the remote place; and adjusting one or more index expressions at the local place when one or more respective index expression mismatches exists. 12. The computer program product of claim 11 , further comprising determining if any of the array variables at the local place are side-effect free, and adjusting the index expression of the determined array variables when a side-effect exists. 13. The computer program product of claim 12 , wherein a given array variable is side-effect free when there is no input operation or output operation for the given variable. 14. The computer program product of claim 12 , wherein a given array variable is side-effect free when the given array variable is declared as a field and there is no store operation to the given array variable. 15. The computer program product of claim 11 , wherein said adjusting step comprises a converting a term used to bound a variable to a place at which a current computation is running, to a corresponding identifier for the remote place. 16. The computer program product of claim 11 , wherein said adjusting step comprises surrounding a given one of the index expressions with an exception handling statement. 17. A method of copying, from a local place to a remote place in a Partitioned Global Address Space language model, only array variables from a set at the local place that are used at the remote place, the method comprising: identifying the array based on the array meeting a condition of being defined outside of a code block for a copy command and used inside of the code block for the copy command, the copy command mandating a copying of all the array variables in the set from the local place to the remote place; for each of the array variables, extracting index expressions therefor, and generating a function having code that modularizes the index expressions and serializes and deserializes the array variables; obtaining a list that includes the array variables that are copied by the code block for the copy command; checking that each of the array variables used in the index expressions is included in the list or is side-effect free; rewriting the index expression to align with remote place contexts responsive to each of the arrays variables used in the index expressions being included in the list or being side-effect free; serializing, at the local place, only the array variables from the set that are used at the remote place, by invoking the generated function; and deserializing, at the remote place, only the array variables from the set that are used at the remote place, by invoking the generated function. 18. The method of claim 17 , wherein said serializing and deserializing steps exclude remaining array variables in the set that are unused at the remote place. 19. The method of claim 17 , wherein a given array variable is side-effect free when there is no input operation or output operation for the given variable or when the given array variable is declared as a field and there is no store operation to the given array variable. 20. The method of claim 17 , wherein said rewriting step comprises at least one of: converting a term used to bound a variable to a place at which a current computation is running, to a corresponding identifie
Remote procedure calls [RPC]; Web services · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.