Appeal 2007-1959 Application 10/039,789 3. Poulsen defines privatization as the process of partitioning storage objects in a global memory address space among multiple processors or threads of execution. Whereas a global storage object, in a global memory address space, is accessible to multiple processors or threads, an access to a privatized global storage object, by a particular processor or thread, results in accessing one of multiple, local copies of the global object (col. 1, ll. 37-44). The parallelism-enhancing effects of privatization include eliminating memory access conflicts (formally referred to as data dependences), partitioning storage and thereby partitioning parallel tasks, and increasing memory reference locality (col. 1, ll. 45-49). 4. Poulsen further discloses a three-step program transformation which includes declaring a compound object (e.g., a structure) that encapsulates the object to be privatized, translating the references to the object to be privatized references to the new compound object, and inserting a library call that, when executed, instantiates and initializes the appropriate thread-private memory for the compound object and initializes a pointer variable to point to this thread-private memory (col. 5, ll. 7-20). 5. Figure 1 of Poulsen shows augmenting program 100 via translation means 120, according to privatization specification 110, to produce a translated parallel computer program 130. Translated program 130 is linked with a runtime support library 140 by a general purpose computer's linker 150 to produce an executable parallel computer program 160, which accesses the global storage objects specified in privatization specification 110 in a privatized manner (col. 8, ll. 27-45). 4Page: Previous 1 2 3 4 5 6 7 8 9 10 11 Next
Last modified: September 9, 2013